Arhiva de "Cheile primare" categoria

Relaţiile într-o bază de date

Marţi cincisprezece-01-2008 |

După ce aţi configurat diferite tabele pentru fiecare subiect în baza de date, aveţi nevoie de o modalitate de a spune cum Microsoft Access pentru a colecta aceste informaţii din nou. Primul pas în acest proces este de a defini relaţiile dintre tabele. După ce au făcut acest lucru, puteţi crea interogări, formulare şi rapoarte pentru a afişa informaţii de la mai multe mese simultan.

Cum relaţii?

Un unu-la-mai-mulţi
Relaţie unu-la-mai-mulţi este cel mai comun tip de relaţie. Într-o relaţie unu-la-mai-mulţi, un record în tabelul A poate avea multe înregistrări care se potrivesc în Tabelul B, dar o înregistrare în tabelul B, are doar o înregistrare de potrivire în tabelul A.

O mulţi-la-mai-mulţi
Într-o relaţie mulţi-la-mai-mulţi, un record în tabelul A poate avea multe înregistrări care se potrivesc în Tabelul B, şi un record în Tabelul B poate avea multe înregistrări care se potrivesc în Tabelul A. Acest tip de relaţie este posibil doar prin definirea unui al treilea tabel (numit tabel de asociere), a cărui cheie primară constă din două câmpuri  cheile străine din ambele Tabele A şi B. De fapt, unei relaţii mulţi-la-multe sunt o relaţie de doi-la-mai-mulţi cu un al treilea tabel. De exemplu, tabelul Comenzi şi tabelul Produse au o relaţie mulţi-la-mai-mulţi care este definit prin crearea doi, unu-la-mai-mulţi pentru tabelul Detalii comandă.

Un unu-la-unu
Într-o unu-la-unu, fiecare înregistrare din Tabelul A poate avea doar o înregistrare de potrivire în tabelul B, şi fiecare înregistrare din Tabelul B poate avea doar o înregistrare de potrivire în tabelul A. Acest tip de relaţie nu este comun, deoarece cele mai multe informaţii legate de bine să fie într-un singur tabel. Utilizarea de unul-la-unu, se recomandă atunci când doriţi să partajaţi un tabel cu mai multe domenii, pentru a izola o parte a unui tabel de informaţii de securitate sau de magazin care se aplică numai la un subset al tabelului principal. Aţi putea dori, de exemplu, creaţi un tabel pentru a înregistra angajaţii care participă la un joc de fotbal pentru a ridica fonduri.

Definirea relaţiilor
Puteţi defini o relaţie prin adăugarea tabelele pe care doriţi să se refere la fereastra Relaţii şi apoi glisaţi câmpul cheie a unui tabel şi fixarea acesteia în cheie de alt tabel.
Un fel de relaţie pe care Microsoft Access creează depinde de modul în care domeniile conexe sunt definite:
• O relaţie unu-la-mai-mulţi este creată dacă doar unul dintre domeniile conexe este o cheie primară sau are un index unic.
• Un unu-la-unu este creată atunci când ambele domenii conexe sunt chei primare sau au indexuri unice.
• În fapt, unei relaţii mulţi-la-multe sunt o relaţie de doi-la-mai-mulţi cu un al treilea tabel a cărui cheie primară constă din două câmpuri  chei străine de celelalte două tabele.
Notă Dacă glisaţi un câmp care nu este o cheie primară şi nu are un index unic pentru un alt domeniu care nu este o cheie primară şi nu are un index unic, o relaţie nedeterminată este creat. În interogări ce conţin tabele cu o relaţie nedeterminată, Microsoft Access afişează o linie implicit alătura între tabele, dar integritatea referenţială nu este pusă în aplicare şi nu există nici o garanţie că înregistrările sunt unice în fiecare tabel.

Standardizare (Alegerea chei primare)

Sâmbătă douăzeci şi doi-12-2007 |

Acesta este pas cu pas proces formal de a examina atribute ale unei entităţi, în scopul de a evita anomaliile observate în plus, ştergerea şi modificarea de secvenţe unice.

Obiective

1) Reducerea la minimum a suprapunerii şi neconcordanţe;
2) Uşor de manipulare baze de date;
3) Sistemul de Informaţii Mentenabilitate.

Prima formă normală (1NF)

O relaţie este în 1NF numai dacă toate domeniile de bază conţine numai valori unice (nu conţine grupuri care se repetă).

Proceduri:

a) Identificarea cheia primară a entităţii;
b) Identificarea de grup repetitiv şi îl elimină din organism;
c) Creaţi o nouă entitate, cu cheia primară a entităţii şi de grup, înainte de repetarea.

Cheia primară a noua entitate va fi obţinut prin concatenarea de cheia primară a entităţii original şi de grup repetitiv.

Ex: Cerere

(Numero_pedido, data_pedido, cod_cliente, customer_name, endereco_cliente; (codigo_produto, numero_produto, quantidade_produto, preco_produto; total_produto) total_pedido)

Cerere => (numero_pedido, data_pedido, cod_cliente, customer_name; endereco_cliente)

Item_Pedido => (numero_pedido, cod_produto, nome_produto, cantitatea, preco_produto; total_produto)

Dependenţa funcţională

Un raport dat R, X, atributul este funcţional dependentă de R x R atribut este necesară numai atunci când două secvenţe de cercetare pentru a combina valorile de X se potrivesc, de asemenea, valoarea de X.

Formular de două Normal (2nF)

O relatie R este in 2nF dacă şi numai dacă acesta este primul şi toate atributele nonkey sunt complet dependente de cheie primară (depinde de întreaga cheie şi nu doar o parte din ea).

Proceduri:

a) Identificarea atributele care nu sunt dependente funcţional de întreaga cheie primară.
b) Eliminarea entităţi identificate toate aceste atribute şi de a crea o entitate nou cu ei.
Cheia primară a noua entitate va fi atributul din care atributele sunt eliminate atribute care sunt dependente funcţional.

Produs => (cod_produto, nome_produto, preco_produto)

Tranzitiv de dependenţă

Fie A, B, C şi cele trei atribute ale unei entităţi X. C, în funcţie de B şi B depind C este a zis A. transitively dependente

Forma treia Normal (3NF)

O relatie R este in 3NF dacă doar vă aflaţi în 2nF şi fiecare atributele nonkey sunt dependente de cheia primară nu este tranzitiv (fiecare atribut este funcţional depinde doar de atributele primare cheie ale componentelor sau în cazul în care toate non-cheie atribute sunt reciproc independente) .

Proceduri:

a) Identificaţi toate atributele care sunt dependente funcţional pe alte atribute nonkey;
b) a le elimina şi de a crea o nouă entitate, cu aceeaşi.
Cheia primară a noua entitate va fi atributul care a eliminat atributele sunt dependente funcţional.

Clientul (cod_cliente, customer_name; endereco_cliente)
Produs (cod_produto, nome_produto; preco_produto)
Cerere (numero_pedido; data_pedido; ; Total_pedido)

Prezentare

Avatar

Va multumim pentru vizita.
Aboneaza-te pentru a hrăni a nu pierde nici un mesaj.

Aici, în blog-I va oferi exemple de lucru cu Microsoft Access şi de a pune întrebări, de asemenea, pentru cei care cer. Mai multe

Doriţi să vă abonaţi?

Abonează-te sau abona prin e-mail:
Introduceţi adresa dvs. de email:


Anunţuri