Dependența multivolită 1

dependență multivaloare există dacă la valori date ale atributului X există un set format din 0 sau mai multor valori de atribute ale Y, în care Y pluralitate de valori de atribute asociate cu o valoare a atributului referitor la U-X-Y, unde U - întregul set de relații atribute.







Notatia pentru dependenta multipla X - >> Y.

Axiome ale dependenței de multe ori

1. adăugare pentru o dependență multivită: Dacă X> Y, apoi X - >> U - X - Y

2. Reaprovizionarea unei relații multi-valoroase: Dacă X> Y, apoi WuX - >> VuY

3. tranzitivitate pentru o dependență multivită: Dacă X> Y, Y - >> Z, apoi X - >> Z-Y

Reguli suplimentare de ieșire pentru dependențele multi-evaluate

1. uniune Dacă X> Z, X - >> Y, apoi X - >> YuZ

2. pseudotransmitere Dacă X> Y, WuY - >> Z, apoi WuX - >> Z- (WuY)

3. regulă de tranziție mixtă Dacă X> Y, XuYàZ, apoi XàZ-Y

4. Regula de descompunere X> Y, X - >> Z, apoi X - >> Y ^ Z, X - >> Y-Z, X -> Z-Y

Sunt o formă normală

Raportul este în 4 formă normală, dacă este în NFBK și nu există dependințe unice care să fie funcționale.

Exemplu: Luați în considerare relația (N, curs, copii, poziție)

Între instructor și curs, conexiunea este M: M

Între profesor și copii 1: M

Dependentele cu numeroase valori N - >> curs, N - >> copii

Schema de relații este în 4NF dacă ori de câte ori există o multivalentă dependență X - >> Y, unde Y nu este gol, și nu este un subset al X, și XvY nu constă din toate atributele lui R, X conține o relații cheie-n R, atribute, între care există o dependență de multe-evaluate, relații individuale izolate

R1 (№, curs) R2 (№, copii) R3 (№, poziție)

Sunt o formă normală

Dacă relația poate fi restabilită fără pierderea conexiunii proiecțiilor sale, atunci se spune că ea satisface dependența de conexiune.

Se spune că raportul este în 5NF, dacă și numai dacă există dependență de conexiunea determinată R. În alte chei posibile, fiecare proiecție cuprinde cel puțin o cheie sau cel puțin un atribut non-primar.

Descompunerea relațiilor trebuie să garanteze reversibilitatea. Reversibilitatea implică:

1. fără pierderi de carduri

2. Nu apare desene animate mai devreme

3. conservarea dependenței funcționale

Conectare fără pierderi, păstrarea dependenței

Dintre toate posibilele descompuneri ale circuitului, ar trebui utilizate numai acelea care au proprietatea conexiunilor fără pierderi. Să presupunem că R are un set de dependențe funcționale. Se spune că circuitul R este descompusă fără raport pierdere R1, R2, Rk, cu păstrarea dependențelor funcționale a dacă pentru fiecare r uplu R poate fi un compus rvosstanovlen proeminențele sale.

Condiții pentru pierderea conexiunii:

Dacă R1 și R2 reprezintă o descompunere a lui R, cu o reducere a dependențelor funcționale - această descompunere oferă o conexiune fără pierderi, păstrând în același timp dependența funcțională <=> dacă R1 R1-R2, sau R1 R2 -> R2-R1

Operațiile de intersecție și diferență sunt definite deasupra listei atributelor de relație.

1 descompunere E1 (№, departament) E2 (№, oraș)

2 descompunere E3 (№, departament) E4 (departament, oraș)

1. E1 ^ E2 = Nr. E1-E2 = departamentul E2-E1 = oraș. număràdepartament, №àcondiția orașului satisface, descompunere fără pierderi.

2. E3 ^ E4 = departamentul E3-E4 = Nr. E4-E3 = oraș. departamentà№, departamentàoraș, aceste dependențe nu există în descompunerea inițială, iar dependențele funcționale inițiale sunt pierdute, prin urmare, această descompunere cu pierderi.

Pentru extinderea a mai mult de două relații, puteți folosi metoda Scoreboard

Condiții pentru absența pierderilor de conexiune

Dintre toate posibilele descompuneri ale circuitului, ar trebui utilizate numai acelea care au proprietatea conexiunilor fără pierderi. Să presupunem că R are un set de dependențe funcționale. Se spune că circuitul R este descompusă fără raport pierdere R1, R2, Rk, cu păstrarea dependențelor funcționale a dacă pentru fiecare r uplu R poate fi un compus rvosstanovlen proeminențele sale.







Condiții pentru pierderea conexiunii:

Dacă R1 și R2 reprezintă o descompunere a lui R, cu o reducere a dependențelor funcționale - această descompunere oferă o conexiune fără pierderi, păstrând în același timp dependența funcțională <=> dacă R1 R1-R2, sau R1 R2 -> R2-R1

Operațiile de intersecție și diferență sunt definite deasupra listei atributelor de relație.

1 descompunere E1 (№, departament) E2 (№, oraș)

2 descompunere E3 (№, departament) E4 (departament, oraș)

1. E1 ^ E2 = Nr. E1-E2 = departamentul E2-E1 = oraș. număràdepartament, №àcondiția orașului satisface, descompunere fără pierderi.

2. E3 ^ E4 = departamentul E3-E4 = Nr. E4-E3 = oraș. departamentà№, departamentàoraș, aceste dependențe nu există în descompunerea inițială, iar dependențele funcționale inițiale sunt pierdute, prin urmare, această descompunere cu pierderi.

Pentru extinderea a mai mult de două relații, puteți folosi metoda Scoreboard

Exemplu: R (A, B, C, D) FZ AàC, BàC, CàD.

Am descompus: R1 (A, B) R2 (B, D) R3 (A, B, C)

Există linii cu toate descompunerea fără pierderi.

Crearea și modificarea, mutarea bazei de date. (FoxPro)

Crearea bazei de date începe cu introducerea comenzii pentru a forma structura fișierului de date:

CREEAZĂ <имя файла базы данных>

După introducerea acestei comenzi, apare o fereastră în care trebuie să specificați toți parametrii structurii bazei de date: Nume câmp, Tip câmp, Dimensiune câmp, Număr de câmpuri.

Finalizarea intrării întregii structuri se confirmă apăsând tasta "OK", apoi FoxPro vă cere să completați câmpurile bazei de date create.

Pentru a vedea dacă. că fișierul este într-adevăr creat, puteți introduce comanda

Ca urmare, ecranul va afișa o listă a bazelor de date (în acest caz, inclusiv un singur nume) stocate pe disc, informații despre utilizarea memoriei și disponibilitatea de spațiu liber pe disc. Comanda DIR poate fi folosită în toate cazurile, când trebuie să vedeți care sunt bazele de date pe disc, specificați numele bazei de date pentru accesul ulterior la acesta etc.

Pentru a lucra cu baza de date creată, aceasta trebuie deschisă printr-o comandă

UTILIZARE <имя файла базы данных>

STRUCTURA DISPOZITIVULUI sau STRUCTURA LISTULUI

Comanda CLOSE închide baza de date <имя файла базы данных>

Adăugarea unei baze de date la înregistrări se realizează utilizând comanda interactivă APPEND

Pentru a prelua conținutul înregistrărilor unei baze de date deschise anterior pe ecran, puteți utiliza comanda LIST <список полей> (și mai mult DISPLAY)

GO N vă permite să înregistrați cu numărul N al celei curente. Are două formate,

permițându-vă să faceți curentul:

a) prima comandă în ordine - GO TOP

b) ultima intrare - GO BOTTOM

Pentru a naviga în baza de date la un număr specificat de înregistrări, utilizați comanda SKIP N

Valoarea pozitivă a lui N corespunde mișcării directe, cea negativă a mișcării înapoi.

Editați - vă permite să editați câmpurile sale. Ștergeți și adăugați date. Răsfoirea este, de asemenea, una dintre opțiunile de editare.

Indicele este un indicator al datelor din tabel.

CREAȚI INDEX nume ON tabel

1. simplu - un index creat din datele unei coloane din tabel

CREATE INDEX name ON numele tabelului (numele coloanei)

2. unic - nu numai folosit pentru a accelera recuperarea datelor, dar, de asemenea, pentru a asigura integritatea acestora. Prezența unui index unic vă permite să introduceți înregistrările duplicat în tabel. Acesta poate fi creat doar de coloană din tabelul de date al cărui este unic.

CREATE UNIQUE INDEX name ON tabel (numele coloanei)

3. indici compoziți, compilați din valorile mai multor coloane ale tabelului. Atunci când creați un index compozit, trebuie să luați în considerare problemele legate de performanța bazei de date. Deoarece ordinea coloanelor în condiția indexului poate afecta foarte mult viteza de preluare a datelor. Regula generală pentru îmbunătățirea performanței este că valoarea mai restrictivă ar trebui să fie mai întâi. Dar trebuie indicată prima coloană a cărei prezență este întotdeauna presupusă în condițiile de alegere.

CREATE INDEX name ON tabel nume (numele coloanei1, numele coloanei2)

Folosirea unui index compozit este cea mai eficientă atunci când coloanele corespunzătoare sunt adesea folosite simultan în condițiile de interogare din clauza WHERE. Nu se recomandă crearea de indici pentru tabele cu chei de lungime foarte lungă, deoarece viteza unui astfel de tabel este redusă datorită cantităților mari de intrări / ieșiri.

Indicii sunt concepuți pentru a crea chei primare utilizate pentru a determina relațiile dintre tabele și condițiile de integritate a datelor. În acest caz, indicii trebuie să fie unici.

Dacă se folosește un index simplu pentru a crea un index unic, valorile câmpului trebuie să nu fie repetate. Când un index compus este utilizat pentru a crea un index unic, valorile din fiecare dintre câmpurile incluse în index pot fi repetate, însă expresia index trebuie să fie unică.

Normal este normal. Se creează un index în care este stocată valoarea expresiei index pentru fiecare intrare din tabel. Dacă mai multe înregistrări au aceleași valori ale unei expresii index, fiecare valoare este stocată separat și conține o referință la înregistrarea asociată cu ea.

Candidate - creează un index unic care nu conține câmpuri cu valori goale

Primar - creează un index unic, care se utilizează pentru a lega tabelele și pentru a determina condițiile de integritate a datelor. Câmpurile care fac parte din cheia primară nu trebuie să permită introducerea valorilor nula.

Cascadă - atunci când modificați valorile câmpului cheie primară sau a câmpurilor cheie candidat în tabelul părinte, se efectuează automat cascadarea tuturor valorilor corespunzătoare din tabelul copil.

Restricționarea - nu puteți modifica valoarea din cheia primară tabelă părinte sau domenii cheie candidate, în cazul în care masa de copil are cel puțin o înregistrare care conține o trimitere la o înregistrare imuabile.

Ignorare - vă permite să modificați valoarea câmpului cheie primară sau a câmpurilor de candidat cheie din tabela parentală, indiferent de existența înregistrărilor asociate în tabelul copil. Integritatea datelor nu este acceptată.

Un constructor de integritate a datelor este utilizat pentru a determina integritatea datelor, care conține o listă a tuturor relațiilor stabilite între tabele. Tabelul conține numele părintelui, tabelei copilului, indexurilor și relațiilor.

25. Căutarea și sortarea, căutare accelerată (pentru baza de date FoxPro exemplu).







Articole similare

Trimiteți-le prietenilor: