Articles

datamodellering

Upptäck hur datamodellering använder abstraktion för att representera och bättre förstå dataflödets natur inom ett företagsinformationssystem

Vad är datamodellering?

datamodellering är processen att skapa en visuell representation av antingen ett helt informationssystem eller delar av det för att kommunicera kopplingar mellan datapunkter och strukturer. Målet är att illustrera vilka typer av data som används och lagras i systemet, relationerna mellan dessa datatyper, hur data kan grupperas och organiseras och dess format och attribut.

datamodeller är uppbyggda kring affärsbehov. Regler och krav definieras på förhand genom feedback från affärsintressenter så att de kan införlivas i utformningen av ett nytt system eller anpassas i iteration av en befintlig.

Data kan modelleras på olika abstraktionsnivåer. Processen börjar med att samla in information om affärskrav från intressenter och slutanvändare. Dessa affärsregler översätts sedan till datastrukturer för att formulera en konkret databasdesign. En datamodell kan jämföras med en färdplan, en arkitekts ritning eller något formellt diagram som underlättar en djupare förståelse för vad som utformas.

datamodellering använder standardiserade scheman och formella tekniker. Detta ger ett gemensamt, konsekvent och förutsägbart sätt att definiera och hantera dataresurser över en organisation, eller till och med bortom.

idealt sett är datamodeller levande dokument som utvecklas tillsammans med förändrade affärsbehov. De spelar en viktig roll för att stödja affärsprocesser och planera IT-arkitektur och strategi. Datamodeller kan delas med leverantörer, partners och/eller branschkamrater.

typer av datamodeller

precis som alla designprocesser börjar databas-och informationssystemdesign på en hög abstraktionsnivå och blir allt mer konkret och specifik. Datamodeller kan i allmänhet delas in i tre kategorier, som varierar beroende på deras abstraktionsgrad. Processen börjar med en konceptuell modell, utvecklas till en logisk modell och avslutas med en fysisk modell. Varje typ av datamodell diskuteras mer detaljerat nedan:

  • konceptuella datamodeller. De kallas också domänmodeller och erbjuder en storbildsvy av vad systemet kommer att innehålla, hur det kommer att organiseras och vilka affärsregler som är inblandade. Konceptuella modeller skapas vanligtvis som en del av processen för att samla in initiala projektkrav. Vanligtvis inkluderar de entitetsklasser (definierar vilka typer av saker som är viktiga för verksamheten att representera i datamodellen), deras egenskaper och begränsningar, relationerna mellan dem och relevanta säkerhets-och dataintegritetskrav. Varje notation är vanligtvis enkel.
    Diagram över en konceptuell datamodell
  • logiska datamodeller. De är mindre abstrakta och ger större detaljer om begreppen och relationerna i den aktuella domänen. Ett av flera formella datamodelleringssystem följs. Dessa anger dataattribut, till exempel datatyper och deras motsvarande längder, och visar relationerna mellan enheter. Logiska datamodeller anger inga tekniska systemkrav. Detta stadium utelämnas ofta i agila eller DevOps-metoder. Logiska datamodeller kan vara användbara i mycket processuella implementeringsmiljöer eller för projekt som är dataorienterade av naturen, såsom datalagerdesign eller rapporteringssystemutveckling.
    Diagram över en logisk datamodell
  • fysiska datamodeller. De ger ett schema för hur data lagras fysiskt i en databas. Som sådan är de minst abstrakta av alla. De erbjuder en färdig design som kan implementeras som en relationsdatabas, inklusive associativa tabeller som illustrerar relationerna mellan enheter samt de primära nycklarna och främmande nycklar som kommer att användas för att upprätthålla dessa relationer. Fysiska datamodeller kan inkludera databashanteringssystem (DBMS)-specifika egenskaper, inklusive prestandajustering.
    Diagram över en fysisk datamodell

datamodelleringsprocess

som en disciplin inbjuder datamodellering intressenter att utvärdera databehandling och lagring i noggrann detalj. Datamodelleringstekniker har olika konventioner som dikterar vilka symboler som används för att representera data, hur modeller läggs ut och hur affärskrav förmedlas. Alla tillvägagångssätt ger formaliserade arbetsflöden som innehåller en sekvens av uppgifter som ska utföras på ett iterativt sätt. Dessa arbetsflöden ser i allmänhet ut så här:

  1. identifiera enheterna. Processen för datamodellering börjar med identifiering av de saker, händelser eller begrepp som representeras i datamängden som ska modelleras. Varje enhet bör vara sammanhängande och logiskt diskret från alla andra.
  2. identifiera viktiga egenskaper för varje enhet. Varje enhetstyp kan differentieras från alla andra eftersom den har en eller flera unika egenskaper, kallade attribut. Till exempel kan en enhet som heter ”kund” ha sådana attribut som förnamn, efternamn, telefonnummer och hälsning, medan en enhet som heter ”adress” kan innehålla ett gatunamn och nummer, en stad, stat, land och Postnummer.
  3. identifiera relationer mellan enheter. Det tidigaste utkastet till en datamodell kommer att ange vilken typ av relationer varje enhet har med de andra. I exemplet ovan, varje kund ”bor på” en adress. Om den modellen utvidgades till att omfatta en enhet som heter ”order”, skulle varje order skickas till och faktureras till en adress också. Dessa relationer dokumenteras vanligtvis via unified modeling language (UML).
  4. Kartattribut till enheter helt. Detta säkerställer att modellen återspeglar hur verksamheten kommer att använda uppgifterna. Flera formella datamodelleringsmönster används i stor utsträckning. Objektorienterade Utvecklare tillämpar ofta analysmönster eller designmönster, medan intressenter från andra affärsdomäner kan vända sig till andra mönster.
  5. tilldela nycklar efter behov och besluta om en grad av normalisering som balanserar behovet av att minska redundans med prestandakrav. Normalisering är en teknik för att organisera datamodeller (och databaserna de representerar) där numeriska identifierare, kallade nycklar, tilldelas grupper av data för att representera relationer mellan dem utan att upprepa data. Om kunderna till exempel tilldelas en nyckel kan den nyckeln kopplas till både deras adress och deras orderhistorik utan att behöva upprepa denna information i tabellen över kundnamn. Normalisering tenderar att minska mängden lagringsutrymme en databas kommer att kräva, men det kan till kostnad för att fråga prestanda.
  6. Slutför och validera datamodellen. Datamodellering är en iterativ process som bör upprepas och förfinas när affärsbehoven förändras.

typer av datamodellering

datamodellering har utvecklats tillsammans med databashanteringssystem, med modelltyper som ökar i komplexitet när företagens datalagringsbehov har ökat. Här är flera modelltyper:

  • hierarkiska datamodeller representerar en-till-många relationer i ett trädliknande format. I denna typ av modell har varje post en enda rot eller förälder som kartlägger till ett eller flera barntabeller. Denna modell implementerades i IBM Information Management System (IMS), som introducerades 1966 och snabbt fann utbredd användning, särskilt inom bank. Även om detta tillvägagångssätt är mindre effektivt än nyligen utvecklade databasmodeller, används det fortfarande i Extensible Markup Language (XML) – system och geografiska informationssystem (GISs).
  • relationella datamodeller föreslogs ursprungligen av IBM-forskaren E. F. Codd 1970. De implementeras fortfarande idag i de många olika relationsdatabaser som vanligtvis används i företagsberäkning. Relationell datamodellering kräver inte en detaljerad förståelse av de fysiska egenskaperna hos den datalagring som används. I det förenas datasegment uttryckligen genom användning av tabeller, vilket minskar databasens komplexitet.

relationsdatabaser använder ofta structured query language (SQL) för datahantering. Dessa databaser fungerar bra för att upprätthålla dataintegritet och minimera redundans. De används ofta i försäljningssystem, liksom för andra typer av transaktionsbehandling.

  • Entity-relationship (ER) datamodeller använder formella diagram för att representera relationerna mellan entiteter i en databas. Flera er-modelleringsverktyg används av dataarkitekter för att skapa visuella kartor som förmedlar databasdesignmål.
  • objektorienterade datamodeller fick dragkraft som objektorienterad programmering och det blev populärt i mitten av 1990-talet. ”objekten” involverade är abstraktioner av verkliga enheter. Objekt grupperas i klasshierarkier och har tillhörande funktioner. Objektorienterade databaser kan innehålla tabeller, men kan också stödja mer komplexa datarelationer. Detta tillvägagångssätt används i multimedia-och hypertextdatabaser samt andra användningsfall.
  • dimensionella datamodeller utvecklades av Ralph Kimball, och de utformades för att optimera datahämtningshastigheter för analytiska ändamål i ett datalager. Medan Relations-och ER-modeller betonar effektiv lagring ökar dimensionella modeller redundans för att göra det lättare att hitta information för rapportering och hämtning. Denna modellering används vanligtvis över OLAP-system.

två populära dimensionella datamodeller är stjärnschemat, där data är organiserad i fakta (mätbara objekt) och dimensioner (referensinformation), där varje faktum omges av dess tillhörande dimensioner i ett stjärnliknande mönster. Den andra är snowflake-schemat, som liknar stjärnschemat men innehåller ytterligare lager av tillhörande dimensioner, vilket gör förgreningsmönstret mer komplext.

fördelar med datamodellering

datamodellering gör det lättare för utvecklare, dataarkitekter, affärsanalytiker och andra intressenter att se och förstå relationer mellan data i en databas eller datalager. Dessutom kan det:

  • minska fel i programvara och databasutveckling.
  • öka enhetligheten i dokumentation och systemdesign över hela företaget.
  • förbättra applikations-och databasprestanda.
  • Ease data mapping i hela organisationen.
  • förbättra kommunikationen mellan utvecklare och Business intelligence-Team.
  • underlätta och påskynda processen för databasdesign på konceptuella, logiska och fysiska nivåer.

Datamodelleringsverktyg

många kommersiella och öppen källkod datorstödd programvaruteknik (CASE) lösningar används i stor utsträckning idag, inklusive flera datamodellering, diagram och visualiseringsverktyg. Här är flera exempel:

  • erwin Data Modeler är ett datamodelleringsverktyg baserat på Integrationsdefinitionen för informationsmodellering (IDEF1X) datamodelleringsspråk som nu stöder andra noteringsmetoder, inklusive ett dimensionellt tillvägagångssätt.
  • Enterprise Architect är ett visuellt modellerings-och designverktyg som stöder modellering av företagsinformationssystem och arkitekturer samt program och databaser. Den är baserad på objektorienterade språk och standarder.
  • ER / Studio är databasdesignprogramvara som är kompatibel med flera av dagens mest populära databashanteringssystem. Den stöder både relationell och dimensionell datamodellering.
  • gratis datamodelleringsverktyg inkluderar open source-lösningar som Open ModelSphere.

datamodellering och IBM Cloud

forskare vid IBM var bland pionjärerna som skapade de första hierarkiska och relationella datamodellerna och utformade också databaserna där dessa modeller ursprungligen implementerades.

idag tillhandahåller IBM Cloud en full stackplattform som stöder en rik portfölj av SQL-och NoSQL-databaser, tillsammans med utvecklingsverktyg som behövs för att hantera dataresurser inom dem effektivt. IBM Cloud stöder också verktyg med öppen källkod som hjälper utvecklare att hantera objekt, fil och blockera datalagring för att optimera prestanda och tillförlitlighet.

Vill du lära dig mer om modelleringsdata på IBM Cloud? Registrera dig för ett IBMid och skapa ditt kostnadsfria IBM Cloud-konto idag.