Baze de date

Documente similare
Aggregating Data

Managementul Resurselor Umane

Laborator02

PHP (II)

Microsoft Word - Curs_07.doc

Baze de date-Anul 2 (semestrul 2)

proiectarea bazelor de date

Laborator 8: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea II - functii) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de bloc

PowerPoint Presentation

Microsoft Word - Curs 11 - PHP.doc

Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blo

Aplicaţii Integrate pentru Întreprinderi Laborator Utilizarea sistemului de gestiune pentru baze de date MySQL Scopul laboratorului îl re

Laborator5_SQL_an2

Baze de date - Anul 2 Laborator 8 Limbajul de definire a datelor (LDD) (partea I) În general, instrucţiunile LDD sunt utilizate pentru definirea struc

Anexa nr. 2 FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior UNIVERSITATEA DE VEST TIMISOARA 1.2 Facultatea FIZICA 1.3 De

RZOLVARE EXERCITIU ZODII declare cursor distributie_zodie is select nume_zodie, count(*) distributie from zodiac z join utilizatori u on to_date(to_ch

PowerPoint Presentation

Microsoft Word - Fisa disciplinei BD_I_IE doc

ADRIAN TRIF BAZE DE DATE APLICAŢII ACCESS UTPRESS Cluj-Napoca, 2019 ISBN

Prezentarea calculatorului

Prezentarea calculatorului

Database Management Systems Cap 2. Structured Query Language (1)

EXCEL FĂRĂ SECRETE Grafice şi diagrame

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

Utilizare Internet

Microsoft Word - Curs_08.doc

PowerPoint Presentation

PowerPoint Presentation

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 4. Dezvoltarea site-urilor si blog-uri

Baze de date Anul 2 Teorie Examen 1. Diagrama entitate/relatie si diagrama conceptuala (curs 2-5) 2. Arbore algebric si expresie algebrica (curs 6-10)

aplicatii java

PowerPoint Presentation

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

Baze de date - Anul 2 Laborator 9 Limbajul de definire a datelor (LDD) - II : Definirea vizualizărilor, secvenţelor, indecşilor, sinonimelor, tabelelo

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

Proceduri stocate Syntax: CREATE PROCEDURE <Name> type1,...] AS -- secventa de comenzi SQL GO O procedura stocata se ruleaza cu EXEC: EXEC <N

Utilizarea îmbinării corespondenței pentru crearea şi imprimarea scrisorilor şi a altor documente Dacă utilizați îmbinarea corespondenței când doriți

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

PowerPoint Presentation

Utilizare Internet

Matematici aplicate științelor biologie Lab05 MV

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

Universitatea Aurel Vlaicu din Arad Facultatea de Științe Exacte CONCURSUL INTERNAȚIONAL DE MATEMATICĂ ȘI INFORMATICĂ CAIUS IACOB Ediția a VIII-a SECȚ

Slide 1

Microsoft Word - Curs_10.doc

proiectarea bazelor de date

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Manual de utilizare Room Booking System

Mai multe despre optimizare

Microsoft Word - lab_access.doc

Inserarea culorilor in tabele

FIŞA DISCIPLINEI

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor

Logică și structuri discrete Mulțimi Casandra Holotescu

CL2009R0976RO bi_cp 1..1

MergedFile

UNIVERSITATEA DE VEST DIN TIMIȘOARA

programă şcolară pentru clasa a 11a, liceu

1 Lucrarea nr. 8 - Structuri de date de tip liste sortate O listă sortată reprezintă un aranjament al înregistrărilor din cadrul listei în funcţie de

EVALEDIT - EDITOR ON-LINE DE TESTE GRILA Cristea BOBOILĂ * EvalEdit reprezintă o aplicaţie tip Internet al cărei scop este evaluarea on-line şi editar

Microsoft® Access®

Limbaje Formale, Automate si Compilatoare

Microsoft Word - 6 FD_Informatica SGBD II CIG 2017.doc

Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java Interfaţa Iterator Interfaţa C

Furnicuţa şi-a construit un depozit pentru grăunţe

PowerPoint Presentation

Web Social FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZE

Microsoft Word - cap1p4.doc

PowerPoint Presentation

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

Microsoft Word - MANUAL_APP_ROMPOS_V7.docx

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

Microsoft Word - Curs_09.doc

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Utilizare Internet

Evaluarea unităţilor de dializă publice si private

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Microsoft Word - tcad_l6.doc

Microsoft Word - CarteC.doc

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Laborator 3

Diapositive 1

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

Microsoft Word - WME-versiunea rtf

carteInvataturaEd_2.0_lectia5.pdf

Subiectul 1

Baze de date-Anul 2

Microsoft Word - lab-fr_3

Instructiuni licenta - 2

Microsoft PowerPoint - Prezentarea_programelor_de_studii_de_licenta_2019

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Информационная система персонализации, печати и учета документов об образовании

Transcriere:

BAZE DE DATE

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.

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 ---------------------------------------------------------

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 -------------------

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.

Operatorii relaţionali Operatorii relaţionali (în cadrul bazelor de date relaţionale) sunt definiţi în tabelul următor: Operatorul Relaţional Restricţia Proiecţia Produsul "Join" Reuniunea Intersecţia Diferenţa Descrierea este o operaţie care preia şi afişează datele din relaţie.este posibil să se afişeze toate rândurile sau doar rândurile care îndeplinesc o anume condiţie (sau mai multe condiţii). Aceasta este de multe ori numită "submulţime orizontală" este operaţia care afişează anumite coloane din relaţie, fiind numită de aceea şi "submulţime verticală". este rezultatul obţinut când rândurile a două mulţimi de date sunt concatenate conform condiţiilor specificate. este rezultatul obţinut când rândurile a două mulţimi de date sunt concatenate conform condiţiilor specificate. afişează toate rândurile care apar în una, în cealaltă, sau în ambele relaţii. afişează toate rândurile care apar în ambele relaţii. afişează rândurile care apar numai în prima relaţie fără să apară în cea de a doua (în SQL se utilizează chiar semnul - operatorul minus).

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.

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).

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.

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

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).

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

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.

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ă.

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;

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

Crearea unei tabele

Inserarea unei inregistrari

Afisarea inregistrarilor

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!");?>

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

Si surpriza Exemplul