Proiectarea bazei de date este procesul de creare a unei scheme de baze de date și de determinare a constrângerilor de integritate necesare .
Scopuri principale:
Designul conceptual (infologic) este construirea unui model semantic al domeniului subiectului, adică un model informațional de cel mai înalt nivel de abstractizare. Un astfel de model este creat fără a se concentra pe vreun SGBD special și model de date . Termenii „model semantic”, „model conceptual” și „model infologic” sunt sinonimi. În plus, cuvintele „model de bază de date” și „model de domeniu” (de exemplu, „model de bază de date conceptuală” și „model de domeniu conceptual”) pot fi utilizate în mod egal în acest context, deoarece un astfel de model este atât o imagine a realității, cât și un imaginea unei baze de date de design pentru această realitate.
Forma și conținutul specific al modelului de baze de date conceptuale sunt determinate de aparatul formal ales pentru aceasta. Notațiile grafice similare cu diagramele ER sunt utilizate în mod obișnuit .
Cel mai comun model conceptual de bază de date include:
Proiectare logică (datalogică) - crearea unei scheme de bază de date bazată pe un model de date specific , de exemplu, un model de date relaționale . Pentru un model de date relaționale, un model datalogic este un set de scheme de relații , care indică de obicei chei primare , precum și „legături” între relații, care sunt chei străine .
Transformarea unui model conceptual într-un model logic, de regulă, se realizează după reguli formale. Acest pas poate fi în mare măsură automatizat.
În etapa de proiectare logică, sunt luate în considerare specificul unui anumit model de date, dar este posibil să nu fie luate în considerare specificul unui anumit SGBD.
Proiectare fizică - crearea unei scheme de bază de date pentru un anumit SGBD . Specificul unui anumit SGBD poate include restricții privind denumirea obiectelor bazei de date, restricții privind tipurile de date acceptate etc. În plus, specificul unui anumit SGBD în timpul proiectării fizice includ alegerea deciziilor legate de mediul fizic de stocare a datelor ( alegerea metodelor de gestionare a memoriei pe disc, separarea bazei de date pe fișiere și dispozitive, metode de acces la date), crearea de indexuri etc.
Rezultatul designului fizic al circuitului logic de mai sus în limbajul SQL poate fi următorul script:
CREATE TABLE IF NOT EXISTS Department ( -- Department id INT NOT NULL , nume VARCHAR ( 45 ), PRIMARY KEY ( id ) ); CREATE TABLE IF NOT EXISTS Group ( id INT NOT NULL , name VARCHAR ( 45 ) , depart_id INT NOT NULL , UNIQUE INDEX depart_id_UNIQUE ( depart_id ASC ) , PRIMARY KEY ( id , depart_id ) , CONSTRAINT depart_fk FOREIGN KEY ( Department ) ID REFERENCES_Department ) ); CREATE TABLE IF NOT EXISTS Student ( prenume VARCHAR ( 16 ) NOT NULL , prenume VARCHAR ( 45 ) NOT NULL , email VARCHAR ( 255 ) , group_id INT NOT NULL , PRIMARY KEY ( last_name , first_name , group_id ) , INDEX group_fk_ idx group_fk_ , CONSTRAINT group_fk FOREIGN KEY ( group_id ) REFERINȚE Group ( id ) );La proiectarea bazelor de date relaționale , de obicei se realizează așa-numita normalizare.
„ Modelul Entitate -Relație” sau modelul ER propus de P. Chen [1] în 1976, este cel mai faimos reprezentant al clasei de modele de domenii semantice (conceptuale, infologice) . Modelul ER este de obicei prezentat sub formă grafică, folosind notația originală a lui P. Chen, numită diagramă ER , sau folosind alte notații grafice ( Crow's Foot , Information Engineering etc.).
Principalele avantaje ale modelelor ER:
Elementele principale ale modelelor ER:
O entitate este un obiect de domeniu care are atribute.
Relația dintre entități se caracterizează prin:
Un model semantic (model conceptual, model infologic) este un model de domeniu conceput pentru a reprezenta semantica unui domeniu la cel mai înalt nivel de abstractizare. Aceasta înseamnă că necesitatea de a utiliza conceptele „la nivel scăzut” asociate cu specificul reprezentării fizice și stocării datelor este eliminată sau minimizată.
Data KJ Introducere în sistemele de baze de date. - Ed. a 8-a. - M .: „Williams”, 2006 :
Modelarea semantică a făcut obiectul unor cercetări intense încă de la sfârșitul anilor 1970. Motivul principal pentru astfel de studii (adică problema pe care au încercat să o rezolve cercetătorii) a fost următorul fapt. Faptul este că sistemele de baze de date au de obicei cunoștințe foarte limitate despre semnificația datelor stocate în ele. Cel mai adesea, ele permit doar manipularea datelor de anumite tipuri simple și definesc niște constrângeri simple de integritate impuse acestor date. Orice interpretare mai complexă este lăsată la latitudinea utilizatorului. Cu toate acestea, ar fi grozav dacă sistemele ar putea avea puțin mai multe informații și un răspuns puțin mai inteligent la solicitările utilizatorilor, precum și să suporte interfețe de utilizator mai complexe (adică de nivel superior).
[…]
Ideile de modelare semantică pot fi utile ca instrument de proiectare a bazelor de date chiar dacă nu sunt suportate direct în SGBD.
Cel mai cunoscut reprezentant al clasei de modele semantice este modelul entitate-relație (ER-model).
Bază de date | |
---|---|
Concepte |
|
Obiecte |
|
Chei | |
SQL |
|
Componente |