Concepten voor gegevensmodellering voor beginners

Concepten voor gegevensmodellering voor beginners

Bronknooppunt: 2623283
concepten voor datamodelleringconcepten voor datamodellering

De concepten van datamodellering ondersteunen een holistisch beeld van hoe gegevens door een systeem bewegen. Datamodellering kan worden omschreven als het proces van het ontwerpen van een datasysteem of een deel van een datasysteem. Deze modellen kunnen variëren van opslagsystemen tot databases tot de gehele datastructuur van de organisatie. Datamodellen kunnen worden gebruikt als ontwerp voor de implementatie van een nieuw systeem of als referentiemateriaal voor reeds bestaande systemen. 

Een ‘compleet’ datamodel moet de soorten gegevens communiceren die worden gebruikt en opgeslagen binnen een datasysteem, de gebruikte formaten, de relaties tussen gegevensbestanden en de manieren waarop de gegevens kunnen worden gegroepeerd en georganiseerd.

Veel bedrijven ontwikkelen unieke, individuele datamodellen (en de daaruit voortvloeiende unieke, individuele datasystemen) die zijn opgebouwd rond de specifieke behoeften en vereisten van de organisatie. Deze modellen kunnen worden gebruikt om de gegevensbeweging door het systeem te visualiseren. Een datamodel kan proberen alle aspecten van de gegevensstroom door een organisatie te bestrijken, of specifieke parameters, zoals het tonen van alleen verkoopgegevens voor onderzoeksdoeleinden.

Een goed ontworpen datamodel zal dit verklaren bedrijfsregels, evenals de noodzaak ervan naleving van de regelgeving van de gegevens.

Er zijn drie fasen in het datamodelleringsproces: het conceptuele model, het logische model en het fysieke model. Elke fase of fase van de ontwikkeling van het model dient een specifiek doel. Daarnaast zijn er verschillende “types” modellen.

Visuele datamodellen lijken op de blauwdrukken van een architect en kunnen worden ondersteund met gekoppelde tekst om begeleiding te bieden bij het ontwikkelen of wijzigen van het datasysteem. Er zijn voorbeelden van visuele datamodellen te vinden hier.

De voordelen en uitdagingen van datamodellering

Het ontwikkelen van een datamodel biedt een kaart en een communicatiemiddel voor het creëren of wijzigen van een datasysteem. Datamodelleringsconcepten maken de constructie van een datasysteem veel eenvoudiger. De nieuw gebouwde database en/of datasysteem moet een goede organisatorische communicatie ondersteunen. Het moet ook realtime projecten ondersteunen, waaronder het verzamelen van gegevens over bestedingspatronen, facturen en andere bedrijfsprocessen.

Het datamodelleringsproces kan worden gebruikt om te identificeren Problemen met gegevenskwaliteit, inclusief dubbele, redundante en ontbrekende gegevens.

Eén moeilijkheid bij het creëren van een datamodel is een gebrek aan begrip van datasystemen – een probleem dat normaal gesproken wordt geëlimineerd door het bouwen van het model. Een ander probleem is dat een kleine verandering op één gebied grote veranderingen op andere gebieden kan vereisen. Bovendien kan het gemakkelijk zijn om zo gefocust te raken op de structuur van het datasysteem dat de sterke en zwakke punten van individuele applicaties worden genegeerd.

Belangrijke vragen om te stellen

Het ontwikkelen van een datamodel begint met het verzamelen van informatie over de behoeften, vereisten en doelen van de organisatie. Een model van een deel van het systeem zal minder vragen vergen dan het ontwikkelen van een model voor een geheel nieuw systeem. Enkele basisvragen die u kunt stellen voor een model van een deel van het systeem zijn: 

  • Wat is het doel of doel van de veranderingen?
  • Met welke soorten gegevens werkt het systeem momenteel?
  • Welke gegevens zijn nodig?
  • Welke tools of software zijn nodig om het doel te bereiken?
  • Zijn de tools of software compatibel?

Een datamodel moet worden gebouwd rond de behoeften van de organisatie en is een belangrijke factor bij het ontwikkelen van een nieuw model of het aanpassen van een oud model. De vragen die gesteld worden bij het ontwerpen van een database, of een geheel nieuw systeem, vergen vaak veel uitgebreidere antwoorden. Het is het beste om een ​​vijfjarig bedrijfsplan op te nemen bij het beantwoorden van deze vragen: 

  • Wat zijn de doelstellingen van het bedrijf (onderzoek, verkoop, ontwikkeling van apps, boekhouddiensten)? Dit zal bepalen welke soorten software het beste zijn om het bedrijf te ondersteunen (NoSQL of grafische afbeeldingen voor onderzoek, SQL voor basisverkoop of boekhouding, toegang tot verschillende clouds of verschillende cloudservices voor de ontwikkeling van apps).
  • Welke soorten software zijn het meest geschikt en kosteneffectief voor de organisatie?
  • Hoeveel mensen zullen tegelijkertijd toegang hebben tot het systeem?
  • Hoeveel afdelingen zijn er en hoeveel mensen werken er op elke afdeling?
  • Zullen verschillende afdelingen verschillende soorten software nodig hebben?
  • Zijn er ongebruikelijke behoeften waarmee rekening moet worden gehouden? 
  • Hoeveel gegevens moeten worden opgeslagen?
  • Is schaalbaarheid een probleem?
  • Zal de database verbinding maken met tools voor bedrijfsinformatie?
  • Zijn online analytische queries (OLAP), transactieverwerking (OLTP) of beide nodig?
  • Zal de database integreren met de huidige tech-stack?
  • Moet het formaat van de gegevens worden getransformeerd?
  • Wat zijn uw favoriete programmeertalen?
  • Zal het worden geïntegreerd met machine learning-software?

De drie fasen van datamodellering

Datamodellering werd belangrijk tijdens de 1960s, toen managementinformatiesystemen voor het eerst populair werden. (Vóór de jaren zestig was er weinig daadwerkelijke gegevensopslag. Computers uit die tijd waren in feite gigantische rekenmachines.) 

In termen van datamodelleringsconcepten wordt een volledig ontwikkeld datamodel vaak in drie fasen gebouwd: het conceptuele model, het logische model en het fysieke model. Dit ontwerpproces biedt een duidelijk inzicht in het datasysteem en hoe de gegevens er doorheen stromen. Dit proces laat ook zien hoe de opslagprocedures werken en zorgt ervoor dat alle gegevensobjecten in het systeem worden weergegeven. (Als gegevens informatie zijn die elektronisch is opgeslagen, dan is een gegevensobject een individuele verzameling elektronisch opgeslagen informatie, zoals een bestand of een gegevenstabel.)

Het conceptuele datamodel wordt doorgaans gebruikt om de meest elementaire componenten van het systeem te beschrijven en hoe de gegevens door het systeem bewegen. De conceptueel datamodel communiceert hoe informatie zich door de ene afdeling en naar de volgende verplaatst. Het toont brede entiteiten (representaties van dingen die in werkelijkheid bestaan) en hun relaties (associaties die bestaan ​​tussen twee of meer entiteiten). Gedetailleerde informatie wordt doorgaans weggelaten.

Het logische datamodel richt zich normaal gesproken op de lay-out en structuur van data-objecten binnen het model en legt de relaties daartussen vast. Het biedt ook een basis voor het bouwen van het fysieke model. De logisch datamodel voegt nuttige informatie toe aan het conceptuele model.

Het fysieke datamodel is in wezen een pre-implementatiemodel en is zeer gedetailleerd en vaak gericht op het databaseontwerp. Het toont de noodzakelijke details voor het ontwikkelen van de database (maar kan ook worden gebruikt om een ​​nieuw deel van het systeem te implementeren). Dit Data Modeling-concept maakt het visualiseren van de datastructuur veel eenvoudiger door databasebeperkingen, kolomsleutels, triggers en andere functies voor gegevensbeheer te communiceren. Dit model communiceert ook toegangsprofielen, autorisaties, primaire en externe sleutels, enz.

Verschillende soorten datamodellen

Hieronder vindt u enkele voorbeelden van de verschillende soorten datamodellen.

Het hiërarchische model is vrij oud en was behoorlijk populair in de jaren zestig en zeventig. Het organiseert de gegevens in boomachtige structuren. Tegenwoordig wordt het voornamelijk gebruikt voor het opslaan van archiefsystemen en geografische informatie. In de hiërarchisch model, worden de gegevens georganiseerd in een één-op-veel-relatie met de gegevensbestanden.

Het netwerkmodel is vergelijkbaar met het hiërarchische model en maakt het mogelijk om verschillende relaties met gekoppelde records te creëren. De netwerkmodel stelt mensen in staat het model te construeren met behulp van sets gerelateerde records. Elke record is gekoppeld aan meerdere bestanden en gegevensobjecten, waardoor complexe relaties worden bevorderd en gepresenteerd.

Het entiteit-relatiemodel is een grafische weergave van gegevensbestanden en entiteiten en hun relaties. Het probeert realistische scenario's te creëren. Als datasysteemmodel is het entiteit-relatiemodel ontwikkelt een entiteitsset, een relatieset, attributen en beperkingen. Ze worden vaak gebruikt bij het ontwerpen van relationele databases.

Het grafiekgegevensmodel vereist dat u bepaalt welke entiteiten binnen uw dataset als knooppunten moeten worden aangewezen, welke als koppelingen moeten worden aangewezen en welke moeten worden weggegooid. Het grafiekgegevensmodel biedt een lay-out van de entiteiten, eigenschappen en relaties van de gegevens. Het proces is repetitief, afhankelijk van vallen en opstaan, en kan vervelend zijn, maar het is de moeite waard om het goed te doen.  

Het objectgeoriënteerde databasemodel richt zich op data-objecten die verband houden met methoden en functies. Het bevat tabellen, maar is niet noodzakelijkerwijs beperkt tot tabellen. Gegevens en hun relaties worden samen opgeslagen als één enkele entiteit (een gegevensobject). Gegevensobjecten vertegenwoordigen entiteiten uit de echte wereld. De objectgeoriënteerd databasemodel verwerkt verschillende formaten en wordt gebruikt voor onderzoek.

Het relationele model, vaak SQL genoemd, is momenteel het populairste datamodel. Het maakt gebruik van tweedimensionale tabellen voor het opslaan van gegevens en het communiceren van relaties. Alle gegevens van een bepaald type worden in rijen opgeslagen als onderdeel van een tabel. De tabellen vertegenwoordigen relaties, en door ze samen te voegen worden de relaties tussen de opgeslagen gegevens tot stand gebracht. Het relationele databasemodel is een volwassen model dat wordt ondersteund door een enorme hoeveelheid software voor verschillende doeleinden.

Het NoSQL-datamodel maakt geen gebruik van rijen en kolommen en gebruikt niet echt een vaste structuur. Hun ontwikkeling en ontwerp zijn doorgaans gericht op het creëren van fysieke datamodellen. Schaalbaarheid, met zijn specifieke eigenaardigheden en problemen, is een groot probleem. 

Een object-relationeel databasemodel combineert het objectgeoriënteerde databasemodel met het relationele databasemodel. Het slaat objecten, klassen, overerving, enz. op, op dezelfde manier als een objectgeoriënteerd model, maar ondersteunt ook tabellarische structuren zoals het relationele databasemodel. Dit ontwerp stelt ontwerpers in staat de functies ervan in een tabelstructuur op te nemen.

Het belang van datamodelleringsconcepten

Datamodellen lijken op blauwdrukken, maar definiëren de relaties, entiteiten en attributen van een database of datasysteem. Een georganiseerd en goed ontworpen datamodel is noodzakelijk voor het ontwikkelen van een efficiënte fysieke database en datasysteem. Een goed begrip van de concepten van datamodellering is nodig om opslagproblemen en redundantieproblemen te elimineren en tegelijkertijd het efficiënt ophalen van gegevens te ondersteunen. 

Datamodellering kan een uitdaging zijn, en het is belangrijk om te erkennen dat elk type model zijn eigen voor- en nadelen heeft. 

Afbeelding gebruikt onder licentie van Shutterstock.com

Tijdstempel:

Meer van DATAVERSITEIT