Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Recenzii
  • Exemplu de proiectare a bazei de date. Diagramele arborelui nodurilor

Exemplu de proiectare a bazei de date. Diagramele arborelui nodurilor

Traducerea unei serii de 15 articole despre proiectarea bazelor de date.
Informația este destinată începătorilor.
M-a ajutat. Poate că asta va ajuta pe altcineva să completeze golurile.

Ghid de proiectare a bazei de date.

1. Introducere.
Dacă intenționați să vă creați propriile baze de date, este o idee bună să respectați regulile de proiectare a bazei de date, deoarece acest lucru va asigura integritatea pe termen lung și ușurința de întreținere a datelor dumneavoastră. Acest tutorial vă va ghida prin ce sunt bazele de date și cum să proiectați o bază de date care respectă regulile de proiectare a bazelor de date relaționale.

Bazele de date sunt programe care vă permit să stocați și să primiți volume mari informatii aferente... Bazele de date constau din Mese, care conțin informație... Când creați o bază de date, trebuie să vă gândiți care Mese trebuie să creezi și ce conexiuni există între informațiile din tabele. Cu alte cuvinte, trebuie să te gândești proiectul baza ta de date. Bun proiect bazele de date, așa cum am menționat mai devreme, vor asigura integritatea datelor și ușurința întreținerii.
Baza de date este creată pentru a stoca informații în ea și pentru a obține aceste informații dacă este necesar. Aceasta înseamnă că trebuie să putem plasa, introduce ( INTRODUCE) informații în baza de date și dorim să putem prelua informații din baza de date ( SELECTAȚI).
Limbajul de interogare a bazei de date a fost inventat în acest scop și a fost numit Limbajul de interogare structurat sau SQL. Operațiile de inserare a datelor (INSERT) și selecția lor (SELECT) fac parte chiar din acest limbaj. Mai jos este un exemplu de interogare de preluare a datelor și rezultatul acesteia.

SQL este un subiect important pentru povestirea și depășește scopul acestui tutorial. Acest articol este strict axat pe prezentare procesul de proiectare a bazei de date... Mai târziu, într-un tutorial separat, voi acoperi elementele de bază ale SQL.

Modelul relațional.
În acest tutorial, vă voi arăta cum să creați un model de date relaționale. Un model relațional este un model care descrie modul de organizare a datelor în tabele și modul de definire a relațiilor dintre aceste tabele.

Reguli model relațional dictează modul în care informațiile ar trebui să fie organizate în tabele și modul în care tabelele se raportează între ele. În cele din urmă, rezultatul poate fi furnizat sub forma unei diagrame de bază de date sau, mai precis, a unei diagrame entitate-relație, ca în figură (Exemplu luat din MySQL Workbench).

Exemple.
Am folosit o serie de aplicații ca exemple în tutorial.

RDBMS.

RDBMS-ul pe care l-am folosit pentru a crea exemplele de tabele este MySQL. MySQL este cel mai popular RDBMS și este gratuit.

Utilitar de administrare a bazelor de date.

După Instalări MySQL primești doar interfața Linie de comanda pentru a interacționa cu MySQL. Personal, prefer o interfață grafică pentru gestionarea bazelor de date. Folosesc mult SQLyog. Acest utilitate gratuită Cu interfata grafica... Imagini cu mesele din acest manual luate de acolo.

Modelare vizuală.

Există un gratuit excelent aplicație MySQL Banc de lucru. Vă permite să vă proiectați baza de date grafic. Diagramele din manual sunt prezentate în acest program.

Design independent de RDBMS.
Este important de știut că, deși acest tutorial oferă exemple pentru MySQL, proiectarea bazei de date este independentă de RDBMS. Aceasta înseamnă că informațiile se aplică bazelor de date relaționale în general, nu doar MySQL. Puteți aplica cunoștințele din acest tutorial oricărei baze de date relaționale precum Mysql, Postgresql, Microsoft Access, Microsoft Sql sau Oracle.

În partea următoare voi vorbi pe scurt despre evoluția bazelor de date. Veți afla de unde provin bazele de date și modelul de date relaționale.

2. Istorie.
În anii 70 și 80, când informaticienii încă purtau smoking maro și ochelari mari, cu rame pătrate, datele erau stocate nestructurate în fișiere care erau Document text cu date separate (de obicei) prin virgule sau file.

Așa arătau profesioniștii din domeniu. tehnologia Informatieiîn anii 70. (Bill Gates este în stânga jos).

Fișierele text sunt încă folosite astăzi pentru a stoca cantități mici de informații simple. Valori separate prin virgulă (CSV) - valorile separate prin virgulă sunt foarte populare și susținute pe scară largă astăzi de diverse softwareși sisteme de operare. Microsoft Excel Este unul dintre exemplele de programe care pot funcționa cu fișiere CSV. Datele stocate într-un astfel de fișier pot fi citite de un program de calculator.

Mai sus este un exemplu despre cum ar putea arăta un astfel de fișier. Program de citire a acestui dosar, trebuie anunțat că datele sunt separate prin virgulă. Dacă programul dorește să selecteze și să afișeze categoria în care se află lecția „Tutorial pentru proiectarea bazei de date”, apoi trebuie să citească rând cu rând până când sunt găsite cuvinte „Tutorial pentru proiectarea bazei de date”și apoi va trebui să citească următorul cuvânt după virgulă pentru a afișa categoria Software.

Tabele de baze de date.
Citirea unui fișier linie cu linie nu este foarte eficientă. Într-o bază de date relațională, datele sunt stocate în tabele. Tabelul de mai jos conține aceleași date ca și fișierul. Fiecare rând sau „înregistrare” conține o lecție. Fiecare coloană conține anumite proprietăți ale lecției. V în acest caz acesta este titlul și categoria lui.

Un program de calculator ar putea căuta în coloana tutorial_id din acest tabel specificul tutorial_id pentru a găsi rapid titlul și categoria corespunzătoare. Acest lucru este mult mai rapid decât căutarea fișierului linie cu linie, la fel cum face un program într-un fișier text.

Bazele de date relaționale moderne sunt concepute pentru a putea prelua date de pe anumite rânduri, coloane și mai multe tabele, la un moment dat, foarte rapid.

Istoria modelului relațional.
Modelul bazei de date relaționale a fost inventat în anii 70 de Edgar Codd, un om de știință britanic. A vrut să depășească defectele model de rețea baze de date și model ierarhic. Și a avut mare succes în asta. Modelul bazei de date relaționale este larg acceptat astăzi și este considerat un model puternic pentru organizarea eficientă a datelor.

O mare varietate de sisteme de gestionare a bazelor de date sunt disponibile astăzi, de la aplicații desktop mici la sisteme de server multifuncționale cu metode de căutare foarte optimizate. Unele dintre cele mai cunoscute sisteme de management al bazelor de date relaționale (RDBMS) sunt:

- Oracol- folosit în principal pentru aplicații profesionale, mari.
- Microsoft SQL Server- RDBMS Microsoft... Disponibil doar pentru sistem de operare Windows.
- Mysql Este un RDBMS open source foarte popular cod sursa... Este utilizat pe scară largă atât de profesioniști, cât și de începători. Ce mai este nevoie?! Este gratis.
- IBM- are un număr de RDBMS, cel mai cunoscut este DB2.
- Microsoft Access- RDBMS, care este folosit la birou și acasă. De fapt, este mai mult decât o simplă bază de date. MS Access vă permite să creați baze de date cu o interfață de utilizator.
În partea următoare voi explica puțin despre caracteristicile bazelor de date relaționale.

3. Caracteristicile bazelor de date relaţionale.
Bazele de date relaționale sunt concepute pentru salvare rapidași primirea unor cantități mari de informații. În continuare sunt prezentate câteva dintre caracteristicile bazelor de date relaționale și modelul de date relaționale.
Folosind chei.
Fiecare rând de date dintr-un tabel este identificat printr-o „cheie” unică numită cheie primară. Adesea, cheia primară este un număr cu auto-incrementare (auto-incrementare) (1,2,3,4 etc.). Datele din diferite tabele pot fi legate între ele folosind chei. Valorile cheilor primare dintr-un tabel pot fi adăugate la rândurile (înregistrările) ale altui tabel, legând astfel acele înregistrări între ele.

Folosind limbaj structurat interogări (SQL), date de la mese diferite care sunt legate printr-o cheie pot fi selectate dintr-o singură mișcare. De exemplu, puteți crea o interogare care va selecta toate comenzile din tabelul de comenzi care aparțin utilizatorului cu id 3 (Mike) din tabelul utilizatori. Despre chei vom vorbi mai departe, în părțile următoare.


Coloana ID din acest tabel este cheia primară. Fiecare înregistrare are o cheie primară unică, adesea un număr. Coloana grup de utilizatori este o cheie externă. După cum sugerează și numele, se referă aparent la un tabel care conține grupuri de utilizatori.

Fără redundanță de date.
Într-un proiect de bază de date care este construit folosind regulile modelului de date relaționale, fiecare informație, cum ar fi un nume de utilizator, este stocată într-un singur loc. Acest lucru elimină nevoia de a lucra cu date în mai multe locații. Dublarea datelor se numește redundanță de date și ar trebui evitată în bun proiect Bază de date.
Restricție de intrare.
Folosind bază relațională date, puteți defini ce fel de date pot fi stocate în coloană. Puteți crea un câmp care conține numere întregi, numere zecimale, bucăți mici de text, bucăți mari de text, date etc.


Când creați un tabel de bază de date, furnizați un tip de date pentru fiecare coloană. De exemplu, varchar este un tip de date pentru bucăți mici de text cu număr maxim caractere egale cu 255 și int sunt numere.

Pe lângă tipurile de date, un RDBMS vă permite să restricționați și mai mult datele pe care le puteți introduce. De exemplu, limitați lungimea sau impuneți unicitatea valorii înregistrărilor în această coloană... Ultima limitare este adesea folosită pentru câmpurile care conțin nume de înregistrare a utilizatorilor (autentificări) sau adrese E-mail.

Aceste restricții vă oferă control asupra integrității datelor dvs. și previn situații precum următoarele:

Introducerea unei adrese (text) în câmpul în care vă așteptați să vedeți un număr
- introducerea indexului regiunii cu lungimea aceluiași indice într-o sută de caractere
- crearea de utilizatori cu același nume
- crearea de utilizatori cu aceeași adresă de e-mail
- introducerea greutății (numărului) în câmpul zilei de naștere (data).

Menținerea integrității datelor.
Prin ajustarea proprietăților câmpurilor, legând tabele și stabilind constrângeri, puteți crește fiabilitatea datelor dvs.
Cesiunea de drepturi.
Majoritatea RDBMS-urilor oferă o setare de permisiuni care vă permite să atribuiți anumite drepturi anumiți utilizatori. Unele acțiuni care pot fi permise sau refuzate utilizatorului: SELECT (preluare), INSERT (inserare), DELETE (ștergere), ALTER (modificare), CREATE (creare), etc. Acestea sunt operațiuni care pot fi efectuate folosind Structured Query Language (SQL).
Limbajul de interogare structurat (SQL).
Pentru a efectua anumite operațiuni asupra bazei de date, cum ar fi salvarea datelor, preluarea acestora, schimbarea acesteia, se folosește un limbaj de interogare structurat (SQL). SQL este relativ ușor de înțeles și permite incl. și selecții stivuite, cum ar fi preluarea datelor asociate din mai multe tabele folosind Declarație SQL A TE ALATURA. După cum am menționat mai devreme, SQL nu va fi discutat în acest tutorial. Mă voi concentra pe proiectarea bazei de date.

Modul în care vă proiectați baza de date va avea un impact direct asupra interogărilor pe care trebuie să le executați pentru a obține date din baza de date. Acesta este un alt motiv pentru care trebuie să vă gândiți care ar trebui să fie baza dvs. Cu o bază de date bine concepută, interogările dvs. pot fi mai curate și mai ușoare.

Portabilitate.
Modelul de date relaționale este standard. Urmând regulile modelului de date relaționale, puteți fi sigur că datele dumneavoastră pot fi migrate într-un alt RDBMS relativ ușor.

După cum sa menționat mai devreme, proiectarea unei baze de date este o chestiune de identificare a datelor, de a le lega împreună și de a plasa rezultatele unei soluții. această problemă pe hârtie (sau în program de calculator). Proiectați baza de date independent de RDBMS pe care intenționați să îl utilizați pentru ao crea.

În partea următoare, vom arunca o privire mai atentă asupra cheilor primare.

Trimiteți-vă munca bună în baza de cunoștințe este simplu. Utilizați formularul de mai jos

Buna treaba către site-ul „>

Studenții, studenții absolvenți, tinerii oameni de știință care folosesc baza de cunoștințe în studiile și munca lor vă vor fi foarte recunoscători.

Postat pe http://www.allbest.ru/

Vvmâncând

sistem de utilizator al programului de interfață

Astăzi, sute de milioane lucrează în lume. calculatoare personale... Oamenii de știință, economiștii, politicienii cred că până la începutul mileniului trei:

numărul calculatoarelor din lume va fi egal cu numărul locuitorilor ţărilor dezvoltate.

majoritatea acestor calculatoare vor fi incluse în rețelele de informații ale lumii.

toate informațiile acumulate de omenire până la începutul mileniului trei vor fi convertite în formă computerizată (binară), iar toate informațiile vor fi pregătite cu ajutorul (sau cu participarea) computerelor; toate informațiile vor fi stocate pe termen nelimitat în rețele de calculatoare;

un membru cu drepturi depline al societății mileniului trei va trebui să interacționeze în fiecare zi cu rețelele locale, regionale sau mondiale folosind computere.

Cu o astfel de informatizare a aproape toate ramurile vieții umane, se pune problema creării de programe care vă permit să creați astfel de baze de date. Prin urmare, a fost dezvoltat acest program, care vă permite să creați o bază de date care stochează informații despre progresul școlarilor.

1. Baza de date și modalitățile de prezentare a acesteia

Baza de date (DB) este informații prezentate sub formă de tabele bidimensionale. Baza de date conține multe linii, fiecare dintre ele corespunde unui obiect. Pentru fiecare obiect se folosesc anumite poziții independente, care se numesc câmpuri. Să ne imaginăm o astfel de bază de date care conține rânduri și coloane ( cel mai simplu caz). Fiecare linie, numită și înregistrare, îi corespunde obiect specific... Fiecare coloană conține valorile datelor obiectului corespunzătoare.

Baza de date poate consta nu dintr-un tabel, ci din două, trei sau mai multe. Informații suplimentare despre obiect pot fi stocate în tabele suplimentare.

Unul dintre instrumentele puternice ale bazei de date este că informațiile pot fi ordonate în funcție de criteriile pe care le specifică utilizatorul. În Pascal, o bază de date este furnizată ca o listă de termeni de forma: database_predicate_name (record_fields). Numele bazelor de date sunt descrise în secțiune. Înregistrările bazei de date sunt accesate folosind un predicat de bază. pascal oferă destul de multe instrumente pentru lucrul cu astfel de baze de date: încărcare, scriere, adăugare etc.

O bază de date este o structură organizată pentru stocarea informațiilor. Bazele de date moderne stochează nu numai date, ci și informații.

Această afirmație poate fi ușor explicată dacă, de exemplu, luăm în considerare baza de date a unei bănci mari. Are de toate informatie necesara despre clienți, despre adresele lor, istoricul creditului, starea conturilor curente, tranzactii financiare etc. Există suficient acces la această bază de date. un numar mare angajații băncii, dar printre aceștia aproape că nu există o persoană care să aibă acces la întreaga bază de date în întregime și, în același timp, să poată face de unul singur modificări arbitrare. Pe lângă date, baza de date conține metode și instrumente care permit fiecărui angajat să opereze doar cu acele date care sunt de competența sa. Ca urmare a interacțiunii datelor conținute în baza de date cu metodele de care dispun anumiți angajați, se generează informații pe care aceștia le consumă și pe baza cărora, în limita propriei competențe, introduc și editează date. Strâns legat de conceptul de bază de date este conceptul sisteme de management al bazelor de date. Este un complex instrumente software conceput pentru a crea o structură noua baza, umplendu-l cu conținut, editarea conținutului și vizualizarea informațiilor. Sub vizualizarea informatiilor baza de date este înțeleasă ca selectarea datelor afișate în conformitate cu un criteriu dat, ordonarea acestora, proiectarea și livrarea ulterioară către dispozitivele de ieșire sau transmiterea prin canale de comunicație. Există multe sisteme de gestionare a bazelor de date în lume. În ciuda faptului că pot lucra diferit cu diferite obiecte și pot oferi utilizatorului diverse funcțiiși înseamnă că majoritatea DBMS se bazează pe un singur set bine stabilit de concepte de bază. Acest lucru ne oferă posibilitatea de a lua în considerare un sistem și de a generaliza conceptele, tehnicile și metodele acestuia pentru întreaga clasă de SGBD. Ca astfel de obiect de antrenament, vom alege DBMS-ul Pascal 7.0 inclus în pachetul Pascal 7.0.

2. Proprietățile câmpurilor bazei de date
Câmpurile bazei de date nu definesc doar structura bazei de date - ele definesc și proprietățile de grup ale datelor scrise în celulele care aparțin fiecărui câmp. Mai jos sunt enumerate principalele proprietăți ale câmpurilor tabelelor bazei de date folosind exemplul SGBD Pascal 7.0.
Nume câmp - definește modul în care datele acestui câmp ar trebui să fie accesate în timpul operațiunilor automate cu baza (în mod implicit, numele câmpurilor sunt folosite ca anteturi de coloană de tabel).
Tip câmp - definește tipul de date care pot fi conținute în acest câmp.
Dimensiunea câmpului - determină lungimea maximă (în caractere) a datelor care pot fi plasate în acest câmp.
Format câmp - definește modul în care sunt formatate datele din celulele aparținând câmpului.
Mască de intrare - definește forma în care datele sunt introduse în câmp (instrument de automatizare a introducerii datelor).
Semnătură - definește antetul coloanei tabelului pentru a acestui domeniu(dacă nu este specificată semnătura, atunci proprietatea Nume câmp este utilizată ca antet de coloană).
Valoarea implicită este valoarea care este introdusă automat în celulele câmpului (instrument de automatizare a introducerii datelor).
O condiție de valoare este o constrângere utilizată pentru a verifica corectitudinea introducerii datelor (un instrument de automatizare a introducerii care este utilizat, de regulă, pentru date de tip numeric, tip monedă sau tip dată).
Mesajul de eroare este - mesaj text, care se emite automat atunci când încercați să introduceți date eronate în câmp.
Câmpul obligatoriu este o proprietate care determină dacă acest câmp trebuie completat la completarea bazei de date.
Șiruri goale este o proprietate care permite introducerea de date șiruri goale (diferă de proprietatea Câmp obligatoriu prin faptul că nu se aplică tuturor tipurilor de date, ci doar unora, de exemplu, text).

Câmp indexat - dacă un câmp are această proprietate, toate operațiunile asociate cu căutarea sau sortarea înregistrărilor după valoarea stocată în acest câmp sunt accelerate semnificativ. În plus, pentru câmpurile indexate, puteți face astfel încât valoarea din înregistrări să fie verificată cu acest câmp pentru duplicate, ceea ce vă permite să excludeți automat duplicarea datelor.

Deoarece câmpurile diferite pot conține date de diferite tipuri, proprietățile câmpurilor pot diferi în funcție de tipul de date. Deci, de exemplu, lista proprietăților câmpurilor de mai sus se referă în principal la câmpuri de tip text.

Câmpurile de alte tipuri pot avea sau nu aceste proprietăți, dar pot adăuga propriile lor proprietăți. De exemplu, pentru reprezentarea datelor numere reale, o proprietate importantă este numărul de cifre după virgulă zecimală. Pe de altă parte, pentru câmpurile folosite pentru a stoca imagini, sunete, clipuri video și alte obiecte OLE, majoritatea proprietăților de mai sus sunt lipsite de sens.

3 . Tsedacă și sarcini

La crearea acestui program, s-au stabilit următoarele obiective:

· Scrieți un program care să vă permită să procesați, să sortați și să schimbați informații despre parcare.

De asemenea, la crearea acestui program, au fost stabilite următoarele sarcini:

· Acest program ar trebui să aibă un simplu și convenabil interfața cu utilizatorul.

· Acest program trebuie să aibă o intensitate scăzută a resurselor.

4. Dezvoltarea meniului de sistem
Meniul de sistem sau meniul principal ar trebui să ofere o interacțiune convenabilă a utilizatorului cu programul. Meniul ar trebui să includă elemente pentru salvare, vizualizare, introducere de date noi etc. Utilizatorul trebuie doar să apese butonul "Enter". Există șase elemente în meniul acestui program:
1 - Creați un fișier
2 - Adăugarea unei intrări
3 - Corectarea înregistrării
4 - Vizualizarea unei înregistrări dintr-un fișier
5 - Ștergeți intrarea
6 - Ieșire
1 - Creați un fișier nou - Creat fișier nou cu numele dat de utilizatorul programului
2 - Vizualizarea conținutului fișierului - înregistrările create anterior sunt afișate pe ecran una câte una sub forma:
Numele gazdei:
Nume gazdă:
marca mașinii:
model de mașină:
tipul corpului:
numarul masinii:
regiune:
anul emiterii:
culoare:
3 - Adăugați intrare - Creați intrare nouăși fișierul adăugându-l la sfârșitul înregistrării.
4 - Căutare după numărul camerei - Vă permite să găsiți date despre un turist după numărul camerei în care este înregistrat turistul.
5 - Ieșiți din program - ieșiți din program
Concluzie
Munca depusă permite oricărui utilizator să creeze cu ușurință cantități mari de informații, să le prelucreze, să le sorteze, să facă selecții după anumite criterii.
Folosind un astfel de program în lumea modernă facilitează foarte mult activitățile umane.
Postat pe Allbest.ru

Documente similare

    Determinarea modulelor de program necesare, structura fișierului bazei de date. Descrierea dezvoltării programului, depanării și testării. Dezvoltarea aplicației Organizer.exe, meniul și manualul de utilizare. Algoritm pentru procesarea evenimentelor din meniul principal (program).

    lucrare de termen, adăugată 02.11.2014

    Caracteristici de proiectare a unui program în C++ pentru prelucrarea datelor din tabelele bazei de date. Principalele funcții ale programului, crearea model conceptual baze de date și diagrame de clasă, interfață cu utilizatorul și proiectare de interogări baze de date.

    lucrare de termen, adăugată 06.08.2012

    Selectarea compoziției hardware și software pentru dezvoltarea sistemului. Descrierea datelor de intrare și de ieșire. Alegerea unui model de bază de date. Dezvoltarea unui subsistem pentru completarea bazei de date, generarea de rapoarte. Dezvoltarea interfeței cu utilizatorul, testarea sistemului.

    lucrare de termen, adăugată 12.04.2014

    Etapele creării și dezvoltării unei baze de date. Construirea modelului domeniul subiectului... Dezvoltarea datalogică și modele fizice date, metode de prelucrare a datelor despre angajații organizației. Proiectarea aplicațiilor utilizator. Crearea unui formular de buton.

    lucrare de termen, adăugată 14.02.2011

    Schema un model conceptual de date. Dezvoltarea structurii bazei de date relaționale și a interfeței cu utilizatorul. Caracteristicile principalelor etape ale proiectării bazei de date. Modalități de implementare a interogărilor și rapoartelor. Specificitatea manualului de utilizare.

    lucrare de termen, adăugată 18.12.2010

    Procesul de dezvoltare a unei baze de date pentru stocarea și procesarea informațiilor. Chei, indexuri, declanșatoare, proceduri stocate. Interfata utilizator si dezvoltare baze de date. Principalul unelte pentru dezvoltarea părților client și server.

    teză, adăugată 18.05.2013

    Etapele proiectării bazei de date, definirea obiectivelor și a conținutului tabelului. Adăugarea de date și crearea altor obiecte de bază de date. Model datalogic: structurare, normalizare, scheme de date. Ordinea, principiile creării unei interfețe cu utilizatorul.

    lucrare de termen, adăugată 26.03.2013

    Tehnologia de dezvoltare a interfeței cu utilizatorul în Mediul Delphi... Crearea de tabele, meniuri, formulare pentru introducerea și editarea datelor. Principiile organizării meniului ca element al interfeței cu utilizatorul. Implementarea sortării, filtrarii, calculelor în tabel.

    lucrare de termen, adăugată 13.11.2012

    Reguli de bază pentru dezvoltarea interfeței cu utilizatorul. Crearea unei baze de date folosind modelele dezvoltate. Module de codare sistem software pentru a realiza un prototip. Fereastra principală când pornește programul. Protecție împotriva pierderii de informații.

    munca de laborator, adaugat 13.06.2014

    Descrierea domeniului de dezvoltare. Caracteristici de stocare a informațiilor despre mașini și proprietari. Descrierea structurii bazei de date. Tabele de bază: mașini, proprietari, tipuri de lucrări, piese, comenzi, servicii. Instrucțiuni pentru programator și utilizator.

Procesul de proiectare include următoarele etape.

    Design infologic.

    Determinarea cerinţelor pentru mediul de operare în care va funcţiona sistemul informaţional.

    Alegerea unui sistem de gestionare a bazelor de date (DBMS) și a altor instrumente software.

    Proiectarea bazei de date logice.

    Proiectarea fizică a bazei de date.

1.1. Design infologic.

Proces de design sisteme de informare este o sarcină destul de dificilă. Se începe cu construirea unui model de date infologice, adică identificarea entităților.

Un model infologic al unui domeniu (SO) este o descriere a structurii și dinamicii software-ului, a naturii nevoilor de informații ale utilizatorilor în termeni care sunt înțeleși de utilizator și care nu depind de implementarea bazei de date. Această descriere este exprimată în termeni nu de obiecte software individuale și de conexiuni dintre ele, ci de tipurile lor, constrângeri de integritate asociate și acele procese care duc la tranziția domeniului de la o stare la alta.

În prezent, se folosește proiectarea folosind metoda entitate-relație (metoda ER), care este o combinație de subiecte și metode aplicate și are avantajele ambelor.

Faza de proiectare infologică începe cu modelarea software. Proiectantul îl împarte într-un număr de zone locale, fiecare dintre acestea (ideal) include informații suficiente pentru a satisface solicitările unui grup separat de viitori utilizatori sau pentru a rezolva o problemă separată (subsarcină). Fiecare vedere locală este modelată separat, apoi sunt combinate.

Alegerea reprezentării locale depinde de dimensiunea software-ului. De obicei, este împărțit în zone locale în așa fel încât fiecare dintre ele să corespundă unui separat aplicație externăși conținea 6-7 entități.

Esenta Este un obiect despre care se vor acumula informații în sistem. Ambele entități există fizic (de exemplu, ANGAJAT sau AUTO ) și abstract (de exemplu, EXAMEN sau DIAGNOSTIC ).

Pentru entități, se disting o clasă, un tip de entitate și o instanță. Există trei clase principale de entități: pivot, asociativși caracteristică precum și o subclasă de entități asociative - denumiri.

Esența de bază (nucleu ) Este o entitate independentă care nu este nici o asociație, nici o desemnare, nici o caracteristică. Astfel de entități au o existență independentă, deși pot desemna alte entități.

Entitate asociativă (asociere ) Este o relație multi-la-mulți între două sau mai multe entități sau instanțe de entitate. Asociațiile sunt considerate entități cu drepturi depline, pot: să participe la alte asociații și desemnări în același mod ca entitățile de bază; posedă proprietăți, adică au nu numai un set de atribute cheie necesare pentru a indica relațiile, ci și orice număr de alte atribute care caracterizează relația.

Esența caracteristică ( caracteristică ) Este o relație multi-la-unu sau unu-la-unu între două entități ( caz special asociațiile). Singurul scop caracteristici din domeniul de studiu luat în considerare constă în descrierea sau specificarea unei alte entităţi. Necesitatea acestora apare din cauza faptului că entitățile lumii reale au uneori proprietăți multivalorice.

De exemplu, un soț poate avea mai multe soții, o carte poate avea mai multe caracteristici ale unei retipăriri (revizuită, completată, ...) etc.

Existența unei caracteristici depinde în întregime de entitatea care este caracterizată: femeile sunt private de statutul lor de soție dacă soțul lor moare.

Entitatea care desemnează ( desemnare ) Este o relație multi-la-unu sau unu-la-unu între două entități și e diferit asupra caracteristicilor prin aceea că nu depinde de entitatea desemnată. Denumirile sunt folosite pentru a stoca valori repetate ale atributelor de text mari: „codificatori” disciplinelor studiate de studenți, numele organizațiilor și departamentele acestora, liste de bunuri etc.

De regulă, notația nu este considerat ca entități cu drepturi depline, deși acest lucru nu ar duce la nicio eroare. Denumirile și caracteristicile nu sunt entități complet independente, deoarece implică prezența unei alte entități care va fi „desemnată” sau „caracterizată”. Cu toate acestea, ele reprezintă încă cazuri speciale ale entității și pot avea, desigur, proprietăți, pot participa la asociații, desemnări și au propriile lor (mai mult nivel scăzut) specificații. De asemenea, subliniem că toate instanțele caracteristicii trebuie să fie în mod necesar asociate cu o anumită instanță a entității care este caracterizată. Cu toate acestea, este permis ca unele instanțe ale entității caracterizate să nu aibă relații.

Tip de entitate caracterizat printr-un nume și o listă de proprietăți și copie- valori specifice ale proprietăților.

Tipurile de entități pot fi clasificate ca puternic și slab . Entitățile puternice există pe cont propriu, iar existența entităților slabe depinde de existența celor puternice.

De exemplu, un cititor de bibliotecă este o entitate puternică, dar abonamentul acelui cititor este o entitate slabă, care depinde de a avea un cititor adecvat.

Sunt numite entitățile slabe subordonati (copii) iar cei puternici de bază (de bază, părinte).

Pentru fiecare entitate sunt selectate proprietăți (atribute).

Distinge:

    Atribute identificatoare și descriptive... Atributele de identificare au valoare unică pentru entităţi de acest tip şi sunt potențiale chei. Ele vă permit să recunoașteți în mod unic instanțe ale unei entități. O cheie primară (PC) este selectată dintre cheile potențiale. Ca PC, este de obicei selectată o potențială cheie, care este folosită pentru a accesa mai des instanțele de înregistrare. În plus, PC-ul trebuie să includă numărul minim de atribute necesare pentru identificare. Restul atributelor se numesc descriptive și conțin proprietățile de interes pentru entitate.

    Atribute compuse și simple... Un atribut simplu constă dintr-o componentă, valoarea sa este indivizibilă. Un atribut compozit este o combinație de mai multe componente, eventual aparținând tipuri diferite date (de exemplu, numele sau adresa). Decizia de a utiliza un atribut compus sau de a-l împărți în componente depinde de modul în care este tratat și de formatul reprezentării personalizate a acelui atribut.

    Atribute fără ambiguitate și cu mai multe valori(poate avea, respectiv, una sau mai multe valori pentru fiecare instanță a entității).

    Atribute de bază și derivate... Valoarea atributului principal este independentă de alte atribute. Valoarea unui atribut derivat este calculată pe baza valorilor altor atribute (de exemplu, vârsta unui student este calculată pe baza datei sale de naștere și a datei de astăzi).

Specificație atribut constă din a lui titluri, directii tip de dateși descrieri de constrângeri de integritate- setul de valori (sau domeniul) pe care le poate lua acest atribut.

În plus, se realizează specificarea legăturilor în cadrul reprezentării locale. Relațiile pot avea semnificații diferite (semantice). Se face distincția între relațiile de tip „entitate-entitate”, „entitate-atribut” și „atribut-atribut” pentru relațiile dintre atribute care caracterizează aceeași entitate sau aceeași relație de tip „entitate-entitate”.

Fiecare conexiune caracterizat de nume, obligație, tipși grad... Distinge opționalși obligatoriu comunicare. Dacă un obiect nou generat de un tip se dovedește a fi, în mod necesar, asociat cu un obiect de alt tip, atunci între aceste tipuri de obiecte există obligatoriu link (notat printr-o linie dublă). Altfel, linkul este opțional.

De tip distinge conexiuni multiple unu-la-unu (1: 1), unu-la-mulți (1: n) și mulți-la-mulți (m: n). Diagrama ER care conține diverse tipuri de legături este prezentată în fig. 1. Vă rugăm să rețineți că legăturile necesare din fig. 1 sunt marcate cu o linie dublă.

grad relația este determinată de numărul de entități care sunt acoperite de această relație. Un exemplu de legătură binară este o legătură între un departament și angajații care lucrează în el. Un exemplu de relație ternară este o relație asemănătoare examen intre entitati DISCIPLINA , STUDENT , PROFESOR ... Din ultimul exemplu, puteți vedea că relația poate avea și atribute (în acest caz, este data de la și Nota ). Un exemplu de diagramă ER care arată entitățile, atributele și relațiile acestora este prezentat în Fig. 2.

Admis solutii de proiectare poate fi descris în limbajul modelării infologice (NMM), pe baza Limbajul SQL care vă permite să oferiți un confort și Descriere completa orice entitate si deci intreaga baza de date. De exemplu:

CREATE DISH TABLE * (Core Essence)

CHEIE PRIMARĂ (BL)

CÂMPURI (BL Whole, Dish Text 60, View Text 7)

LIMITĂRI (1. Valorile câmpului Dish trebuie să fie

unic; când este încălcat, ieșire

mesajul „Există deja un astfel de fel de mâncare”.

2. Valorile câmpului View trebuie să aparțină

set: aperitiv, supă, fierbinte, desert,

Băutură; în caz de încălcare, afișați un mesaj

„Poți doar gustare, supă, fierbinte,

Desert, Băutură ");

CREATE TABLE Ingrediente * (Conectează vase și produse)

CHEIE PRIMARĂ (BL, OL)

CHEIE EXTERNĂ (BL DE LA Dish

Valorile NULL NU SUNT ACCEPTATE

ÎNCĂRTAREA DIN VASA CASCADE

DISH UPDATE.BL CASCADES)

CHEIE EXTERNĂ (OL DE LA Produse

Valorile NULL NU SUNT ACCEPTATE

ELIMINAREA DIN PRODUSE ESTE LIMITATA

UPDATE Products.PR CASCADES)

CÂMPURI (BL Whole, OL Whole, Weight Whole)

RESTRICȚII (1. Valorile câmpurilor BL și PR trebuie să aparțină

un set de valori din câmpurile corespunzătoare ale tabelelor

Vase și Produse; în caz de încălcare, afișați un mesaj

„Nu există un astfel de fel de mâncare” sau „Nu există un astfel de produs”.

2. Valoarea câmpului Greutate trebuie să fie în intervalul de la 0,1 la 500 g);

Cu toate acestea, această descriere nu este foarte descriptivă. Pentru a obține o mai mare ilustrativitate, este recomandabil să completați proiectul folosind limbajele de modelare infologică „Entitate-relație” sau „Tabel-relație”.

În diagramele ER „Entitate-relație” entitati ilustrat (fig. 2) marcate cu dreptunghiuri, asociațiilemarcat cu romburi sau hexagoane, atributemarcat cu ovale, A conexiuniîntre ele - coaste nedirecţionate(linii care leagă figuri geometrice), deasupra cărora se poate pune gradul de legătură (1 sau o literă care înlocuiește cuvântul „multe”) și explicația necesară.

În limbajul modelării infologice „Tabel-relație” (Fig. 3), toate entitățile sunt descrise tabele cu o singură coloană cu anteturi compus din Numeși tip de entitate... Rândurile de tabel sunt o listă de atribute de entitate, iar cele care alcătuiesc cheia primară sunt localizate lângăși sunt înconjurate de un cadru. Relațiile dintre entități sunt indicate prin săgeți care indică departe de cheile primare sau de constituenții acestora.

(nucleu)

(asociere)

(caracteristică)

După ce sunt create vizualizările locale, acestea sunt îmbinate. Cu un număr mic de zone locale (nu mai mult de cinci), acestea sunt combinate într-un singur pas. În caz contrar, combinarea binară este de obicei efectuată în mai multe etape.

Atunci când este combinat, proiectantul poate forma constructe care sunt derivate din cele utilizate în vederile locale. Această abordare poate servi următoarelor scopuri:

    unificarea într-un singur întreg de idei fragmentare despre proprietăți diferite același obiect;

    introducerea unor concepte abstracte care sunt convenabile pentru rezolvarea problemelor de sistem, stabilirea legăturii acestora cu conceptele specifice utilizate în model;

    formarea claselor și subclaselor de obiecte similare (de exemplu, clasa „produs” și subclasele de tipuri de produse produse la întreprindere).

În stadiul unificării, este necesar să se identifice și să se elimine toate contradicțiile. De exemplu, aceleași nume de obiecte sau relații semantic diferite sau constrângeri de integritate inconsecvente asupra acelorași atribute în aplicații diferite. Eliminarea contradicțiilor impune revenirea la etapa de modelare a reprezentărilor locale pentru a le aduce modificări corespunzătoare.

La finalizarea fuziunii, rezultatele designului sunt un model infologic conceptual al domeniului. Modelele de vedere locale sunt modele infologice externe.

      DETERMINAREA CERINȚELOR PENTRU SALA DE OPERAȚIE

SITUATIE.

În această etapă, se evaluează cerințele pentru resursele de calcul necesare funcționării sistemului, se determină tipul și configurația unui anumit computer și se selectează tipul și versiunea sistemului de operare. Cantitatea resurselor de calcul depinde de volumul estimat al bazei de date proiectate și de intensitatea utilizării acestora. Dacă baza de date va funcționa în modul multiutilizator, atunci trebuie să fie conectată la rețea și prezența unui sistem de operare multitasking adecvat.

Teme: etapele proiectării bazei de date, proiectarea bazei de date pe baza unui model de tip relație obiect.

Înainte de a crea o bază de date, dezvoltatorul trebuie să stabilească din ce tabele ar trebui să constea baza de date, ce date ar trebui să fie plasate în fiecare tabel și cum să legă tabelele. Aceste probleme sunt abordate în etapa de proiectare a bazei de date.

Ca rezultat al proiectării, ar trebui determinată structura logică a bazei de date, adică compoziția tabelelor relaționale, structura lor și legăturile dintre tabele.

Înainte de a crea o bază de date, este necesar să existe o descriere a domeniului subiectului selectat, care să acopere obiecte și procese reale, să determine toate sursele de informații necesare pentru a satisface nevoile așteptate ale utilizatorilor și să determine nevoile de prelucrare a datelor.

Pe baza unei astfel de descrieri, în faza de proiectare a bazei de date, se determină compoziția și structura datelor din domeniul subiectului, care trebuie să fie în baza de date și să asigure îndeplinirea interogărilor și sarcinilor de utilizator necesare. Structura de date a domeniului subiectului poate fi afișată printr-un model informațional-logic. O bază de date relațională poate fi creată cu ușurință pe baza acestui model.

Etapele proiectării și creării unei baze de date sunt determinate de următoarea secvență:

Construirea unui model informatic-logic de date al domeniului subiect;

Determinarea structurii logice a unei baze de date relaționale;

Proiectarea tabelului bazei de date;

Crearea schemei de date;

Introducerea datelor în tabele (crearea înregistrărilor);

Elaborarea formularelor, cererilor, macro-urilor, modulelor, rapoartelor necesare;

Dezvoltarea interfeței cu utilizatorul.

În procesul de dezvoltare a unui model de date, este necesar să se selecteze obiecte informaționale care îndeplinesc cerințele de normalizare a datelor și să se determine relațiile dintre ele. Acest model vă permite să creați o bază de date relațională fără duplicare, care oferă o singură intrare de date în timpul încărcării și ajustărilor inițiale, precum și integritatea datelor atunci când se fac modificări.

Atunci când se dezvoltă un model de date, pot fi luate două abordări. În prima abordareîn primul rând, se determină sarcinile principale, pentru soluția cărora se construiește baza, se identifică nevoile sarcinilor în date și, în consecință, se determină compoziția și structura. obiecte informaţionale. Cu a doua abordare obiectele tipice ale domeniului subiectului sunt instalate imediat. Cea mai rațională combinație a ambelor abordări. Acest lucru se datorează faptului că on stadiul inițial de regulă, nu există informații complete despre toate sarcinile. Utilizarea acestei tehnologii este cu atât mai justificată cu cât mijloacele flexibile de realizare a bazelor de date relaționale permit în orice stadiu de dezvoltare să se facă modificări bazei de date și să se modifice structura acesteia fără a aduce atingere datelor introduse anterior.


Procesul de identificare a obiectelor informaționale din domeniul subiectului care îndeplinesc cerințele de normalizare poate fi realizat pe baza unei abordări intuitive sau formale. Bazele teoretice ale abordării formale au fost dezvoltate și descrise pe deplin în monografiile privind organizarea bazelor de date ale celebrului om de știință american J. Martin.

Cu o abordare intuitivă, obiectele informaționale corespunzătoare obiectelor reale pot fi identificate cu ușurință. Cu toate acestea, modelul informațional-logic rezultat, de regulă, necesită transformări ulterioare, în special, transformarea conexiunilor multivalorice dintre obiecte. Cu această abordare, erori semnificative sunt posibile dacă nu există suficientă experiență. Verificarea ulterioară a îndeplinirii cerințelor de normalizare indică de obicei necesitatea rafinării obiectelor informaționale.

Luați în considerare regulile formale care pot fi folosite pentru a evidenția obiectele informaționale:

Pe baza descrierii subiectului, identificați documentele și atributele acestora pentru a fi stocate în baza de date;

Defini dependențe funcționaleîntre atribute;

Selectați toate atributele dependente și specificați pentru fiecare toate atributele sale cheie, adică cele de care depinde;

Grupați atributele care depind în mod egal de atributele cheie. Grupurile de atribute dependente rezultate împreună cu acestea atribute cheie forme obiecte informaţionale.

La definirea structurii logice a unei baze de date relaționale pe baza modelului, fiecare obiect informațional este reprezentat adecvat printr-un tabel relațional, iar relațiile dintre tabele corespund relațiilor dintre obiectele informaționale.

În procesul de creare, tabelele bazei de date sunt mai întâi construite corespunzător obiecte informaţionale modelul de date construit. În plus, poate fi creată o schemă de date, în care relațiile logice existente între tabele sunt fixate. Aceste legături corespund legăturilor obiectelor informaționale. Schema de date poate fi configurată pentru a menține integritatea bazei de date dacă modelul de date a fost proiectat pentru a îndeplini cerințele de normalizare. Integritatea datelor înseamnă că baza de date a stabilit și menținut corect relații între înregistrările diferitelor tabele la încărcarea, adăugarea și ștergerea înregistrărilor din tabele aferente, precum și la modificarea valorilor câmpurilor cheie.

După formarea schemei de date, se realizează introducerea de date consistente din documentele domeniului de studiu.

Pe baza bazei de date create se formează interogările necesare, formulare, macro-uri, module, rapoarte care produc prelucrarea necesară a datelor bazei de date și prezentarea acestora.

Cu ajutorul instrumentelor încorporate și a instrumentelor de bază de date, este creată o interfață cu utilizatorul care vă permite să gestionați procesele de introducere, stocare, procesare, actualizare și prezentare a informațiilor bazei de date.

Proiectarea unei baze de date pe baza unui model obiect-relație

Există o serie de tehnici de creare a modelelor logice informaționale. Una dintre cele mai populare tehnici de modelare în prezent folosește ERD (Entity-Relationship Diagrams). În literatura în limba rusă, aceste diagrame sunt numite „obiect – relație” sau „entitate – relație”. Modelul ERD a fost propus de Peter Ping Sheng Chen în 1976. Până în prezent, au fost dezvoltate mai multe versiuni, dar toate se bazează pe diagrame grafice propus de Chen. Diagramele sunt construite din putini componente. Datorită clarității prezentării, acestea sunt utilizate pe scară largă în instrumentele CASE (Inginerie software asistată de calculator).

Luați în considerare terminologia și notația folosită.

Entitate- un obiect real sau imaginar care este esențial pentru domeniul considerat, informații despre care urmează să fie stocate.

Fiecare entitate trebuie să aibă un identificator unic. Fiecare instanță a unei entități trebuie să fie identificată în mod unic și distinctă de toate celelalte instanțe ale unui anumit tip (entitate).

Fiecare entitate trebuie să aibă anumite proprietăți:

Să aibă un nume unic; mai mult, aceeași interpretare (definiția entității) trebuie întotdeauna aplicată acestei denumiri. Dimpotrivă: nu se poate aplica aceeași interpretare nume diferite cu excepția cazului în care sunt pseudonime;

Au unul sau mai multe atribute care fie aparțin unei entități, fie sunt moștenite de aceasta printr-o relație;

Au unul sau mai multe atribute care identifică în mod unic fiecare instanță a unei entități.

O entitate poate fi independentă sau dependentă. Un semn al unei entități dependente este prezența atributelor moștenite printr-o relație (Fig. 1).

Fiecare entitate poate avea orice număr de relații cu alte entități din model.

Relaţie- o asociere numită între două entități care este semnificativă pentru domeniul în cauză. Una dintre entitățile care participă la relație este independentă, numită entitate părinte, cealaltă este dependentă, numită entitate copil sau descendentă. De regulă, fiecare instanță a entității părinte este asociată cu un număr arbitrar (inclusiv zero) de instanțe ale entității copil. Fiecare instanță a unei entități descendente este asociată cu exact o instanță a unei entități părinte. Astfel, o instanță a unei entități descendente poate exista doar dacă există entitatea părinte.

Legăturii primește un nume exprimat prin turnarea gramaticală a verbului și plasat lângă link.

Numele fiecărei relații dintre aceste două entități trebuie să fie unic, dar numele relațiilor din model nu trebuie să fie unic. Fiecare obligație are o definiție. Definiția unei relații se formează prin combinarea numelui entității-mamă, a numelui relației, a expresiei gradului de relație și a numelui entității descendente.

De exemplu, relația unui vânzător cu un contract poate fi definită după cum urmează:

Vânzătorul poate primi remunerație pentru unul sau mai multe Contracte;

Contractul trebuie inițiat de exact un Vânzător.

În diagramă, legătura este reprezentată printr-un segment de linie (linie întreruptă). Linia se termină cu denumiri speciale(Fig. 2) indică gradul de comunicare. În plus, natura liniei - întreruptă sau continuă, indică legătura obligatorie.

Atribut- orice caracteristică a unei entități care este semnificativă pentru domeniul vizat. Acesta are scopul de a califica, identifica, clasifica, cuantifica sau exprima starea unei entități. Un atribut reprezintă un tip de caracteristici (proprietăți) asociate unui set de obiecte reale sau abstracte (oameni, locuri, evenimente, stări, idei, perechi de obiecte etc.) (Fig. 3).

Instanță de atribut Este o anumită caracteristică o instanță anume entitati. O instanță de atribut este determinată de tipul de caracteristică (de exemplu, „Culoare”) și valoarea acesteia (de exemplu, „violet”), numită valoarea atributului. În modelul ER, atributele sunt asociate cu entități specifice. Fiecare instanță a unei entități trebuie să aibă o valoare specifică pentru fiecare dintre atributele sale.

Atributul poate fi fie obligatoriu sau opțional... Obligatoriu înseamnă că atributul nu poate lua valori nule. Un atribut poate fi fie descriptiv (adică un descriptor obișnuit de entitate) fie parte dintr-un identificator unic (cheie primară).

Identificator unic Este un atribut sau un set de atribute și/sau relații care caracterizează în mod unic fiecare instanță a unui anumit tip de entitate. În cazul identificării complete, o instanță de acest tip de entitate este pe deplin identificată prin propriile atribute cheie, în caz contrar, în identificare sunt implicate și atributele unei alte entități - părintele.

Natura identificării este afișată în diagramă pe linia de comunicație (Fig. 4).

Fiecare atribut este identificat printr-o frază nominală unică care descrie caracteristica reprezentată de atribut. Atributele sunt afișate ca o listă de nume în blocul de entități asociate, cu fiecare atribut pe o linie separată. Atributele care definesc cheia primară sunt plasate în partea de sus a listei și sunt marcate cu semnul „#”.

Fiecare entitate trebuie să aibă cel puțin o cheie posibilă. O posibilă cheie de entitate este unul sau mai multe atribute ale căror valori identifică în mod unic fiecare instanță de entitate. Dacă sunt mai multe posibile chei una dintre ele este desemnată ca cheie primară, iar celelalte sunt desemnate ca chei alternative.

În prezent, pe baza abordării lui Chen, a fost dezvoltată metodologia IDEF1X, care a fost dezvoltată ținând cont de cerințe precum ușurința de învățare și posibilitatea de automatizare. Diagramele IDEFlX sunt utilizate de o serie de instrumente CASE comune (în special, ERwin, Design / IDEF).

O entitate din metodologia IDEF1X este numită independentă de identificatori, sau pur și simplu independentă, dacă fiecare instanță a unei entități poate fi identificată în mod unic fără a defini relațiile sale cu alte entități. O entitate este numită dependentă de identificator sau pur și simplu dependentă dacă identificarea unică a unei instanțe de entitate depinde de relația acesteia cu o altă entitate (Figura 5).

Fiecărei entitati i se atribuie un nume și un număr unic, separate printr-o bară oblică „/” și plasate deasupra blocului.

Dacă o instanță a unei entități descendente este determinată în mod unic de relația sa cu entitatea-mamă, atunci relația se numește identificatoare, în caz contrar este neidentificatoare.

Este descrisă relația de identificare dintre entitatea-mamă și entitatea descendentă linie solida... În fig. 5: # 2 este o entitate dependentă, Link 1 este o relație de identificare. O entitate descendentă într-o relație de identificare este o entitate dependentă de identificator. O entitate-mamă într-o relație de identificare poate fi fie o entitate independentă, fie o entitate dependentă de identificator (acest lucru este determinat de relațiile sale cu alte entități).

Linia întreruptă reprezintă o relație de neidentificare. În fig. 5: # 4 este o entitate independentă, Link 2 este o legătură neidentificatoare. O entitate descendentă într-o relație de neidentificare va fi independentă de identificator dacă nu este și o entitate descendentă într-o relație de identificare.

Relația poate fi definită în continuare prin specificarea gradului sau cardinalității (numărul de instanțe ale entității descendente care poate exista pentru fiecare instanță a entității părinte).

Următoarele cardinalități pot fi exprimate în IDEF1X:

Fiecare instanță de entitate părinte poate avea asociate cu ea zero, una sau mai multe instanțe de entitate descendentă;

Fiecare instanță de entitate părinte trebuie să aibă cel puțin o instanță de entitate descendentă asociată;

Fiecare instanță de entitate părinte trebuie să aibă cel mult o instanță de entitate descendentă asociată;

Fiecare instanță de entitate părinte este asociată cu un număr fix de instanțe de entitate descendentă.

Puterea de comunicare este indicată așa cum se arată în Fig. 6 (putere implicită - N).


Atributele sunt afișate ca o listă de nume în interiorul blocului de entități. Atributele care definesc cheia primară sunt plasate în partea de sus a listei și separate de alte atribute printr-o bară orizontală (Figura 7).

Rezultatul este un model logic informațional care este utilizat de un număr de instrumente CASE comune, cum ar fi ERwin, Design / IDEF. La rândul lor, tehnologiile CASE au un potențial ridicat în dezvoltarea bazelor de date și a sistemelor informaționale și anume creșterea productivității muncii, îmbunătățirea calității. produse software, sprijin pentru un stil de lucru unitar și consistent.

Entitățile pot avea și cheie străină. Cu o relație de identificare, ele sunt folosite ca parte sau ca o cheie primară întreagă, cu o relație de neidentificare, ele servesc ca atribute non-cheie. În lista de atribute, cheia străină este notă cu literele FK între paranteze.

Traducerea unei serii de 15 articole despre proiectarea bazelor de date.
Informația este destinată începătorilor.
M-a ajutat. Poate că asta va ajuta pe altcineva să completeze golurile.

Ghid de proiectare a bazei de date.

1. Introducere.
Dacă intenționați să vă creați propriile baze de date, este o idee bună să respectați regulile de proiectare a bazei de date, deoarece acest lucru va asigura integritatea pe termen lung și ușurința de întreținere a datelor dumneavoastră. Acest tutorial vă va ghida prin ce sunt bazele de date și cum să proiectați o bază de date care respectă regulile de proiectare a bazelor de date relaționale.

Bazele de date sunt programe care vă permit să stocați și să preluați cantități mari de informații aferente. Bazele de date constau din Mese, care conțin informație... Când creați o bază de date, trebuie să vă gândiți care Mese trebuie să creezi și ce conexiuni există între informațiile din tabele. Cu alte cuvinte, trebuie să te gândești proiectul baza ta de date. Bun proiect bazele de date, așa cum am menționat mai devreme, vor asigura integritatea datelor și ușurința întreținerii.
Baza de date este creată pentru a stoca informații în ea și pentru a obține aceste informații dacă este necesar. Aceasta înseamnă că trebuie să putem plasa, introduce ( INTRODUCE) informații în baza de date și dorim să putem prelua informații din baza de date ( SELECTAȚI).
Limbajul de interogare a bazei de date a fost inventat în acest scop și a fost numit Limbajul de interogare structurat sau SQL. Operațiile de inserare a datelor (INSERT) și selecția lor (SELECT) fac parte chiar din acest limbaj. Mai jos este un exemplu de interogare de preluare a datelor și rezultatul acesteia.

SQL este un subiect important pentru povestirea și depășește scopul acestui tutorial. Acest articol este strict axat pe prezentare procesul de proiectare a bazei de date... Mai târziu, într-un tutorial separat, voi acoperi elementele de bază ale SQL.

Modelul relațional.
În acest tutorial, vă voi arăta cum să creați un model de date relaționale. Un model relațional este un model care descrie modul de organizare a datelor în tabele și modul de definire a relațiilor dintre aceste tabele.

Regulile modelului relațional dictează modul în care informațiile ar trebui să fie organizate în tabele și modul în care tabelele se raportează între ele. În cele din urmă, rezultatul poate fi prezentat sub forma unei diagrame de bază de date sau, mai precis, a unei diagrame entitate-relație, ca în figură (Exemplu preluat din MySQL Workbench).

Exemple.
Am folosit o serie de aplicații ca exemple în tutorial.

RDBMS.

RDBMS-ul pe care l-am folosit pentru a crea exemplele de tabele este MySQL. MySQL este cel mai popular RDBMS și este gratuit.

Utilitar de administrare a bazelor de date.

După instalarea MySQL, obțineți doar o interfață de linie de comandă pentru a interacționa cu MySQL. Personal, prefer o interfață grafică pentru gestionarea bazelor de date. Folosesc mult SQLyog. Este un utilitar GUI gratuit. Imaginile tabelului din acest manual sunt preluate de acolo.

Modelare vizuală.

Există un excelent aplicatie gratuita MySQL Workbench. Vă permite să vă proiectați baza de date grafic. Diagramele din manual sunt prezentate în acest program.

Design independent de RDBMS.
Este important de știut că, deși acest tutorial oferă exemple pentru MySQL, proiectarea bazei de date este independentă de RDBMS. Aceasta înseamnă că informațiile se aplică bazelor de date relaționale în general, nu doar MySQL. Puteți aplica cunoștințele din acest tutorial oricărei baze de date relaționale precum Mysql, Postgresql, Microsoft Access, Microsoft Sql sau Oracle.

În partea următoare voi vorbi pe scurt despre evoluția bazelor de date. Veți afla de unde provin bazele de date și modelul de date relaționale.

2. Istorie.
În anii 70 și 80, când informaticienii încă purtau smoking maro și ochelari mari, cu rame pătrate, datele erau stocate nestructurate în fișiere care erau documente text cu date separate (de obicei) prin virgule sau file.

Așa arătau profesioniștii IT în anii '70. (Bill Gates este în stânga jos).

Fișierele text sunt încă folosite astăzi pentru a stoca cantități mici de informații simple. Valori separate prin virgulă (CSV) - valorile separate prin virgulă sunt foarte populare și sunt acceptate pe scară largă astăzi de diverse software și sisteme de operare. Microsoft Excel este un exemplu de programe care pot funcționa cu fișiere CSV. Datele stocate într-un astfel de fișier pot fi citite de un program de calculator.

Mai sus este un exemplu despre cum ar putea arăta un astfel de fișier. Programul care citește acest fișier trebuie anunțat că datele sunt separate prin virgule. Dacă programul dorește să selecteze și să afișeze categoria în care se află lecția „Tutorial pentru proiectarea bazei de date”, apoi trebuie să citească rând cu rând până când sunt găsite cuvinte „Tutorial pentru proiectarea bazei de date”și apoi va trebui să citească următorul cuvânt după virgulă pentru a afișa categoria Software.

Tabele de baze de date.
Citirea unui fișier linie cu linie nu este foarte eficientă. Într-o bază de date relațională, datele sunt stocate în tabele. Tabelul de mai jos conține aceleași date ca și fișierul. Fiecare rând sau „înregistrare” conține o lecție. Fiecare coloană conține anumite proprietăți ale lecției. În acest caz, este titlul (titlul) și categoria acestuia (categoria).

Un program de calculator ar putea căuta în coloana tutorial_id din acest tabel specificul tutorial_id pentru a găsi rapid titlul și categoria corespunzătoare. Acest lucru este mult mai rapid decât căutarea fișierului linie cu linie, la fel cum face un program într-un fișier text.

Bazele de date relaționale moderne sunt concepute pentru a putea prelua date de pe anumite rânduri, coloane și mai multe tabele, la un moment dat, foarte rapid.

Istoria modelului relațional.
Modelul bazei de date relaționale a fost inventat în anii 70 de Edgar Codd, un om de știință britanic. El a dorit să depășească deficiențele modelului bazei de date în rețea și ale modelului ierarhic. Și a avut mare succes în asta. Modelul bazei de date relaționale este larg acceptat astăzi și este considerat un model puternic pentru organizarea eficientă a datelor.

O mare varietate de sisteme de gestionare a bazelor de date sunt disponibile astăzi, de la aplicații desktop mici la sisteme de server multifuncționale cu metode de căutare foarte optimizate. Unele dintre cele mai cunoscute sisteme de management al bazelor de date relaționale (RDBMS) sunt:

- Oracol- folosit în principal pentru aplicații profesionale, mari.
- Microsoft SQL Server - Microsoft RDBMS. Disponibil numai pentru sistemul de operare Windows.
- Mysql Este un RDBMS open source foarte popular. Este utilizat pe scară largă atât de profesioniști, cât și de începători. Ce mai este nevoie?! Este gratis.
- IBM- are un număr de RDBMS, cel mai cunoscut este DB2.
- Microsoft Access- RDBMS, care este folosit la birou și acasă. De fapt, este mai mult decât o simplă bază de date. MS Access vă permite să creați baze de date cu o interfață de utilizator.
În partea următoare voi explica puțin despre caracteristicile bazelor de date relaționale.

3. Caracteristicile bazelor de date relaţionale.
Bazele de date relaționale sunt concepute pentru a stoca și a prelua rapid cantități mari de informații. În continuare sunt prezentate câteva dintre caracteristicile bazelor de date relaționale și modelul de date relaționale.
Folosind chei.
Fiecare rând de date dintr-un tabel este identificat printr-o „cheie” unică numită cheie primară. Adesea, cheia primară este un număr cu auto-incrementare (auto-incrementare) (1,2,3,4 etc.). Datele din diferite tabele pot fi legate între ele folosind chei. Valorile cheilor primare dintr-un tabel pot fi adăugate la rândurile (înregistrările) ale altui tabel, legând astfel acele înregistrări între ele.

Folosind Structured Query Language (SQL), datele din diferite tabele care sunt introduse pot fi preluate dintr-o singură mișcare. De exemplu, puteți crea o interogare care va selecta toate comenzile din tabelul de comenzi care aparțin utilizatorului cu id 3 (Mike) din tabelul utilizatori. Despre chei vom vorbi mai departe, în părțile următoare.


Coloana ID din acest tabel este cheia primară. Fiecare înregistrare are o cheie primară unică, adesea un număr. Coloana grup de utilizatori este o cheie externă. După cum sugerează și numele, se referă aparent la un tabel care conține grupuri de utilizatori.

Fără redundanță de date.
Într-un proiect de bază de date care este construit folosind regulile modelului de date relaționale, fiecare informație, cum ar fi un nume de utilizator, este stocată într-un singur loc. Acest lucru elimină nevoia de a lucra cu date în mai multe locații. Duplicarea datelor se numește redundanță a datelor și ar trebui evitată într-un design bun al bazei de date.
Restricție de intrare.
Folosind o bază de date relațională, puteți defini ce fel de date pot fi stocate într-o coloană. Puteți crea un câmp care conține numere întregi, zecimale, bucăți mici de text, bucăți mari de text, date etc.


Când creați un tabel de bază de date, furnizați un tip de date pentru fiecare coloană. De exemplu, varchar este un tip de date pentru bucăți mici de text cu maximum 255 de caractere, iar int sunt numere.

Pe lângă tipurile de date, un RDBMS vă permite să restricționați și mai mult datele pe care le puteți introduce. De exemplu, limitați lungimea sau impuneți unicitatea valorii înregistrărilor dintr-o coloană dată. Ultima limitare este adesea folosită pentru câmpurile care conțin nume de înregistrare a utilizatorilor (autentificări) sau adrese de e-mail.

Aceste restricții vă oferă control asupra integrității datelor dvs. și previn situații precum următoarele:

Introducerea unei adrese (text) în câmpul în care vă așteptați să vedeți un număr
- introducerea indexului regiunii cu lungimea aceluiași indice într-o sută de caractere
- crearea de utilizatori cu același nume
- crearea de utilizatori cu aceeași adresă de e-mail
- introducerea greutății (numărului) în câmpul zilei de naștere (data).

Menținerea integrității datelor.
Prin ajustarea proprietăților câmpurilor, legând tabele și stabilind constrângeri, puteți crește fiabilitatea datelor dvs.
Cesiunea de drepturi.
Majoritatea RDBMS-urilor oferă o setare de permisiune care vă permite să atribuiți anumite drepturi anumitor utilizatori. Unele acțiuni care pot fi permise sau refuzate utilizatorului: SELECT (preluare), INSERT (inserare), DELETE (ștergere), ALTER (modificare), CREATE (creare), etc. Acestea sunt operațiuni care pot fi efectuate folosind Structured Query Language (SQL).
Limbajul de interogare structurat (SQL).
Pentru a efectua anumite operațiuni asupra bazei de date, cum ar fi salvarea datelor, preluarea acestora, schimbarea acesteia, se folosește un limbaj de interogare structurat (SQL). SQL este relativ ușor de înțeles și permite incl. și selecții imbricate, cum ar fi preluarea datelor asociate din mai multe tabele folosind instrucțiunea SQL JOIN. După cum am menționat mai devreme, SQL nu va fi discutat în acest tutorial. Mă voi concentra pe proiectarea bazei de date.

Modul în care vă proiectați baza de date va avea un impact direct asupra interogărilor pe care trebuie să le executați pentru a obține date din baza de date. Acesta este un alt motiv pentru care trebuie să vă gândiți care ar trebui să fie baza dvs. Cu o bază de date bine concepută, interogările dvs. pot fi mai curate și mai ușoare.

Portabilitate.
Modelul de date relaționale este standard. Urmând regulile modelului de date relaționale, puteți fi sigur că datele dumneavoastră pot fi migrate într-un alt RDBMS relativ ușor.

După cum am menționat mai devreme, proiectarea unei baze de date este o chestiune de identificare a datelor, legarea lor între ele și punerea rezultatelor rezolvării acestei probleme pe hârtie (sau într-un program de calculator). Proiectați baza de date independent de RDBMS pe care intenționați să îl utilizați pentru ao crea.

În partea următoare, vom arunca o privire mai atentă asupra cheilor primare.

Top articole similare