SQL fără mistere

Page 1





CUPRINS

Mulţumiri

Introducere CAPITOlUl1

Concepte ale bazelor de date rela~onale

Ce este o bază de date? Ce este un sistem de gestionare a bazei de date ~BM~?

Ce este o bază de date relaţională? Componente ale bazelor de date relaţionale Cum sunt proiectate bazele de date relaţionale Necesitatea normalizării Aplicarea procesului de normalizare Prezentare generală a bazei de date pentru un magazin de produse video Descărcarea codului SQL pentru baza de date folosită ca exemplu întrebări recapitulative CAPITOlUl2

Concepte SQL

Ce este SQL? Conectarea la baza de date Un scurt istoric al limbajului SQL Convenţii de sintaxă SQL Categorii de instrucţiuni SQL Limbajul de definire a datelor (DDl)

XV xvii 1 2

2 3 3 9 10 11 21 29 31

37 38 38 42 44 47 47


~·,_.---

SQL fără

mistere

Limbajul de interogare a datelor (DQL) Limbajul de manipulare a datelor (DML) Limbajul pentru controlul datelor (DCL) Comenzile pentru controlul tranzacţiilor întrebări recapitulative CAPITOLUL 3

CAPITOLUL 4

Definirea obiectelor bazei de date folosind limbajul SQL Convenţii de sintaxă folosite în acest capitol Tipuri de date Tipuri de date predefinite din standardul SQL:2003 Extensii ale producătorilor pentru tipuri de date şi diferenţe faţă de standard Valori NULL şi logica bazată pe trei valori Instrucţiuni DDL ( Data Definition Language) Instrucţiunea CREATE DATABASE Instrucţiunea CREATE TABLE Instrucţiunea CREATE INDEX Instrucţiunea CREATE VIEW Instrucţiunea ALTER TABLE Instrucţiunea DROP întrebări recapitulative

47 47 48 48 48

53 54 54 55 60 69 70 70 70 76

n

78 80 81

Ob~nerea

datelor folosind limbajul de interogare a datelor (DQL) Instrucţiunea SELECT de bază Pseudonime pentru numele coloanelor Sortarea rezultatelor Utilizarea clauzei WHERE pentru filtrarea rezultatelor Operatori de comparare Operatori conjunctivi Operatori logici Operatori aritmetici Funcţii SQL elementare Funcţii pentru caractere Funcţii matematice Funcţii de conversie

87 90 90 94 94 97 100 108 110 110 115 116


CUPRINS

CAP ITO lU l 5

Funcţii

de agregare şi gruparea rândurilor Clauza GROUP BY Operatori pentru interogări compuse UN ION UNION ALL INTERSECT EXCEPT întrebări recapitulative

117 119 120 120 120 121 121 121

Combinarea datelor din mai multe tabele Uniuni ijoin) Uniuni de egalitate (equijoin) Uniuni naturale Uniuni externe (outer joins) Auto-uniuni (self joins) Alte tipuri de uniuni Uniuni încrucişate (cross joins)

125 127 129 133 134 138 140 140 141 141 143 144 144

Subinterogări Subinterogări Subinterogări

necorelate corelate

Vizualizări

în linie întrebări recapitulative CAPITOlUl G

Scrierea interogărilor avansate Funcţii SQL avansate Funcţii pentru caractere Funcţii matematice Funcţii pentru dată şi oră Folosirea avantajelor oferite de vizualizări Folosirea instrucţiunilor SQL pentru generarea altor instrucţiuni SQL Generarea instrucţiunilor SQL în Oracle Generarea instrucţiunilor SQl în Microsoft SQL Server Expresia CASE Expresia CASE simplă Expresia CASE cu căutare întrebări recapitulative

149 150 150 154 156 161 165 165

166 166 168 169


SQL fără mistere

CAPITOlUl 7

Întretinerea datelor folosind instructiuni DML ' ' Instrucţiunea INSERT Inserarea unui singur rând de date folosind clauza VALUES lnserări masive folosind o instrucţiune SElECT internă Instrucţiunea

UPDATE DELETE Întrebări recapitulative Instrucţiunea

CAPITOlUl8

Aplicarea controalelor de securitate folosind DCL De ce este necesară securitatea? Arhitecturi de securitate pentru o bază de date Securitatea bazelor de date Microsoft SQL Server şi Sybase Adaptive Server Securitatea bazelor de date Oracle Implementarea securităţii accesului la baza de date Privilegiile bazei de date Instrucţiuni SQL folosite pentru administrarea securităţii

Conturile deţinătorilor de scheme Simplificarea administrării folosind roluri Administrarea rolurilor în Microsoft SQL Server şi Sybase Adaptive Server Administrarea rolurilor în Oracle Utilizarea vizualizărilor pentru implementarea securităţii la nivel de coloană şi la nivel de rând întrebări recapitulative CAPITOlUl9

Men~nerea integrită~i bazei de date cu ajutorul tranzactiilor ' Ce este o tranzacţie cu baza de date? Suportul pentru tranzacţii în sistemele DBMS relaţionale

Suportul pentru tranzacţii în Microsoft SQL Server Suportul pentru tranzacţii în Sybase Adaptive Server

173

175 176 177 178 179 181 185

186 187 188 190 192 192 194 196 197 198 199 200 201

205 206 206 207 208


CUPRINS

Suportul pentru tranzacţii în Oracle Suportul pentru tranzacţii în MySQL Suportul pentru tranzacţii în DB2 UDB Blocarea şi interblocarea tranzacţiilor Problema actualizării concurente Mecanismele de blocare lnterblocările

întrebări recapitulative

CAPITOLUL 10

CAP ITO LU L 11

Integrarea limbajului SQL in aplicaţii Procesarea cursorului Instrucţiunea DECLARE CURSOR Instrucţiunea OPEN CURSOR Instrucţiunea FETCH Instrucţiunile UPDATE şi DELETE Instrucţiunea CLOSE înglobarea limbajului SQL în programele de aplicaţii Conexiunile ODBC Conectarea bazelor de date la aplicaţiile Java .NET Framework Limbajul SQL complet computaţional Transact-SQL (Microsoft SQL Server şi Sybase Adaptive Server) Oracle PL!SQL întrebări recapitulative Elemente de ajustare ~i performanţă ale limbajului SQL Consideraţii generale de ajustare a sistemelor RDBMS Minimizarea numărului de scrieri şi citiri pe disc Ajustarea sistemului de calcul şi a mediului de lucru Proiectarea eficientă a tabelelor Optimizarea interogărilor SQL Aspecte generale privitoare la sistemele RDBMS Aspecte privind MySQL

209 209 210 211 211 212 214 216

221 222 222 223 224 225 225 226 226 227 228 229 230 232 233

239 240 240 241 241 242 243 248


SQL fără mistere

Aspecte privind sistemul Oracle Aspecte privind Microsoft SQL Server Aspecte privind sistemul 082 UDB Optimizarea instrucţiunilor DML întrebări recapitulative

248 252 253 254 256

Examen final

261

Răspunsurile

Capitolul Capitolul Capitolul Capitolul Capitolul Capitolul Capitolul Capitolul Capitolul Capitolul Capitolul

Răspunsurile

Index

la chestionare ~i la examenul final

1 2 3 4 5 6 7 8 9 1O 11 la examenul final

281 282 282 283 284 286 288 291 292 293 293 294 295 301















































































































































































































































































































Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.