1 / 22

Baze de date

Baze de date. BAZA DE DATE RELAŢIONALĂ.

calder
Télécharger la présentation

Baze de date

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Baze de date

  2. BAZA DE DATE RELAŢIONALĂ • Chiar dacă F.E. Codd, ca matematician, a construit un model riguros, cu concepte matematice, baza de date relaţională este percepută de utilizatorii săi ca o colecţie de tabele (tablouri bidimensionale de date, numite şi relaţii), noţiune care nu necesită definiţii suplimentare. • Sunt aici patru concepte care trebuie reţinute şi înţelese: • tabelele • coloanele tabelului • rândurile tabelului • câmpurile din tabel, de pe o anumită coloană şi linie.

  3. Exemplu Tabela CLIENŢI -------------------------------------------------- | NrS NUME STARE ORAS | |------------------------------------------------| | S1 Ionescu 20 LONDRA | | S2 Popescu 10 PARIS | | S3 Teodorescu 30 PARIS | -------------------------------------------------- Tabela PIESE --------------------------------------------------------- | NrP NUMEP CULOARE GREUTATE ORAS | |-------------------------------------------------------| | P1 NIT ROSU 12 LONDRA | | P2 PIRON VERDE 17 PARIS | | P3 SURUB ALBASTRU 17 ROME | | P4 SURUB ROSU 14 LONDON | ---------------------------------------------------------

  4. Exemplu Tabela CUMPARATURI ------------------- | NrS NrP QTY | |-----------------| | S1 P1 300 | | S1 P2 200 | rând--------->| S1 P3 400 | | S2 P1 300 | | S2 P2 400 --|----câmp | S3 P3 200 | -------------------

  5. Modelul relaţional • Modelul relaţional al bazei de date imită procesele unei ramuri a algebrei, cunoscute sub numele de "Algebră relaţională". Aceste procese implică: • o colecţie de obiecte cunoscute sub numele de RELAŢII • o mulţime de operatori care acţionează asupra relaţiilor pentru a produce noi relaţii. • O relaţie, în cazul discret, poate fi privită şi înţeleasă ca o Tabela. Modificarea datelor se realizează prin operaţii relaţionale aplicate asupra tabelelor. Spre exemplu, restricţia unei relaţii, a unui tabel, va fi un nou tabel în care se păstrează doar anumite linii. Iar proiecţia unei relaţii - unui tabel - va fi un nou tabel în care se păstrează doar anumite coloane.

  6. Operatorii relaţionali Operatorii relaţionali (în cadrul bazelor de date relaţionale) sunt definiţi în tabelul următor:

  7. Proprietăţi ale bazelor de date relaţionale • O bază de date relaţională apare ca o colecţie de relaţii (tabele) • Există o mulţime de operatori pentru transformarea şi combinarea relaţiilor: • selecţia, • proiecţia, • produsul, • join-ul, • reuniunea, • intersecţia, • diferenţa • Nu apar pointeri; conexiunile sunt făcute numai pe baza datelor. • Există o independenţă totală a datelor. • Limbajul utilizat pentru interogarea bazei de date este non-procedural şi similar limbii engleze. • Utilizatorul nu specifică calea de acces şi nu are nevoie să ştie cum este aranjată fizic informaţia. • Comenzile pentru selecţia sau refacerea datelor, cât şi acelea pentru realizarea schimbărilor în baza de date sunt incluse într-un singur limbaj, standardizat acum ca SQL.

  8. Proprietăţile relaţiilor tabelare Fiecare tabelă, individual, are următoarele proprietăţi: • Nu există rânduri duplicate • Nu există nume de coloane identice (duplicate) • Ordinea rândurilor este neimportantă • Ordinea coloanelor este neimportantă • Valorile (câmpurile) sunt atomice (nedecompozabile).

  9. SQL • este limbajul utilizat pentru a accesa o bază de date relaţională; • poate fi utilizat atunci când accesul la baza de date este necesar, de fiecare instrument de gestiune a bazelor de date (Access, Oracle, SQL-Server, MySQL,...); • este un limbaj simplu, ne-procedural, cu comenzi intuitive în limba engleză; • este un limbaj standard pentru bazele de date.

  10. Trăsături caracteristice ale limbajului SQL • SQL, ca şi majoritatea limbajelor de programare, foloseşte cuvinte din limba engleză. In mod special cuvintele select, insert, delete ca elemente ale setului de comenzi. • SQL este un limbaj neprocedural: specifică care sunt informaţiile dorite, nu cum se obţin acestea. Cu alte cuvinte, SQL nu cere să fie specificată metoda de acces la date. • Execuţia comenzilor SQL asupra înregistrărilor nu se poate face decât secvenţial, asupra câte unei singure înregistrări. Setul de înregistrări fiind văzut ca set de linii ale unui tabel. • SQL poate fi folosit de un şir de utilizatori, incluzând administratorul bazei de date, programatorii de aplicaţii, personalul de management şi multe alte tipuri de utilizatori. • SQL include comenzi pentru o varietate de sarcini, incluzând: • selecţia unor date • inserarea, extragerea şi ştergerea rândurilor dintr-un tabel • crearea, modificarea şi ştergerea obiectelor de tip bază de date • controlul accesului la baza de date şi la obiectele de tip bază de date • verificarea - garantarea consistenţei bazei de date

  11. Setul de comenzi SQL • Comenzile de definire a datelor (DDL): CREATE, ALTER, DROP • aceste trei comenzi sunt utilizate dinamic pentru a crea, utiliza şi şterge orice structură de date, în particular tabele. • Comenzile de manipulare a datelor (DML): INSERT, UPDATE, DELETE şi SELECT • utilizate pentru a introduce noi rânduri, pentru a schimba (actualiza) rândurile existente, pentru a şterge rândurile nedorite din baza de date respectivă, şi, în fine, SELECT - comanda cea mai utilizată, folosită pentru a căuta, a selecta înregistrări din tabel sau dintr-o combinaţie de tabele ale bazei de date. • Comenzile de control (grupul DCL), la dispoziţia administratorului(DBA): GRANT, REVOKE • utilizate pentru a da sau a lua drepturi de acces (la comenzi DML, deci la operarea unor modificări a bazei de date).

  12. Exemplu CREATE TABLE CUSTOMER ( CustomerID Integer PRIMARY KEY FirstName Character (15),LastName Character (20) NOT NULL,Title Character (5),Street Character (25),City Character (25),State Character (2),Phone Character (15) ); INSERT INTO CUSTOMER (CustomerID, FirstName, LastName) VALUES (:vcustid, 'Dana', 'Popescu'); GRANT SELECT INSERT ON CUSTOMER TO Ana, Victor

  13. Scrierea comenzilor SQL • Comenzile SQL pot fi scrise pe una sau mai multe linii. • Clauzele sunt uzual plasate pe linii separate. • Poate fi folosită tabelarea. • Cuvintele de comandă nu pot fi separate pe mai multe linii. • Comenzile SQL pot fi scrise fie cu majuscule fie cu minuscule (nu sunt 'case sensitive'). • O comandă SQL este introdusă la prompterul SQL, iar liniile subsecvenţelor sunt numerotate. • O singură declaraţie poate fi considerată curentă, cât timp ea este într-un buffer şi poate fi rulată într-un anumit număr de moduri : • plasând un punct şi virgulă(;) la sfârşitul ultimei clauze. • plasând un punct şi virgulă urmat de semnul / (slash) pe ultima linie în buffer. • plasând un slash (/) la prompterul SQL. • scriind comanda SQL R[UN] la prompterul SQL.

  14. Blocul de interogare de bază • Declaraţia SELECT regăseşte informaţia din baza de date, putând îngloba şi unul sau mai mulţi operatori din algebra relaţională. • In cele mai simple forme trebuie să conţină: • O clauză SELECT, care listează coloanele pentru afişare astfel încât este esenţiala o Proiecţie. • O clauză FROM care specifică tabela implicată.

  15. Exemple • SELECT * FROM EMP; • SELECT ENAME, SAL*12, COMM FROM EMP; • SELECT ENAME, SAL*12 ANNSAL, COMM FROM EMP; • SELECT EMPNO||ENAME EMPLOYEE FROM EMP; • SELECT DISTINCT DEPTNO FROM EMP; • SELECT ENAME, JOB, SAL*12, DEPTNO FROM EMP ORDER BY ENAME; • SELECT ENAME, JOB, HIREDATE FROM EMP ORDER BY HIREDATE DESC;

  16. Sa nu ne stresam foarte tare Utilizam serverul de baze date MySQL Interfata phpmyadmin

  17. Crearea unei tabele

  18. Inserarea unei inregistrari

  19. Afisarea inregistrarilor

  20. Conectarea la baza de date conect.php <?php $host = "localhost"; $user = "root"; $passw = “"; $db = “studentil"; $link= mysql_connect($hoste,$user,$passw) or die("Nu raspunde serverul MySQL!"); mysql_select_db($dbe,$link) or die("Nu gasesc baza de date!"); ?>

  21. Afisarea inregistrarilor SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...] [ FROM table_references [ WHERE where_condition] [ GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] [INTO OUTFILE 'file_name' export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] [FOR UPDATE | LOCK IN SHARE MODE]] SELECT * FROM studenti SELECT nume FROM studenti SELECT nume, data_n FROM studenti ORDER BY nume ASC

  22. Si surpriza • Exemplul

More Related