Realdolmen Education

Details

Relational Database Design

This course is currently not scheduled on the open calendar, but can be organized on request.

Request Course

Duration

2 day(s)

Doelgroep

Functionele analisten, technisch ontwerpers en analist-programmeurs.

Voorkennis

Nihil

Doel

Na de cursus weet de deelnemer hoe hij een gegevensmodel moet opstellen en hoe hij daaruit een efficiënte verzameling van relationele en genormaliseerde tabellen moet afleiden.

Methode

Klassikale opleiding aangevuld met een praktische case waarin de studenten voor een algemeen informatiseringsproject alle stappen van data-modellering zullen moeten doorlopen.

Beschrijving

Deze kursus wordt opgedeeld in 2 delen. In het eerste deel behandelen we het tot stand komen van het gegevensdiagram (een Entity-Relationship diagram) dat voldoet aan de gestelde objectieven.In het tweede gedeelte van de training zal vanuit het ERD diagram een efficiënte set van tabellen afgeleid worden die kunnen gecreëerd worden een de relationele databank.

In het eerste deel van de kursus leren we hoe een Entity-Relationship Diagram ontstaat. We starten met een overzicht van de verschillende fasen in het bestaan van een database. Vervolgens overlopen we hoe in een behoeftenstudie (Requirements Analysis) de doelstellingen van de database dienen te worden vastgelegd. Vervolgens bepalen we de objecten (entiteiten) en hun kenmerken (attributen) die we willen opslaan in de database. Uiteindelijk leggen we de relaties (relationships) vast, en hun eigenschappen, tussen de objecten. Tot slot overlopen we de verschillende voorstellingswijzen van de elementen in een Entity-Relationship Diagram

Het tweede deel van de kursus behandelt de omzetting van een Entity-Relationship diagram naar een reeks relationele tabellen. Normalisatie van de tabellen is een van de belangrijke stappen in dit conversieproces. De keuze van de datatypes, integriteit, primary en foreign keys, constraints, ... zijn factoren waar hier een beslissing moet over genomen worden. Finaal zullen ook een aantal mogelijkheden besproken worden die in deze fase van het onstaan van de database kunnen bijdragen tot het realiseren van een betere performantie : denormalisatie, creatie van indexen, verticale en horizontale partitionering, clustering, free space specificaties,..

Na afloop van deze 2 delen van de kursus zal ook kort ingegaan worden op de moeilijkheden die ontstaan in geval van database wijzigingen.

Inhoud

  • DB design, Tools en de Database Life Cycle
    • DB design doelstellingen
    • Benaderingswijzen voor DB design
    • De 3-schema architectuur
    • De database levenscyclus
  • Requirements Analysis
    • Kenmerken van een goede behoeftenanalyse
    • Taken tijdens de behoeftenanalyse
    • Identificatie, definitie en klassificatie van Business Objects
    • Bepalen van constraints in de business
    • Interviews
    • Gebruik van het Data Flow Diagram
    • Bepalen van de User Views
    • Documentatie
  • Logical Design
    • Bepalen van Entiteiten
    • Bepalen van Attributen
    • Bepalen van Identifiers
    • Bepalen van het Domain
    • Constraints op entiteiten en attributen
    • Bepalen van de Relationships tussen de entiteiten
    • Soorten Relationships
    • Optional versus Mandatory Relationships
  • Het Entity-Relationship Diagram
    • Voorstellingswijzen
    • Confrontatie van de gebruikers met het ERD
  • Relationele Objecten
    • Definiëren van tabellen en kolommen
    • Bepalen van datatypes van kolommen
    • Gebruik van null-values
    • Primary Key definitie
    • Foreign Key definitie
  • Normalisatie van tabellen
    • Nadelen van niet-genormaliseerde tabellen
    • Eerste, tweede en derde normaalvorm
    • Criteria van CODD voor relationele databanken
    • Denormalisatie
  • Joins, User views en Permissions
    • Soorten joins
    • Join aanbevelingen
    • Waarom User Views gebruiken ?
    • Hoe authorisaties opzetten ?
  • Physical Design
    • Parameters bij de creatie van tabellen
    • Creatie van indexen : voor- en nadelen
    • Waar indexen creëren, en waar geen indexen creëren.
    • Aanbevelingen mbt indexen
    • Hoe clustering de performantie kan ten goede komen
    • Horizontale partitionering : waar en wanneer ?
    • Verticale partitionering : waar en wanneer ?
  • Database Wijzigingen
    • Problemen bij het aanpassen van databanken