Andy Oppel-SQL Fara Mistere-Rosetti Educational 2006
-
Upload
alpha2003rol -
Category
Documents
-
view
179 -
download
47
description
Transcript of Andy Oppel-SQL Fara Mistere-Rosetti Educational 2006
CAPITOlUl1
CAPITOlUl2
Mulţumiri
Introducere
CUPRINS
Concepte ale bazelor de date rela~onale Ce este o bază de date? Ce este un sistem de gestionare a bazei de date
XV xvii
1 2
~BM~? 2 Ce este o bază de date relaţională? 3
Componente ale bazelor de date relaţionale 3 Cum sunt proiectate bazele de date relaţionale 9
Necesitatea normalizării 10 Aplicarea procesului de normalizare 11
Prezentare generală a bazei de date pentru un magazin de produse video 21
Descărcarea codului SQL pentru baza de date folosită ca exemplu 29
întrebări recapitulative 31
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)
37 38 38 42 44 47 47
~·,_.---SQL fără mistere
Limbajul de interogare a datelor (DQL) 47 Limbajul de manipulare a datelor (DML) 47 Limbajul pentru controlul datelor (DCL) 48 Comenzile pentru controlul tranzacţiilor 48
întrebări recapitulative 48
CAPITOLUL 3 Definirea obiectelor bazei de date folosind limbajul SQL 53 Convenţii de sintaxă folosite în acest capitol 54 Tipuri de date 54
Tipuri de date predefinite din standardul SQL:2003 55
Extensii ale producătorilor pentru tipuri de date şi diferenţe faţă de standard 60
Valori NULL şi logica bazată pe trei valori 69 Instrucţiuni DDL ( Data Definition Language) 70
Instrucţiunea CREATE DATABASE 70 Instrucţiunea CREATE TABLE 70 Instrucţiunea CREATE INDEX 76 Instrucţiunea CREATE VIEW n Instrucţiunea ALTER TABLE 78 Instrucţiunea DROP 80
întrebări recapitulative 81
CAPITOLUL 4 Ob~nerea datelor folosind limbajul de interogare a datelor (DQL) 87 Instrucţiunea SELECT de bază
Pseudonime pentru numele coloanelor 90 Sortarea rezultatelor 90 Utilizarea clauzei WHERE pentru filtrarea rezultatelor 94
Operatori de comparare 94 Operatori conjunctivi 97 Operatori logici 100
Operatori aritmetici 108 Funcţii SQL elementare 110
Funcţii pentru caractere 110 Funcţii matematice 115 Funcţii de conversie 116
CUPRINS
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
CAP ITO lU l 5 Combinarea datelor din mai multe tabele 125 127 129 133 134 138 140 140 141 141 143 144 144
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)
Subinterogări
Subinterogări necorelate Subinterogări 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
149 150 150 154
Funcţii pentru dată şi oră 156 Folosirea avantajelor oferite de vizualizări 161 Folosirea instrucţiunilor SQL pentru generarea altor
instrucţiuni SQL 165 Generarea instrucţiunilor SQL în Oracle 165 Generarea instrucţiunilor SQl în Microsoft SQL
Server Expresia CASE 166
Expresia CASE simplă 166 Expresia CASE cu căutare 168
întrebări recapitulative 169
CAPITOlUl 7
CAPITOlUl8
CAPITOlUl9
SQL fără mistere
Întretinerea datelor folosind instructiuni DML ' '
Instrucţiunea INSERT Inserarea unui singur rând de date folosind
173 175
clauza VALUES 176 lnserări masive folosind o instrucţiune SElECT internă
Instrucţiunea UPDATE Instrucţiunea DELETE Întrebări recapitulative
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
177 178 179 181
185 186 187
188 190
Implementarea securităţii accesului la baza de date 192 Privilegiile bazei de date 192 Instrucţiuni SQL folosite pentru administrarea securităţii 194
Conturile deţinătorilor de scheme 196 Simplificarea administrării folosind roluri 197
Administrarea rolurilor în Microsoft SQL Server şi Sybase Adaptive Server 198
Administrarea rolurilor în Oracle 199 Utilizarea vizualizărilor pentru implementarea
securităţii la nivel de coloană şi la nivel de rând 200 întrebări recapitulative 201
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
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
209 209 210 211 211 212 214 216
CAPITOLUL 10 Integrarea limbajului SQL in aplicaţii Procesarea cursorului
221 222 222 223
Instrucţiunea DECLARE CURSOR Instrucţiunea OPEN CURSOR Instrucţiunea FETCH 224 Instrucţiunile UPDATE şi DELETE 225 Instrucţiunea CLOSE 225
înglobarea limbajului SQL în programele de aplicaţii 226 Conexiunile ODBC 226 Conectarea bazelor de date la aplicaţiile Java 227 .NET Framework 228
Limbajul SQL complet computaţional 229 Transact-SQL (Microsoft SQL Server şi
Sybase Adaptive Server) 230 Oracle PL!SQL 232
întrebări recapitulative 233
CAP ITO LU L 11 Elemente de ajustare ~i performanţă ale limbajului SQL 239 Consideraţii generale de ajustare a sistemelor
RDBMS 240 Minimizarea numărului de scrieri şi citiri pe
disc 240 Ajustarea sistemului de calcul şi a mediului
de lucru 241 Proiectarea eficientă a tabelelor 241
Optimizarea interogărilor SQL 242 Aspecte generale privitoare la sistemele
RDBMS 243 Aspecte privind MySQL 248
SQL fără mistere
Aspecte privind sistemul Oracle 248 Aspecte privind Microsoft SQL Server 252 Aspecte privind sistemul 082 UDB 253
Optimizarea instrucţiunilor DML 254 întrebări recapitulative 256
Examen final 261
Răspunsurile la chestionare ~i la examenul final 281 Capitolul 1 282 Capitolul 2 282 Capitolul 3 283 Capitolul 4 284 Capitolul 5 286 Capitolul 6 288 Capitolul 7 291 Capitolul 8 292 Capitolul 9 293 Capitolul 1 O 293 Capitolul 11 294 Răspunsurile la examenul final 295
Index 301