Introducere în Bazele de Date
Bazele de date sunt colecții organizate de date care sunt ușor accesibile, gestionate și actualizate. Ele sunt esențiale pentru gestionarea eficientă a informațiilor în diverse aplicații software.
Tipuri de Baze de Date
1. Baze de Date Relaționale (RDBMS): Folosesc tabele pentru a reprezenta datele și relațiile dintre ele. Exemple: MySQL, PostgreSQL, Oracle Database.
2. Baze de Date NoSQL: Folosesc structuri de date diverse (documente, grafuri, coloane, chei-valori) pentru a gestiona date nestructurate sau semi-structurate. Exemple: MongoDB, Cassandra, Redis.
3. Baze de Date Orientate pe Obiecte (OODBMS): Integrează concepte de programare orientată pe obiecte cu capabilitățile unui sistem de gestionare a bazelor de date. Exemple: db4o, ObjectDB.
Limbaje de Interogare
1. SQL (Structured Query Language): Limbaj standard pentru gestionarea și manipularea bazelor de date relaționale.
Comenzi de bază:
- SELECT: Extrage date dintr-o bază de date.
- INSERT: Adaugă noi înregistrări într-o tabelă.
- UPDATE: Actualizează date existente într-o tabelă.
- DELETE: Șterge date dintr-o tabelă.
Exemplu:
```sql
SELECT * FROM studenti WHERE an = 2;
INSERT INTO studenti (nume, prenume, an) VALUES ('Popescu', 'Ion', 2);
```
2. MongoDB Query Language (MQL): Un limbaj specific pentru interogarea bazelor de date MongoDB.
Exemplu:
```javascript
db.studenti.find({ an: 2 });
db.studenti.insert({ nume: "Popescu", prenume: "Ion", an: 2 });
```
Normalizarea Bazelor de Date
Normalizarea este procesul de organizare a datelor într-o bază de date pentru a reduce redundanța și a îmbunătăți integritatea datelor. Include mai multe forme normale (1NF, 2NF, 3NF, BCNF, etc.).
Indexare
Indexarea este o tehnică folosită pentru a îmbunătăți viteza de accesare a datelor dintr-o bază de date. Un index este similar cu un indice dintr-o carte și permite găsirea rapidă a înregistrărilor într-o tabelă.
Constrângeri și Integritate
Constrângerile sunt reguli aplicate pe coloanele tabelelor pentru a asigura corectitudinea și integritatea datelor. Exemple:
- PRIMARY KEY: Unic identificator pentru fiecare rând dintr-o tabelă.
- FOREIGN KEY: Asigură relația dintre două tabele.
- UNIQUE: Asigură unicitatea valorilor într-o coloană.
Backup și Recuperare
Este esențial să aveți strategii de backup și recuperare pentru a proteja datele împotriva pierderii. Acestea includ backup-uri periodice și testarea procedurilor de restaurare.
Exemple de Proiecte Practice
1. Sistem de Gestiune a Bibliotecii: Crearea unei baze de date pentru gestionarea cărților, utilizatorilor și împrumuturilor.
2. Sistem de Management al Studenților: O bază de date care să gestioneze informațiile despre studenți, cursuri, note și profesori.
3. Sistem de E-Commerce: Implementarea unei baze de date pentru gestionarea produselor, comenzilor, clienților și plăților.
Resurse Suplimentare
Cărți:
- "Database System Concepts" de Abraham Silberschatz, Henry F. Korth, S. Sudarshan
- "SQL for Dummies" de Allen G. Taylor
Cursuri Online:
- Coursera: Databases and SQL for Data Science (https://www.coursera.org/learn/sql-data-science)
- Udemy: The Complete SQL Bootcamp (https://www.udemy.com/course/the-complete-sql-bootcamp/)