Wat is gegevensmodellering?
Gegevensmodellering is het proces van het maken van een diagram (d.w.z. ERD) van relaties tussen verschillende soorten informatie die moeten worden opgeslagen in een database die ons helpt systematisch na te denken over de belangrijkste gegevenspunten die moeten worden opgeslagen en opgehaald, en hoe ze moeten worden gegroepeerd en met elkaar in verband gebracht, is wat het
Een datamodel beschrijft informatie op een systematische manier zodat deze efficiënt kan worden opgeslagen en opgehaald in een Relationeel Databasesysteem dat kan worden gezien als een manier om de logica van het nauwkeurig beschrijven van dingen in de echte wereld en de relaties daartussen te vertalen in regels die kunnen worden gevolgd en afgedwongen door computercode. Een van de doelen van datamodellering is het creëren van de meest efficiënte methode om informatie op te slaan en tegelijkertijd te voorzien in volledige toegang en rapportage.
Entity Relationship Diagram for Data Modeling
Een Entity Relationship Diagram (ERD), oorspronkelijk voorgesteld door Peter Chen in 1976, is een visuele weergave van datamodellering met behulp van symbolen en notatie die beschrijft hoe deze gegevens aan elkaar gerelateerd zijn. Het kan rechtstreeks door database-ontwikkelaars worden gebruikt als blauwdruk voor de implementatie van gegevens in specifieke softwaretoepassingen. Elk object, zoals entiteiten, attributen van een entiteit, sets van relaties en andere attributen van relaties kunnen worden gekarakteriseerd met behulp van het ER diagram.
Een ERD stelt de lezers in staat om de relatie tussen verschillende velden op een effectieve manier te begrijpen. Symbolen worden gebruikt om informatie effectief weer te geven en ze helpen ook bij het begrijpen van de werking van de database. ER diagrammen vormen een zeer nuttige datamodelleringstechniek die het volgende inhoudt:
- ER diagrammen zijn gemakkelijk te begrijpen en vereisen geen uitgebreide training van een persoon om er efficiënt en accuraat mee te kunnen werken. Dit betekent dat ontwerpers ER-diagrammen kunnen gebruiken om gemakkelijk te communiceren met ontwikkelaars, klanten en eindgebruikers, ongeacht hun IT-vaardigheden.
- ER-diagrammen zijn gemakkelijk te vertalen naar relationele tabellen die kunnen worden gebruikt om snel databases te bouwen.
- ER diagrammen kunnen worden toegepast in andere contexten, zoals het beschrijven van de verschillende relaties en operaties binnen een organisatie.
De elementen van ERD
ER modellering is een top-down structuur voor database ontwerp dat begint met het identificeren van de belangrijke gegevens genaamd entiteiten en relaties in combinatie met de gegevens die moeten worden gekarakteriseerd in het model. Daarna kunnen ontwerpers van databasemodellen meer details toevoegen, zoals de informatie die ze willen vasthouden over de entiteiten en relaties, de attributen, en eventuele constraints op de entiteiten, relaties en attributen. ER modellering is een belangrijke techniek voor elke database ontwerper om te beheersen en vormt de basis van de methodologie.
Entity type: Het is een groep objecten met dezelfde eigenschappen die door de onderneming worden geïdentificeerd als hebbende een onafhankelijk bestaan. Het basisconcept van het ER-model is het entiteittype dat wordt gebruikt om een groep “objecten” in de “echte wereld” met dezelfde eigenschappen weer te geven. Een entiteittype heeft een onafhankelijk bestaan binnen een database.
Attributen zijn de eigenschappen van entiteiten die worden weergegeven met behulp van ellipsvormige figuren. Elk ellipsvormig figuur vertegenwoordigt één attribuut en is direct verbonden met zijn entiteit (die wordt weergegeven als een rechthoek).
Een relatietype is een verzameling associaties tussen een of meer deelnemende entiteittypen. Elk relatietype krijgt een naam die de functie ervan beschrijft. Er zijn vier typen relaties. Deze zijn:
- Eén-op-één: Wanneer slechts één instantie van een entiteit aan de relatie is gekoppeld, wordt deze aangeduid als ‘1:1’.
- One-to-many: Wanneer meer dan één instantie van een entiteit is gerelateerd en gekoppeld aan een relatie, wordt deze aangeduid als ‘1:N’.
- Many-to-one: Wanneer meer dan één instantie van een entiteit aan de relatie is gekoppeld, wordt deze aangeduid als ‘N:1’.
- Many-to-many: Wanneer meer dan één instantie van een entiteit aan de linkerkant en meer dan één instantie van een entiteit aan de rechterkant kan worden gekoppeld met de relatie, dan wordt het aangeduid als N:N relatie.
Hier volgen enkele voorbeelden:
Eén op één
Eén op velen
Veel naar veel
Een naar nul of veel
Datamodellen: Conceptueel / Logisch en Fysiek ontwerp
ER-modellering onderkent drie verschillende abstractieniveaus waarop modellen worden ontwikkeld. De drie niveaus van datamodellering, conceptueel datamodel, logisch datamodel, en fysiek datamodel.
Conceptuele, logische en fysieke modellen of ERD zijn drie verschillende manieren om data in een domein te modelleren. Hoewel ze allemaal entiteiten en relaties bevatten, verschillen ze in het doel waarvoor ze worden gemaakt en het publiek waarop ze zijn gericht. Een algemeen begrip van de drie modellen is dat de business analist het conceptuele en logische model gebruikt voor het modelleren van de gegevens die nodig zijn en geproduceerd worden door het systeem vanuit een zakelijke invalshoek, terwijl database ontwerper het vroege ontwerp verfijnt om het fysieke model te produceren voor het presenteren van de fysieke database structuur, klaar voor database constructie.
Hier vergelijken we deze drie soorten data modellen. De tabel hieronder vergelijkt de verschillende kenmerken:
Conceptueel: Een conceptueel model moet worden gericht op zaken die verband houden met de business en haar eisen. Het wordt verzameld op basis van business requirements. Entiteiten en relaties gemodelleerd in een dergelijke ERD zijn gedefinieerd rond de behoeften van de business. Er wordt nog geen rekening gehouden met de noodzaak om aan het database ontwerp te voldoen. Conceptueel ERD is het eenvoudigste model van allemaal.
Logisch: Een logisch model moet gericht zijn op het ontwerp van gegevens over die dingen, maar zonder verwijzing naar een bepaalde fysieke implementatie. Het is complexer dan een conceptueel model in die zin dat kolomtypen worden ingesteld. Merk op dat het instellen van kolomtypes optioneel is en als u dat doet, moet u dat doen om de bedrijfsanalyse te helpen. Het heeft nog niets te maken met het maken van databases.
Fysiek: Een fysiek model moet gericht zijn op hoe logische gegevens moeten worden gerepresenteerd en opgeslagen in een bepaalde fysieke database. Het vertegenwoordigt de feitelijke ontwerp blauwdruk van een relationele database. Het geeft weer hoe gegevens gestructureerd en gerelateerd moeten worden in een specifiek DBMS, dus het is belangrijk om de conventie en restricties van het DBMS dat je gebruikt in acht te nemen wanneer je een fysieke ERD ontwerpt. Dit betekent dat een accuraat gebruik van data type nodig is voor entiteit kolommen en dat het gebruik van gereserveerde woorden moet worden vermeden bij het benoemen van entiteiten en kolommen. Daarnaast kunnen database ontwerpers primaire sleutels, foreign keys, en constraints aan het ontwerp toevoegen.
Voorbeeld – Inschrijving studenten
Een algemeen begrip van de drie datamodellen is dat de business analist een conceptueel en logisch model gebruikt om de bedrijfsobjecten in het systeem te modelleren, terwijl de database ontwerper of database engineer het conceptuele en logische ERD model uitwerkt om het fysieke model te produceren dat de fysieke databasestructuur presenteert, klaar voor database creatie. Hier is nog een voorbeeld ter illustratie van de 3 verschillende niveaus van het datamodel.
Conceptueel gegevensmodel
Logisch gegevensmodel
Fysiek gegevensmodel
Comparing Conceptual / Logical and Physical ER Model
While all the three levels of an ER model contain entities with attributes and relationships, they differ in the purposes they are created for and the audiences they are meant to target. The table below shows the difference between the three data models.
ERD features | Conceptual | Logical | Physical |
Entity (Name) | Yes | Yes | Yes |
Relationship | Yes | Yes | Yes |
Columns | Yes | Yes | |
Column’s Types | Optional | Yes | |
Primary Key | Yes | ||
Foreign Key | Yes |