Concepte SGBD

postat acum 4 ani de Stefanescu Mihai in categorie SQL

Ce este un SGBD?

SGBD este acronimul pentru Sistem de Gestionare a Bazelor de Date. SGBD sta la baza SQL-ului si a oricarui sistem de baze de date moderne, precum Microsoft SQL Server, IDB DB2, Orackem MySQL, Miscrosoft Access, s.a.m.d

Ce este un tabel?

Informatiile stocate intr-un SGBD sunt obiecte din interiorul bazelor de date, obiecte numite tabele. Un tabel este o colectie de informatii inrudite aranjate in coloane si randuri.

Ce trebuie sa va mintiti este faptul ca un tabel este de fapt ce-a mai simpla metoda de a stoca informatii intr-o baza de date relationala.Mai jos avem un tabel Studenti:

+----+----------+-----------+----------+
| ID | NUME     | PRENUME   | PROFIL   |
+----+----------+-----------+----------+
|  1 | Ramesh   | Ahmedabad |  MateInfo|
|  2 | Khilan   | Delhi     |  Teologie|
|  3 | kaushik  | Kota      |  Chimie  |
|  4 | Chaitali | Mumbai    |  Fizica  |
|  5 | Hardik   | Bhopal    |  MateInfo|
|  6 | Komal    | MP        |  Chimie  |
|  7 | Muffy    | Indore    |  Teologie|
+----+----------+-----------+----------+

Ce este un rand?

O inregistrare, un rand, un tuplu, toate inseamna acelasi lucru si anume un singur rand dintr-un tabel.De exemplu, avem 7 randuri in tabelul de mai sus (in cazul de mai sus 1 rand = informatiile despre 1 student).

+----+----------+-----------+----------+
|  1 | Ramesh   | Ahmedabad |  MateInfo|
+----+----------+-----------+----------+

Ce este o coloana?Coloana se refera la entitatite pe verticala dintr-un tabel.De exemplu, in tabelul de mai sus avem Coloana NUMEsi aceasta contine:

+----------+
| NUME     |
+----------+
| Ramesh   |
| Khilan   |
| kaushik  |
| Chaitali |
| Hardik   |
| Komal    |
| Muffy    |
+----------+

Valoarea NULLO valoare NULL intr-un tabel arata lipsa unei valori in acel camp al tabelului. Este foarte important sa intelegem ca valoarea NULL este diferita de 0 si este la feld e diferita si de un camp ce contine un spatiu gol.Constrangeri SQL

Ce sunt aceste constrangeri? Sunt reguli pe care le putem defini pentru a pune anumite impuneri intr-un tabel.

Aceste constrangeri pot fi create la nivel de tabela sau la nivel de coloana.

  • NOT NULL – Coloana respectiva nu poaet avea valoare NULL
  • DEFAULT – da o valoare default unei coloane atunci cand aceasta nu este specificata
  • UNIQUE – Se asigura ca toate valorile unei coloane sunt unice
  • PRIMARY Key – Identificator unic al fiecarui tuplu
  • FOREIGN Key – Identificator unic al fiecarui tuplu din alt tabel
  • CHECK – Se asigura ca toate valorile dintr-o coloana respecta o conditie
  • INDEX – folosit la crearea si afisarea datelor dintr-unt abel mai rapid

Integritatea datelor

Avem urmatoarele categorii de integritate a informatiilor dintr-o baza de date:

  • Entity Integrity: Nu exista randuri duplicate intr-un tabel.
  • Domain Integrity: Forteaza validitatea datelor restrictionand tipul, formatul, sau rangul de valori.
  • Referential integrity: Tuplurile nu pot fi sterse daca sunt folosite de alte tupluri (Foreign Key).
  • User-Defined Integrity: regula de integritate definita de utilizator.

Normalizare

Normalizarea este procesul de eficientizare a organizarii informatiilor dintr-o baza de date. Avem 2 motive principale pentru a normaliza o baza de date:

    • Eliminarea redundantei datelor.

Asigurarea dependetei datelor cu un anumit rost.

Ambele sunt importante si ambele reduc spatiul ocupatd e baza de date si asigura stocarii logice a informatiilor.

Normalizarea este reprezentata de o lista de reguli pe care trebuie sa le respectati la crearea unei structuri a unei baze de date.Regulile de normalizare sunt impartite in mai mutle Forme Normale. Mai jos am sa va pun la dispozitie 3 forme normale pentru ca doar acestea sunt necesare in majoritatea cazurilor, dar daca doriti voi puteti sa mergeti mai departe cu structura bazei voastre de date si sa ajungeti in forma normala 4 sau 5.

Forma Normala 1

Forma Normala 2

Forma Normala 3

Sunt un tanar programator din Bucuresti ce lucreaza in PHP/Mysql (MySqli/PDO), Laravel, CodeIgniter, MySQL, PostgreSQL, Wordpress, HTML5/CSS3, Sass, Photoshop si multe altele.
Google+ Community Facebook Group
Acest articol a fost mutat de pe vechea platforma.
Pentru orice eroare aparuta la mutare va rog sa ma contactati!

Comentariu postate de free minecraft la data de 14.05.2019
A fascinating discussion is definitely worth comment. I do think that you ought to write more about this subject matter, it might not be a taboo matter but generally people do not talk about these issues. To the next! Cheers!!
Comentariu postate de minecraft pc download la data de 16.05.2019
Hello There. I discovered your blog the use of msn. This is a really well written article. I will be sure to bookmark it and come back to learn extra of your helpful information. Thanks for the post. I will definitely return.
Comentariu postate de minecraft pc download la data de 17.05.2019
Hmm it seems like your blog ate my first comment (it was extremely long) so I guess I'll just sum it up what I had written and say, I'm thoroughly enjoying your blog. I as well am an aspiring blog blogger but I'm still new to everything. Do you have any helpful hints for beginner blog writers? I'd definitely appreciate it.
Comentariu postate de download minecraft for free la data de 17.05.2019
Thanks for your personal marvelous posting! I certainly enjoyed reading it, you might be a great author. I will be sure to bookmark your blog and will come back down the road. I want to encourage yourself to continue your great work, have a nice holiday weekend!