Baze de date - PowerPoint PPT Presentation

About This Presentation
Title:

Baze de date

Description:

... (DBA): GRANT, REVOKE utilizate ... Sa nu ne stresam foarte tare Utilizam serverul de baze date MySQL Interfata phpmyadmin Crearea unei tabele Inserarea ... – PowerPoint PPT presentation

Number of Views:168
Avg rating:3.0/5.0
Slides: 23
Provided by: ZflC
Category:
Tags: baze | date | mysql

less

Transcript and Presenter's Notes

Title: Baze de date


1
Baze de date
2
BAZA DE DATE RELATIONALA
  • Chiar daca F.E. Codd, ca matematician, a
    construit un model riguros, cu concepte
    matematice, baza de date relationala este
    perceputa de utilizatorii sai ca o colectie de
    tabele (tablouri bidimensionale de date, numite
    si relatii), notiune care nu necesita definitii
    suplimentare.
  • Sunt aici patru concepte care trebuie retinute si
    întelese
  • tabelele
  • coloanele tabelului
  • rândurile tabelului
  • câmpurile din tabel, de pe o anumita coloana si
    linie.

3
Exemplu
Tabela CLIENTI -------------------
-------------------------------
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---------gt S1 P3 400
S2 P1 300
S2 P2 400 ------câmp
S3 P3 200
-------------------
5
Modelul relational
  • Modelul relational al bazei de date imita
    procesele unei ramuri a algebrei, cunoscute sub
    numele de "Algebra relationala". Aceste procese
    implica
  • o colectie de obiecte cunoscute sub numele de
    RELATII
  • o multime de operatori care actioneaza asupra
    relatiilor pentru a produce noi relatii.
  • O relatie, în cazul discret, poate fi privita si
    înteleasa ca o Tabela. Modificarea datelor se
    realizeaza prin operatii relationale aplicate
    asupra tabelelor. Spre exemplu, restrictia unei
    relatii, a unui tabel, va fi un nou tabel în care
    se pastreaza doar anumite linii. Iar proiectia
    unei relatii - unui tabel - va fi un nou tabel în
    care se pastreaza doar anumite coloane.

6
Operatorii relationali
Operatorii relationali (în cadrul bazelor de date
relationale) sunt definiti în tabelul urmator
Operatorul Relational Descrierea
Restrictia este o operatie care preia si afiseaza datele din relatie.Este posibil sa se afiseze toate rândurile sau doar rândurile care îndeplinesc o anume conditie (sau mai multe conditii). Aceasta este de multe ori numita "submultime orizontala"
Proiectia este operatia care afiseaza anumite coloane din relatie, fiind numita de aceea si "submultime verticala".
Produsul este rezultatul obtinut când rândurile a doua multimi de date sunt concatenate conform conditiilor specificate.
"Join" este rezultatul obtinut când rândurile a doua multimi de date sunt concatenate conform conditiilor specificate.
Reuniunea afiseaza toate rândurile care apar în una, în cealalta, sau în ambele relatii.
Intersectia afiseaza toate rândurile care apar în ambele relatii.
Diferenta afiseaza rândurile care apar numai în prima relatie fara sa apara în cea de a doua (în SQL se utilizeaza chiar semnul - operatorul minus).
7
Proprietati ale bazelor de date relationale
  • O baza de date relationala apare ca o colectie de
    relatii (tabele)
  • Exista o multime de operatori pentru
    transformarea si combinarea relatiilor
  • selectia,
  • proiectia,
  • produsul,
  • join-ul,
  • reuniunea,
  • intersectia,
  • diferenta
  • Nu apar pointeri conexiunile sunt facute numai
    pe baza datelor.
  • Exista o independenta totala a datelor.
  • Limbajul utilizat pentru interogarea bazei de
    date este non-procedural si similar limbii
    engleze.
  • Utilizatorul nu specifica calea de acces si nu
    are nevoie sa stie cum este aranjata fizic
    informatia.
  • Comenzile pentru selectia sau refacerea datelor,
    cât si acelea pentru realizarea schimbarilor în
    baza de date sunt incluse într-un singur limbaj,
    standardizat acum ca SQL.

8
Proprietatile relatiilor tabelare
  • Fiecare tabela, individual, are urmatoarele
    proprietati
  • Nu exista rânduri duplicate
  • Nu exista nume de coloane identice (duplicate)
  • Ordinea rândurilor este neimportanta
  • Ordinea coloanelor este neimportanta
  • Valorile (câmpurile) sunt atomice
    (nedecompozabile).

9
SQL
  • este limbajul utilizat pentru a accesa o baza de
    date relationala
  • 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 engleza
  • este un limbaj standard pentru bazele de date.

10
Trasaturi caracteristice ale limbajului SQL
  • SQL, ca si majoritatea limbajelor de programare,
    foloseste cuvinte din limba engleza. In mod
    special cuvintele select, insert, delete ca
    elemente ale setului de comenzi.
  • SQL este un limbaj neprocedural specifica care
    sunt informatiile dorite, nu cum se obtin
    acestea. Cu alte cuvinte, SQL nu cere sa fie
    specificata metoda de acces la date.
  • Executia comenzilor SQL asupra înregistrarilor nu
    se poate face decât secvential, asupra câte unei
    singure înregistrari. Setul de înregistrari fiind
    vazut ca set de linii ale unui tabel.
  • SQL poate fi folosit de un sir de utilizatori,
    incluzând administratorul bazei de date,
    programatorii de aplicatii, personalul de
    management si multe alte tipuri de utilizatori.
  • SQL include comenzi pentru o varietate de
    sarcini, incluzând
  • selectia unor date
  • inserarea, extragerea si stergerea rândurilor
    dintr-un tabel
  • crearea, modificarea si stergerea obiectelor de
    tip baza de date
  • controlul accesului la baza de date si la
    obiectele de tip baza de date
  • verificarea - garantarea consistentei 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 si sterge orice structura de
    date, în particular tabele.
  • Comenzile de manipulare a datelor (DML) INSERT,
    UPDATE, DELETE si SELECT
  • utilizate pentru a introduce noi rânduri, pentru
    a schimba (actualiza) rândurile existente, pentru
    a sterge rândurile nedorite din baza de date
    respectiva, si, în fine, SELECT - comanda cea mai
    utilizata, folosita pentru a cauta, a selecta
    înregistrari din tabel sau dintr-o combinatie de
    tabele ale bazei de date.
  • Comenzile de control (grupul DCL), la dispozitia
    administratorului(DBA) GRANT, REVOKE
  • utilizate pentru a da sau a lua drepturi de acces
    (la comenzi DML, deci la operarea unor modificari
    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 folosita tabelarea.
  • Cuvintele de comanda nu pot fi separate pe mai
    multe linii.
  • Comenzile SQL pot fi scrise fie cu majuscule fie
    cu minuscule (nu sunt 'case sensitive').
  • O comanda SQL este introdusa la prompterul SQL,
    iar liniile subsecventelor sunt numerotate.
  • O singura declaratie poate fi considerata
    curenta, cât timp ea este într-un buffer si poate
    fi rulata într-un anumit numar de moduri
  • plasând un punct si virgula() la sfârsitul
    ultimei clauze.
  • plasând un punct si virgula urmat de semnul /
    (slash) pe ultima linie în buffer.
  • plasând un slash (/) la prompterul SQL.
  • scriind comanda SQL RUN la prompterul SQL.

14
Blocul de interogare de baza
  • Declaratia SELECT regaseste informatia din baza
    de date, putând îngloba si unul sau mai multi
    operatori din algebra relationala.
  • In cele mai simple forme trebuie sa contina
  • O clauza SELECT, care listeaza coloanele pentru
    afisare astfel încât este esentiala o Proiectie.
  • O clauza FROM care specifica tabela implicata.

15
Exemple
  • SELECT FROM EMP
  • SELECT ENAME, SAL12, COMM FROM EMP
  • SELECT ENAME, SAL12 ANNSAL, COMM FROM EMP
  • SELECT EMPNOENAME EMPLOYEE FROM EMP
  • SELECT DISTINCT DEPTNO FROM EMP
  • SELECT ENAME, JOB, SAL12, 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 lt?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!") ?gt
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
Write a Comment
User Comments (0)
About PowerShow.com