Articles

datamodellering

Opdag, hvordan datamodellering bruger abstraktion til at repræsentere og bedre forstå arten af datastrømmen i et virksomhedsinformationssystem

Hvad er datamodellering?

datamodellering er processen med at skabe en visuel repræsentation af enten et helt informationssystem eller dele af det for at kommunikere forbindelser mellem datapunkter og strukturer. Målet er at illustrere de typer data, der bruges og gemmes i systemet, forholdet mellem disse datatyper, måderne, hvorpå dataene kan grupperes og organiseres, og dets formater og attributter.

datamodeller er bygget op omkring forretningsbehov. Regler og krav defineres på forhånd gennem feedback fra forretningsinteressenter, så de kan integreres i designet af et nyt system eller tilpasses i iterationen af et eksisterende.

Data kan modelleres på forskellige abstraktionsniveauer. Processen begynder med at indsamle oplysninger om forretningskrav fra interessenter og slutbrugere. Disse forretningsregler oversættes derefter til datastrukturer for at formulere et konkret databasedesign. En datamodel kan sammenlignes med en køreplan, en arkitekts plan eller ethvert formelt diagram, der letter en dybere forståelse af, hvad der designes.

datamodellering anvender standardiserede skemaer og formelle teknikker. Dette giver en fælles, konsekvent og forudsigelig måde at definere og styre dataressourcer på tværs af en organisation eller endda ud over.

ideelt set er datamodeller levende dokumenter, der udvikler sig sammen med skiftende forretningsbehov. De spiller en vigtig rolle i at støtte forretningsprocesser og planlægge IT-arkitektur og strategi. Datamodeller kan deles med leverandører, partnere og/eller branchefæller.

typer af datamodeller

som enhver designproces begynder database-og informationssystemdesign på et højt abstraktionsniveau og bliver stadig mere konkret og specifikt. Datamodeller kan generelt opdeles i tre kategorier, der varierer afhængigt af deres abstraktionsgrad. Processen starter med en konceptuel model, går videre til en logisk model og afsluttes med en fysisk model. Hver type datamodel diskuteres mere detaljeret nedenfor:

  • konceptuelle datamodeller. De kaldes også domænemodeller og tilbyder et stort billede af, hvad systemet vil indeholde, hvordan det vil blive organiseret, og hvilke forretningsregler der er involveret. Konceptuelle modeller oprettes normalt som en del af processen med at indsamle indledende projektkrav. Typisk inkluderer de enhedsklasser (definition af de typer ting, der er vigtige for virksomheden at repræsentere i datamodellen), deres egenskaber og begrænsninger, forholdet mellem dem og relevante krav til sikkerhed og dataintegritet. Enhver notation er typisk enkel.
    Diagram over en konceptuel datamodel
  • logiske datamodeller. De er mindre abstrakte og giver større detaljer om begreberne og relationerne i det pågældende domæne. Et af flere formelle datamodelleringsnotationssystemer følges. Disse angiver dataattributter, såsom datatyper og deres tilsvarende længder, og viser relationerne mellem enheder. Logiske datamodeller angiver ikke tekniske systemkrav. Denne fase udelades ofte i agile eller DevOps praksis. Logiske datamodeller kan være nyttige i meget proceduremæssige implementeringsmiljøer eller til projekter, der er dataorienterede af natur, såsom datalagerdesign eller rapporteringssystemudvikling.
    Diagram over en logisk datamodel
  • fysiske datamodeller. De giver et skema for, hvordan dataene gemmes fysisk i en database. Som sådan er de mindst abstrakte af alle. De tilbyder et færdiggjort design, der kan implementeres som en relationsdatabase, herunder associative tabeller, der illustrerer forholdet mellem enheder såvel som de primære nøgler og udenlandske nøgler, der vil blive brugt til at opretholde disse relationer. Fysiske datamodeller kan omfatte database management system (DBMS)-specifikke egenskaber, herunder performance tuning.
    Diagram over en fysisk datamodel

datamodelleringsproces

som en disciplin inviterer datamodellering interessenter til at evaluere databehandling og opbevaring i omhyggelige detaljer. Datamodelleringsteknikker har forskellige konventioner, der dikterer, hvilke symboler der bruges til at repræsentere dataene, hvordan modeller er lagt ud, og hvordan forretningskrav formidles. Alle tilgange giver formaliserede arbejdsgange, der inkluderer en række opgaver, der skal udføres på en iterativ måde. Disse arbejdsgange ser generelt sådan ud:

  1. Identificer enhederne. Processen med datamodellering begynder med identifikationen af de ting, begivenheder eller begreber, der er repræsenteret i det datasæt, der skal modelleres. Hver enhed skal være sammenhængende og logisk diskret fra alle andre.
  2. Identificer nøgleegenskaber for hver enhed. Hver enhedstype kan differentieres fra alle andre, fordi den har en eller flere unikke egenskaber, kaldet attributter. For eksempel kan en enhed kaldet “kunde” have sådanne attributter som et fornavn, efternavn, telefonnummer og hilsen, mens en enhed kaldet “adresse” kan indeholde et gadenavn og nummer, en by, stat, land og Postnummer.
  3. Identificer relationer mellem enheder. Det tidligste udkast til en datamodel specificerer arten af de forhold, hver enhed har med de andre. I ovenstående eksempel “bor hver kunde på” en adresse. Hvis denne model blev udvidet til at omfatte en enhed kaldet “ordrer”, ville hver ordre også blive sendt til og faktureret til en adresse. Disse forhold dokumenteres normalt via unified modeling language (UML).
  4. kort attributter til enheder helt. Dette vil sikre, at modellen afspejler, hvordan virksomheden vil bruge dataene. Flere formelle datamodelleringsmønstre er i udbredt anvendelse. Objektorienterede udviklere anvender ofte analysemønstre eller designmønstre, mens interessenter fra andre forretningsdomæner kan henvende sig til andre mønstre.
  5. Tildel nøgler efter behov, og beslut dig for en grad af normalisering, der afbalancerer behovet for at reducere redundans med ydelseskrav. Normalisering er en teknik til organisering af datamodeller (og de databaser, de repræsenterer), hvor numeriske identifikatorer, kaldet nøgler, tildeles grupper af data for at repræsentere forhold mellem dem uden at gentage dataene. For eksempel, hvis kunderne hver tildeles en nøgle, kan denne nøgle knyttes til både deres adresse og deres ordrehistorik uden at skulle gentage disse oplysninger i tabellen med kundenavne. Normalisering tendens til at reducere mængden af lagerplads en database vil kræve, men det kan til kostpris for at forespørge ydeevne.
  6. færdiggør og valider datamodellen. Datamodellering er en iterativ proces, der skal gentages og raffineres, når forretningsbehov ændres.

typer af datamodellering

datamodellering har udviklet sig sammen med databasestyringssystemer, hvor modeltyper øges i kompleksitet, efterhånden som virksomhedernes datalagringsbehov er vokset. Her er flere modeltyper:

  • hierarkiske datamodeller repræsenterer en-til-mange relationer i et treelike format. I denne type model har hver post en enkelt rod eller forælder, der kortlægges til en eller flere underordnede tabeller. Denne model blev implementeret i IBM Information Management System (IMS), som blev introduceret i 1966 og hurtigt fandt udbredt anvendelse, især inden for bankvirksomhed. Selvom denne tilgang er mindre effektiv end nyere udviklede databasemodeller, bruges den stadig i udvidelige Markup Language-systemer og geografiske informationssystemer (GISs).
  • relationelle datamodeller blev oprindeligt foreslået af IBM-forsker E. F. Codd i 1970. De implementeres stadig i dag i de mange forskellige relationsdatabaser, der ofte bruges i enterprise computing. Relationel datamodellering kræver ikke en detaljeret forståelse af de fysiske egenskaber ved den anvendte datalagring. I det er datasegmenter eksplicit forbundet ved brug af tabeller, hvilket reducerer databasekompleksiteten.

relationsdatabaser anvender ofte struktureret forespørgselssprog til datastyring. Disse databaser fungerer godt for at opretholde dataintegritet og minimere redundans. De bruges ofte i salgssteder, såvel som til andre typer transaktionsbehandling.

  • Entity-relationship (er) datamodeller bruger formelle diagrammer til at repræsentere relationerne mellem enheder i en database. Flere er-modelleringsværktøjer bruges af dataarkitekter til at oprette visuelle kort, der formidler databasedesignmål.
  • objektorienterede datamodeller fik trækkraft som objektorienteret programmering, og det blev populært i midten af 1990 ‘ erne. de involverede “objekter” er abstraktioner af virkelige enheder. Objekter er grupperet i klassehierarkier og har tilknyttede funktioner. Objektorienterede databaser kan inkorporere tabeller, men kan også understøtte mere komplekse datarelationer. Denne tilgang anvendes i multimedie-og hypertekstdatabaser såvel som andre brugssager.
  • dimensionelle datamodeller blev udviklet af Ralph Kimball, og de blev designet til at optimere datahentningshastigheder til analytiske formål i et datalager. Mens relationelle og ER-modeller lægger vægt på effektiv opbevaring, øger dimensionelle modeller redundans for at gøre det lettere at finde information til rapportering og hentning. Denne modellering bruges typisk på tværs af OLAP-systemer.

to populære dimensionelle datamodeller er stjerneskemaet, hvor data er organiseret i fakta (målbare elementer) og dimensioner (referenceinformation), hvor hver kendsgerning er omgivet af dens tilknyttede dimensioner i et stjernelignende mønster. Den anden er snefnugskemaet, der ligner stjerneskemaet, men inkluderer yderligere lag med tilhørende dimensioner, hvilket gør forgreningsmønsteret mere komplekst.

fordele ved datamodellering

datamodellering gør det lettere for udviklere, dataarkitekter, forretningsanalytikere og andre interessenter at se og forstå relationer mellem dataene i en database eller datalager. Derudover kan det:

  • reducere fejl i program-og databaseudvikling.
  • øge sammenhængen i dokumentation og systemdesign på tværs af virksomheden.
  • forbedre applikation og database ydeevne.
  • Ease data mapping i hele organisationen.
  • forbedre kommunikationen mellem udviklere og business intelligence teams.
  • lette og fremskynde processen med databasedesign på det konceptuelle, logiske og fysiske niveau.

datamodelleringsværktøjer

talrige kommercielle og open source computerstøttet programmelteknik (CASE)-løsninger bruges i vid udstrækning i dag, herunder flere datamodellerings -, diagrammerings-og visualiseringsværktøjer. Her er flere eksempler:Data Modeler er et datamodelleringsværktøj baseret på Integrationsdefinitionen til informationsmodellering (IDEF1) datamodelleringssprog, der nu understøtter andre notationsmetoder, herunder en dimensionel tilgang.

  • Enterprise Architect er en visuel modellering og design værktøj, der understøtter modellering af enterprise informationssystemer og arkitekturer samt programmer og databaser. Det er baseret på objektorienterede sprog og standarder.
  • Er / Studio er databasedesignprogram, der er kompatibelt med flere af nutidens mest populære databasestyringssystemer. Det understøtter både relationel og dimensionel datamodellering.
  • gratis datamodelleringsværktøjer inkluderer open source-løsninger såsom Open ModelSphere.
  • datamodellering og IBM Cloud

    forskere ved IBM var blandt pionererne, der skabte de første hierarkiske og relationelle datamodeller og også designet databaserne, hvor disse modeller oprindeligt blev implementeret.i dag leverer IBM Cloud en komplet stack-platform, der understøtter en rig portefølje af databaser, sammen med udviklerværktøjer, der er nødvendige for at administrere dataressourcer i dem effektivt. IBM Cloud understøtter også open source-værktøjer, der hjælper udviklere med at administrere objekt, fil og blokere datalagring for at optimere ydeevne og pålidelighed.

    vil du lære mere om modellering af data på IBM Cloud? Tilmeld dig en IBMid, og opret din gratis IBM Cloud-konto i dag.