Sunteți pe pagina 1din 311

CUPRINS

Mulumiri

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


Componente ale bazelor de date relaionale
Cum sunt proiectate bazele de date relaionale
Necesitatea normalizrii
Aplicarea procesului de normalizare
Prezentare general a bazei de date pentru un
magazin de produse video
Descrcarea codului SQL pentru baza de date
folosit ca exemplu
ntrebri recapitulative
CAPITOlUl2

Concepte SQL

Ce este SQL?
Conectarea la baza de date
Un scurt istoric al limbajului SQL
Convenii de sintax SQL
Categorii de instruciuni 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 fr

mistere

Limbajul de interogare a datelor (DQL)


Limbajul de manipulare a datelor (DML)
Limbajul pentru controlul datelor (DCL)
Comenzile pentru controlul tranzaciilor
ntrebri recapitulative
CAPITOLUL 3

CAPITOLUL 4

Definirea obiectelor bazei de date folosind


limbajul SQL
Convenii de sintax folosite n acest capitol
Tipuri de date
Tipuri de date predefinite din standardul
SQL:2003
Extensii ale productorilor pentru tipuri de date
i diferene fa de standard
Valori NULL i logica bazat pe trei valori
Instruciuni DDL ( Data Definition Language)
Instruciunea CREATE DATABASE
Instruciunea CREATE TABLE
Instruciunea CREATE INDEX
Instruciunea CREATE VIEW
Instruciunea ALTER TABLE
Instruciunea DROP
ntrebri recapitulative

47
47
48
48
48

53
54
54
55
60
69
70
70
70
76

78
80
81

Ob~nerea

datelor folosind limbajul de interogare


a datelor (DQL)
Instruciunea SELECT de baz
Pseudonime pentru numele coloanelor
Sortarea rezultatelor
Utilizarea clauzei WHERE pentru filtrarea rezultatelor
Operatori de comparare
Operatori conjunctivi
Operatori logici
Operatori aritmetici
Funcii SQL elementare
Funcii pentru caractere
Funcii matematice
Funcii de conversie

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

CUPRINS

CAP ITO lU l 5

Funcii

de agregare i gruparea rndurilor


Clauza GROUP BY
Operatori pentru interogri compuse
UN ION
UNION ALL
INTERSECT
EXCEPT
ntrebri 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 ncruciate (cross joins)

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

Subinterogri
Subinterogri
Subinterogri

necorelate
corelate

Vizualizri

n linie
ntrebri recapitulative
CAPITOlUl G

Scrierea interogrilor avansate


Funcii SQL avansate
Funcii pentru caractere
Funcii matematice
Funcii pentru dat i or
Folosirea avantajelor oferite de vizualizri
Folosirea instruciunilor SQL pentru generarea altor
instruciuni SQL
Generarea instruciunilor SQL n Oracle
Generarea instruciunilor SQl n Microsoft SQL
Server
Expresia CASE
Expresia CASE simpl
Expresia CASE cu cutare
ntrebri recapitulative

149
150
150
154
156
161
165
165

166
166
168
169

SQL fr mistere

CAPITOlUl 7

ntretinerea datelor folosind instructiuni DML


'
'
Instruciunea INSERT
Inserarea unui singur rnd de date folosind
clauza VALUES
lnserri masive folosind o instruciune SElECT
intern
Instruciunea

UPDATE
DELETE
ntrebri recapitulative
Instruciunea

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 securitii accesului la baza de date
Privilegiile bazei de date
Instruciuni SQL folosite pentru administrarea
securitii

Conturile deintorilor de scheme


Simplificarea administrrii folosind roluri
Administrarea rolurilor n Microsoft SQL Server
i Sybase Adaptive Server
Administrarea rolurilor n Oracle
Utilizarea vizualizrilor pentru implementarea
securitii la nivel de coloan i la nivel de rnd
ntrebri recapitulative
CAPITOlUl9

Men~nerea integrit~i bazei de date cu ajutorul


tranzactiilor
'
Ce este o tranzacie cu baza de date?
Suportul pentru tranzacii n sistemele DBMS
relaionale

Suportul pentru tranzacii n Microsoft


SQL Server
Suportul pentru tranzacii 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 tranzacii n Oracle


Suportul pentru tranzacii n MySQL
Suportul pentru tranzacii n DB2 UDB
Blocarea i interblocarea tranzaciilor
Problema actualizrii concurente
Mecanismele de blocare
lnterblocrile

ntrebri recapitulative

CAPITOLUL 10

CAP ITO LU L 11

Integrarea limbajului SQL in aplicaii


Procesarea cursorului
Instruciunea DECLARE CURSOR
Instruciunea OPEN CURSOR
Instruciunea FETCH
Instruciunile UPDATE i DELETE
Instruciunea CLOSE
nglobarea limbajului SQL n programele de aplicaii
Conexiunile ODBC
Conectarea bazelor de date la aplicaiile Java
.NET Framework
Limbajul SQL complet computaional
Transact-SQL (Microsoft SQL Server i
Sybase Adaptive Server)
Oracle PL!SQL
ntrebri recapitulative
Elemente de ajustare ~i performan ale
limbajului SQL
Consideraii generale de ajustare a sistemelor
RDBMS
Minimizarea numrului de scrieri i citiri pe
disc
Ajustarea sistemului de calcul i a mediului
de lucru
Proiectarea eficient a tabelelor
Optimizarea interogrilor 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 fr mistere

Aspecte privind sistemul Oracle


Aspecte privind Microsoft SQL Server
Aspecte privind sistemul 082 UDB
Optimizarea instruciunilor DML
ntrebri recapitulative

248
252
253
254
256

Examen final

261

Rspunsurile

Capitolul
Capitolul
Capitolul
Capitolul
Capitolul
Capitolul
Capitolul
Capitolul
Capitolul
Capitolul
Capitolul

Rspunsurile

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

S-ar putea să vă placă și