curs sinteza sql

Click here to load reader

Post on 27-Jun-2015

663 views

Category:

Documents

9 download

Embed Size (px)

TRANSCRIPT

UNIVERSITATEA SPIRU HARET FACULTATEA DE MATEMATIC - INFORMATIC

CURS:

Baze de DateAnul III, Semestrul I, la toate formele de nvmnt Semestrul I , 2 curs, 2 laborator Lector Dr. FLORENTINA Rodica Niculescu

TIP CURS : Obligatoriu la Secia de matematic Informatic,

DURATA: Titular: E-MAIL:I.

rodicaniculescu@gmail.com

CONINUTUL TEMATIC AL DISCIPLINEI

Notiuni introductive n domeniul bazelor de date (entitate, relatie, atribut, limbaje pentru baze de date, componenete i arhitectura unui sistem de gestiune a bazelor de date (SGBD), evoluia SGBD-urilor) Proiectarea bazelor de date simple Proiectarea bazelor de date relaionale (modelarea Entitate-Relaie, diagrama E/R, modelul relational, regulile lui Codd, caracteristicile modelului relational, normalizare, forme normale, dependene funcionale) Limbaje de manipulare a datelor relaionale Limbajul SQL

MODUL DE

STABILIRE A NOTEI FINALE:

Nota de la testul gril (pe calculator) mrit cu dou puncte pentru studenii care au fost prezeni la orele de laborator i care au rezolvat temele de laborator.

SINTEZE ASUPRA PROGRAMEI ANALITICEMaterialul este structurat n 2 pri, astfel:Partea I. Concepte ale bazelor de date relaionale Partea a_II_a. SQL

Partea I. Concepte ale bazelor de date relaionalen aceast parte se face o prezentare general a conceptelor bazelor de date relaionale. O baz de date este o colecie de informaii interrelaionate gestionate ca o singur unitate. A ceast definiie este foarte larg, deoarece exist mari diferene ntre concepiile diferiilor productori care pun la dispoziie sisteme de baze de date. De exemplu, Oracle Corporation definete o baz de date ca fiind o colecie de fiiere fizice gestionate de o singur instan (copie) a produsului software pentru baze de date, n timp ce Microsoft definete o baz de date SQL Server ca fiind o colecie de date i alte obiecte.

Un obiect al bazei de date este o structur de date denumit, stocat n baz de date, cum ar fi un tabel, o vizualizare sau un index. Exist mari diferene ntre implementrile furnizorilor de baze de date. n majoritatea sistemelor de baze de date, datele sunt stocate n mai multe fiiere fizice, dar n Microsoft Access toate obiectele bazei de date, mpreun cu datele care aparin unei baze de date sunt stocate ntr-un singur fiier fizic.(Un fiier este o colecie de nregistrri nrudite stocate ca o singur untiate de sistemul de operare al calculatorului.) Totui, unul dintre principalele avantaje ale bazelor de date relaionale este faptul c detaliile de implementare fizic sunt separate de definiiile logice ale obiectelor bazei de date, astfel nct majoritatea utilizatorilor bazei de date nu au nevoie s tie unde (i cum) sunt stocate obiectele bazei de date n sistemul de fiiere al calculatorului. De fapt , pe msur ce vei nva limbajul SQL , vei vedea c nu este nevoie s specificai numele unui fiier fizic ntr-o instruciune SQL dect atunci cnd definii sau modificai chiar obiectele bazei de date.

Sistem de gestionare a bazei de date (DBMS)Un sistem de gestionare a bazei de date (DBMS database management system) este un produs software furnizat de productorul bazei de date. Produse software precum Microsoft Access, Microsoft SQL Server, Oracle Database,Sybase, DB2,INGRES, MySQL i Postgre SQL fac parte din categoria DBMS sau, mai corect, DBMS relaionale (RDBMS). RDBMS-urile sunt cunoscute i sub numele de SGBD-uri. Ambele prescurtri vor fi folosite n acest expunere. Bazele de date relaionale sunt definite i prezentate n seciunea urmtoare a acestu capitol. Sistemul DBMS pune la dispoziie toate serviciile de baz necesare pentru organizarea i ntreinerea bazei de date, inclusiv urmtoarele: Transferarea datelor n i din fiierele fizice de date, n funcie de cerine. Gestionarea accesului concurenial la date al mai multor utilizatori , inclusiv prevenirea conflictelor care ar putea fi cauzate de actualizrile simultane. Gestionarea tranzaciilor, astfel nct toate modificrile fcute asupra bazei de date printr-o tranzacie s fie executate ca o singur unitate.Cu alte cuvinte, dac tranzacia reuete, toate modificrile efectuate de tranzacie sunt nregistrate n baz de date; dac tranzacia eueaz, nici una dintre modificri nu este nregistrat n baz de date.Totui, reinei ca unele sisteme RDBMS nu asigur suportul pentru tranzacii. Accept un limbaj de interogare, care reprezint sistemul de comenzi folosit de utilizator pentru a obine date din baz de date.SQL este principalul limbaj folosit pentru sistemele DBMS relaionale i subiectul principal al aceste cri. Funcii pentru salvarea bazei de date i pentru refacerea bazei de date n urma erorilor. Mecanisme de securitate pentru mpiedicarea accesului neautorizat la date i modificarea acestora.

Baz de date relaionalO baz de date relaional este o baz de date care respect modelul relaional, dezvoltat de Dr.E.F.Codd. Modelul relaional prezint datele sub forma familiarelor

tabele bidimensionale, similar cu o foaie de calcul tabelar. Spre deosebire de o foaie de calcul tabelar, nu este obligatoriu ca datele s fie stocate ntr-o form tabelar, iar modelul permite i combinarea tabelelor (crearea uniunilor (joining), n terminologia relaional) pentru formarea vizualizarilor, care sunt prezentate tot ca tabele bidimensionale. Flexibilitatea extraordinar a bazelor de date relaionale este dat de posibilitatea de a folosi tabelele independent sau n combinaii, fr nici o ierarhie sau secvena predefinita n care trebuie s se fac accesul la date. Un model este o reprezentare a obiectelor i evenimentelor lumii reale i a asocierilor dintre ele. De fapt, el reprezint o abstracie asupra aspectelor semnificative ale unei ntreprinderi, ale unui sistem real, ignornd proprietile accidentale. Modelul este cel pe care utilizatorii trebuie s-l cunoasc; implementarea unui model este cea pe care utilizatorii nu este necesar s o cunoasc. Diferena dintre model i implementare este, de fapt, un caz special i important al deosebirii uzuale dintre logic i fizic. Modelele se impun prin sintaxa i prin semantica lor i, din acest punct de vedere, exist trei tipuri fundamentale de modele: modele care descriu aspectele statice ale procesului modelat; modele care descriu aspectele dinamice ale procesului modelat; modele care descriu aspectele funcionale ale procesului modelat. Un model de date reprezint o colecie integrat de concepte necesare descrierii: datelor, relaiilor dintre ele, constrngerilor existente asupra datelor sistemului real analizat. Modelarea unei baze de date permite trecerea de la percepia unor fapte din lumea real la reprezentarea lor prin date. Modelul de date trebuie s reflecte fidel fenomene ale lumii reale, s urmreasc evoluia acestei lumi i comunicarea dintre fenomenele lumii reale. Modelul trebuie s asigure conceptele de baz care permit proiectantului bazei de date i utilizatorilor s comunice, fr ambiguiti, cunotinele lor privind funcionarea i organizarea modelului real analizat. Prin urmare, un model de date trebuie s reprezinte datele i s le fac nelese. n esen, modelul de date are trei componente: mulime de reguli conform crora sunt construite bazele de date (partea structural); mulime de operaii permise asupra datelor, care sunt utilizate pentru reactualizarea sau regsirea datelor (partea de prelucrare); mulime de reguli de integritate, care asigur coerena datelor. Abordarea general a problemei modelrii semantice a datelor se face n patru etape. Se identific o mulime de concepte semantice care sunt utile n descrierea lumii reale. Se presupune c lumea real (modelul real analizat) este format din entiti care au anumite proprieti, c fiecare entitate are o identitate, c exist legturi, corelaii ntre entiti. Conceptul de corelaie, ca i cel de entitate, este util, n mod intuitiv, la descrierea modelului. Se caut o mulime de obiecte formale, simbolice care sunt utilizate pentru reprezentarea conceptelor semantice anterioare.

Se dau reguli de integritate formale i generale (constrngeri) care s reflecte restriciile la care este supus modelul. Se definete o mulime de operatori formali prin care pot fi prelucrate i analizate obiectele formale.

Modelul entitate-relaieUna dintre cele mai cunoscute abordri ale modelrii semantice (cu siguran una dintre cele mai utilizate) este cea bazat pe modelul entitate-relaie (E/R). Acesta a fost introdus de ctre P.P. Chen n 1976 i rafinat de atunci n diverse moduri de ctre acesta i de muli ali cercettori, ca un model de date conceptual, pentru a uura proiectarea bazelor de date. Pentru reprezentarea grafic a modelului sunt utilizate diagramele E/R, care sunt modele neformalizate pentru reprezentarea unui model, unui sistem din lumea real. Diagramele E/R constituie o tehnic de reprezentare a structurii logice a bazei de date, ntr-o manier grafic. Aceste diagrame ofer un mijloc simplu i inteligibil de comunicare a caracteristicilor importante ale designului unei anumite baze de date. Diagrama E/R este un model de date conceptual de nivel nalt, independent de platforma hardware utilizat i de tipul SGBD-ului. Modelul este constituit din concepte care descriu structura bazei de date i tranzaciile de regsire sau reactualzare asociate. Popularitatea modelului E/R ca modalitate de abordare a proiectrii bazelor de date poate fi atribuit n principal tehnicii de realizare a diagramelor E/R. Aceast tehnic, ca i modelul E/R nsui, a evoluat de-a lungul timpului datorit noilor problematici care au aprut n proiectarea bazelor de date. Baza de date poate fi definit ca o mulime de date ce modeleaz un sistem real. Acest sistem este format din obiecte legate ntre ele. Modelul E/R mparte elementele unui sistem real n dou categorii: entiti i relaii (legturi, asocieri) ntre aceste entiti. Entitiile i legturile au anumite caracteristici, numite atribute. Nu trebuie confundat conceptul de relaie, n sensul de asociere, care intervine n definirea diagramei E/R cu conceptul de relaie care este specific m