proiectare baze de date Exemplu - studopediya

Înainte de a începe crearea unei baze de date, trebuie să-și petreacă ceva timp pe design.

Scopul principal al bazei de date de proiectare (DB) - o reducere a redundanței datelor stocate, și, în consecință, economisind utilizarea memoriei, reduce costul de mai multe operații de actualizare copii redundante și eliminând posibilitatea unui conflict din cauza depozitării în diferite informații locuri despre același obiect . Așa-numitul proiect „curat“ bază de date ( „fiecare fapt într-un singur loc“) pot fi create folosind o metodologie pentru normalizarea relațiilor. Normalizarea ar trebui să fie utilizată în etapa finală a proiectului bazei de date de inspecție.

Design slabă a structurilor de baze de date rezultate sunt aproape întotdeauna într-un timp inutil petrecut pe prelucrarea ei în viitor. Dezvoltatorii cu experiență plata de proiectare a bazei de date nu mai puțin timp decât crearea lor. În general, dezvoltarea unei baze de date implică următoarele etape:

1. Determinarea bazei de date țintă.

2. Decide cu privire la ceea ce baza de date cu date brute ar trebui să conțină.

3. Determinarea tabelelor bazei de date originale.

4. Determina câmpurile care vor fi incluse într-un tabel, precum și o selecție de câmpuri care conțin valori unice.

6. Crearea de tabele, corelându-le cu fiecare bază de date și alte experimentale de încercare de conținut.

7. Crearea de formulare, rapoarte și interogări pentru operațiunile cu datele introduse.

Determinarea bazei de date țintă

Dezvoltarea fiecărei baze de date începe cu un studiu al problemei, care trebuie să rezolve, sau nevoi care trebuie să le îndeplinească.

Ca un exemplu, să creeze o bază de date simplă a literaturii de bibliotecă „Biblioteca“. Baza de date este proiectat pentru a stoca cărțile achiziționate de datele de bibliotecă, informații cu privire la locul de copiile individuale ale fiecărei publicații și informații despre cititori.

Selectarea informațiilor care urmează să fie incluse în baza de date

2. Numele cărții.

3. Locul publicării (oraș).

4. Publicarea (nume de editor).

Pentru a atribui pentru a descrie locul de depozitare de copii individuale ale cărților sunt:

1. Numărul de camere (camere pentru depozitarea cărților).

2. Numărul cremalierei în cameră.

3. Numărul de raft de pe raft.

4. Numărul (număr de acces al cărții).

5. Data cumpărării.

6. Data adăugării de carte specifice într-o anumită locație.

7. Data retragerii cărții de la locația instalat.

Pentru a atribui pentru a caracteriza cititorii includ:

numărul de card de bibliotecă 1. (formular).

2. Numele cititorului.

4. Cititor Mijlociu.

7. Data cititorului la o anumită carte.

8. Perioada pentru care anumite cărți verificat.

9. Data întoarcerea cărții.

Determinarea tabelelor sursă

Analiza obiectelor definite mai sus și atribute pentru a stabili baza proiectată pentru următoarele tabele de date pentru baza de date:

2. Cărți. Tabelul este conceput pentru a stoca informații despre cărți.

3. .Tablitsa Publishing proiectat pentru a stoca informații despre publicare.

4. Depozitarea. Tabelul este destinat să descrie cărțile stocate.

5. Problema .Tablitsa este proiectat pentru a stoca informații despre cărți emise.

6. Cititorii .Tablitsa este proiectat pentru a stoca informații despre cititorii bibliotecii.

Alegerea câmpurile de tabele necesare

Prin definirea unui set de tabele implicate în, este necesar să se ia în considerare baza a ceea ce informații despre fiecare obiect vor fi incluse în fiecare dintre tabele. Fiecare câmp trebuie să aparțină unui tabel separat. În același timp, informațiile din fiecare domeniu ar trebui să fie structural și elementar, adică, ar trebui să fie stocate în câmpurile ca cele mai mici componente logice.

Pe baza celor de mai sus, definim câmpul în tabelele selectate și tipul de date stocate.

· Codul de carte - câmp numeric, este destinat să identifice în mod unic fiecare carte în parte, în baza de date;

· Titlul cărții - un câmp de caracter, nu mai mult de 256 de caractere;

· Abstract - câmp de tip text;

· Data primirii în bibliotecă;

· Stocare.
editori:

· Codul de publicare - câmp numeric, este destinat să identifice în mod unic fiecare editorii individuali în baza de date;

· Numele editorului - un câmp de caracter, nu mai mult de 256 de caractere;

· City, unde editura - câmp de tip caracter, nu mai mult de 25 de caractere.

· Plasați codul - câmp numeric este destinat să identifice în mod unic fiecare raft în parte, în baza de date;

· Numărul de camere - câmp numeric;

· Număr Rack - câmp numeric;

· Număr raft - un câmp numeric.

· Codul emitent - câmp numeric este destinat să identifice în mod unic fiecare aspect special, în baza de date;

· Număr de cărți emise - câmp numeric;

· Cititor de cod - câmp numeric;

· Perioada de emitere (zile);

· Numărul cardului de bibliotecă - un câmp numeric este destinat să identifice în mod unic fiecare cititor în parte, în baza de date;

· Nume - un câmp de caracter la 50 de caractere;

· Nume - un câmp de caracter la 50 de caractere;

· Patronimicul - un câmp de caracter la 50 de caractere;

Selectarea câmpurilor unice

Într-un tabel de baze de date relaționale pot fi legate între ele. Această conexiune este stabilită cu ajutorul câmpurilor unice. câmpuri unice - acestea sunt domeniile în care valorile nu pot fi repetate. De exemplu, seria și numărul pașaportului identifică în mod unic orice persoană care are un pașaport. Un astfel de câmp (sau o combinație de câmpuri) care identifică în mod unic o intrare în tabel se numește cheie primară .Ca câmpul cheie primară poate servi, de asemenea, numărul de serie al intrării în catalog, numărul de personal al angajatului, SKU de vânzare cu amănuntul.

Pentru baza de date următoarele câmpuri sunt chei primare:

· Cărți - cod cărți.

· Publicarea - cod de editor.

· Depozitare - cod loc.

· Problema - cod problemă.

· Cititorii stoc bilet.

Numirea relațiilor între tabele

comunicare Mezhtablichnye leagă cele două tabele folosind un câmp comun, care este disponibil în ambele tabele. Există trei tipuri de relații:

· One-to-one - fiecare intrare din tabelul A poate fi asociat cu mai multe înregistrări tabelul B;

· O-la-mai mulți - o singură înregistrare în tabelul A poate fi conectată la mai multe înregistrări de masă B (de exemplu, fiecare clasă poate fi o mulțime de studenți);

· Many-to-many - fiecare intrare în tabelul A poate fi asociată cu un număr de înregistrări în tabelul B, și fiecare intrare în tabelul B - cu un număr de înregistrări în tabelul A (de exemplu, fiecare elev poate fi câțiva profesori, și fiecare cadru didactic Acesta poate fi o mulțime de studenți).

Bazele de date relaționale nu permit crearea de comunicare, cum ar fi multi-to-many direct. Cu toate acestea, în viața reală, astfel de conexiuni sunt foarte frecvente, astfel încât acestea puse în aplicare prin tabelul auxiliar, care leagă conexiunile de date multiple, cum ar fi unu-la-mulți.

Pentru a relaționa un tabel în altul, este necesar să se introducă în al doilea tabel al câmpului cheie primară în primul tabel, adică intră în al doilea tabel cheia externă. Comunicarea dintre cele două tabele se realizează conectarea cheia principală primară a tabelului (situat pe partea laterală a relației dintre „unu“), la aceeași masă străină câmp cheie asociată (localizată pe relația partea „mulți“). câmp cheie externă în tabelul de referință trebuie să aibă același tip de date ca și cheia primară din tabela părinte, dar cu o singură excepție. Dacă tabelul de master-cheie primară are un „metru“ tip de date, apoi tasta străină într-un domeniu legat de masă trebuie să aibă un tip de date „numeric“.

În baza noastră de date, vom stabili următoarele tipuri de relații între tabele:

2. Cărți - Edituri. Există un mulți-la-mulți. Orice carte poate fi publicată de către mai mulți editori și orice editor publica mai mult de o carte. Prin urmare, vom introduce un alt auxiliar de masă „cărți-publicare“, cu următoarele câmpuri:

3. Stocare - Cărți. Există un unu-la-mulți. pe un singur raft pot fi aranjate multe cărți, dar orice carte poate fi doar pe un singur raft în magazin. Prin urmare, „locul de depozitare“, în tabelul de „cărți“ este definit ca o cheie externă, și asocia tabelul „stocare“ și „cărți“ cheie primară „cod spațiu“ și o cheie străină „Locația de stocare“.

4. Cărți - Ediția. Există un unu-la-mulți. și anume aceeași carte pot fi emise de mai multe ori la date diferite pentru cititori. Prin urmare, „numărul emis de carte“ din tabelul „Problema“ este definit ca o cheie externă, și conectați tabelul „cărți“ și „Eliberării“ cheie primară „cărți de cod“ și o cheie externă „numărul emis de carte.“

5. Cititorii - Emiterea. Există un unu-la-mulți. și anume aceeași carte pot fi emise de mai multe ori pentru diferite cititori în termeni diferiți. Prin urmare, „cititor de cod“ în tabelul „problema“ este definit ca o cheie străină, și atributul de masă „Cititorii“ și „eliberarea“ cheie primară „numărul de card de bibliotecă“ și o cheie străină „cititor de cod“.

tabele de proiectare finite și identificarea legăturilor dintre ele, trebuie să fie verificați din nou cu atenție structura rezultată înainte de a începe să creeze tabele și introducerea informațiilor. Normalizarea relațiilor poate reduce semnificativ cantitatea de informații stocate și pentru a elimina anomaliile în organizarea de stocare a datelor.

Regula 1: Fiecare câmp din tabel trebuie să reprezinte un tip unic de informații.

Baza de date ne-a creat nici un câmp de date din diferite tabele care conțin aceleași informații (cu excepția chei străine).

Regula 2: Fiecare tabel trebuie să aibă un identificator unic, sau cheie primară, care poate consta dintr-unul sau mai multe câmpuri.

Regula 3: pentru fiecare valoare a valorilor cheie primare în coloanele de date trebuie să trateze masa de obiect și-l descrie pe deplin.

Regula 4: ar trebui să poată schimba valorile din orice domeniu (nu este parte a cheii primare), fără a afecta celelalte câmpuri de date.

Ultima regulă vă permite să verificați dacă problema nu va avea loc atunci când datele din tabele. Din moment ce am proiectat baza datelor conținute în diferitele domenii de tabele, nu sunt repetate în altă parte, suntem capabili de a ajusta valoarea oricărui câmp (cu excepția cheie primară).

Completarea bazei de date, crearea de formulare și rapoarte

Pentru a determina modul în care structura bazei de date a sarcinii și modul în care confortabil cu această bază de date pentru a lucra, trebuie să introduceți câteva intrări simple. De obicei, atunci trebuie să ne întoarcem la structura de bază și să-l adapteze în conformitate cu ceea ce au fost obținute rezultate în timpul unei astfel de test.

În etapa finală de a crea formulare pentru introducerea informațiilor în baza de date și rapoarte pentru a afișa informații și anchete, prin care eșantionate date din mai multe tabele. Dacă baza este conceput pentru a transmite altor utilizatori, este probabil, este necesar ca cineva de la oamenii din afara pentru a verifica cât de ușor de a lucra cu formulare și rapoarte.

Schema de date care rezultă dezvoltat în baza de date MS Access prezentat în Fig. 4.1.

Fig. 4.1. Schema dezvoltat de date în baza de date Microsoft Access

1. Definirea sistemului de informații.

2. Explicați conceptul unei baze de date.

3. Care este zona de subiect?

4. Definiți baza de date.

5. Care este modelul de date?

6. Explicați principiile de bază ale modelului de date relaționale.

7. Explicați caracteristicile SGBD Microsoft Access.

8. Care sunt principalele obiecte ale bazei de date Access?

9. Explicați structura de masă de acces.

10. Explicați conceptele: interogări, formulare, rapoarte, pagini de acces la date, modulul macro.

11. Care sunt principalele etape de proiectare a bazei de date?

12. Cum este selectarea informațiilor incluse în baza de date?

13. Explicați conceptul: cheia primară, cheie externă.

14. Care este scopul comunicațiilor între tabele?

15. Explicați tipurile de bază de relații între tabele.

16. Care este normalizarea relațiilor de baze de date?

articole similare