Baze de date - Lectia 3

Bazele de date relaționale, după cum știm, este alcătuit din tabele. Fiecare tabel cuprinde coloane (denumite câmpuri sau atribute) și rânduri (denumite înregistrări sau tuple). Tabelele din bazele de date relaționale au un număr de proprietăți. Cele mai importante sunt următoarele:

  • Tabelul nu poate fi două rânduri identice. În matematică, tabelul cu această proprietate se numește o relație - în ceea ce privește limba engleză, de unde și numele - relațională.
  • Coloanele sunt aranjate într-o anumită ordine, care este creat atunci când creați tabelul. Tabelul nu poate fi o singură linie, dar trebuie să fie de cel puțin o coloană.
  • Fiecare coloană are un nume unic (într-un tabel), și toate valorile din aceeași coloană au același tip (număr, text, dată.).
  • La intersecția fiecărui rând și coloană poate fi numai o valoare atomică (o valoare care nu este formată dintr-un grup de valori). Foi de calcul care îndeplinesc această condiție sunt numite normalizat.

  • Totul va fi mai clar cu un exemplu. Să presupunem că ne-am dorit să creeze o bază de date pentru forum. Forumul a înregistrat utilizatorii care creează fire și lase mesaje în aceste subiecte. Aceste informații și ar trebui să fie stocate într-o bază de date.

    Teoretic, (pe suport de hârtie), putem aranja totul într-un singur tabel, de exemplu:

    Dar acest lucru contrazice proprietatea Atomicitate (o valoare într-o singură celulă), iar coloanele teme și mesajele pe care le-am asumat un număr nelimitat de valori. Deci, masa noastră ar trebui să fie împărțită în trei: Utilizatori Subiecte și mesaje.

    Membrii noștri de masă îndeplinește toate condițiile. Dar temele de masă și mesaje - nr. Dupa masa nu poate fi două rânduri identice, și garanția că un utilizator nu va lăsa două mesaje identice, de exemplu:

    În plus, știm că fiecare mesaj este în mod necesar legat de orice subiect. Și cum este posibil de a învăța de la mesele noastre? Nimic. Pentru a rezolva aceste probleme, există chei în baze de date relaționale.

    cheie Surrogate este un câmp opțional, în baza de date. De obicei, acesta este numărul de index (deși le puteți solicita la discreția sa, controlul acestuia să fie unic). Să ne fie câmpul cheie primară în tabelul nostru:

    Acum, fiecare înregistrare în tabelele noastre unice. Rămâne pentru noi să stabilească o corespondență între temele și mesajele în ele. Acest lucru se face, de asemenea, prin intermediul unor chei primare. Posturile de masă, vom adăuga un alt domeniu:

    Acum este clar că mesajul cu id = 2 face parte din tema „La pescuit“ (id = 4 fire), înființat Vasya și alte mesaje fac parte din tema „Pe de pescuit“ (id = 1 teme) create de Chiril. Un astfel de câmp se numește cheie străină (abreviat ca FK - cheie externă). Fiecare valoare a acestui câmp corespunde unei chei primare din tabelul „Subiecte“. Aceasta stabilește o corespondență între mesaje și teme la care se referă.

    Ultima nuanță. Să presupunem că ați adăugat un utilizator nou, iar numele lui este Bob, de asemenea:

    Baza noastra de date este gata. Schematic poate fi reprezentat după cum urmează:

    În baza noastră de date mici din toate cele trei plăci, iar dacă au existat 10 sau 100? Este clar că pur și simplu nu se poate imagina toate tabelele, câmpurile și link-uri pe care am putea avea nevoie. Acesta este motivul pentru proiectarea bazei de date începe cu modelul său conceptual, pe care vom discuta în lecția următoare.

    În cazul în care acest site a fost util pentru tine, vă poate ajuta în dezvoltarea sa prin punerea una dintre aceste link-uri către site-ul tau.