26,410 matches
-
CUIClient), care se află inclus în tabela Facturi. Ca să respecte 3NF, se elimină dependența funcțională tranzitivă din tabelul Facturi și se formează un nou tabel cu dependența funcțională existentă între cele două atribute din tabelul Facturi. Determinantul CUIClient va fi cheia primară a noului tabel. Avem tabelele în 3NF: Facturi (SerieFactura, NrFactura, Data, CUIClient); Clienți (CUIClient, DenumireClient). Între cele două tabele va exista o legătură definită prin intermediul atributului CUIClient, atribut care în tabelul Facturi va fi cheie externă (subliniat cu linie
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
Determinantul CUIClient va fi cheia primară a noului tabel. Avem tabelele în 3NF: Facturi (SerieFactura, NrFactura, Data, CUIClient); Clienți (CUIClient, DenumireClient). Între cele două tabele va exista o legătură definită prin intermediul atributului CUIClient, atribut care în tabelul Facturi va fi cheie externă (subliniat cu linie întreruptă). În concluzie, într-un tabel trebuie să rămână doar dependențele funcționale complete (2NF) și directe (3NF), care nu se manifestă și prin intermediul unor atribute sau grupuri de atribute intermediare. Dependențele funcționale tranzitive, cele care interesează
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
Aspectele legate de 1NF sunt cu mult mai complexe decât par la prima vedere. În afară de problema atomicității atributelor, expusă în paragraful 3.5, mai apare o problemă la înglobarea tuturor atributelor din dicționarul datelor într-o tabelă universală: stabilirea unei chei primare pentru acest tabel. Trebuie să facem precizarea că, deși la prima vedere interpretarea 1NF ar fi simplă, totuși într-un context practic cu numeroase atribute, pune serioase probleme de interpretare și construcție pentru obținerea unei tabele universale. Distingem următoarele
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
și construcție pentru obținerea unei tabele universale. Distingem următoarele situații: Având în vedere că un singur tabel cu toate atributele poate conține foarte multe redundanțe (pe verticală/orizontală) și atribute cu valori nule, este foarte greu sa se stabilească o cheie primară formată dintr-un singur atribut. Acest lucru ar putea fi posibil doar prin descompunerea tabelei universale în mai multe tabele sau dacă baza de date proiectată este foarte simplă. Stabilirea unei chei primare formată ca grup din mai multe
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
este foarte greu sa se stabilească o cheie primară formată dintr-un singur atribut. Acest lucru ar putea fi posibil doar prin descompunerea tabelei universale în mai multe tabele sau dacă baza de date proiectată este foarte simplă. Stabilirea unei chei primare formată ca grup din mai multe atribute poate deveni și ea o problemă. Atributele dintr-o cheie primară trebuie să nu fie nule, ceea ce înseamnă că o cheie a tabelei universale trebuie aleasă în așa fel încât să nu
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
fi posibil doar prin descompunerea tabelei universale în mai multe tabele sau dacă baza de date proiectată este foarte simplă. Stabilirea unei chei primare formată ca grup din mai multe atribute poate deveni și ea o problemă. Atributele dintr-o cheie primară trebuie să nu fie nule, ceea ce înseamnă că o cheie a tabelei universale trebuie aleasă în așa fel încât să nu existe valori nule în atributele componente și nici duplicate pe valorile cheii primare. Stabilirea unei chei primare compusă
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
sau dacă baza de date proiectată este foarte simplă. Stabilirea unei chei primare formată ca grup din mai multe atribute poate deveni și ea o problemă. Atributele dintr-o cheie primară trebuie să nu fie nule, ceea ce înseamnă că o cheie a tabelei universale trebuie aleasă în așa fel încât să nu existe valori nule în atributele componente și nici duplicate pe valorile cheii primare. Stabilirea unei chei primare compusă din toate atributele (teoria permite acest lucru), însă problemele expuse la
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
ea o problemă. Atributele dintr-o cheie primară trebuie să nu fie nule, ceea ce înseamnă că o cheie a tabelei universale trebuie aleasă în așa fel încât să nu existe valori nule în atributele componente și nici duplicate pe valorile cheii primare. Stabilirea unei chei primare compusă din toate atributele (teoria permite acest lucru), însă problemele expuse la punctul anterior se mențin și chiar se complică. Soluția cheii surogat (vezi paragraful 2.1.1 pentru detalii). Aceasta este o cheie ale
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
dintr-o cheie primară trebuie să nu fie nule, ceea ce înseamnă că o cheie a tabelei universale trebuie aleasă în așa fel încât să nu existe valori nule în atributele componente și nici duplicate pe valorile cheii primare. Stabilirea unei chei primare compusă din toate atributele (teoria permite acest lucru), însă problemele expuse la punctul anterior se mențin și chiar se complică. Soluția cheii surogat (vezi paragraful 2.1.1 pentru detalii). Aceasta este o cheie ale cărei valori nu are
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
să nu existe valori nule în atributele componente și nici duplicate pe valorile cheii primare. Stabilirea unei chei primare compusă din toate atributele (teoria permite acest lucru), însă problemele expuse la punctul anterior se mențin și chiar se complică. Soluția cheii surogat (vezi paragraful 2.1.1 pentru detalii). Aceasta este o cheie ale cărei valori nu are legături din punct de vedere informațional cu atributele din tabelă, având de fapt valori arbitrare. Ea nu are legătură cu realitatea care se
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
valorile cheii primare. Stabilirea unei chei primare compusă din toate atributele (teoria permite acest lucru), însă problemele expuse la punctul anterior se mențin și chiar se complică. Soluția cheii surogat (vezi paragraful 2.1.1 pentru detalii). Aceasta este o cheie ale cărei valori nu are legături din punct de vedere informațional cu atributele din tabelă, având de fapt valori arbitrare. Ea nu are legătură cu realitatea care se dorește a fi transpusă în baza de date, însă asigură unicitatea rândurilor
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
dependențelor funcționale cu toate atributele din relația universală, matrice care oferă și o viziune de ansamblu asupra acestora. Toate atributele (grupurile de atribute) care determină alte atribute prin dependență funcțională completă se numesc determinanți și sunt într-o primă fază chei candidate (vezi paragraful 2.1.1), din care se vor alege cheile primare ale tabelelor rezultate. Pentru atributele izolate, care nu se află în dependență funcțională completă față de niciun atribut (ca determinați) și nici nu determină funcțional alte atribute se
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
o viziune de ansamblu asupra acestora. Toate atributele (grupurile de atribute) care determină alte atribute prin dependență funcțională completă se numesc determinanți și sunt într-o primă fază chei candidate (vezi paragraful 2.1.1), din care se vor alege cheile primare ale tabelelor rezultate. Pentru atributele izolate, care nu se află în dependență funcțională completă față de niciun atribut (ca determinați) și nici nu determină funcțional alte atribute se caută grupuri de atribute care să le determine. Este cazul atributelor DataInceput
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
care sunt dependențele funcționale tranzitive pentru a fi eliminate. Acestea din urmă vor forma alte tabele. Principiul simplificat de formare a tabelelor în 3NF este următorul: dacă avem în 2NF un tabel cu atributele A, B, C, unde A este cheie primară rezultă: Tabel în 2NF: T(A, B, C). A→B, A→C și B→C adică A→B→C, unde A→C este dependență funcțională tranzitivă. În 3NF vor rămâne în tabele doar dependențele funcționale complete și directe, adică
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
dependență funcțională tranzitivă. În 3NF vor rămâne în tabele doar dependențele funcționale complete și directe, adică: A→B și B→C, de unde rezultă Tabelele în 3NF: T(A, B) și T1(B,C), unde B din tabelul T va fi cheie externă. Pentru exemplul luat în considerare anterior, graful dependențelor funcționale, realizat pe baza matricei dependențelor funcționale prezentate la 2NF, este prezentat în figura 3.2. Acest model este utilizat în exemplele prezentate în capitolul 4, referitor la SGBD Access 2013
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
2NF, tabelele se pot scrie astfel: Carte (CodISBN, DenumireCarte, PretCatalog, DataAparitiei, StocTiparit). Autor (CodAutor, NumeAutor, PrenumeAutor). Factura (NrFactura, DataFactura, CUIClient, DenumireClient, Adresa, Telefon, Localitate, Tara, ClientIBAN). FacturaCarte (NrFactura, CodISBN, CantitateVanduta, PretVanzare, CotaTVA). Restricția conform căreia toate atributele care nu sunt cheie primară (și nici nu fac parte din cheia primară) se află în dependență funcțională completă față de aceasta este respectată, deci tabelele sunt în 2NF. c) Pentru a face trecerea de la 2NF la forma normală trei (3NF), dintre dependențele funcționale complete
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
DenumireCarte, PretCatalog, DataAparitiei, StocTiparit). Autor (CodAutor, NumeAutor, PrenumeAutor). Factura (NrFactura, DataFactura, CUIClient, DenumireClient, Adresa, Telefon, Localitate, Tara, ClientIBAN). FacturaCarte (NrFactura, CodISBN, CantitateVanduta, PretVanzare, CotaTVA). Restricția conform căreia toate atributele care nu sunt cheie primară (și nici nu fac parte din cheia primară) se află în dependență funcțională completă față de aceasta este respectată, deci tabelele sunt în 2NF. c) Pentru a face trecerea de la 2NF la forma normală trei (3NF), dintre dependențele funcționale complete determinate anterior la 2NF, trebuie identificate care sunt
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
se pot observa și dependențele funcționale tranzitive (notate cu 1T) este prezentată în figura 3.8. Așa cum se remarcă din graful dependențelor funcționale și din matricea dependențelor funcționale, tabelele (fără dependențele funcționale tranzitive) în 3NF (cu linie întreruptă sunt menționate cheile externe) sunt: Carte (CodISBN, DenumireCarte, PretCatalog, DataAparitiei, StocTiparit). Autor (CodAutor, NumeAutor, PrenumeAutor). Factura (NrFactura, DataFactura, CUIClient). FacturaCarte (NrFactura, CodISBN, CantitateVanduta, PretVanzare, CotaTVA). Client (CUIClient, DenumireClient, Adresa, Telefon, Localitate, Tara, ClientIBAN). Se observă că aparent tabelul Autor nu intră în nicio
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
legătura dintre tabele. Rezolvarea unei legături de tipul m-n și implicit a acestui caz constă în crearea unui tabel suplimentar de legătură între tabelele care participă la legătura m-n, tabel care va avea în componență atributele care sunt chei primare în tabelele participante la legătură. Prin această operație legătura m-n va fi restructurată în două legături: 1-n și n-1. În mod evident, aceste atribute vor fi chei externe în tabelul nou creat. În acest sens, vom
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
tabel care va avea în componență atributele care sunt chei primare în tabelele participante la legătură. Prin această operație legătura m-n va fi restructurată în două legături: 1-n și n-1. În mod evident, aceste atribute vor fi chei externe în tabelul nou creat. În acest sens, vom mai avea următorul tabel. Capitolul 4 SGBD Access 2013 4.1. Prezentare generală ACCESS 2013 este un sistem de gestiune a bazelor de date care oferă următoarele caracteristici de bază: Utilizează
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
mutarea tabelelor într-un site Share Point. Observație: Dacă se deschide un obiect Access, de exemplu un tabel, în modul de proiectare (Design View) bara cu meniul principal se extinde prin meniul Design cu comenzi specifice: de vizualizare, definirea unei chei primare, inserarea de noi înregistrări, ștergere de înregistrări, vizualizarea proprietăților tabelului și afișarea indexurilor tabelului, crearea/redenumirea sau ștergerea de date macro, afișarea relațiilor între tabele și a dependențelor între obiecte (figura 4.2). În cele ce urmează se prezintă
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
opțiunea Rename Field, validându-se operațiunea cu tasta ENTER. Trecerea de la un atribut la altul se face cu tasta Tab. În final, se salvează tabelul cu un nume nou, confirmându-se operațiunea cu OK, precizându-se în același timp și cheia primară. Access 2013 dispune de modele predefinite pe categorii de aplicații operaționale (contacte, sarcini de lucru, contabilitate, evenimente etc.) odată cu lansarea aplicației de baze de date (figura 4.15). Crearea tabelelor prin șabloane sau modele reprezintă modalitatea cea mai rapidă
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
ulterior să modifice structura și tipul atributelor, conform propriilor cerințe funcționale. Pentru crearea tabelelor cu ajutorul modelelor propuse se selectează un tip de șablon: Contracts, Tasks, Issues, Events sau Assets, se denumește baza de date și se completează datele, precizându-se cheia primară (figura 4.16). A treia posibilitate de creare a unui tabel constă în includerea acesteia într-o altă bază de date și este operațională prin comanda Create, acțiunea Share Point Lists. Astfel, se realizează conectarea tabelelor din baze de
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
Insert Rows, iar dacă se dorește ștergerea unui rând pe care s-a declarat un atribut se selectează rândul și se alege din meniul contextual opțiunea Delete Rows. După ce structura tabelului a fost declarată (în modul Table Design) se stabilește cheia primară și se salvează tabelul cu un nume personalizat. Cheia primară se definește explicit de utilizator, în timp ce cheia externă se definește implicit, odată cu definirea relațiilor dintre tabele. Dacă o cheie primară este formată dintr-un singur atribut, aceasta se declară
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]
-
care s-a declarat un atribut se selectează rândul și se alege din meniul contextual opțiunea Delete Rows. După ce structura tabelului a fost declarată (în modul Table Design) se stabilește cheia primară și se salvează tabelul cu un nume personalizat. Cheia primară se definește explicit de utilizator, în timp ce cheia externă se definește implicit, odată cu definirea relațiilor dintre tabele. Dacă o cheie primară este formată dintr-un singur atribut, aceasta se declară prin poziționarea mouse-ului pe respectivul atribut, acțiune urmată de activarea
Baze de date financiar-contabile by Florin Mihai, Pavel Năstase, Andrei Stanciu, Bogdan Ionescu, Ilie Tamaş () [Corola-publishinghouse/Science/217_a_477]