Sunteți pe pagina 1din 5

26.02.

2013 Foundations of DataBase Programming Understanding DataBases

Ce sunt datele de baze? O colectie de date; structur- este o legtur ntre ele. Exista anumite reguli ce trebuiesc respectate privind accesul la date, extragerea lor, utilizatorii care sunt implicati. Baze de date relationale Diferena dintre baze de date si sistem de gestiune Sistem de gestiune-software cu care gestionam datele. Principiile bazelor de date sunt aceleasi. Date generale pe care le folosim: clienti, furnizori, procente, sume, valori. Alte tipuri de date: imagine(ex. facebook), audio, video, site-urile De ce avem nevoie de baze de date? Dimensiunea, usurinta actualizarea, acuratetea, securitate, importanta, surplus. Dimensiunea: viteza cu care poti extrage rapoarte Bazele de date sunt facute pentru a avea mai multi utilizatori. Datele pot fi confidentiale. Redundan: a avea mai multe copi ale acelorasi date. Datele sunt materia bruta, datele interpretate intr-un anumit context, informatiile sunt cele care le extragi (prelucrarea lor). DataBase Management System- sunt sisteme de gestiune si aici creezi date de baze Oracle, SQL Server, MySQL, PostgreSQL, MongoDB Angajati First name Last name Position Phone Relational database features Elementul fundamental care conine datele: tabel O tabel este definita de randuri (nregistrare) si coloane (cmp, atribut). Address Clienti Numele Telefon Adresa

Social Security- este unic in mod natural Pentru produse: cod de bare (trebuie sa il cumperi). Pentru a evita duplicarea datelor Cazurile many to many nu se pot reprezenta in bazele de date in mod direct. Angajatul trebuie sa stie in ce departament este.

Autor ID First name Last name Book ID cartii Titlul Editura Author ID Nu se poate retine decat un autor. Ce se intampla daca o carte are doi autori? Nu e normal sa ai coloane repetitive. Transactions and.... Tranzactia include toti pasii necesari pentru ca ambele parti sa fie satisfacute. Si plata sa se faca si produsul sa fie livrat. Pentru a numi o tranzactie reusita pana cand comanda s-a facut cum trebuie. Caracteristici pentru o tranzactie reusita: ACID Atomica: indivizibila . Tranzactia trebuie sa aiba loc complet sau deloc. (cea mai mica celula care nu se mai divide). Sa imi garanteze acel sistem ca totul se executa doar daca toti pasi au fost facut cu succes. Consistent: tranzactia trebuie sa duca baza de date intr-o stare valid. Regulile sa fie respectate in intregime. Izolate: datele implicate intranzactie sa fie izolate, blocate. Daca altcineva (internetbanking) vrea sa acceseze contul este blocat. Nu permite accesul simultan al aceluiasi cont pana cand tranzactia nu este terminata.

Durabila: sa se efectueze garantarea ei in caz de ceva, daca pica sistemul, daca se ia curentul...

Introduction to SQL SQL is a declarative query language not a procedural, imperative language. I want all the books more than $40 Select* From Books Where ListPrice > 40 Create- insert Read Update- actualizezi Delete

Database modeling: tables

Diagramele te ajuta la munca in echipa. Trei intrebari de baza care se pun atunci cand construim o baza de date? 1. Care este rostul?Ce problem ncerci sa rezolvi? Ex. Baza de date pentru librarie Ce vrei sa memorezi? Produse-- informatiile despre ele, angajati In librarie sa ii ajute pe clienti sa gaseasca sa afle ce au gandit ceilalti clienti despre carti, acces online, produse care sunt inrudite. 2. Ce exista deja? Ai deja un sistem funcional? 3. Ce entiti ai? Ce tabele ai? Alegerea tipului de date: fiecare atribut va avea un anumit tip de date. (nu se lasa spatii) Codul: este important sa l stabilim (unicode-include limbile de circulatie internationala). Daca datele dintr-o anumita coloana sunt optionale sau nu. Alegerea primary key: CNP, codul de bare

Daca nu exista un cod natural se poate introduce unul singur: synthetic key: singur se genereaz.

Crearea relaiilor Patru pai: Crearea tabelelor Definirea atributelor Setarea primary key Crearea relatiilor

Referential integrity and relationships rules Cascading delete inainte de a sterge clientul ma uit la toate inregistrarile cu el si apoi sterg clientul Cascading nullify No action

12. 03.2013 Normalizarea datelor Intervine la inceput dupa ce ai facut deja o arhitectura. Trei pai: Formulare, interogari si rapoartele First normal form (1NF) = sa nu existe grupuri de coloane unde sa am date care se repeta. Intr-un tabel ar trebui sa nu am coloane cu date care au aceiasi valoare sau acelasi titlu. Second normal form (2NF)= nu apare decat atunci cand avem composite key. Cand intr-o tabela nu putem identifica o nregistrare numai dup un singur cmp ci dup dou. Third normal form (3NF)= cand informatia obtinuta o obtii din 2 sau mai multe campuri Redundanta datelor?= sa nu se repete datele; intr-un singur loc sa ai anumite date. Sa se reduca la minim aceasta multiplicare a datelor. Data base modeling: querying Querying= a interoga; a extrage date;

Using agreggate functions Create Insert Read Select Update- Update Delete Delete INSERT INTO table ...columns 1, columns 2 VALUES...values 1, values 2 Insert into Employee (FirstName, LastName, Department, Salary) Values ( `Joe`, `Allen`, `Sales`, 2000). Salariul nu e neaparat cu apostrof. Delete sterge toata inregistrarea. Update sterge doar bucatele. Delete from Employee---se sterge tot continutul. In loc sa dai delete pe angajatul respectiv inainte se face un select unde am angajatul respectiv. Dupa ce m-am asigurat atunci se va sterge angajatul respectiv.

Database modeling: indexing and optimization Optimizarea bazelor de date Un cuprins: cuvinte cheie Conflicts and Isolations Locking Pessimist locking: nu dau sub nici o forma acces la joint; atunci cand Alice a deschis contul joint atunci Bob nu va mai putea accesa in acelasi timp; ii spune ca e blocat contul respectiv. El trebuie sa astepte pana se inchide tranzactia. Optimist locking: nu toti cei care acceseaza un cont neaparat l modific. Atunci cand Bob incearca sa scoata $1000 atunci ii blocheaza. Ii spune cat mai are si daca vrea sa efectueze tranzactia. Atunci cand iti faci baza de date vei decide daca lasi sau nu accesul simultan

S-ar putea să vă placă și