Podcast
Questions and Answers
Ce reprezintă, în contextul bazelor de date relaționale, modelarea datelor?
Ce reprezintă, în contextul bazelor de date relaționale, modelarea datelor?
- Procesul de criptare a datelor sensibile.
- Procesul de organizare a datelor conform unui anumit model. (correct)
- Procesul de definire a structurii fizice a datelor pe disc.
- Procesul de optimizare a vitezei de acces la date.
Care a fost unul dintre principalele avantaje aduse de Modelul Relațional?
Care a fost unul dintre principalele avantaje aduse de Modelul Relațional?
- Utilizarea structurilor arborescente pentru navigarea datelor.
- Stocarea datelor sub forma de pointeri.
- Introducerea constrângerilor de integritate pentru reducerea anomaliilor. (correct)
- Eliminarea necesității de a folosi limbaje specializate.
Ce este un domeniu într-un model relațional?
Ce este un domeniu într-un model relațional?
- Un set de reguli pentru validarea datelor introduse.
- O secțiune a bazei de date rezervată pentru metadate.
- O multime de valori posibile pentru un atribut. (correct)
- Un index utilizat pentru accelerarea căutărilor.
Ce reprezintă produsul cartezian în contextul elementelor modelului relational?
Ce reprezintă produsul cartezian în contextul elementelor modelului relational?
Ce este o relație într-un model relațional?
Ce este o relație într-un model relațional?
Ce reprezintă un atribut într-un model relațional?
Ce reprezintă un atribut într-un model relațional?
Ce informații sunt incluse în schema unei relații?
Ce informații sunt incluse în schema unei relații?
Ce condiție trebuie să îndeplinească o cheie a unei relații?
Ce condiție trebuie să îndeplinească o cheie a unei relații?
Care este diferența principală între o cheie primară și o cheie candidată?
Care este diferența principală între o cheie primară și o cheie candidată?
Ce rol au constrângerile de integritate într-o bază de date?
Ce rol au constrângerile de integritate într-o bază de date?
Care este scopul constrângerii NOT NULL?
Care este scopul constrângerii NOT NULL?
Ce face constrângerea UNIQUE?
Ce face constrângerea UNIQUE?
Ce se întâmplă când se încalcă o constrângere de cheie primară la inserarea unei noi linii?
Ce se întâmplă când se încalcă o constrângere de cheie primară la inserarea unei noi linii?
Care este rolul unei chei străine într-o bază de date relațională?
Care este rolul unei chei străine într-o bază de date relațională?
În ce constă constrângerea de condiție (CHECK)?
În ce constă constrângerea de condiție (CHECK)?
Ce reprezintă domeniul unei expresii în calculul relational?
Ce reprezintă domeniul unei expresii în calculul relational?
Ce caracterizează o expresie sigură în calculul relațional pe tupluri?
Ce caracterizează o expresie sigură în calculul relațional pe tupluri?
Cum se exprima o cerere in calcul relational pe tupluri?
Cum se exprima o cerere in calcul relational pe tupluri?
Ce reprezinta aparitiile libere ale variabilelor tuplu?
Ce reprezinta aparitiile libere ale variabilelor tuplu?
Care dintre următoarele afirmații descrie cel mai precis scopul indecșilor într-o bază de date relațională?
Care dintre următoarele afirmații descrie cel mai precis scopul indecșilor într-o bază de date relațională?
Flashcards
Modelarea datelor
Modelarea datelor
Procesul de organizare a datelor într-o bază de date conform unui model specific.
Modelul Relațional (MR)
Modelul Relațional (MR)
Modelul de baze de date introdus de Edgar Frank Codd în 1970, utilizat pe scară largă de sistemele de gestiune.
Entități
Entități
Elemente de bază ale datelor, legate prin constrângeri formând diagrame de relații.
Domeniu
Domeniu
Signup and view all the flashcards
Relația
Relația
Signup and view all the flashcards
Atributul
Atributul
Signup and view all the flashcards
Schema unei relații
Schema unei relații
Signup and view all the flashcards
Cheia
Cheia
Signup and view all the flashcards
Valoare nulă (null value)
Valoare nulă (null value)
Signup and view all the flashcards
Constrângeri de integritate
Constrângeri de integritate
Signup and view all the flashcards
Constrângerea de valori nenule (NOT NULL)
Constrângerea de valori nenule (NOT NULL)
Signup and view all the flashcards
Constrângerea de unicitate (UNIQUE)
Constrângerea de unicitate (UNIQUE)
Signup and view all the flashcards
Index
Index
Signup and view all the flashcards
Cheie primară (PRIMARY KEY)
Cheie primară (PRIMARY KEY)
Signup and view all the flashcards
Cheie Straină (FOREIGN KEY)
Cheie Straină (FOREIGN KEY)
Signup and view all the flashcards
Domeniul expresiei
Domeniul expresiei
Signup and view all the flashcards
Calcul relațional pe tupluri (CRT)
Calcul relațional pe tupluri (CRT)
Signup and view all the flashcards
Calcul relațional pe domenii (CRD)
Calcul relațional pe domenii (CRD)
Signup and view all the flashcards
Expresie sigură
Expresie sigură
Signup and view all the flashcards
Constrângere de condiție (CHECK)
Constrângere de condiție (CHECK)
Signup and view all the flashcards
Study Notes
Introducere
- Cursul 3 se concentrează pe Modelul Relațional, incluzând elementele sale, expresiile sigure, calculul relațional pe tupluri și calculul relațional pe domenii.
Modelul Relațional
- Organizarea datelor într-o bază de date trebuie să respecte un anumit model, operația fiind numită “modelarea datelor”.
- Modelul Relațional (MR), introdus de Edgar Frank Codd în 1970, este cel mai utilizat model de sistemele de gestiune după 1980.
- Obiectele bazelor de date sunt numite entități, legate între ele prin constrângeri, formând diagrama de relații.
- Bazele de date relaționale sunt folosite pentru inventare, tranzacții electronice și gestionarea informațiilor despre clienți, fiind adaptabile oricărei nevoi de informații structurate.
- Stocarea datelor în format tabelar aduce avantaje, cum ar fi organizarea în linii, renunțarea la pointeri, limbaje specializate (ex. SQL), constrângeri de integritate, control al accesului și securitate sporită.
- Modelul relațional oferă un mod standard de a reprezenta și interroga datele, fiind utilizabil în orice aplicație.
- Punctul forte este folosirea tabelelor, o modalitate intuitivă și eficientă de stocare și accesare a datelor.
Elementele Modelului Relațional
- Domeniul reprezintă o mulțime de valori identificată printr-un nume, definit prin enumerare sau specificarea caracteristicilor.
- Exemple de domenii includ Culori, Note, Char40 (șiruri de max. 40 caractere), Intreg5 (numere întregi pozitive între 0 și 99999).
- Domeniul într-o bază de date este echivalent cu mulțimea valorilor posibile pentru o coloană.
- Produsul cartezian pe domenii este similar cu cel din teoria mulțimilor, fiind mulțimea șirurilor de domenii.
- O relație reprezintă o submulțime a unui produs cartezian cu un nume asociat.
- Elementele unei relații sunt numite tupluri.
- O relație poate fi reprezentată ca o tabelă, cu coloane având tipuri de date impuse de domeniu.
- Un atribut este o coloană a unei relații cu un nume asociat.
- Schema unei relații este structura compusă din nume, atribute, domeniul atributelor și constrângeri de integritate.
- Datele se pot schimba, dar structura relației rămâne constantă.
- Modalități de specificare a schemei unei relații includ Medii = Nr_matricol, Nume_student, Cod_grupa, Media.
- În teoria bazelor de date, R = ABCDE specifică o relație R cu 5 atribute: A, B, C, D, E.
- Cheia unei relații e o mulțime minimală de atribute identificând unic un tuplu, reprezentând o constrângere de integritate.
- Într-o tabelă, tuplurile pot fi identificate unic prin atributele (Nr_matricol, Nume_student), sau (Nr_matricol, Nume_student, Cod_grupa).
- Dacă numărul matricol este unic, acesta poate fi cheia relației Medii.
- Cheia unei tabele este reprezentată de valorile unice pe coloanele respective, proprietate numită “unicitatea cheii”.
- Într-o relație, există rareori mai multe chei.
- Relația Studenti(Nr_matricol, Nume_student, Adresa, CNP, Data_nastere) poate avea cheile Nr_matricol și CNP.
- Deoarece nu pot exista tupluri identice într-o relație, orice relație are cel puțin o cheie.
- Concepte legate de cheie sunt cheia primară (Primary Key), cheia straină (Foreign Key) și supercheia (Superkey).
- Valoarea nulă modelează o informație nespecificată, fiind o informație inaplicabilă pentru prelucrări (nu se pot aplica operatori aritmetici pe ea).
- În Studentii, Popescu Daniel nu are CNP specificat, valoarea fiind nulă.
- Înregistrarea poate fi identificată unic după Nr_matricol; dacă CNP este folosit, nu va returna nicio linie.
- Valorile nule pot fi modificate prin comenzi DML, precum UPDATE în SQL.
- O cheie care identifică unic un tuplu nu trebuie să conțină atribute cu valoare nulă.
- Constrângerile de integritate sunt mecanisme prin care SGDB controlează corectitudinea datelor la operațiile DML.
- În cazul încălcării constrângerilor, SGBD rejectează tranzacția.
- Tipuri de constrângeri: valori nenule (NOT NULL), unicitate (UNIQUE), cheie primară (PRIMARY KEY), cheie straină (FOREIGN KEY), de condiție (CHECK).
- Constrângerea de valori nenule (NOT NULL) se aplică la nivel de atribut și verifică dacă înregistrările au valori nule, anulând tranzacția în caz contrar.
- O cheie primară creează automat constrângerea NOT NULL pe atribute respective.
- Dacă atributul CNP este definit NOT NULL, inserarea sau modificarea în valoare nulă va genera o eroare.
- Constrângerea de unicitate (UNIQUE) se folosește când un atribut sau pereche de atribute nu trebuie să aibă valori duplicate.
- Verificarea e făcută doar pe înregistrări non-nule, unicitatea permițând inserarea valorilor nule.
- Dacă coloanele definite ca unice sunt și NOT NULL, atunci unicitatea este considerată ca o cheie unică.
- Un index este creat automat pe coloanele definite unice, crescând viteza de interogare.
- Dacă CNP e definit UNIQUE, la inserare/modificare, SGDB verifică unicitatea, generând eroare în caz contrar.
- Indecșii sunt fișiere/structuri de date speciale utilizate pentru accelerarea execuției interogărilor.
- Un index se creează pe baza unei chei de căutare, diferită de cheia primară/candidat/supercheia.
- Un index conține o colecție de înregistrări speciale și permite regăsirea eficientă a “tuturor înregistrărilor tabelei indexate pentru care cheia de căutare are valoarea k”.
- Constrângerea de cheie primară (PRIMARY KEY) definește o cheie primară la nivel de coloană sau tabelă.
- O tabelă poate avea o singură cheie primară, care nu acceptă valori nule.
- Crearea unei chei primare reduce timpul de răspuns al interogărilor.
- Dacă atributul Nr_matricol este PRIMARY KEY, se verifică unicitatea și non-nulitatea pe coloana de matricole la inserare sau modificare.
- Constrângerea de cheie straină (FOREIGN KEY) relaționează o tabelă cu alta/altele, verificând dacă valorile atributelor FOREIGN KEY sunt în coloanele definite UNIQUE sau PRIMARY KEY în altă tabelă.
- Relaționarea cu cheie externă poate fi făcută doar dacă referința formează o cheie primară sau are unicitate.
- La relationarea a doua tabele, regulile de funcționare trebuie avute in vedere.
- Inserarea se face dacă există o singură linie corespondentă în tabela de referință.
- Coloanele definite FOREIGN KEY acceptă valori nule.
- Ștergerea se face numai dacă nu există linii relationate în tabela.
- Tabela "Specializari" va contine toate specializarile din facultate, fiecare avand un cod unic.
- Daca in tabela "Studenti" se defineste atributul "Cod_spec" ca fiind cheia externa, la inserarea de date in tabela "Studenti" se va verifica daca valoarea introdusa pentru "Cod_spec" se afla printre valorile din coloana "Cod_spec" a tabelei "Specializari".
- Coloana "Cod_spec" din tabela "Specializari" trebuie sa contina valori unice, adica trebuie obligatoriu sa fie o cheie primara/unica.
- Constrângerea de condiție (CHECK) forțează valorile unei coloane să verifice o condiție prestabilită, posibil cu funcții (cu excepții).
- Pentru relatia "Note(Nr_matricol, Nume_student, Cod_grupa, Disciplina, Data_examen, Nota)" se poate defini constrangerea (Nota >=1 and Nota<=10) pe coloana Nota.
Expresii Sigure și Domenii de Siguranță
- Domeniul unei expresii, notat DOM(Ψ), este mulțimea elementelor care apar explicit în formula Ψ sau sunt componente ale tuplurilor relațiilor specificate în Ψ.
- Expresiile nesigure trebuie eliminate.
- Relația P = { t | ¬R(t) } în calculul relațional reprezintă toate tuplurile posibile de lungime t care nu aparțin relației R.
- O expresie { t | Ψ(t) } este considerată sigură dacă fiecare componentă a oricărui tuplu t care satisface formula Ψ aparține domeniului DOM(Ψ).
- Formula ψ = R(t) ∧ t[1] > 100 reprezintă condiția pentru o selecție din R, unde valoarea pe prima coloană este mai mare decât 100, DOM(ψ) fiind { 100 } ∪ {mulțimea valorilor care apar în tuplurile lui R }.
Calcul Relațional pe Tupluri
- Pe lângă algebra relațională, cererile pot fi exprimate prin calcul relațional pe tupluri (CRT) sau pe domenii (CRD).
- În calcul relațional pe tupluri, o cerere este exprimată printr-o expresie de forma {t | Ψ(t) }, unde t este o variabilă tuplu și Ψ o formulă.
- {t | R(t) v S(t) } este expresia echivalentă reuniunii a două relații, iar {t |R(t) ^ S(t)} reprezintă intersecția.
- Formula (∃s)(R(s)) afirmă că relația R este nevidă.
- Formula (s) (R(s)) spune ca relatia R este nevida.
- Expresiile sigure sunt cele al căror rezultat este compus doar din valori aparținând lui DOM(Ψ), fiind echivalente cu expresii din algebra relațională.
Calcul Relațional pe Domenii
- În calculul relațional pe domenii, variabilele de domeniu sunt folosite în locul variabilelor tuplu.
- Un atom poate fi: R(x1, x2, …, xn), unde R este o relație, iar xi-urile sunt variabile de domeniu sau constante; x y, unde x și y sunt variabile de domeniu sau constante, iar este un operator de comparație.
- Formulele din CRD sunt construite analog cu cele din CRT și au noțiuni similare de domeniu DOM(x) și expresii sigure, echivalente cu expresii din algebra relațională.
- Exemple de expresii sigure sunt cele care descriu reuniunea și intersecția a două relații.
Bibliografie
- Florin Radulescu, Alexandru Boicea, Baze de date online, Editura Oamenilor de Stiinta din Romania, 2011
- Alexandru Boicea, Oracle SQL, SQL*Plus, Editura Printech, 2007
- Mircea Stelian Petrescu, Baze de date I, Baze de date II – Note de curs
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.