Databasdesign är processen att skapa ett databasschema och fastställa de nödvändiga integritetsbegränsningarna .
Främsta mål:
Konceptuell (infologisk) design är konstruktionen av en semantisk modell av ämnesområdet, det vill säga en informationsmodell av högsta abstraktionsnivå. En sådan modell skapas utan att fokusera på någon speciell DBMS och datamodell . Termerna "semantisk modell", "konceptuell modell" och "infologisk modell" är synonyma. Dessutom kan orden "databasmodell" och "domänmodell" (till exempel "konceptuell databasmodell" och "konceptuell domänmodell") användas lika i detta sammanhang, eftersom en sådan modell både är en bild av verkligheten och en bild av en designdatabas för denna verklighet.
Den specifika formen och innehållet i den konceptuella databasmodellen bestäms av den formella apparat som valts för detta. Grafiska notationer som liknar ER-diagram används ofta .
Den vanligaste konceptuella databasmodellen inkluderar:
Logisk (datalogisk) design - skapa ett databasschema baserat på en specifik datamodell , till exempel en relationsdatamodell . För en relationsdatamodell är en datalogisk modell en uppsättning relationsscheman , som vanligtvis indikerar primärnycklar , såväl som "länkar" mellan relationer, som är främmande nycklar .
Omvandlingen av en konceptuell modell till en logisk modell utförs som regel enligt formella regler. Detta steg kan till stor del automatiseras.
På det logiska konstruktionsstadiet beaktas detaljerna för en viss datamodell, men detaljerna för en viss DBMS kanske inte beaktas.
Fysisk design - skapa ett databasschema för ett specifikt DBMS . Det specifika för ett visst DBMS kan inkludera begränsningar för namngivning av databasobjekt, begränsningar för datatyper som stöds, etc. Dessutom inkluderar detaljerna för ett visst DBMS under fysisk design valet av beslut relaterade till den fysiska datalagringsmiljön (den val av metoder för att hantera diskminne, separera databasen efter filer och enheter, dataåtkomstmetoder), skapa index, etc.
Resultatet av den fysiska designen av den logiska kretsen ovan i SQL-språket kan vara följande skript:
SKAPA TABELL OM INTE FINNS Avdelning ( - Avdelnings - id INT INTE NULL , namn VARCHAR ( 45 ), PRIMÄRNYCKEL ( id ) ) ; SKAPA TABELL OM INTE FINNS Grupp ( id INT NOT NULL , namn VARCHAR ( 45 ) , depart_id INT NOT NULL , UNIKT INDEX depart_id_UNIQUE ( depart_id ASC ) , PRIMÄRNYCKEL ( id , depart_id ) , CONSTRAINT_ depart_id , CONSTRAINT_ depart_kEY ( depart_id_depart_kEY ) _ _ ) ); SKAPA TABELL OM INTE FINNS Student ( first_name VARCHAR ( 16 ) NOT NULL , last_name VARCHAR ( 45 ) NOT NULL , e - post VARCHAR ( 255 ), group_id INT NOT NULL , PRIMÄRKEY ( efternamn , förnamn , grupp_id , grupp_id , grupp_id , grupp_id ) , CONSTRAINT group_fk UTLÄNDSK NYCKEL ( group_id ) REFERENSER Group ( id ) ;Vid design av relationsdatabaser utförs vanligtvis så kallad normalisering.
" Entity - Relationship -modellen" , eller ER-modellen som föreslagits av P. Chen [1] 1976, är den mest kända representanten för klassen av semantiska (konceptuella, infologiska) domänmodeller . ER-modellen presenteras vanligtvis i grafisk form, med P. Chens ursprungliga notation, kallad ER-diagrammet , eller med andra grafiska notationer ( Crow's Foot , Information Engineering , etc.).
De viktigaste fördelarna med ER-modeller:
Huvudelementen i ER-modeller:
En entitet är ett domänobjekt som har attribut.
Relationen mellan enheter kännetecknas av:
En semantisk modell (konceptuell modell, infologisk modell) är en domänmodell utformad för att representera en domäns semantik på högsta abstraktionsnivå. Detta innebär att behovet av att använda de "lågnivå"-koncept som är förknippade med detaljerna i den fysiska representationen och lagringen av data elimineras eller minimeras.
Datum KJ Introduktion till databassystem. - 8:e uppl. - M .: "Williams", 2006 :
Semantisk modellering har varit föremål för intensiv forskning sedan slutet av 1970-talet. Huvudmotivet för sådana studier (det vill säga problemet som forskarna försökte lösa) var följande faktum. Faktum är att databassystem vanligtvis har mycket begränsad kunskap om innebörden av de data som lagras i dem. Oftast tillåter de bara manipulering av data av vissa enkla typer och definierar några enkla integritetsbegränsningar som åläggs dessa data. Mer komplex tolkning överlåts åt användaren. Det skulle dock vara bra om systemen kunde ha lite mer information och lite mer intelligent svar på användarförfrågningar, samt stödja mer komplexa (det vill säga överordnade) användargränssnitt.
[…]
Idéerna med semantisk modellering kan vara användbara som ett databasdesignverktyg även om de inte direkt stöds i DBMS.
Den mest välkända representanten för klassen av semantiska modeller är entitetsrelationsmodellen (ER-modellen).
Databas | |
---|---|
Begrepp |
|
Objekt |
|
Nycklar | |
SQL |
|
Komponenter |