Modelul Relațional: Tupluri și Domenii

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

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?

  • 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?

  • 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?

<p>O multime de siruri de domenii. (A)</p> Signup and view all the answers

Ce este o relație într-un model relațional?

<p>O submultime a unui produs cartezian. (C)</p> Signup and view all the answers

Ce reprezintă un atribut într-un model relațional?

<p>O coloană a unei relații. (D)</p> Signup and view all the answers

Ce informații sunt incluse în schema unei relații?

<p>Numele, atributele, domeniul atributelor și constrângerile de integritate. (D)</p> Signup and view all the answers

Ce condiție trebuie să îndeplinească o cheie a unei relații?

<p>Să identifice în mod unic fiecare tuplu din relație. (D)</p> Signup and view all the answers

Care este diferența principală între o cheie primară și o cheie candidată?

<p>O relație poate avea mai multe chei candidate, dar o singură cheie primară. (C)</p> Signup and view all the answers

Ce rol au constrângerile de integritate într-o bază de date?

<p>De a controla corectitudinea datelor în timpul operațiilor DML. (B)</p> Signup and view all the answers

Care este scopul constrângerii NOT NULL?

<p>De a preveni introducerea valorilor nule într-o coloană. (A)</p> Signup and view all the answers

Ce face constrângerea UNIQUE?

<p>Asigură că toate valorile dintr-o coloană sunt unice. (B)</p> Signup and view all the answers

Ce se întâmplă când se încalcă o constrângere de cheie primară la inserarea unei noi linii?

<p>Operația este anulată și se generează o eroare. (C)</p> Signup and view all the answers

Care este rolul unei chei străine într-o bază de date relațională?

<p>De a stabili o relație între două tabele. (C)</p> Signup and view all the answers

În ce constă constrângerea de condiție (CHECK)?

<p>Forțează valorile unei coloane să verifice o condiție prestabilită. (D)</p> Signup and view all the answers

Ce reprezintă domeniul unei expresii în calculul relational?

<p>O multime a tuturor valorilor care apar explicit în expresie sau în relațiile prezente. (D)</p> Signup and view all the answers

Ce caracterizează o expresie sigură în calculul relațional pe tupluri?

<p>Rezultatul este compus doar din valori aparținând domeniului expresiei. (A)</p> Signup and view all the answers

Cum se exprima o cerere in calcul relational pe tupluri?

<p>Printr-o expresie folosind variabile tuplu si formule logice. (B)</p> Signup and view all the answers

Ce reprezinta aparitiile libere ale variabilelor tuplu?

<p>Variabile care nu sunt legate de niciun cuantificator. (C)</p> Signup and view all the answers

Care dintre următoarele afirmații descrie cel mai precis scopul indecșilor într-o bază de date relațională?

<p>Accelerarea procesului de execuție al interogărilor. (B)</p> Signup and view all the answers

Flashcards

Modelarea datelor

Procesul de organizare a datelor într-o bază de date conform unui model specific.

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

Elemente de bază ale datelor, legate prin constrângeri formând diagrame de relații.

Domeniu

O mulțime de valori identificată printr-un nume, definindu-se prin enumerare sau caracteristici.

Signup and view all the flashcards

Relația

O submulțime a unui produs cartezian, având un nume asociat.

Signup and view all the flashcards

Atributul

O coloană într-o relație, având un nume asociat.

Signup and view all the flashcards

Schema unei relații

Structura unei relații, compusă din nume, atribute, domeniul atributelor și constrângeri.

Signup and view all the flashcards

Cheia

O mulțime minimală de atribute ale căror valori identifică unic un tuplu.

Signup and view all the flashcards

Valoare nulă (null value)

O valoare care modelează o informație nespecificată sau inaplicabilă.

Signup and view all the flashcards

Constrângeri de integritate

Un mecanism prin care un SGBD controlează corectitudinea datelor.

Signup and view all the flashcards

Constrângerea de valori nenule (NOT NULL)

Constrângere care asigură că înregistrările au valori non-nule pe anumite coloane.

Signup and view all the flashcards

Constrângerea de unicitate (UNIQUE)

Constrângere care asigură că un atribut sau perechi de atribute nu conține valori duplicate.

Signup and view all the flashcards

Index

Fișiere speciale ce accelerează interogările.

Signup and view all the flashcards

Cheie primară (PRIMARY KEY)

Constrângere care este cheia principală a unei tabele.

Signup and view all the flashcards

Cheie Straină (FOREIGN KEY)

Constrângere utilizată pentru a relaționa două table.

Signup and view all the flashcards

Domeniul expresiei

Mulțimea elementelor care apar într-o formulă sau componente ale unui tuplu.

Signup and view all the flashcards

Calcul relațional pe tupluri (CRT)

Cererile de regăsire a informațiilor exprimate prin variabile tuplu.

Signup and view all the flashcards

Calcul relațional pe domenii (CRD)

Cererile de regăsire a informațiilor exprimate prin variabile de domeniu.

Signup and view all the flashcards

Expresie sigură

Expresie care produce un rezultat compus doar din valori aparținând lui DOM(Ψ).

Signup and view all the flashcards

Constrângere de condiție (CHECK)

Constrângere care obligă valorile unei coloane să verifice o condiție prestabilită.

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.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser