Cum se configurează smartphone-uri și PC-uri. Portal informativ

Model logic de reprezentare a cunoștințelor.

Pentru a reprezenta cunoștințele matematice în logica matematică, ei folosesc formalisme logice - calculul propozițional și calculul predicatelor. Aceste formalisme au o semantică formală clară și au fost dezvoltate mecanisme de inferență pentru ele. Prin urmare, calculul predicat a fost primul limbaj logic care a fost folosit pentru a descrie în mod formal domeniile asociate cu rezolvarea problemelor aplicate.

Modele logice reprezentările cunoştinţelor sunt realizate prin intermediul logicii predicatelor.

Predicatul este o funcție care ia două valori (adevărat sau fals) și este concepută pentru a exprima proprietățile obiectelor sau relațiile dintre ele. Se numește o expresie care afirmă sau neagă existența oricăror proprietăți ale unui obiect rostirea. constante servesc la denumirea obiectelor din domeniul subiectului. Formă propoziții sau enunțuri logice formule atomice. Interpretarea unui predicat este setul tuturor legăturilor de variabile valide cu constante. Legarea este substituirea constantă a variabilelor în loc de variabile. Un predicat este considerat valid dacă este adevărat în toate interpretările posibile. Se spune că o afirmație decurge logic din premise date dacă este adevărată ori de câte ori premisele sunt adevărate.

Se numesc descrieri ale disciplinelor realizate în limbaje logice modele logice .

DĂ (MICHAEL, VLADIMIR, CARTE);

($ x) (ELEMENT (x, EVENIMENT-DAR)? SURSA (x, MICHAEL)? ADRESA? (x, VLADIMIR) OBIECTUL (x, CARTE).

Iată două moduri de a înregistra un fapt: „Mikhail i-a dat cartea lui Vladimir”.

Inferența se realizează folosind un silogism (dacă A urmează pe B și B urmează C, atunci A urmează C).

În cazul general, modelele logice se bazează pe concept teorie formală dat de cei patru:

S = ,

unde B este o mulțime numărabilă caractere de bază (alfabet) teoria S;

F - submult expresii ale teoriei S a sunat formule teorie(prin expresii înțelegem secvențe finite de simboluri de bază ale teoriei S);

A este un set dedicat de formule numit axiome ale teoriei S, adică un set de formule a priori;

R este o mulțime finită de relații (r 1, ..., r n) între formule, numite reguli de retragere.

Avantajul modelelor logice de reprezentare a cunoștințelor constă în capacitatea de a programa direct mecanismul de ieșire a declarațiilor corecte din punct de vedere sintactic. Un exemplu de astfel de mecanism este, în special, procedura de retragere bazată pe metoda de rezoluție.

Să arătăm metoda rezoluțiilor.

Metoda folosește mai multe concepte și teoreme.

Concept tautologii, o formulă logică, a cărei valoare va fi „adevărată” pentru orice valori ale atomilor incluși în acestea. Este notat cu ?, citit ca „universal valabil” sau „întotdeauna adevărat”.

Teorema 1. A?B dacă și numai dacă?A B.

Teorema 2. A1, A2, ..., An? B dacă și numai când? (A1? A2? A3?…? An) Î.

Simbol? se citește ca „adevărat că” sau „poate fi dedus”.

Metoda se bazează pe dovada tautologiei

? (X? A)?(Y? ? A)? (X? Y) .

Teoremele 1 și 2 ne permit să scriem această regulă în următoarea formă:

(X? A), (Y? ? A) ? (X? Y),

care dă temei de a afirma: din premise şi se poate deduce.

În procesul de inferență folosind regula de rezoluție, se parcurg următorii pași.

1. Se elimină operațiile de echivalență și implicare:

2. Operația de negație se deplasează în interiorul formulelor folosind legile lui de Morgan:

3. Formulele logice se reduc la forma disjunctive:.

Regula rezoluției conține o conjuncție de clauze în partea stângă, prin urmare, aducerea premiselor utilizate pentru demonstrație într-o formă care este o conjuncție de clauze este un pas necesar în aproape orice algoritm care implementează inferența logică bazată pe metoda rezoluției. Metoda de rezoluție este ușor de programat; acesta este unul dintre cele mai importante avantaje ale sale.

Să presupunem că trebuie să demonstrați că, dacă relațiile și sunt adevărate, atunci puteți deriva o formulă. Pentru a face acest lucru, urmați acești pași.

1. Reducerea parcelelor la forma disjunctive:
, , .

2. Construirea negare a concluziei de dedus. Conjuncția rezultată este valabilă atunci când și sunt simultan adevărate.

3.Aplicarea regulii rezoluției:

(contradicție sau „clauză goală”).

Deci, presupunând că concluzia trasă este falsă, obținem o contradicție, prin urmare, concluzia trasă este adevărată, i.e. , se deduce din premisele initiale.

A fost regula de rezoluție care a servit drept bază pentru crearea limbajului de programare logic PROLOG. De fapt, interpretul de limbaj PROLOG implementează independent o ieșire similară celei descrise mai sus, formând un răspuns la întrebarea unui utilizator adresată bazei de cunoștințe.

În logica predicatelor, pentru a aplica regula rezoluției, este necesar să se realizeze o unificare mai complexă a formulelor logice pentru a le reduce la un sistem de clauze. Acest lucru se datorează prezenței elementelor de sintaxă suplimentare, în principal cuantificatori, variabile, predicate și funcții.

Algoritmul pentru unificarea formulelor logice predicate include următorii pași.

După parcurgerea tuturor pașilor algoritmului de unificare descris, se poate aplica regula de rezoluție. De obicei, în acest caz, se efectuează negarea concluziei deduse, iar algoritmul de deducere poate fi descris pe scurt după cum urmează: R din axiomele teoriei Th se construiește negația Rşi se adaugă lui Th, obţinându-se astfel o nouă teorie Th1. După reducerea axiomelor teoriei la un sistem de clauze, este posibil să se construiască conjuncția și axiomele teoriei Th. În acest caz, este posibil să derivați clauze - consecințe din clauzele inițiale. Dacă R este deductibilă din axiomele teoriei Th, apoi în procesul deducției se poate obține o anumită propoziție Q, formată dintr-o literă, și propoziția opusă. Această contradicție sugerează că R dedus din axiomele Th. În general, există multe strategii de demonstrare, am luat în considerare doar una dintre posibile - de sus în jos.

Exemplu: Să reprezentăm următorul text prin intermediul logicii predicatelor:

„Dacă un student știe să programeze bine, atunci poate deveni specialist în domeniul informaticii aplicate”.

„Dacă un student a promovat bine examenul de sisteme informatice, atunci el sau ea poate programa bine.”

Să reprezentăm acest text prin intermediul logicii predicatelor de ordinul întâi. Să introducem notația: X- o variabilă pentru a desemna un elev; Bine- o constantă corespunzătoare nivelului de calificare; R(X)- un predicat care exprimă posibilitatea unui subiect X deveniți specialist în informatică aplicată; Q(X, bine)- un predicat care denota priceperea subiectului X program cu evaluare Bine; R(X, bine)- un predicat care precizează relația elevului X cu note de examinare pe sistemele informaţionale.

Acum să construim o mulțime de formule bine formate:

Q (X, bine).

R(X, bine)Q(X, bine).

Să completăm teoria obținută cu un fapt specific
R(ivanov, bine).

Să facem inferență folosind regula rezoluției pentru a determina dacă formula este R(Ivanov) o consecință a teoriei de mai sus. Cu alte cuvinte, se poate deduce din această teorie faptul că studentul Ivanov va deveni specialist în informatică aplicată dacă a promovat bine examenul de sisteme informatice?

Dovada

1. Să transformăm formulele inițiale ale teoriei pentru a le aduce la forma disjunctivă:

(X, bine) R (X);

(X, bine) (X, bine);

R(Ivanov, Bine).

2. Să adăugăm la axiomele existente negația concluziei deduse

(ivanov).

3. Construim conjuncția de propoziții

(X, bine) R (X)? ? P(ivanov, bine)? ? Q(ivanov, bine),înlocuind variabila X printr-o constantă Ivanov.

Se numește rezultatul aplicării regulii rezoluției rezoluţie... În acest caz, soluția este (ivanov).

4. Construiți o conjuncție de clauze folosind soluția obținută la pasul 3:

(X, bine) (X, bine) (ivanov, bine) (ivanov, bine).

5. Să scriem conjuncția rezolutivului rezultat cu ultima clauză a teoriei:

(ivanov, bine) (ivanov, bine)(contradicţie).

Prin urmare, faptul R(Ivanov) deducem din axiomele acestei teorii.

Pentru a determina ordinea de aplicare a axiomelor în procesul de inferență, există următoarele reguli euristice:

  1. În prima etapă a inferenței, se folosește negarea inferenței.
  2. La fiecare etapă ulterioară a derivației, participă solventul obținut la etapa anterioară.

Cu toate acestea, cu ajutorul regulilor care definesc sintaxa limbajului, este imposibil să se stabilească adevărul sau falsitatea acestei sau acelea afirmații. Acest lucru este valabil pentru toate limbile. Afirmația poate fi corectă din punct de vedere sintactic, dar se poate dovedi a fi complet lipsită de sens. Un grad ridicat de uniformitate implică și un alt dezavantaj. modele logice- complexitatea utilizării în demonstrarea euristicii care reflectă specificul unei probleme specifice subiectului. Alte dezavantaje ale sistemelor formale includ monotonia lor, lipsa mijloacelor de structurare a elementelor utilizate și inadmisibilitatea contradicțiilor. Dezvoltarea ulterioară a bazelor de cunoștințe a mers calea de lucru în domeniul logicii inductive, logicii „bunului simț”, logicii credinței și alte scheme logice care au puțin în comun cu logica matematică clasică.

Un model de date logic este o descriere a obiectelor din domeniul subiectului, atributele lor și relațiile dintre ele, în măsura în care acestea sunt supuse stocării directe în baza de date a sistemului.

Modelul logic este construit în mai multe etape cu o abordare graduală a opțiunii optime pentru condițiile date. Eficacitatea unui astfel de model depinde de cât de aproape reflectă domeniul studiat. Tematica cuprinde obiecte (documente, conturi, operațiuni asupra acestora etc.), precum și caracteristicile acestor obiecte, proprietățile lor, interacțiunea și influența reciprocă.

Astfel, la construirea unui model logic de date, în primul rând sunt identificate acele obiecte care prezintă interes pentru utilizatorii bazei de date proiectate. Apoi, pentru fiecare obiect, sunt formulate caracteristici și proprietăți care descriu în mod adecvat obiectul dat. Aceste caracteristici vor fi reflectate în continuare în baza de date ca câmpuri corespunzătoare.

Modelul logic de date este construit folosind una dintre cele trei abordări pentru crearea bazelor de date. Se disting următoarele tipuri de modele de baze de date logice:

Ierarhic;

Reţea;

Relațional.

Modelul ierarhic este o structură arborescentă care exprimă legăturile de subordonare ale nivelului inferior la nivelul superior. Acest lucru face mai ușor să găsiți informații dacă interogările au aceeași structură.

Modelul de rețea diferă de cel precedent și prin prezența legăturilor orizontale. Acest lucru complică atât modelul, cât și baza de date în sine și mijloacele de gestionare.

Modelul relațional reprezintă informațiile stocate sub formă de tabele, peste care pot fi efectuate operații logice (operații de algebră relațională). În acest moment, acest tip de model este cel mai răspândit. Acest lucru se datorează ușurinței relative de implementare, definiției clare a relației dintre obiecte, ușurinței schimbării structurii bazei de date.

Descrierea utilizatorilor și a grupurilor de utilizatori ale sistemului

Sistemul de informare și referință dezvoltat poate fi utilizat atât de personalul cinematografului, cât și de către vizitatori. Un angajat al cinematografului poate oferi editarea informațiilor disponibile despre filmele disponibile, poate modifica programul de funcționare al cinematografului, poate include filme nou primite în repertoriul cinematografului; iar vizitatorul poate vizualiza informații despre programul de deschidere al cinematografului, prețurile biletelor, filmele de astăzi.

Model de domeniu

Unul dintre cele mai convenabile instrumente pentru reprezentarea unificată a datelor, independent de software-ul care îl implementează, este modelul entitate-relație (ER-model). Modelul entitate-relație se bazează pe câteva informații semantice importante despre lumea reală și este conceput pentru a reprezenta în mod logic datele. Definește valorile datelor în contextul relației lor cu alte date. Categoriile „esență” și „conexiune” sunt declarate fundamentale și sunt separate în stadiul realizării reprezentărilor specifice unui anumit domeniu.

Fiecare entitate aparține unei anumite clase, cu alte cuvinte, corespunde unui anumit tip. Există relații între entități pe care utilizatorul le atribuie unei anumite clase (tip). Astfel, o clasă de entități și o clasă de relații definesc seturi de obiecte specifice și relații între ele. O entitate poate aparține mai multor clase.

Colecția de entități și clase de relații formează nivelul superior al modelului.

Entitățile și relațiile sunt descrise prin atributele lor caracteristice. Printre atributele unei entități sau ale unei relații, se distinge o sublistă, ale cărei valori de atribute identifică în mod unic entitatea sau relația în cadrul tipului. Entitățile, relațiile și atributele formează nivelul inferior al modelului.

Este important ca toate modelele de date existente (ierarhice, de rețea, relaționale, obiect) să poată fi generate din modelul entitate-relație, de aceea este cel mai general.

Modelul entitate-relație este prezentat în Anexa E.

O bază de date relațională constă din tabele normalizate. În procesul de încărcare și ajustare a bazei de date, pentru a obține informații despre interogări și rapoarte de ieșire, precum și pentru a rezolva majoritatea sarcinilor, este necesar să accesați simultan mai multe tabele interconectate. Relația dintre tabelele bazei de date este stabilită prin relații relaționale.

Legăturile definite în schema de date sunt utilizate automat la dezvoltarea formularelor multitabulare, interogărilor, rapoartelor, simplificând foarte mult procesul de proiectare a acestora.

Produsul software este reprezentat de proiectul Cinema, care are 4 tabele interconectate:

Bilety - informații despre biletele vândute;

Filme - informații despre toate filmele disponibile în cinema;

Seansy - informații despre ora ședințelor și costul biletelor pentru aceste ședințe;

Astăzi - informații despre filmele care vor fi difuzate astăzi.

Concepte DB și DBMS.

O bază de date este o colecție de date structurate stocate în memoria unui sistem de calcul și care afișează starea obiectelor și interrelațiile lor în domeniul subiectului luat în considerare.

Structura logică a datelor stocate în baza de date se numește model de prezentare a datelor. Principalele modele de prezentare a datelor (modele de date) includ ierarhice, de rețea, relaționale.

Un sistem de management al bazelor de date (DBMS) este un complex de limbaje și instrumente software concepute pentru crearea, întreținerea și partajarea bazelor de date de către mulți utilizatori. De obicei, un SGBD se distinge prin modelul de date utilizat. Deci, SGBD-urile bazate pe utilizarea unui model de date relaționale se numesc SGBD relațional.

Dicționarul de date este un subsistem de baze de date conceput pentru stocarea centralizată a informațiilor despre structurile de date, relațiile dintre fișierele bazei de date între ele, tipurile de date și formatele de prezentare a acestora, datele aparținând utilizatorilor, codurile de securitate și de control al accesului etc.

Sistemele informaționale bazate pe utilizarea bazelor de date funcționează de obicei într-o arhitectură client-server. În acest caz, baza de date este localizată pe computerul server și partajată.

Serverul unei anumite resurse dintr-o rețea de calculatoare este un computer (program) care gestionează această resursă, un client este un computer (program) care utilizează această resursă. Ca o resursă a unei rețele de calculatoare, de exemplu, bazele de date, fișierele, serviciile de imprimare și serviciile poștale pot acționa.

Avantajul organizării unui sistem informațional pe o arhitectură client-server este o combinație reușită de stocare centralizată, întreținere și acces colectiv la informații corporative generale cu munca individuală a utilizatorului.

Conform principiului de bază al arhitecturii client-server, datele sunt procesate doar pe server. Un utilizator sau o aplicație generează interogări care vin la serverul bazei de date sub formă de instrucțiuni SQL. Serverul bazei de date oferă căutarea și preluarea datelor necesare, care sunt apoi transferate pe computerul utilizatorului. Avantajul acestei abordări în comparație cu cele anterioare este o cantitate semnificativ mai mică de date transmise.



Se disting următoarele tipuri de SGBD:

* SGBD cu funcții complete;

* servere de baze de date;

* instrumente pentru dezvoltarea de programe pentru lucrul cu o bază de date.

Prin natura utilizării lor, SGBD-urile sunt împărțite în multiutilizator (industriale) și locale (personale).

Industrial, DBMS reprezintă o bază software pentru dezvoltarea sistemelor de control automatizate pentru marile facilități economice. DBMS industrial trebuie să îndeplinească următoarele cerințe:

* capacitatea de a organiza munca paralelă comună a mai multor utilizatori;

* scalabilitate;

* portabilitate pe diverse platforme hardware și software;

* stabilitate în raport cu defecțiunile de diferite tipuri, inclusiv prezența unui sistem de backup pe mai multe niveluri a informațiilor stocate;

* asigurarea securității datelor stocate și a unui sistem structurat avansat de acces la acestea.

Personal DBMS este un software care vizează rezolvarea problemelor unui utilizator local sau a unui grup mic de utilizatori și destinat utilizării pe un computer personal. Aceasta explică al doilea lor nume - desktop. Caracteristicile definitorii ale sistemelor desktop sunt:

* ușurință relativă de utilizare, permițându-vă să creați aplicații de utilizator funcționale pe baza acestora;

* cerințe de resurse hardware relativ limitate.

În funcție de modelul de date utilizat, SGBD-urile sunt împărțite în ierarhice, de rețea, relaționale, orientate pe obiecte etc. Unele SGBD-uri pot suporta simultan mai multe modele de date.

Pentru a lucra cu datele stocate în baza de date, sunt utilizate următoarele tipuri de limbi:

* limbaj de descriere a datelor - un limbaj non-procedural de nivel înalt
tip declarativ, conceput pentru a descrie un logic
structuri de date;

* limbaj de manipulare a datelor - un set de construcții care asigură operațiuni de bază pentru lucrul cu date: introducerea, modificarea și preluarea datelor la cerere.

Limbile numite pot diferi în diferite SGBD. Cele mai răspândite sunt două limbaje standardizate: QBE - un limbaj de interogare după model și SQL - un limbaj de interogare structurat. QBE are în principal proprietățile unui limbaj de manipulare a datelor, SQL combină proprietățile ambelor tipuri de limbaje.

SGBD implementează următoarele funcții de bază de nivel scăzut:

* gestionarea datelor în memorie externă;

* gestionarea bufferelor RAM;

* managementul tranzactiilor;

* ținerea unui jurnal al modificărilor în baza de date;

* asigurarea integritatii si securitatii bazei de date.

Implementarea funcției de gestionare a datelor în memoria externă asigură organizarea managementului resurselor în sistemul de fișiere OS.

Necesitatea tamponării datelor se datorează faptului că cantitatea de RAM este mai mică decât cantitatea de memorie externă. Bufferele sunt zone ale memoriei principale concepute pentru a accelera schimbul dintre memoria externă și memoria principală. Bufferele stochează temporar fragmente ale bazei de date, din care datele ar trebui să fie utilizate la accesarea SGBD sau sunt planificate să fie scrise în baza de date după procesare.

Mecanismul tranzacției este utilizat în SGBD pentru a menține integritatea datelor din baza de date. O tranzacție este o anumită secvență indivizibilă de operațiuni asupra datelor bazei de date, care este urmărită de SGBD de la început până la sfârșit. Dacă din orice motiv (defecțiuni hardware și erori, erori în software, inclusiv în aplicație) tranzacția rămâne incompletă, atunci aceasta este anulată.

Există trei proprietăți principale inerente tranzacțiilor:

* atomicitate (toate operațiunile incluse în tranzacție sunt executate sau niciuna);

* serializare (nu există influență reciprocă a tranzacțiilor executate în același timp);

* durabilitate (chiar o blocare a sistemului nu duce la pierderea rezultatelor tranzacției angajate).

Un exemplu de tranzacție este operațiunea de transfer de bani dintr-un cont în altul în sistemul bancar. Mai întâi, banii sunt retrași dintr-un cont, apoi sunt creditați într-un alt cont. Dacă cel puțin una dintre acțiuni nu reușește, rezultatul operației va fi incorect și echilibrul operațiunii va fi deranjat.

Înregistrarea modificărilor este efectuată de SGBD pentru a asigura fiabilitatea stocării datelor în baza de date în prezența defecțiunilor hardware și software.

Asigurarea integrității bazei de date este o condiție necesară pentru funcționarea cu succes a bazei de date, mai ales atunci când aceasta este utilizată în rețea. Integritatea bazei de date este o proprietate a bazei de date, ceea ce înseamnă că aceasta conține informații complete, consecvente și care reflectă în mod adecvat informațiile din domeniu. Starea integrală a bazei de date este descrisă folosind constrângeri de integritate sub forma unor condiții care trebuie îndeplinite de datele stocate în baza de date.

Securitatea se realizează în SGBD prin criptarea datelor, protecția cu parolă, suport pentru niveluri de acces la baza de date și la elementele sale individuale (tabele, formulare, rapoarte etc.).

Etapele creării unei baze de date.

Proiectarea bazelor de date ale sistemelor informatice este o sarcină destul de laborioasă. Se desfășoară pe baza formalizării structurii și proceselor domeniului subiectului, informații despre care ar trebui să fie stocate în baza de date. Distingeți între designul conceptual și schematic-structural.

Proiectarea conceptuală a unui IS DB este în mare măsură un proces euristic. Adecvarea modelului infologic al domeniului de studiu construit în cadrul acestuia este verificată empiric, în procesul de funcționare a SI.

Să enumerăm etapele designului conceptual:

1. Studiul disciplinei pentru a forma o înțelegere generală a acesteia;

2. Alocarea și analiza funcțiilor și sarcinilor SI dezvoltat;

3. Determinarea principalelor obiecte-entități ale domeniului de studiu
și relația dintre ele;

4. Prezentarea formalizată a disciplinei.

La proiectarea unei scheme de baze de date relaționale, se pot distinge următoarele proceduri:

1. Determinarea listei de tabele și a relațiilor dintre acestea;

2. Determinarea listei de câmpuri, tipuri de câmpuri, câmpuri cheie ale fiecărui tabel (schema tabelului), stabilirea legăturilor între tabele prin chei străine;

3. Stabilirea indexării câmpurilor din tabele;

4. Elaborarea de liste (dicționare) pentru câmpurile cu enumerate
date;

5. Stabilirea de constrângeri de integritate pentru tabele și relații;

6. Normalizarea tabelelor, corectarea listei de tabele și link-uri.

Baze de date relaționale.

O bază de date relațională este un set de tabele interconectate, fiecare dintre ele conține informații despre obiecte de un anumit tip. Fiecare rând al tabelului conține date despre un obiect (de exemplu, mașină, computer, client), iar coloanele tabelului conțin diverse caracteristici ale acestor obiecte - atribute (de exemplu, numărul motorului, marca procesorului, numerele de telefon ale companiilor sau Clienți).

Rândurile din tabel se numesc înregistrări. Toate înregistrările tabelului au aceeași structură - sunt formate din câmpuri (elementele de date), care stochează atributele obiectului (Fig. 1). Fiecare câmp de înregistrare conține o caracteristică a obiectului și reprezintă un anumit tip de date (de exemplu, șir de text, număr, dată). Cheia primară este folosită pentru a identifica înregistrările. O cheie primară este un set de câmpuri de tabel a căror combinație de valori identifică în mod unic fiecare înregistrare din tabel.

Cheia principala

Fiecare tabel de bază de date poate avea o cheie primară. O cheie primară este un câmp sau un set de câmpuri care identifică în mod unic (unic) o înregistrare. Cheia primară ar trebui să fie minim suficientă: nu trebuie să conțină câmpuri, a căror eliminare din cheia primară nu îi va afecta unicitatea.

Datele tabelului „Profesor”

Numai „Tab. Nu.”, valorile altor câmpuri pot fi repetate în cadrul acestui tabel.

Cheie secundară

Cheile secundare sunt mecanismul principal pentru organizarea relațiilor dintre tabele și menținerea integrității și consecvenței informațiilor dintr-o bază de date.

Secundar este un câmp de tabel care poate conține numai valori care se află într-un câmp cheie al altui tabel care este referit printr-o cheie secundară. Cheia secundară leagă două tabele.

Relațiile de subordonare pot exista între două sau mai multe tabele de bază de date. Relațiile de subordonare determină că pentru fiecare înregistrare a tabelului principal (master, numit și părinte), pot exista una sau mai multe înregistrări în tabelul subordonat (detaliu, numit și copil).

Există trei tipuri de relații între tabelele bazei de date:

- „unu-la-mulți”

- "unu la unu"

- „mulți-la-mulți”

O relație unu-la-unu apare atunci când o înregistrare din tabelul părinte se potrivește cu o înregistrare din tabelul copil.

O relație de la mulți la mulți apare atunci când:

a) înregistrările din tabelul părinte pot corespunde mai multor înregistrări din tabelul fiu;

b) înregistrările din tabelul copil pot corespunde mai multor înregistrări din tabelul părinte.

O relație unu-la-mai multe apare atunci când mai multe înregistrări din tabelul copil pot corespunde aceleiași înregistrări din tabelul părinte.

Modele de baze de date fizice și logice

Model logic de date... La nivelul următor, inferior se află modelul logic de date al domeniului. Modelul logic descrie conceptele domeniului de studiu, relația lor, precum și constrângerile de date impuse de domeniul de studiu. Exemple de concepte sunt „angajat”, „departament”, „proiect”, „salariu”. Exemple de relații între concepte - „un angajat este listat într-un singur departament”, „un angajat poate realiza mai multe proiecte”, „mai mulți angajați pot lucra la un singur proiect”. Exemple de restricții sunt „vârsta angajatului nu este mai mică de 16 ani și nu mai mult de 60 de ani”.

Modelul logic de date este prototipul inițial pentru viitoarea bază de date. Modelul logic este construit în termeni de unităţi informaţionale, dar fără referire la un anumit SGBD... În plus, modelul de date logic nu trebuie să fie exprimat prin intermediul exact relaționale modele de date. Instrumentul principal pentru dezvoltarea unui model de date logic în acest moment sunt diverse opțiuni Diagramele ER (Entitate-Relație , diagrame entitate-relație ). Același model ER poate fi transformat atât într-un model de date relaționale, cât și într-un model de date pentru SGBD-uri ierarhice și de rețea, sau într-un model de date post-relațional. Cu toate acestea, din moment ce luăm în considerare doar SGBD relațional, atunci putem presupune că modelul de date logic pentru noi este formulat în termeni de modelul de date relațional.

Deciziile luate la nivelul anterior, atunci când se dezvoltă un model de domeniu, definesc niște granițe în cadrul cărora poate fi dezvoltat un model de date logic, în timp ce în aceste limite pot fi luate diverse decizii. De exemplu, modelul domeniului contabil al depozitului conține conceptele de „depozit”, „factură”, „mărfuri”. Atunci când se dezvoltă un model relațional adecvat, acești termeni trebuie utilizați, dar există multe moduri diferite de implementare - puteți crea o relație în care vor fi prezente atributele „depozit”, „factură”, „mărfuri” sau puteți crea trei relații separate, câte una pentru fiecare concept.

Când se dezvoltă un model de date logic, apar întrebări: relațiile sunt bine concepute? Reflectează ele corect modelul de domeniu și, prin urmare, domeniul în sine?

Model de date fizice... La un nivel și mai scăzut se află modelul de date fizice. Modelul fizic de date descrie datele prin intermediul unui SGBD specific. Vom presupune că modelul de date fizice este implementat prin intermediul precis relaționale DBMS, deși, așa cum am menționat mai sus, acesta este opțional. Relațiile dezvoltate în stadiul formării unui model de date logic sunt convertite în tabele, atributele devin coloane de tabele, sunt creați indecși unici pentru atributele cheie, domeniile sunt convertite în tipuri de date acceptate într-un anumit SGBD.

Constrângerile din modelul de date logic sunt implementate de diverse instrumente DBMS, de exemplu, folosind indici, constrângeri de integritate declarativă, declanșatoare, proceduri stocate. În acest caz, din nou, deciziile luate la nivelul modelării logice definesc niște granițe în cadrul cărora poate fi dezvoltat un model de date fizice. De asemenea, în aceste limite pot fi luate diferite decizii. De exemplu, relațiile conținute într-un model de date logic trebuie convertite în tabele, dar pentru fiecare tabel, puteți declara suplimentar indici diferiți pentru a îmbunătăți viteza de acces la date. Depinde mult de DBMS specific.

La proiectarea unui model de date fizice, apar întrebări: sunt tabelele bine concepute? Indicii sunt selectați corect? Cât de mult cod trebuie dezvoltat sub formă de declanșatori și proceduri stocate pentru a menține integritatea datelor?

  • familiarizați-vă cu tehnologia de construire a unui model logic în ERWin,
  • explorarea metodelor de determinare a atributelor cheie ale entităților,
  • stăpânește metoda de verificare a adecvării modelului logic,
  • explorați tipurile de relații dintre entități.

Primul pas în crearea unui model de bază de date logică este construirea unei diagrame ERD (Entity Relationship Diagram). Diagramele ERD sunt alcătuite din trei părți: entități, atribute și relații. Entitățile sunt substantive, atributele sunt adjective sau modificatori, relațiile sunt verbe.

Diagrama ERD vă permite să priviți întregul sistem și să aflați cerințele pentru dezvoltarea acestuia în ceea ce privește stocarea informațiilor.

Diagramele ERD pot fi subdivizate în piese separate corespunzătoare sarcinilor individuale rezolvate de sistemul proiectat. Acest lucru vă permite să vizualizați sistemul în termeni de funcționalitate, făcând procesul de proiectare gestionabil.

diagrame ERD

După cum știți, componenta principală a bazelor de date relaționale este un tabel. Tabelul este folosit pentru a structura și stoca informații. În bazele de date relaționale, fiecare celulă dintr-un tabel conține o valoare. În plus, în cadrul aceleiași baze de date, există relații între tabele, fiecare dintre ele specificând partajarea datelor din tabel.

O diagramă ERD reprezintă grafic structura de date a sistemului informațional proiectat. Entitățile sunt afișate folosind dreptunghiuri care conțin un nume. Se obișnuiește să se exprime nume cu substantive la singular, relații - folosind linii care leagă entitățile individuale. O relație indică faptul că datele de la o entitate sunt referite sau legate de date de la alta.

Orez.6.1. Un exemplu de diagramă ERD,

Definirea entităților și atributelor

O entitate este un subiect, loc, lucru, eveniment sau concept care conține informații. Mai precis, o entitate este o colecție (unire) de obiecte numite instanțe. În exemplul prezentat în fig. În exemplul 6.1, entitatea CLIENT reprezintă toți clienții posibili. Fiecare instanță a unei entități are un set de caracteristici. Deci, fiecare client poate avea un nume, adresă, număr de telefon etc. În modelul logic, toate aceste caracteristici sunt numite atribute ale entității.

În fig. 6.2 prezintă o diagramă ERD care include atributele entității.

Orez. 6.2. ERD-diagramă cu atribute

Relații logice

Relațiile logice sunt relații între entități. Ele sunt definite de verbe care arată modul în care o entitate se raportează la alta.

Câteva exemple de relații:

  • echipa include mulți jucători,
  • avionul transportă mulți pasageri,
  • vânzătorul vinde multe produse.

În toate aceste cazuri, relațiile reflectă o interacțiune unu-la-mulți între două entități. Aceasta înseamnă că o instanță a primei entități interacționează cu mai multe instanțe ale altei entități. Relațiile sunt afișate prin linii care leagă două entități cu un punct la un capăt și un verb deasupra liniei.

Pe lângă relația unu-la-mulți, există un alt tip de relație - mulți-la-mulți. Acest tip de relație descrie o situație în care instanțe de entitate pot interacționa cu mai multe instanțe ale altor entități. Relațiile multi-la-multe sunt utilizate în etapele inițiale de proiectare. Acest tip de relație este afișat ca o linie continuă cu puncte la ambele capete.

O relație multi-la-mulți poate să nu ia în considerare anumite constrângeri ale sistemului și, prin urmare, poate fi înlocuită cu unul-la-mulți atunci când proiectul este revizuit ulterior.

Verificarea adecvării modelului logic

Dacă relațiile dintre entități au fost corect stabilite, atunci puteți face propoziții care le descriu. De exemplu, conform modelului prezentat în fig. 6.3, puteți face următoarele propoziții:

Avionul transportă pasageri. Mulți pasageri sunt transportați cu un singur avion.

Elaborarea unor astfel de propuneri vă permite să verificați conformitatea modelului rezultat cu cerințele și limitările sistemului creat.

Orez. 6.3.Un exemplu de model logic cu o relație

Model de date bazat pe chei

Fiecare entitate conține o linie orizontală care împarte atributele în două grupuri. Atributele de deasupra liniei sunt numite cheie primară. Cheia primară este pentru identificarea unică a unei instanțe de entitate.

Selectarea unei chei primare

La crearea unei entități, este necesar să selectați un grup de atribute care pot deveni potențial cheie primară (chei potențiale), apoi selectați atributele pentru includerea în cheia primară, urmând următoarele recomandări:

Cheia primară trebuie aleasă în așa fel încât valorile atributelor incluse în ea să poată identifica cu exactitate instanța entității. Niciunul dintre atributele cheii primare nu trebuie să fie nul. Valorile atributelor cheii primare nu ar trebui să se schimbe. Dacă valoarea sa schimbat, atunci aceasta este deja o instanță diferită a entității.

Atunci când alegeți o cheie primară, puteți adăuga un atribut suplimentar entității și o puteți transforma într-o cheie. Deci, pentru a determina cheia primară, sunt adesea folosite numere unice, care pot fi generate automat de sistem atunci când o instanță de entitate este adăugată la baza de date. Utilizarea numerelor unice facilitează procesul de indexare și căutare în baza de date.

Cheia primară aleasă la crearea modelului logic poate fi nereușită pentru accesul eficient la baza de date și trebuie schimbată în timpul proiectării modelului fizic.

O cheie potențială care nu a devenit cheia primară se numește cheie alternativă. ERWin vă permite să selectați atributele cheilor alternative, iar în mod implicit, în viitor, la generarea unei scheme de bază de date, va fi generat un index unic pentru aceste atribute. Când creați o cheie alternativă, simbolurile (AK) apar pe diagramă de lângă atribut.

Atributele implicate în indecșii non-unici se numesc intrări de inversare. Intrările inverse sunt un atribut sau un grup de atribute care nu identifică în mod unic o instanță, dar sunt adesea folosite pentru a se referi la instanțe de entitate. ERWin generează un index neunic pentru fiecare intrare de inversare.

Când se stabilește o relație între două entități, cheile străine sunt generate automat în entitatea copil. Relația formează o referință la atributele cheii primare din entitatea copil, iar aceste atribute formează cheia externă în entitatea copil. Atributele cheii străine sunt identificate prin caractere (FK) după numele lor.

Exemplu

Să luăm în considerare procesul de construire a unui model logic folosind exemplul unei baze de date studenți a sistemului „Serviciul de ocupare a forței de muncă în cadrul Universității”. Primul pas este definirea entităților și atributelor. Baza de date va stoca înregistrări despre studenți, prin urmare, entitatea va fi un student.

Tabelul 6.1.Atributele entității „Student”.

Atribut Descriere
Număr Număr unic pentru identificarea utilizatorului
NUMELE COMPLET. Numele, numele și patronimul utilizatorului
Parola Parola de acces la sistem
Vârstă Vârsta studentului
Podea Genul elevului
Caracteristică Câmp de memorare cu caracteristici generale ale utilizatorului
E-mail Adrese de email
Telefon Numerele de telefon ale studenților (acasă, serviciu)
experienţă Specialități și experiență de lucru a studenților în fiecare dintre ele
Specialitate Specialitate dobândită de un student la absolvire
Specializare Direcția specialității în care este pregătit studentul
Limbă străină Lista limbilor străine și nivelul de competență al acestora
Testare Lista probelor și notele de promovare a acestora
Revizuirea expertului Lista de subiecte cu evaluări de experți pentru fiecare dintre ele
Notele examenului Lista disciplinelor promovate cu note

Lista rezultată conține atribute care nu pot fi definite ca un singur câmp de bază de date. Astfel de atribute necesită definiții suplimentare și ar trebui considerate ca entități, constând, la rândul lor, din atribute. Acestea includ: experiență de muncă, o limbă străină, testare, evaluare peer, note la examen. Să le definim atributele.

Tabelul 6.2.Atributele entității „Experiență de lucru”.

Tabelul 6.3.Atributele entității de limbă străină

Tabelul 6.4.Atributele entității de testare

Tabelul 6.5.Atribute ale entității de judecată expert

Atribut Descriere
Disciplina Numele disciplinei în care studentul a fost evaluat
NUMELE COMPLET. profesor NUMELE COMPLET. profesorul care a notat elevul
Nota Evaluarea de specialitate a profesorului
Atribut Descriere
Lucru Numele materiei pentru care a fost promovat examenul
Nota Scorul rezultat

Să compunem o diagramă ERD, definind tipurile de atribute și stabilind relațiile dintre entități (Fig. 6.4). Toate entitățile vor fi dependente de entitatea „Student”. Relațiile vor fi unul la mai mulți.

Orez. 6.4.ERD-diagrama DB de elevi

Diagrama rezultată își afișează numele lângă relație, care arată relația dintre entități. Când se stabilește o relație între entități, cheia primară este migrată la entitatea copil.

Următorul pas în construirea unui model logic este definirea atributelor cheie și a tipurilor de atribute.

Tabelul 6.7.Tipuri de atribute

Atribut Un fel

Caracteristică

Specialitate

Specializare

Loc de munca

Nivel de competență

Nume

Descriere

Disciplina

NUMELE COMPLET. profesor

Să selectăm pentru fiecare entitate atributele cheie care definesc în mod unic entitatea. Pentru entitatea „Student”, acesta va fi un număr unic, pentru entitatea „Experiență de muncă”, toate domeniile sunt cheie, deoarece în diferite specialități un student poate avea experiență de lucru diferită în diferite companii. Esența „Testului” este determinată de nume, deoarece un elev poate avea o singură notă pentru un test. Evaluarea pentru examen este determinată doar de numele subiectului, evaluarea expertului depinde de profesorul care a făcut-o, prin urmare, ca atribute cheie, vom alege „Disciplina” și „Numele complet. profesor ". Pentru entitatea „Limbă străină”, nivelul de competență depinde doar de numele limbii, prin urmare, acesta va fi atributul cheie.

Obținem o nouă diagramă prezentată în Fig. 6.5, unde toate atributele cheie vor fi deasupra barei orizontale din cadrul care reprezintă entitatea.

Orez. 6.5.Diagrama ERD a bazei de date studenți cu atribute cheie

Întrebări de control

  1. Care sunt părțile principale ale diagramei ERD?
  2. Scopul diagramei ERD.
  3. Care este componenta principală a bazelor de date relaționale?
  4. Cum se numește entitate?
  5. Formulați principiul denumirii entităților.
  6. Ce arată relația dintre entități?
  7. Care sunt tipurile de relații logice.
  8. Cum sunt afișate relațiile logice?
  9. Descrieți mecanismul de verificare a adecvării modelului logic.
  10. Ce se numește cheie primară?
  11. Care sunt principiile după care se formează cheia primară?
  12. Ce se numește o cheie alternativă?
  13. Ce se numește intrare inversă?
  14. Când sunt generate cheile străine?
  1. Tema, scopul lucrării.
  2. ERD-diagrama serviciului DB Angajare cu atribute si chei.
  3. Concluzii asupra muncii

Introducere. Concepte de bază de baze de date

Bazele de date (DB) sunt utilizate în diverse domenii și sfere ale activității umane. De exemplu, pot exista baze de date care conțin informații despre clienți, bunuri, servicii furnizate, tranzacții comerciale etc. În literatura de specialitate sunt propuse numeroase definiții ale bazelor de date, care reflectă anumite aspecte ale opiniei subiective a diverșilor autori. Vom înțelege printr-o bază de date un set de obiecte (mărfuri, clienți, așezări) prezentate în așa fel încât să fie posibilă căutarea și prelucrarea lor cu ajutorul unui computer. Se numesc mijloacele de gestionare a acestor date sisteme de management al bazelor de date(SGBD).

Istoria dezvoltării sistemelor de gestionare a bazelor de date (DBMS) are câteva decenii în urmă. Primul DBMS industrial de la IBM a fost pus în funcțiune în 1968, iar în 1975 a apărut primul standard, care a definit o serie de concepte de bază în teoria sistemelor de baze de date.

Dezvoltarea tehnologiei informatice, apariția computerelor personale, a stațiilor de lucru puternice și a rețelelor de calculatoare au dus la dezvoltarea tehnologiei bazelor de date. Calculatoarele au devenit un instrument de documentare, forțând dezvoltatorii de software să creeze sisteme care sunt denumite în mod obișnuit DBMS-uri desktop.

Odată cu apariția rețelelor locale, informațiile sunt transferate între computere, așa că a apărut problema reconcilierii datelor stocate și prelucrate în diferite locuri, dar conectate logic. Soluția acestei probleme a dus la apariția bazelor de date distribuite care permit organizarea procesării paralele a informațiilor și menținerea integrității bazelor de date.

Pentru stocarea distribuită a datelor și accesul la baza de date, calculatoarele sunt combinate în rețele locale, regionale și chiar globale. În prezent, tehnologia client-server este utilizată pe scară largă pentru a construi rețele. Un sistem client-server este o rețea locală obișnuită care conține un grup de computere client și un computer special - un server. Calculatoarele client solicită serverului diverse servicii. Computerul server le poate trimite diverse programe, cum ar fi procesarea de text, lucrul cu tabele, executarea interogărilor bazei de date și returnarea rezultatelor. Ideea de bază este că fiecare computer face ceea ce face cel mai eficient. Serverul preia și actualizează datele, clientul efectuează calcule personalizate și furnizează rezultatele utilizatorului final. La început, serverele îndeplineau cele mai simple funcții: servere de imprimare, servere de fișiere, la solicitarea clientului de a accesa un fișier, serverul trimitea acest fișier către computerul client. Un server de baze de date este un program care rulează pe un computer server și menține accesul clientului la baza de date. Astfel, sistemul client-server se bazează pe principiul diviziunii muncii. Un client este un computer cu care lucrează un utilizator, iar un computer server realizează întreținerea unui grup de clienți: acces la o bază de date, actualizarea unei baze de date etc. Modul progresiv de acces colectiv la bazele de date în ultimii 20 de ani a fost utilizarea World Wide Web cu un grup de servicii ale acestuia.

Exemple de servere includ:

Server de telecomunicaţii care furnizează un serviciu pentru conectarea unei reţele locale cu alte reţele şi servere;

Server de calcul, care face posibilă efectuarea de calcule care nu pot fi efectuate pe stațiile de lucru;

Un server de disc care are resurse de memorie externă extinse și le face disponibile pentru utilizare de către computerele client și, eventual, alte servere;

Server de fișiere care acceptă stocarea de fișiere partajată pentru toate stațiile de lucru;

Serverul bazei de date este de fapt un SGBD obișnuit care primește și servește cereri prin rețeaua locală.

Deși, de obicei, o singură bază de date întreagă este stocată pe un singur nod de rețea și întreținută de un singur server, serverele de baze de date sunt o aproximare simplă și ieftină a bazelor de date distribuite, deoarece o bază de date partajată este disponibilă pentru toți utilizatorii din rețeaua locală.

Accesul la baza de date dintr-un program de aplicație sau dintr-un utilizator se face prin accesarea părții client a sistemului. Interfața principală dintre părțile client și server este limbajul bazei de date SQL. Numele colectiv SQL Server se referă la toate serverele de baze de date bazate pe SQL. Respectand precautii in programare, este posibila crearea unor sisteme informatice de aplicatii, mobile in clasa SQL-server-urilor.

Una dintre zonele promițătoare ale SGBD este configurarea flexibilă a sistemului, în care distribuția funcțiilor între părțile client și utilizator ale SGBD este determinată în timpul instalării sistemului.

DBMS trebuie să asigure integritatea datelor logice . Integritatea logică a bazei de date ar trebui să implice menținerea unor informații consecvente și complete care să reflecte în mod adecvat domeniul de subiect.

Asociat cu cerința integrității datelor logice este conceptul tranzactii. Tranzacţie- un grup de operațiuni secvențiale unite logic pentru lucrul cu date, prelucrate sau anulate în întregime. De exemplu, dacă plasați o comandă pentru un anumit produs, trebuie să efectuați o serie de operațiuni: înregistrarea unei comenzi pentru un produs, rezervarea unui produs, reducerea acestui produs în depozit. Dacă are loc o încălcare în oricare dintre etape, va avea loc o eșec, iar integritatea logică a bazei de date va fi încălcată. Pentru a preveni astfel de cazuri, este introdusă tranzacția „Checkout”. , în care toate operațiunile necesare trebuie fie efectuate pe baza de date, adică. produsul este vândut, cantitatea acestuia în depozit scade sau are loc o revenire la starea inițială (produsul nu este vândut și cantitatea acestuia în depozit rămâne aceeași).

SGBD interacționează între baza de date și utilizatorii sistemului, precum și între baza de date și programele de aplicație care implementează anumite funcții de prelucrare a datelor.

DBMS oferă stocare fiabilă a unor cantități mari de date complexe în memoria externă a unui computer și acces eficient la acestea. Principalele funcții ale SGBD sunt:

· Definirea datelor - se determină informațiile care ar trebui stocate în baza de date, se stabilește structura datelor, tipul acestora și se indică modul în care datele vor fi legate între ele;

· Prelucrarea datelor - datele pot fi prelucrate în diverse moduri: selectați orice câmpuri, filtrați și sortați datele, combinați datele și calculați totalurile;

· Managementul datelor - sunt stabilite reguli de acces la date, modificarea acestora și adăugarea de date noi, sunt stabilite reguli de utilizare colectivă a datelor.

Model ierarhic de date

Primele modele de date ierarhice au apărut la sfârșitul anilor 1950. Ele reprezentau o structură arborescentă, în care datele erau distribuite pe niveluri de la master la subordonat și reprezentau un grafic nedirecționat. Un exemplu de model de date ierarhice este prezentat în Fig. unu.

Fig 1. Model ierarhic de date

Modelul se caracterizează prin numărul de niveluri și noduri. Fiecare nivel reprezintă unul sau mai multe obiecte (date) și poate avea mai multe noduri de niveluri subordonate, iar legăturile dintre toate obiectele sunt rigid fixate și un descendent poate avea cel mult un strămoș. Principalele tipuri de structuri de date ale modelului considerat sunt câmp, înregistrare, fișier. Înregistrarea este principala unitate structurală a procesării datelor și unitatea de schimb între memoria operațională și cea externă. Într-un model bazat pe înregistrări, baza de date constă din înregistrări cu format fix care pot fi de diferite tipuri. Fiecare tip de înregistrare definește un număr fix de câmpuri, fiecare dintre ele având o lungime fixă.

Un câmp este o unitate elementară de organizare logică a datelor care corespunde unei unități de informații separate, indivizibile - un atribut.

O înregistrare este o colecție de câmpuri corespunzătoare atributelor legate logic. Structura unei înregistrări este determinată de compoziția și secvența câmpurilor sale constitutive, fiecare dintre acestea conținând date elementare.

Un fișier este un set de înregistrări cu aceeași structură cu valori în câmpuri separate, iar câmpurile au o singură semnificație.

Un reprezentant tipic (cel mai faimos și răspândit) este IBM IMS (Information Management System). Prima versiune a sistemului a apărut în 1968.

2.2.2. Model de date de rețea

Un model de rețea este înțeles ca un model de date similar cu unul ierarhic, dar care permite un sistem liber de conexiuni între noduri de diferite niveluri. Este o extensie a modelului de date ierarhice. Astfel, modelele de rețea permit prezența a doi sau mai mulți „strămoși” (Fig. 2).

Spre deosebire de un model ierarhic, un descendent al unui model de rețea poate avea mai mulți strămoși, iar un obiect poate fi atât principal, cât și subordonat. Astfel, în acest model, relația dintre date este de așa natură încât fiecare înregistrare poate fi subordonată înregistrărilor din mai mult de un fișier. În modelele de rețea, poți, prin cheie, să ai acces direct la orice obiect, indiferent de nivelul la care se află în model.

Avantajul modelului de rețea poate fi atribuit eficienței implementării în ceea ce privește gradul de consum de memorie și viteza de acces. Dezavantajul este complexitatea crescută a schemei de date construite pe baza acesteia.

Orez. 2. Model de date de rețea

Un reprezentant tipic al sistemelor bazate pe modelul de date de rețea este IDMS (Integrated Database Management System), dezvoltat de Cullinet Software, Inc. și sa concentrat inițial pe utilizarea mainframe-urilor (calculatoare cu uz general) de către IBM. Arhitectura sistemului se bazează pe propunerile Data Base Task Group (DBTG) al organizației CODASYL (Conference on Data Systems Languages), care a fost responsabilă cu definirea limbajului de programare COBOL. Raportul DBTG a fost publicat în 1971 și, la scurt timp după aceea, au apărut mai multe sisteme care suportă arhitectura CODASYL, inclusiv IDMS. IDMS este în prezent deținut de Computer Associates.

Normalizarea bazei de date

La proiectarea bazelor de date, cel mai important lucru este definirea structurilor tabelelor și a relațiilor dintre acestea. Erorile din structura datelor sunt dificil, dacă nu imposibil, de corectat programatic. Cu cât structura datelor este mai bună, cu atât este mai ușor să programați baza de date. Teoria proiectării bazei de date conține conceptul de forme normale concepute pentru a optimiza structura bazei de date. Formele normale sunt o secvență liniară de reguli aplicate bazei de date, iar cu cât numărul formei normale este mai mare, cu atât structura bazei de date este mai perfectă. Normalizarea este un proces în mai mulți pași în care tabelele bazei de date sunt organizate, decuplate și datele sunt puse în ordine. Sarcina normalizării este de a elimina unele caracteristici nedorite din baza de date. În special, sarcina este de a elimina unele tipuri de redundanță a datelor și, prin urmare, de a evita anomaliile atunci când datele se modifică. Anomaliile de modificare a datelor sunt complexități în operațiunile de inserare, modificare și ștergere a datelor care decurg din structura bazei de date. Deși există multe niveluri, este de obicei suficient să se normalizeze la a treia formă normală.

Să luăm în considerare un exemplu de normalizare a bazei de date de gestionare a livrării comenzilor. O bază de date dezordonată „Vânzări” ar consta dintr-un tabel (Fig. 7).

Fig. 7. DB „Vânzări”

În tabel, fiecare înregistrare conține informații despre mai multe comenzi de la același client. Deoarece coloana cu informații despre produs conține prea multe date, este dificil să se obțină informații comandate din acest tabel (de exemplu, să se întocmească un raport privind achizițiile totale pentru diferite tipuri de bunuri).

Prima formă normală

Prima formă normală predetermina atomicitatea tuturor datelor conținute în coloane. Cuvântul „atom” provine din latinescul „atomis”, care înseamnă literal „nu se poate separa”. Prima formă normală specifică că există o singură valoare la fiecare poziție definită de un rând și coloană, nu o matrice sau o listă de valori. Avantajele acestei cerințe sunt evidente: dacă listele de valori sunt stocate într-o singură coloană, atunci nu există o modalitate ușoară de a manipula acele valori. Desigur, acest lucru crește numărul de înregistrări din tabel.

Să normalizăm baza de date de vânzări la prima formă normală (Fig. 8).

Fig. 8. Prima formă normală

3.3.2. A doua formă normală

Puteți merge la a doua formă normală dintr-un tabel care corespunde deja cu prima formă normală. În plus, trebuie îndeplinită următoarea condiție: fiecare câmp fără cheie trebuie să depindă complet de cheia primară.

Să normalizăm baza de date de vânzări la a doua formă normală. Toate informațiile care nu sunt legate de comenzile individuale vor fi evidențiate într-un tabel separat. Ca urmare, în loc de un tabel „Vânzări” vom obține două - tabelul „Comenzi” (Fig. 9) și tabelul „Produse” (Fig. 10).

Fig. 9. Tabelul comenzilor

Fig. 10. Tabel cu produse

Astfel, tipul de produs este stocat într-un singur tabel. Vă rugăm să rețineți că nicio informație nu se pierde în timpul normalizării.

3.3.3. A treia formă normală

Un tabel este considerat a fi în a treia formă normală dacă este în a doua formă normală și toate coloanele care nu sunt cheie sunt independente reciproc. O coloană ale cărei valori sunt calculate din datele din alte coloane este un exemplu de dependență.

Să normalizăm baza de date de vânzări la a treia formă normală. Pentru a face acest lucru, eliminați coloana „Total” din tabelul „Comenzi”. Valorile din această coloană sunt independente de orice cheie și pot fi calculate folosind formula ("Preț") * ("Cantitate"). Astfel, am obținut baza de date „Vânzări” cu o structură optimă, care constă din două tabele (Fig. 11).

Orez. 11. Baza de date normalizată „Vânzări”

3.2 Implementarea software a bazei de date

Implementarea software a bazei de date se realizează prin crearea unui SGBD țintă în limbajul de definire a datelor (DDL). Comenzile DDL sunt compilate și utilizate pentru a genera scheme și fișiere de baze de date goale. În aceeași etapă, sunt definite și toate vizualizările specifice ale utilizatorilor.

Programele de aplicație sunt implementate folosind limbaje de generația a treia sau a patra. Unele elemente ale acestor aplicații vor fi tranzacții de procesare a bazelor de date scrise în limbajul de manipulare a datelor (DML) al SGBD-ului țintă și apelate din programe în limbajul de programare de bază - de exemplu, Visual Basic, C++, Java. De asemenea, creează și alte componente ale proiectului aplicației - de exemplu, ecrane de meniu, formulare de introducere a datelor și rapoarte. Trebuie avut în vedere faptul că multe SGBD-uri existente au propriile instrumente de dezvoltare care vă permit să creați rapid aplicații folosind limbaje de interogare non-procedurale, o varietate de generatoare de rapoarte, generatoare de formulare, generatoare de grafică și generatoare de aplicații.

Această fază implementează și instrumentele utilizate de aplicație pentru a proteja baza de date și a menține integritatea acesteia. Unele dintre ele sunt descrise folosind limbajul DDL, în timp ce altele ar putea trebui să fie determinate prin alte mijloace - de exemplu, folosind utilitare DBMS suplimentare sau prin crearea de programe de aplicație care implementează funcțiile necesare.

3.2.1. Dezvoltarea aplicației

Dezvoltarea aplicațiilor este proiectarea interfeței utilizator și a programelor de aplicație concepute pentru a funcționa cu o bază de date. În cele mai multe cazuri, proiectarea aplicației nu poate fi finalizată până când proiectarea bazei de date este completă. Pe de altă parte, o bază de date este concepută pentru a susține aplicații, deci trebuie să existe un schimb constant de informații între proiectarea bazei de date și proiectarea aplicațiilor pentru acea bază de date.

Trebuie să vă asigurați că toate funcționalitățile prevăzute în specificațiile cerințelor utilizatorului sunt furnizate de interfața de utilizator a aplicațiilor respective. Acest lucru este valabil atât pentru proiectarea aplicațiilor pentru accesarea informațiilor din baza de date, cât și pentru proiectarea tranzacțiilor, i.e. proiectarea metodelor de acces la bazele de date.

Pe lângă proiectarea modalităților prin care un utilizator poate accesa funcționalitatea de care are nevoie, ar trebui să proiectați și o interfață de utilizator adecvată pentru aplicațiile dumneavoastră de bază de date. Această interfață ar trebui să ofere informațiile de care utilizatorul are nevoie în cel mai convenabil mod pentru el.

3.2.2 Testarea bazei de date

Testarea este procesul de executare a programelor de aplicație pentru a găsi erori. Înainte de a pune în practică un nou sistem, acesta ar trebui testat temeinic. Acest lucru poate fi realizat prin dezvoltarea unui algoritm de testare atent, folosind date reale, care trebuie construite în așa fel încât întregul proces de testare să fie efectuat într-un mod strict secvenţial și corect metodic. Sarcina de a testa nu este un proces de demonstrare a absenței erorilor, este puțin probabil să fie capabil să demonstreze absența erorilor în software - mai degrabă, dimpotrivă, poate arăta doar prezența acestora. Dacă testarea are succes, atunci erorile din programele de aplicație și structurile bazei de date vor fi cu siguranță dezvăluite. Ca produs secundar, testarea poate arăta doar că baza de date și aplicațiile funcționează conform specificațiilor lor, în timp ce îndeplinesc cerințele de performanță existente. În plus, colectarea datelor statistice în etapa de testare face posibilă stabilirea unor indicatori ai fiabilității și calității software-ului creat.

Ca și în cazul proiectării bazei de date, utilizatorii noului sistem trebuie să fie implicați în procesul de testare. În mod ideal, testarea sistemului ar trebui efectuată pe un set separat de echipamente, dar adesea acest lucru nu este posibil. Atunci când utilizați date reale, este important să creați mai întâi copii de siguranță în caz de deteriorare din cauza erorilor. La finalizarea testării, procesul de creare a unui sistem de aplicații este considerat finalizat și poate fi transferat în exploatare industrială.

3.3 Operarea și întreținerea bazei de date

Operare și întreținere - Menține funcționarea normală a bazei de date.

În pașii anteriori, aplicația de bază de date a fost complet implementată și testată. Sistemul intră acum în ultima etapă a ciclului său de viață numită Operațiuni și întreținere. Include efectuarea de acțiuni precum:

· Monitorizarea performanței sistemului. Dacă performanța scade sub un nivel acceptabil, atunci poate fi necesară o reorganizare suplimentară a bazei de date;

· Întreținerea și modernizarea (dacă este necesar) aplicațiilor de baze de date. Noi cerințe sunt încorporate în aplicația de bază de date atunci când etapele anterioare ale ciclului de viață sunt repetate.

Odată ce baza de date este în funcțiune, ar trebui să monitorizați în mod constant procesul de funcționare a acesteia pentru a vă asigura că performanța și alți indicatori îndeplinesc cerințele. Un SGBD obișnuit oferă de obicei diverse utilitare de administrare a bazei de date, inclusiv utilitare pentru încărcarea datelor și monitorizarea performanței sistemului. Aceste utilitare pot monitoriza performanța sistemului și pot furniza informații despre diverse metrici, cum ar fi utilizarea bazei de date, performanța sistemului de blocare (inclusiv informații despre numărul de blocaje care au apărut) și strategii de execuție a interogărilor selectabile. Administratorul bazei de date poate folosi aceste informații pentru a regla sistemul pentru a îmbunătăți performanța (de exemplu, prin crearea de indici suplimentari), accelerarea interogărilor, modificarea structurilor de stocare, alăturarea sau împărțirea tabelelor individuale.

Procesul de monitorizare trebuie menținut pe tot parcursul procesului de aplicare, astfel încât o reorganizare eficientă a bazei de date să poată fi efectuată în orice moment pentru a îndeplini cerințele în schimbare. Modificări ca acestea oferă informații despre cele mai probabile îmbunătățiri ale bazei de date și resurse care ar putea fi necesare în viitor. Dacă SGBD utilizat nu are unele dintre utilitățile necesare, atunci administratorul va trebui fie să le dezvolte independent, fie să achiziționeze instrumentele suplimentare necesare de la dezvoltatori terți.

4. DBMS Microsoft Access

4.1 Scop și informații generale despre Microsoft Access DBMS

Sistemul Microsoft Access este un sistem de gestionare a bazelor de date care utilizează un model de date relaționale și face parte din pachetul de aplicații Microsoft Office. Este conceput pentru stocarea, introducerea, căutarea și editarea datelor, precum și pentru emiterea lor într-o formă convenabilă.

Aplicațiile pentru Microsoft Access includ următoarele:

· În afaceri mici (contabilitate, introducerea comenzilor, menținerea informațiilor despre clienți, păstrarea informațiilor despre contactele de afaceri);

· În marile corporații (aplicații pentru grupuri de lucru, sisteme de prelucrare a informațiilor);

· Ca DBMS personal (director de adrese, menținerea unui portofoliu de investiții, carte de bucate, cataloage de cărți, înregistrări, videoclipuri etc.).

Access este unul dintre cele mai puternice, mai ușor de utilizat și mai simple sisteme de gestionare a bazelor de date. Deoarece Access face parte din Microsoft Office, are multe dintre caracteristicile aplicațiilor Office și poate comunica cu acestea. De exemplu, în timp ce lucrați în Access, puteți deschide și edita fișiere și puteți utiliza clipboard pentru a copia date din alte aplicații.

Instrumentele de proiectare a obiectelor din Access sunt „vrăjitori” și „designeri”. Acestea sunt programe speciale care sunt folosite pentru a crea și edita tabele, interogări, diferite tipuri de formulare și rapoarte. De obicei, „vrăjitorul” este folosit pentru a crea, iar „designerul” - pentru a edita obiecte. Procesul de editare presupune modificarea aspectului unui obiect pentru a-l îmbunătăți. Când editați un formular, puteți modifica numele și ordinea câmpurilor, puteți mări sau micșora dimensiunea zonei de introducere a datelor etc. Puteți folosi, de asemenea, „constructorul” pentru a crea formulare, dar aceasta este o muncă care necesită foarte mult timp. Access include instrumente software care vă ajută să analizați structurile de date, să importați foi de calcul și date text, să îmbunătățiți performanța aplicațiilor și să creați și să personalizați aplicații folosind șabloane încorporate. Pentru a automatiza complet aplicațiile, puteți utiliza macrocomenzi pentru a lega datele la formulare și rapoarte.

Access implementează managementul bazelor de date relaționale. Sistemul acceptă chei primare și străine. Menține integritatea datelor la nivel de kernel, ceea ce previne operațiunile de actualizare sau ștergere incompatibile. Tabelele din Access sunt echipate cu instrumente de validare a datelor; nu este permisă introducerea nevalidă. Fiecare câmp din tabel are propriul său format și descrieri standard pentru a facilita introducerea datelor. Access acceptă următoarele tipuri de câmpuri, inclusiv: Tab, Text, Numeric, Counter, Currency, Data/Time, MEMO, Boolean, Hyperlink, OLE Object Fields, Attachment și Calculated. Dacă câmpurile nu conțin nicio valoare, sistemul oferă suport complet pentru valorile nule.

În Access, puteți utiliza grafice, la fel ca în Microsoft Word, Excel, PowerPoint și alte aplicații, pentru a crea diferite tipuri de grafice și diagrame. Puteți crea diagrame cu bare, 2D și 3D. Puteți adăuga tot felul de obiecte la formularele și rapoartele Access: imagini, diagrame, clipuri audio și video. Prin legarea acestor obiecte la baza de date proiectată, puteți crea formulare și rapoarte dinamice. De asemenea, puteți utiliza macrocomenzi în Access pentru a automatiza unele sarcini. Acestea vă permit să deschideți și să închideți formulare și rapoarte, să creați meniuri și casete de dialog pentru a automatiza crearea diferitelor sarcini ale aplicației.

Access oferă ajutor sensibil la context făcând clic , iar ecranul va afișa informații de fundal despre problema care interesează utilizatorul în acest moment. În acest caz, puteți accesa cu ușurință cuprinsul sistemului de ajutor, informații specifice, istoricul apelurilor anterioare și marcaje. Informațiile bazei de date sunt stocate într-un fișier cu extensia .accdb.

4.2. Obiecte Microsoft Access

Când porniți Access DBMS, apare o fereastră pentru crearea unei noi baze de date sau pentru a lucra cu baze de date create anterior sau șabloane deja existente (Fig. 12).

Orez. 12. Lansarea Access

Șabloanele sunt structuri de baze de date goale în care sunt definite tipurile de câmpuri, sunt create obiectele principale, se realizează relația dintre tabele etc.

Când creați o nouă bază de date, Access deschide un tabel gol care conține un rând și două coloane (Figura 13).

Fig. 13. O nouă fereastră de bază de date

În partea stângă a ferestrei (zona de navigare) sunt afișate toate obiectele de bază de date create, în timp ce vedem doar un tabel gol, deoarece obiectele create în noua bază de date nu mai există (Fig. 13). Obiectele principale ale SGBD-ului Access sunt următoarele.

Mese... Tabelele sunt obiectele principale ale bazelor de date deoarece stochează toate datele și definesc structura bazei de date. O bază de date poate conține mii de tabele, a căror dimensiune este limitată doar de spațiul disponibil pe hard disk de pe computer. Numărul de înregistrări din tabele este determinat de dimensiunea hard diskului, iar numărul de câmpuri nu depășește 255.

Tabelele din Access pot fi create astfel:

· În modul „constructor”;

· În modul de introducere a datelor în tabel.

Puteți crea un tabel importând sau conectând la date stocate în altă parte. Acest lucru se poate face, de exemplu, cu date stocate într-un fișier Excel, într-o listă Windows SharePoint Services, fișier XML, o altă bază de date MS ACCESS. Lista SharePoint vă permite să oferiți acces la date utilizatorilor care nu au MS ACCESS instalat. Importul datelor creează o copie a acestora într-un nou tabel din baza de date curentă. Modificările ulterioare ale datelor originale nu vor afecta datele importate și invers. Când vă legați de date, un tabel legat este creat în baza de date curentă care se conectează dinamic la datele stocate în altă parte. Modificările aduse datelor din tabelul legat sunt reflectate în sursă, iar modificările aduse sursei sunt reflectate în tabelul legat.

Vizualizarea tabel afișează datele care sunt stocate în tabel, iar vizualizarea Design afișează structura tabelului.

Dacă tabelele partajează câmpuri, puteți utiliza un tabel subordonat pentru a insera înregistrări dintr-un altul într-un tabel. Această abordare vă permite să vizualizați date din mai multe tabele în același timp.

Întrebări... Interogările sunt instrumente speciale concepute pentru a căuta și analiza informații în tabele de baze de date care îndeplinesc anumite criterii. Înregistrările găsite, numite rezultate de interogare, pot fi vizualizate, editate și analizate într-o varietate de moduri. În plus, rezultatele interogării pot fi folosite ca bază pentru crearea altor obiecte Access. Există diferite tipuri de interogări, dintre care cele mai frecvente sunt interogări selectate, interogări parametrice și încrucișate, interogări de ștergere a înregistrărilor, interogări de modificare și altele. Mai puțin utilizate sunt interogările de acțiune și interogările SQL (Structured Query Language). Dacă cererea necesară nu este disponibilă, atunci aceasta poate fi creată suplimentar.

Interogările sunt formate în diferite moduri, de exemplu, folosind „vrăjitorul”, puteți crea o interogare manual și în modul „proiectare”. Cel mai simplu și cel mai frecvent utilizat tip de interogare este o interogare selectă. Aceste interogări selectează date dintr-unul sau mai multe tabele și formează un nou tabel din ele, înregistrările în care pot fi modificate. Interogările de selectare sunt folosite pentru a calcula sume, medii și alte totaluri. Astfel, interogările folosesc date din tabelele de bază și creează tabele temporare.

Forme... Formularele sunt folosite pentru a introduce și edita înregistrări în tabelele bazei de date. Formularele pot fi afișate în trei moduri: în modul destinat introducerii datelor, în modul tabel, unde datele sunt prezentate în format tabelar și în modurile „aspect” și „design”, permițându-vă să faceți modificări și completări la formele.

Elementele principale ale formularului sunt etichetele, care indică textul care este afișat direct în formular și câmpurile care conțin valorile câmpurilor din tabel. În timp ce modul Design vă permite să creați un formular de la zero, acesta este de obicei folosit pentru a rafina și îmbunătăți formularele create cu ajutorul expertului. Pe lângă instrumentele de mai sus, formularele pot fi create și folosind următoarele instrumente:

· „forma”;

· „Forma divizată”;

· „Câteva elemente”;

· „Formă goală”.

Cel mai eficient este să folosiți formulare pentru introducerea datelor sub formă de formulare speciale, deoarece formularul poate fi sub forma unui formular. Utilizarea formularelor vă permite să introduceți date într-o formă ușor de utilizat de documente familiare. Formularele I/O vă permit să introduceți date în baza de date, să le vizualizați, să modificați valorile câmpurilor, să adăugați și să ștergeți înregistrări. Un formular poate conține un buton folosit pentru a tipări un raport, a deschide alte obiecte sau pentru a efectua automat alte sarcini.

Rapoarte... Rapoartele sunt folosite pentru a afișa informații în tabele într-o formă formatată, care este prezentată în mod clar atât pe ecranul monitorului, cât și pe hârtie. Raportul este un instrument eficient pentru tipărirea datelor dintr-o bază de date în forma cerută de utilizator (sub formă de referințe, foi de examen, tabele etc.). Pe lângă datele preluate din mai multe tabele și interogări, rapoartele pot include elemente de design imprimabile, cum ar fi titluri, anteturi și subsoluri.

Raportul poate fi afișat în patru moduri: în modul „proiectare”, care vă permite să schimbați aspectul raportului, în modul vizualizare eșantion, în care puteți afișa toate elementele raportului finalizat, dar într-un mod prescurtat. formular, în modul „aspect”, care vă permite să afișați mai clar (în comparație cu modul de proiectare) și să formatați raportul, și în modul de previzualizare, unde este afișat raportul așa cum va fi tipărit.

Tabelele, interogările, formularele și rapoartele sunt cele mai frecvent utilizate obiecte în proiectarea bazei de date Access.

Cu toate acestea, capacitățile bazei de date pot fi extinse semnificativ prin utilizarea paginilor de acces, a macrocomenzilor și a modulelor.

Pagini. Pentru a oferi utilizatorilor de internet acces la informații, puteți crea pagini speciale de acces la date în baza de date. Paginile de acces la date vă permit să vizualizați, să adăugați, să modificați și să manipulați datele stocate în baza de date. Paginile de acces la date pot conține și date din alte surse, cum ar fi Excel. Pentru a publica informații dintr-o bază de date în Web Access, este inclus un „vrăjitor” care creează o pagină de acces.

Macro-uri. Macro-urile sunt programe mici cu una sau mai multe macrocomenzi care efectuează operațiuni specifice care, de exemplu, deschid un formular, tipăriți rapoarte, faceți clic pe un buton etc. Acest lucru este util mai ales dacă intenționați să transferați baza de date către utilizatori necalificați. De exemplu, puteți scrie macrocomenzi care conțin o secvență de comenzi care efectuează sarcini de rutină sau puteți asocia acțiuni precum deschiderea unui formular sau tipărirea unui raport cu butoane pe un formular cu butoane.

Module. Un modul este un obiect de bază de date care vă permite să creați biblioteci de rutine și funcții utilizate în întreaga aplicație. Folosind codurile modulelor, puteți rezolva sarcini precum gestionarea erorilor de intrare, declararea și aplicarea variabilelor, organizarea buclelor etc.

Crearea de tabele

Când introduceți date în Access, câmpurile sunt denumite: Câmp1, Câmp2 și așa mai departe. Puteți folosi numele sugerate sau le puteți modifica. Numele câmpurilor din tabel poate fi setat în două moduri. După alegerea modului de creare a tabelului, comanda „ Crea„Și se numește fereastra corespunzătoare. Figura 8. arată crearea unui tabel în modul „proiectare”. Câmpurile obligatorii ale tabelului sunt create cu tipul de date specificat, care este selectat prin intermediul butonului de selecție - „bifă”, în partea de jos a ferestrei există o secțiune pentru selectarea proprietăților câmpului, care sunt oferite inițial implicit .

Orez. 14. Crearea unui tabel în modul design

Proprietățile câmpului tabelului bazei de date Access sunt afișate în jumătatea inferioară a tabelului (Figura 14).

Puteți crea un tabel în modul „Design” modificând, adăugând sau eliminând câmpuri din tabel. Pentru a introduce un câmp nou, numele câmpului este indicat în partea de sus a ferestrei tabelului și este determinat tipul acestuia. Pentru a redenumi un câmp, trebuie să îi schimbați numele în coloana „Nume câmp”.

La crearea tabelelor, sunt utilizate următoarele tipuri de date de bază (Fig. 15).

Top articole similare