internetul Windows. Android

Teoriile bazelor de date relaționale. Lista literaturii utilizate

Pe scurt despre important.

Normalizarea bazei de date

Prima formă normală (1NF)

  • nu există grupuri de date repetitive
  • datele garantate (atomicitate) (toate datele sunt autonome și independente).

Pe nivelul superior Acest lucru este realizat prin crearea unei chei primare, apoi transferul grupurilor de date duplicate la tabele noi, crearea cheilor primare pentru aceste tabele și așa mai departe. În plus, trebuie să împărțiți toate înregistrările ale căror coloane conțin informații compozite, pe linii separate pentru fiecare fragment al datelor de coloană.

A doua formă normală (2NF)

  • tabelul satisface condițiile 1NF
  • fiecare coloană depinde de întreaga cheie și nu de partea sa.

A treia formă normală (3 noiembrie)

  • tabelul satisface condițiile 2NF
  • nicio coloană nu depinde de o coloană care nu face parte din cheia primară.
  • nu conține date derivate

Alte forme normale care nu au o valoare practică specială:

Forma normală de băieți Codd (Boyce-Codd)

Opțiunea 3NF. Conceput pentru a rezolva situația cu prezența multor cheile candidate suprapuse. De fapt, nu găsește o justificare logică în afara comunității academice.

A patra formă normală

Concepute pentru a aborda problema cu dependențele multiple. Astfel de situații apar dacă o coloană a cheii primare compozite depinde de tabelul tabelului 3DNF depinde de cealaltă coloană a cheii primare.

A cincea formă normală

Se utilizează atunci când lucrați cu o descompunere a relațiilor cu pierderi și fără pierderi. Se întâmplă într-o situație în care puteți sparge o atitudine în mai multe relații diferite, dar după aceea nu vom mai putea să-l returnam logic la forma originală.

A șasea formă normală (formă normală de tip domeniu)

Garantează lipsa anomaliei de modificare în baza de date. În condiții reale, practic nu este posibilă.

Relaţii.

Odată ce am auzit de la femei care bărbați
Încercați imediat să părăsiți camera în care
Cuvântul "relație" a sunat.<...> Cheia succesului
relația este conștientizarea tuturor despre rolul său
în acest sens, precum și asupra regulilor și restricțiilor,
impusă de această atitudine.
(C) Robert Viera, "Professional SQL Server 2000 programarea "

Tipuri de relații

  • Unu-la-unul (face sens atunci când în moduri diferite este necesar să se păstreze datele de coincidare sau când există o excepție dimensiune maximă Date rând)
  • Zero- sau unu-la-unu
  • Unu-la-mulți
  • Unul la -nuya, - unul sau -my
  • Multe-la-multe (descoperiți tabele)

Asociere

Inner Alăturați-vă.

Excluzând uniunea (aderarea exclusivă). Doar acele tabele de tabele care au conformitatea în tabelul perechii dintr-o anumită stare se încadrează în rezultatul eșantionului.

Stânga | Alăturați-vă dreapta

Incluziunea incluzivă. În rezultatul eșantionului, intrările de la masă, în picioare în stânga / dreapta A te alatura. respectiv. În același timp, datele de la "perechea" lipsă vor fi completate NUL.
De la stânga stânga în stânga jos dreapta_table - Toate intrările din tabelul din stânga sunt activate.
De la stânga dreapta se alăture dreapta_table - Toate intrările din tabelul drept sunt activate.

Alăturați-vă complet.

Incluziunea incluzivă. Nu numai înregistrările care se întâlnesc într-un alt tabel, dar nu găsite din ambele tabele, nu sunt găsite pentru care, în conformitate cu cealaltă tabel. În acest caz, datele din înregistrarea "pereche" lipsă vor fi completate cu NULL.

Înscrieți-vă.

Asociația transversală (lucrări cartesovo). Fiecare intrare de la un tabel se face în conformitate cu fiecare înregistrare dintr-un alt tabel. Numărul înregistrărilor rezultate este egal cu numărul de înregistrări din ambele tabele.

Principii de comandă mai multe A te alatura.Ov.

În cazul în care trebuie să combinați mai multe tabele, trebuie să vă amintiți două principii:

  1. Toate sindicatele au plecat A te alatura. Percepută ca o singură masă pentru a porni sau a exclude de la interogare.
  2. Toate sindicatele au dreptate A te alatura. De asemenea, percepută ca o singură masă pentru a activa sau de excepție de la interogare.

Consecința acestor principii este următoarea recomandare pentru formarea asociațiilor complexe:

  • Oriunde puteți, utilizați Alăturați-vă Inner.
  • Dacă este necesar să se utilizeze Alăturați-vă în exterior - trebuie să fie plasați ultima dată, iar la începutul Uniunii este situată în interior.

P.S. Toate cele de mai sus sunt "postulate" generale ale teoriei bazelor de date relaționale care nu sunt legate de particularitățile anumitor DBM-uri.

Baza de date (baza de date) este un set de date organizat. Organizația de date este de obicei concepută pentru a reflecta relația reală a datelor stocate astfel încât să faciliteze prelucrarea acestor informații.

DBMS - Sisteme de gestionare a bazelor de date - Acesta este un software specializat, așteptat să gestioneze bazele de date. Acest lucru este realizat prin interacțiunea cu utilizatorul pe de o parte și, de fapt, cu baza de date pe de altă parte.

DBMS. scop general Trebuie să facă definirea, crearea, modificarea, administrarea și produsul solicitărilor la baza de date.

Ca exemple de DBMS, astfel de pachete foarte cunoscute pot fi numite ca

  • Mysql.
  • Postgresql.
  • Microsoft SQL Server.
  • Oracol
  • IBM DB2.
  • Accesul Microsoft.
  • Sqlite.

Bazele de date nu sunt de obicei tolerate între diferitele DBM-uri, dar este posibil să se interacționeze între DBMS (și cu software-ul utilizatorului) diferite standarde, cum ar fi SQL, ODBC sau JDBC.

DBMS sunt adesea clasificate în funcție de modelul de date susținut de acestea. Începând cu anii 1980, aproape toate DBM-urile populare susțin un model de date relațional furnizat de limba standard. sQL interogări (Deși ultimii ani câștigă popularitate de nosql).

Deci, sarcinile principale efectuate de DBMS includ

Definirea schemei de date Crearea, schimbarea și eliminarea structurilor care determină organizarea tuturor celorlalte date din baza de date care schimbă datele adăugând, schimbarea și ștergerea datelor în sine. Obținerea datelor. Furnizarea de informații în formularul adecvat de către alte aplicații. Administrarea bazei de date Înregistrarea și gestionarea utilizatorilor, oferind securitatea datelor, întreținerea integrității, recuperarea informațiilor, gestionarea accesului simultan, urmărirea performanței etc.

DBMS sunt utilizate pe scară largă în companii bancare, de transport, institutii de invatamant, Telecomunicații, pentru a gestiona informațiile financiare și resursele umane. Ei bine, nu trebuie să uitați că majoritatea bacendilor web utilizează unul sau altul DBMS.

Una dintre principalele caracteristici ale dezvoltării bazei de date este lipsa de soluții și algoritmi gata. Fiecare bază de date specifică sarcinii pentru care este proiectată. Aceasta distinge dezvoltarea bazei de date din dezvoltarea aplicațiilor tipice, pentru care algoritmi și șabloane de design au fost dezvoltate pentru o lungă perioadă de timp și nu trebuie să inventeze nimic. Deși, desigur, tehnicile de proiectare a bazei de date sunt comune tuturor aplicațiilor.

Modele de baze de date

Așa cum am menționat mai devreme, modelul cel mai răspândit al datelor este modelul relațional. Cu toate acestea, apariția modelului relațional a fost precedată de alții, în special

  • Modelul ierarhic sau de navigare
  • Modelul de rețea

Modelul ierarhic a fost utilizat pe scară largă în DBMS furnizat de IBM în anii 1960. Ideea de bază este că intrarea într-o astfel de bază de date poate avea mai multe "filiale" și un "părinte". În general, suspiciunea suspicioasă de ierarhică sistemul de fișiere. Pentru a obține o intrare într-o astfel de baze de date, adesea nevoie de un pasaj în tot arborele.

Modelul de rețea este o versiune mai flexibilă a aceleiași abordări. Vă permite să înregistrați mai mulți "părinți". Acest model, care apare la începutul anilor 1970, nu a fost larg răspândit și a fost în curând deplasat de modelul relațional.

În 1970, Edgar Codd (angajat IBM) a propus un model relațional, care a facilitat foarte mult sarcina de a găsi informații în baza de date. Vă puteți gândi la modelul relațional ca "tabele" în care "liniile" sunt intrări în baza de date. Relațiile în baza de date relațională sunt numite și tuple și grupuri de înregistrări ("tabele") Relațiile (relațiile). Modelul relațional este capabil să-și exprime funcția ierarhică și modele de rețeași și-au adăugat propriile conexiuni corespunzătoare modelului tabular.

Pe baza propunerilor codului, până la mijlocul anilor 1970, sistemul R DBMS a fost dezvoltat și, până la sfârșit, a apărut sprijin pentru limba standardizată de interogare SQL.

În 1980, cu adoptarea de programare orientată pe obiect, a fost din ce în ce mai dificilă difuzarea obiectelor pe modelul relațional. În cele din urmă, acest lucru a dus la apariția abordărilor Nosql și NewsQL acest moment Se dezvoltă doar. Exemple de abordare nosql pot fi așa-numitele. Baze de date orientate spre documente construite pe baza XML. Principalul avantaj al nosql este o scalabilitate orizontală ridicată, adică. Abilitatea de a crește productivitatea prin adăugarea de servere. Cu advent. cloud Technology., Nosql a devenit în special în cerere.

Cu toate acestea, modelul relațional rămâne cel mai comun, deci să ne menținem mai detaliat pe el.

Modelul relațional

Modelul relațional operează cu conceptele de înregistrări, atribute și relații. Raportul poate fi imaginat sub formă de masă bidimensională, apoi atributele sunt coloanele de masă (mai precis, numele coloanelor), iar înregistrările sunt liniile de masă.

Modelul relațional necesită determinarea strictă a structurii de date stocate în baza de date, adică relațiile și atributele pentru această bază de date sunt fixate.

Introducem câteva definiții.

Domeniul este un set care conține un set complet de toate valorile posibile ale unei variabile. Domeniile sunt adesea numite și tipul de date.. Atributul ordonat paragraful nume de atribute și domeniu \\ (d_j \\). Lotul este setul final comandat \\ ((D_1, D_2, \\ Ldots, D_N) \\) Titlu (diagramă) Rata relațiilor \\ ((A_1, A_2, \\ Ldots, A_N) \\), unde \\ (A_J \\) - Atribute . Valoarea specifică a valorii atributului aparținând domeniului atributului. Corpul relației este un set de tuple, unde \\ (d ^ i_j \\ în D_J \\), \\ (D_J \\) - Domenii. Înregistrarea expediției \\ ((d ^ i_1, d ^ i_2, \\ ldots, d ^ i_n) \\) cu fix \\ (i \\). Raportul dintre colectarea titlului relației și a relației corporale. Diagrama bazei de date multiple scheme ale tuturor relațiilor incluse în baza de date.

Puteți trimite o relație sub forma unui tabel. Apoi corpul relației este corpul mesei, titlul relației - titlul tabelului, atribute - numele coloanelor, înregistrările - șirurile și valorile atributului sunt în celule:

\\ (A_1 \\) \\ (A_2 \\) \\ (\\ ldots \\) \\ (A_N \\) ← titlu
\\ (D ^ 1_1 \\) \\ (D ^ 1_2 \\) \\ (\\ ldots \\) \\ (D ^ 1_n \\) ← Înregistrare
\\ (D ^ 2_1 \\) \\ (D ^ 2_2 \\) \\ (\\ ldots \\) \\ (D ^ 2_n \\) ← Înregistrare
\\ (\\ ldots \\) \\ (\\ ldots \\) \\ (\\ ldots \\) \\ (\\ ldots \\) ← Înregistrare
\\ (D ^ m_1 \\) \\ (D ^ m_2 \\) \\ (\\ ldots \\) \\ (D ^ m_n \\) ← Înregistrare

Modelul relațional impune următoarele cerințe suplimentare de relații:

Este clar că atributele (mai precis, valorile lor) sunt într-un fel, în funcție de cealaltă - în caz contrar relația este pur și simplu un set de date nestructurat. Conceptul este utilizat pentru a determina dependențele dintre atributele dependența funcțională.

Dependența funcțională a setului de atribute \\ (B \\) este dependentă funcțional de setul de atribute \\ (A \\) (scris \\ (A \\ dreapta B \\)), dacă pentru oricare două intrări care au aceleași valori \\ (A \\), valorile lor \\ (b \\) coincid. În caz contrar, fiecare valoare \\ (A \\) corespunde numai valorii a \\ (B \\) (nu neapărat unic, exact singurul).

Cu alte cuvinte, dacă un anumit set de atribute \\ (A \\) determină în mod unic (în cadrul acestui raport), valorile atributelor \\ (B \\), atunci \\ (B \\) sunt funcționale dependente de \\ ( A \\).

Ca un exemplu mai familiar de dependență funcțională, puteți cita o definiție matematică a unei funcții. Pentru o funcție, fiecare valoare argumentară corespunde numai valorii funcției. Invers incorect, de exemplu, pentru funcția \\ (y \u003d păcatul (X) \\), orice valoare \\ (y \\) din zona de definire \\ (1 \\ geq y \\ geq -1 \\) corespunde unui set infinit de valori \\ (X \\), dar pentru fiecare valoare \\ (x \\) există exact o valoare \\ (y \\), deci \\ (x \\ to y \\). Rețineți că conceptul de dependență funcțională este, de asemenea, aplicabil funcțiilor multor variabile. Pentru aceștia, valoarea funcției este dependentă funcțional toate argumentele în același timp. De exemplu, pentru funcția \\ (Z \u003d F (x, y) \\), se efectuează FZ \\ ((x, y) \\ la z \\) sau abreviat, \\ (XY \\ to Z \\).

Relațiile în acest context pot fi considerate ca unele masa sau funcții discrete.

Lucrați cu FZ.

Există anumite reguli formale pentru a lucra cu relația FZ.

Regulile oficiale sunt strâns legate de concepte închidere și ireductibile fz..

Axioms Armstrong.

Există reguli pentru retragerea noului FZ de la existente, numite axioms Armstrong..

Axioms Armstrong.

  1. REFORMAȚIE REFORMAȚIE: dacă \\ (B \\ substant A \\), apoi \\ (A \\ dreapta B \\)
  2. Regula de add-on: dacă \\ (A \\ dreapta B \\), apoi \\ (AC \\ Rubarrow BC \\)
  3. Regulă de tranzitie: dacă \\ (A \\ dreapta B \\) și \\ (B \\ dreapta C \\), apoi \\ (A \\ dreapta C \\)

Din aceste axe, pot fi afișate și următoarele reguli suplimentare:

  1. Regulamentul de autodeterminare: \\ (a \\ dreapta a \\)
  2. Regula de descompunere: dacă \\ (A \\ dreapta BC \\), apoi \\ (A \\ dreapta B \\) și \\ (A \\ Rubarrow C \\)
  3. Regula de combinare: dacă \\ (a \\ dreapta B \\) și \\ (A \\ dreapta C \\), apoi \\ (A \\ dreapta BC \\)
  4. Regula compozițională: dacă \\ (a \\ dreapta B \\) și \\ (C \\ dreapta D \\), apoi \\ (AC \\ Rubarrow BD \\)

Se poate observa că, datorită regulii de reflexie, orice set de atribute \\ (A \\) implică FZ a formularului \\ (a \\ la a \\). Astfel de FZ, precum și următoarele, nu reprezintă interes și sunt numiți triviali.

Trivial funkonal dependență de fz \\ (A \\ la b \\), astfel încât \\ (b \\ subsetul a \\).

În principiu, aceste reguli sunt suficiente pentru a găsi toate FZ, următoarele din date. În acest sens, este introdus conceptul de închidere a setului de FZ.

Închiderea setului FZ prin închiderea setului de FZ se numește o astfel de multitudine de FZ, care include toate seturile de sursă FZ, precum și toate implicite de ele. Cu alte cuvinte, pentru relația \\ (R \\), care are dependențe funcționale \\ (S \\), închiderea \\ (S ^ + \\) se numește setul tuturor FZ, posibil pentru \\ (R \\), bazat pe \\ (S \\).

De regulă, este necesar să se stabilească dacă va exista un anumit FZ \\ (x \\ "Y \\) acest set Fz \\ (s \\). Se pare că este posibil atunci și numai dacă setul de atribute \\ (y \\) este un subset al închiderii atributului \\ (x ^ + \\) în \\ (S \\).

Atributele de circuit ale atributelor de închidere \\ (x ^ +) \\ (x \\) de-a lungul setului de FZ \\ (S \\) este setul de toate atributele care sunt dependente funcțional de orice subset \\ (x \\).

Pentru a calcula închiderea unei multitudini de atribute \\ (x ^ +) de-a lungul setului de FZ \\ (S \\), există următoarea regulă: pentru fiecare fz \\ (A \\ dreapta B \\) în \\ (S \\) , dacă \\ (a \\ subset x ^ + \\), apoi \\ (b \\ subset x ^ + \\), și este suficient să începeți cu presupunerea că \\ (x ^ + \u003d x \\).

Trebuie remarcat faptul că pentru orice închidere \\ (x ^ + \\), există FZ a formularului \\ (x \\ la b \\), unde \\ (b \\ subset x ^ + \\), astfel, închiderile tuturor atributelor a relației în funcție de circuitul său FZ descrie FZ al acestei relații.

Această regulă este utilizată pentru a calcula setul ireductibil de FZ echivalent cu acest lucru (în sensul echivalenței închiderilor lor). Reducerea cantității de FZ, menținând în același timp închiderea (și, în consecință, logica internă descrisă de FZ este un pas important în proiectarea bazei de date.

Setul de fz este numit ireductibil dacă:

  1. Partea dreaptă a fiecărui fz conține doar un singur element.
  2. Nici un atribut al oricărei părți stângi din setul FZ nu poate fi eliminat fără a schimba închiderea
  3. Nu pot fi îndepărtate seturi de fz fără a schimba închiderea.

Pentru orice multitudine de FZ, există cel puțin un set ireductibil echivalent. O astfel de lot se numește acoperire minimă.

Ciclul de viață al sistemelor informatice

Analiza situației (complexitatea dezvoltării IP, utilizarea eficientă a IP), condusă de oamenii de știință, a arătat că această dispoziție a fost cauzată de faptul că software. Nu sunt respectate de cerințe foarte importante:

· Lipsa unei specificații complete a tuturor cerințelor;

· Absența unei metodologii acceptabile (sistem de metode) de dezvoltare IP;

· Lipsa de a împărtăși un proiect global comun în componente separate care pot fi controlul și gestionarea eficientă.

Ciclul de viață (LCC) al sistemelor informatice este o abordare structurală a dezvoltării software.

(Unele scheme) pentru 09/26/12

1. Planificarea dezvoltării IP. Acțiuni pregătitoare care permit o eficiență maximă pentru implementarea etapelor IP LCC. Trei componente principale: evaluarea domeniului de activitate; evaluarea resurselor necesare; Evaluarea costului total al proiectului.

2. Determinarea cerințelor sistemului. Determinarea gamei de acțiuni și frontiere ale aplicației bazei de date, funcții, compoziția utilizatorilor și aplicațiilor sale.

3. Colectarea și analiza cerințelor utilizatorilor. Colectarea și analiza informațiilor despre partea organizației a cărui lucrare va fi susținută prin utilizarea IP-ului creat, definirea cerințelor utilizatorului pentru sistem. Surse: sondaj și sondaj; observare; Studiul documentelor; Experiența anterioară.

4. Proiectarea unei baze de date. Crearea unui proiect de baze de date. Două abordări principale ale proiectării sistemelor de baze de date: " În jos"Și" ascendent».

5. Selectarea DBM-urilor țintă. Selectarea unui DBMS de tip adecvat destinat suportului aplicațiile create Bază de date.

6. Dezvoltarea aplicațiilor. Proiectarea interfeței de utilizator și a programelor de aplicații concepute pentru a lucra cu baza de date.

7. Crearea unui prototip. Crearea unui model de lucru al aplicației bazei de date.

8. Punerea în aplicare. Implementarea fizică a bazei de date și aplicațiile dezvoltate.

9. Conversia și încărcarea datelor. Transferul datelor existente în baza nouă Datele, descărcarea și modificarea aplicațiilor existente în scopul organizării colaborare cu o bază de date nouă.



10. Testarea. Procesul de executare a cererilor de căutare a erorilor. Strategii de testare: testarea descendentă; Ascendent; Fluxuri de testare; Testarea intensivă.

11. Funcționarea și întreținerea. Monitorizarea sistemului și suport pentru funcționarea normală: controlul performanței; Aplicații însoțitoare și modernizare.

Teoria bazei de date relaționale

Terminologie

În 1970, modelul relațional a fost propus pentru prima dată de ex. Cod.

DBM-urile relaționale presupune că utilizatorul percepe baza de date ca un set de tabele (și nu ca altfel).

Relațiile matematice.

Teoria bazei de date relaționale se bazează pe teoria matematică a relațiilor.

Fie D1, D2, ... DN Unele seturi.

Lucrare cartezienă D1 D2 ... DN \u003d ((X1, X2, ..., XN) | X1 D1, X2 D2, ... XN DN)

Raportul este un subset R D1 * D2 * ... * DN

De exemplu, N \u003d 2, D1 \u003d (2,4) și D2 \u003d (1,3,5), D1 \u003d (2,1), (2,3), (2,5), (4, 1 ), (4,3), (4.5)), r \u003d ((2,1), (4,1))

Subset de m. B. Condiția este dată, de exemplu:

R \u003d (((x1, x2) | x1 d1, x2 d2, x2 \u003d 1), A1, A2, ... un - nume de atribute cu D1, D2 Domenii, ... VTB Apoi vom scrie relația în formă:

R (A1: D1, A2: D2, ... A: DN)

Proprietățile relațiilor:

· Atitudinea are un nume unic;

· Fiecare atribut are un nume unic (în legătură cu);

· Fiecare celulă din relație conține numai valoarea atomică și nici un grup repetitiv (raportul este normalizat);

D1 - studenți
D2 - Discipline: Matematică, Informatică

· Ordinea atributelor nu contează;

· Ordinea tuplelor arbitrare;

· Fiecare lot este unic.

Tastele relaționale.

Tastele relaționale sunt servite pentru a identifica în mod unic legarea legii între relații.

Integritate relațională.

Algebra relațională

Rezultatul operației poate fi utilizat ca operand pentru o altă operație, care vă permite să creați expresii imbricate (închiderea RA).

Algebra relațională este o limbă în care toate cortirile sunt procesate de o singură comandă.

Cinci operațiuni principale:

· Selecție,

· Proiecție,

· Munca carteiană,

· O asociere,

· Diferență.

Pe baza acestor operațiuni, altele pot fi obținute:

· Compuși

· Crossing,

· Turând.

În predicat, pot fi utilizate semne de operațiuni logice ^ (și), v (sau), ~ (nu).

Exemplu. Obțineți o listă a tuturor angajaților cu salariu peste 300.

Proiecție.

Stabilește atitudinea, ale căror atribute sunt aplicații, ..., APR și conține doar povesti unice.

Lucrul cartezian

Lucrarea cartezienă este rar utilizată, rezultatul aplică eșantionul.

O asociere

Diferență

Operațiuni de conectare.

Teta conexiune

Conectare naturală

Conectare externă

Apoi, la stânga compusul extern Toate informațiile inițiale sunt menținute de la Ratio. În mod similar, este de asemenea posibil să se determine conexiunea externă corectă.

Alpinare

Operațiunea absolvenților poate fi determinată utilizând operatorii de proiecție și compus.

Trecere

Reprezentare

Numiri:

· Oferă un mecanism flexibil de protecție a bazei de date din cauza ascunzătoarei unei părți din ea utilizatori specifici;

· Vă permite să organizați accesul utilizatorilor la datele cele mai convenabile pentru acestea;

· Vă permite să simplificați operațiuni complexe cu relații de bază.

Reguli care ar trebui să satisfacă
Relational DBMS.

Pentru a determina dacă codul relațional al subo (1985) a propus 13 norme la care ar trebui să satisfacă.

Regulă
Regulă fundamentală. DBM-urile relaționale trebuie să poată controla bazele de date exclusiv cu ajutorul funcțiilor sale relaționale.
Prezentarea informațiilor. Toate informațiile din baza de date relațională sunt bazate în mod explicit pe un nivel logic numai într-un singur mod - sub formă de valori în tabele. Inclusiv metadatele.
Acces garantat. Pentru fiecare element al bazei de date relaționale, accesul logic bazat pe combinația numelui tabelului, trebuie garantate valorile cheii primare și numele coloanei.
Susține valori incerte. DBMS sprijină valori incerte (null).
Directorul de sistem relațional. Descrierea bazei de date ar trebui să fie într-un nivel logic în așa fel încât datele obișnuite, care permite utilizatorilor să utilizeze același limbaj relațional pentru a le apela.
PLY de date exhaustive. DBM-urile relaționale pot sprijini mai multe limbi. Cu toate acestea, o limbă ar trebui să existe la o măsură extremă, operatorii care ar permite următoarele funcții: 1. Definirea datelor; 2. Definiția reprezentărilor; 3. Date de manipulare comenzile; 4. Limitările integrității; 5. autorizația utilizatorului; 6. Organizații de tranzacții
Extracția, introducerea, ștergerea, actualizările la nivel înalt. Abilitatea DBMS de a efectua operațiuni pentru extragerea acestor comenzi de inserție, ștergere și actualizare ca o singură operație.
Independența fizică față de date. Din metoda de stocare
Independența logică față de date. Independența aplicațiilor de la schimbarea tabelelor de bază.
Independența restricțiilor de integritate. Restricțiile de integritate ar trebui determinate cu privire la atitudinea datelor relaționale și stocate în directorul de sistem și nu în programele de aplicare.
Independența față de distribuția datelor.
Regula de interzicere a tractului de by-pass. Dacă DBMS are un limbaj de nivel scăzut (cu o prelucrare consecventă a liniei la linie), acesta nu ar trebui să permită regulile și limitările integrității descrise în limba relațională la nivel înalt.

Modelarea datelor bazate pe procesul de normalizare

Scopul normalizării.

Procesul de normalizare a fost propus în 1972 de E. F. Codd - trei forme normale (NF): primul (1n), al doilea (2NF) și al treilea (3 Nov).

Definiția mai severă a celui de-al treilea NF (R. Bois și E. F. Codd, 1974) este o formă normală de băieți CODD (NFBC).

Redundarea datelor și anomaliile de prelucrare.

Absența normalizării conduce:

· Redundanță de date

· Anomalii de inserție (este imposibil de adăugat înregistrări)

· Anomalii de eliminare (alte informații se pierd atunci când ștergeți informații)

· Actualizați anomalii (actualizați multe înregistrări sunt necesare)

· Proprietăți de conservare fără pierdere și conservare a dependenței.

Dependențe funcționale

Baza de date - un set de date conexe organizate de anumite reguli care implică principii generale Descrieri, depozitare și manipulare, independente de programele de aplicare. Baza de date relațională este o bază de date în care informațiile sunt prezentate sub formă de tabele bidimensionale stocate în fișiere. Tabelul constă din linii numite intrări, înregistrările constau în coloane, numite câmpuri.

Sistemul de gestionare a bazelor de date (DBMS) este o totalitate a limbii și software.destinate creării, păstrarii și partajare BD de mulți utilizatori. Utilizatorii DBMS pot fi împărțiți în trei grupuri mari:

  • dezvoltatorii bazei de date sunt responsabili pentru scrierea de aplicații utilizând o bază de date;
  • utilizatorii finali funcționează cu o bază de date sau printr-un anumit sistem de informații sau printr-o interfață de utilizator a sistemului de gestionare a bazelor de date;
  • administratorii de baze de date asigură menținerea performanței bazei de date, securitatea datelor și securitatea, funcționarea bazei de date.

Arhitectura de bază a DBMS este un model de trei niveluri, în cadrul căruia DBMS pare să fie format dintr-un nivel extern, conceptual și intern. La nivel extern, conținutul DBMS pare să o vadă vede utilizator separat. La nivel conceptual, datele DBMS sunt descrise în modelul generalizat al domeniului pentru care este creat sistem informatic. Nivelul intern este datele reale situate în fișiere. DBMS este, de asemenea, efectuat un dicționar de date care conține informații despre tot ceea ce este stocat în baza de date (numele tuturor tabelelor și reprezentanțelor, procedurile și declanșatoarele stocate, conturi utilizatori de DBMS etc.). Acest tip de informații se numește metadate.

Modelul de date relațional se bazează pe principiile matematice ale teoriei seturilor și a logicii matematice. Aceste principii au fost utilizate pentru prima dată pentru a modela date în anii '60 din secolul trecut Codd. Modelul relațional determină modul în care pot fi prezentate datele (structura datelor), modul în care datele pot fi protejate împotriva modificărilor incorecte (integritatea datelor) și care pot fi efectuate operațiuni cu date (tranzacții de date). Conceptele de bază ale modelului relațional:

  • toate datele sunt reprezentate conceptual ca un set comandat de rânduri și coloane, numit raportul;
  • toate datele sunt scalare;
  • linia de date se numește o tuplă, numărul de tuple se numește un număr fundamental;
  • fiecare coloană din tavernă este numită un atribut, numărul de atribute se numește gradul de relație;
  • nu sunt descrise informații de NULL;
  • potențialul cheie K pentru RAtio este un subset de un set de atribute r, având întotdeauna o proprietate de unicitate (adică nu există două tuple în legătură cu r cu aceeași valoare K) și proprietatea non-redundanță (adică nr a subseturilor de k nu are proprietatea unicității). Cheia potențială constând din mai multe atribute este numită compus și de la un simplu. Cheia primară este o cheie potențială în care sunt comandate fizicele fizice.
  • cheia externă este definită după cum urmează. Fie R2 o atitudine. Apoi, cheia externă FK față de R2 este un subset al unui set de atribute R2 că există un raport R1 cu o cheie potențială K, iar valoarea FK în orice R2 R2 coincide cu valoarea lui K unele corterie în R1 . Restricția prin care valorile cheie externe trebuie să fie adecvate valorilor cheii potențiale corespunzătoare, se numesc limită de referință. În consecință, sub integritatea de referință, se înțelege că cerința că în baza de date nu au existat tulburări de limitări de referință.

Următoarele operațiuni sunt permise pe datele din modelul relațional:

  • eșantionul returnează relația care conține toate corțile unui anumit raport care îndeplinesc anumite condiții;
  • proiecția returnează relația care conține toate cortiunile relației specificate după excluderea unor atribute din acesta;
  • produsul returnează relația care conține tuple, care sunt toate combinațiile posibile ale tuplelor aparținând celor două relații sursă;
  • asociația returnează relația care conține toate poveștile aparținând celor două relații sursă;
  • compusul returnează relația, care este conectarea a două tuple aparținând relației sursă și având o valoare generală pentru unul sau mai multe atribute ale relației sursă; În acest caz, valoarea totală a atributelor se găsește în tuple de construcție o singură dată.

Programarea în Mediul Delphi 6

Bază de date. Crearea unui raport S. folosind cuvântul..

Aprobat de Consiliul Editorial Editorial

universitatea ca atelier de laborator

Voronezh 2004.


UDC 681.3.

Vorobyov E.i., Korotkhevich de .. Programarea în miercuri Delphi. 6: Atelier de laborator: CH. 2: Baze de date. Crearea unui raport folosind Word. Fire. Voronezh: Voronezh. Stat Tehn. Universitatea, 2004. 107 p.

În a doua parte a atelierului de laborator, sunt considerate informații teoretice și practice să scrie programe în mediul Delphi 6 pe tema: "Designul bazei de date, crearea de rapoarte în program de cuvinte Și utilizarea fluxurilor atunci când creați aplicații de înaltă performanță. "

Publicația respectă cerințele standardului educațional de stat al educației profesionale superioare în direcția a 230100 "Tehnică informatică și computere", specialitate 230104 "sisteme de design automatizate", disciplină "programare în limbi de nivel înalt".

Masa. 3. IL. 19. BiblioGr. Numit.

Editor științific: Dr. Tehn. Științe, prof. Ya.e. Lvovich.

Referenti: Departamentul. echipamente de calculator Academia forestieră Voronezh (cap. Departamentul Dr. Tekhn. Științe, prof. V.E. Mezhov);

dr. Tech. Științe, prof. O.yu.makarov.

© Vorobyov E.i., Korotkhevich D.e., 2004

© Design. Voronezh State.

universitatea Tehnică, 2004


Introducere

Conceptul de baze de date

Bazele de date sunt considerate principalul avantaj al Delphi. Chiar și limbile specializate pentru lucrul cu baze de date (cum ar fi MS Visual FoxPro.) Evident inferior față de simplitatea și relicvele de programare a acestui tip de aplicații. Delphi ascunde toate dificultățile și, în același timp, oferă cea mai mare putere. Nu a existat o astfel de sarcină care să nu poată implementa pe Delphi într-o perioadă scurtă de timp. Și, cel mai important, că toate acestea sunt implementate foarte convenabile și ușor de înțeles. În Delphi puteți crea aplicații simpleChiar și cu baze complexe, fără o singură linie de cod. In acest tutorial Sarcinile de laborator sunt considerate a stăpâni tehnicile de lucru cu bazele de date locale.

Teoria bazelor de date relaționale

Acum zece ani, programarea bazelor de date a fost o ocupație foarte dificilă. Acum este deja dificil să vă imaginați că, datorită Delphi, procesul de scriere a programelor a fost simplificat, iar numărul soiurilor de baze de date este deja în valoare de zeci.

Bazele de date sunt împărțite în local (instalate pe computerul clientului, unde programul funcționează și acolo) și la distanță (instalat pe server, computer la distanță). Baza de bază Datele sunt situate pe un computer la distanță și operează software-ul serverului de funcționare. La principalele lor avantaje, puteți atribui posibilitatea de a lucra cu o singură bază de date în același timp cu mai mulți utilizatori și, în același timp, sarcina minimă a rețelei este efectuată. Există încă baze de date de rețea care creează prea multă încărcare a rețelei și inconfortabile atât în \u200b\u200bprogramator, cât și în utilizatorul final. Când programul se alătură baza de date a rețelei, pompează copia aproape completă de pe server. Dacă ați făcut modificări, copia dvs. este complet pompată înapoi. Este foarte incomod deoarece este creat. presiune imensă În rețea datorită pomparea în exces. Când tehnologia client-server, programul client trimite o cerere de text simplă serverului pentru a primi date. Serverul o procesează și returnează numai porțiunea de date necesară. Când trebuie să modificați din nou orice date, o solicitare către server este trimisă la server pentru a schimba, iar serverul modifică datele din baza de date. Astfel, în rețea, există doar cereri de text asupra rețelei, care ocupă în principal mai puțin kilobyte. Toate datele procesează serverul, ceea ce înseamnă că mașina client este încărcată mult mai puțin și nu atât de multă cerință a resurselor. Serverul trimite numai datele cele mai necesare clientului, ceea ce înseamnă că nu există o pompare inutilă a copiilor întregii baze. Datorită tuturor acestor lucruri, bazele de date de rețea sunt deja învechite și practic nefolosite. Ele aproape complet deplasează client-serverul de tehnologie. Dar bazele de date locale vor trăi întotdeauna. Este posibil să existe un format de stocare sau să adăugați câteva caracteristici noi, dar se vor exista bazele de date în sine. Pentru o atenție suplimentară, trebuie să definim un nou concept - masa. Până în prezent, au spus doar principiile generale, deci conceptul general a fost folosit baze de date. Tabelul bazei de date este ca o matrice bidimensională în care sunt construite datele din coloană (un exemplu luminos al unui tabel - Excel). Baza de date - Aproximativ, este doar un fișier în care poate fi stocat de la una la mai multe mese. Majoritatea bazelor de date locale pot stoca numai o masă (DBase, Paradox, XML). Dar există reprezentanți ai bazelor de date locale, unde mai multe tabele sunt încheiate într-un singur fișier (de exemplu, accesul).

Baze de date locale

Din bazele de date locale, considerăm relaționalul ca cel mai frecvent. Ce este o bază de date relațională? Acesta este un tabel în care numele datelor stocate în ea sunt ca coloane, iar fiecare linie stochează datele în sine. Tabelul bazei de date este similar cu electronic tabelul Excel. (Pentru a fi mai precis, atunci Excel stochează datele sale în formular format propriu.Construit pe baza tehnologiei bazei de date). Tabelele locale de baze de date pot fi stocate pe un hard disk local sau salvat central discul de rețea. server de fișiere.. Aceste fișiere pot fi copiate utilizând instrumente standard Ca orice alt fișier, deoarece tabelele bazei de date nu sunt legate de o locație specifică. Principalul lucru este că programul poate găsi o masă. Fiecare tabel ar trebui să fie un câmp unic care să identifice cu siguranță șirul. Acest câmp se numește cheie. Aceste câmpuri sunt foarte des utilizate pentru a lega mai multe mese între ele. Dar chiar dacă tabelul nu este conectat, câmpul cheie este încă necesar. Este recomandabil să utilizați ca o cheie tipul numeric Și dacă baza de date permite, va fi mai bine dacă este tipul "autoincrement" (în creștere automată / scăderea numărului sau contorului). Numele coloanelor din tabelul bazei de date ar trebui să fie, de asemenea, unice, dar în acest caz nu neapărat numeric. Ele pot fi numite cum doriți, dacă numai a fost unic și de înțeles. Fiecare coloană (câmp de bază de date) trebuie să aibă un tip definit. Numărul de tipuri și tipurile lor depind de tipul de bază de date, cum ar fi formatul DBASE (fișierele cu extensia DBF), doar 6 tipuri, iar paradoxul este deja de până la 15. Baza de date poate fi stocată într-un singur fișier (acces) sau în mai multe (paradox, dbază). Mai precis, aceste tabele sunt întotdeauna stocate într-un singur fișier, dar pot fi localizate informații suplimentare separați fișierele. La fel de pentru mai multe informatii Pot exista indici, limitări sau listă de valori implicite pentru anumite câmpuri. Dacă cel puțin unul dintre fișiere sunt răsfățate sau șterse, atunci datele pot fi inaccesibile pentru a edita.

Ce indexuri? Foarte des, datele din tabele sunt supuse unor schimbări, astfel încât înainte de a edita peste orice șir, trebuie să o găsiți. Chiar și tabelele statice utilizate ca directoare sunt, de asemenea, supuse operațiunilor de căutare înainte de ieșirea datelor solicitate. Căutarea este destul de consumatoare de timp, mai ales dacă tabelul conține o mulțime de rânduri. Indicii vizează accelerarea acestei proceduri, precum și pot fi folosite ca punct de plecare la sortare. În acest stadiu, este suficient să știți că câmpul non-indexat este imposibil de raționalizat.

Dacă este necesar, astfel încât o anumită masă este comandată pe teren " Nume de familieAcest câmp trebuie să fie subiectat mai întâi. Apoi, trebuie doar să specificați că tabelul trebuie să funcționeze acum cu un astfel de index și este automat sortat.

Într-o bază de date bine proiectată, redundanța datelor este exclusă și probabilitatea datelor contradictorii sunt reduse la minimum. Astfel, crearea de baze de date are două obiective principale: reducerea redundanței datelor și creșterea fiabilității acestora.

Ciclul de viață al oricărui produs software, inclusiv sistemul de gestionare a bazelor de date, este (mare) din etapele de proiectare, vânzări și operațiuni.

Bineînțeles, cel mai important factor în ciclu de viață Aplicațiile care lucrează cu baza de date este etapa de proiectare. Din cât se gândește cu atenție structura bazei, cât de clar se determină legăturile dintre elementele sale, performanța sistemului și saturația sa informațională și, prin urmare, depinde timpul vieții sale.

Cerințe de baze de date

Deci, o bază de date bine proiectată:

1. satisface toate cerințele utilizatorilor pentru conținutul bazei de date. Înainte de a proiecta o bază, este necesar să se efectueze studii ample privind cerințele utilizatorilor pentru funcționarea bazei de date.

2. Garantează coerența și integritatea datelor. La proiectarea tabelelor, trebuie să definiți atributele și unele reguli care limitează posibilitatea introducerii valorilor incorecte ale utilizatorului. Pentru a verifica datele înainte de a le îndruma în tabel, baza de date ar trebui să fie numită regulile modelului de date și astfel să asigure păstrarea integrității informațiilor.

3. Furnizează structurarea naturală și ușor de percepută a informațiilor. Construcția calitativă a bazei vă permite să faceți cereri la baza de date mai "transparentă" și ușor de înțeles; Prin urmare, probabilitatea de a face date incorecte este redusă și calitatea suportului de bază este îmbunătățită.

4. satisface cerințele utilizatorilor pentru performanța bazei de date. Cu cantități mari de informații, probleme de conservare a produselor

Începeți să jucați un rol major, imediat "evidențiază" toate deficiențele etapei de proiectare.

Următoarele elemente reprezintă etapele principale de proiectare a bazei de date:

1. Determinați nevoile informațiilor bazei de date.

2. Analizați obiectele din lumea reală care trebuie să fie modelate în baza de date. Pentru a forma esența și caracteristicile acestor entități din aceste obiecte (de exemplu, pentru caracteristicile "Partea" entității pot fi "nume", "culoare", "greutate" etc.) și formează lista lor.

3. Puneți în conformitate cu entitățile și caracteristicile - tabelele și coloanele (câmpurile) în notația DBMS selectați (Paradox, Dbază, FoxPro, Access, Clipper, Interbase, Sybase, Informix, Oracle etc.).

4. Determinați atributele care identifică în mod unic fiecare obiect.

5. Elaborarea regulilor care vor stabili și menține integritatea datelor.

6. Instalați legături între obiecte (tabele și coloane), pentru a normaliza tabelele.

7. Planificați întrebări legate de fiabilitatea datelor și, dacă este necesar, să păstreze secretul informațiilor.


Informații similare.