C U P R I N S

Contents

7

Prefaţă

13

Capitolul 1  Elemente de teoria bazelor de date

15

1.1.  Evoluţia organizării datelor

15

1.2.  Caracteristici generale a organizării datelor în fişiere

20

1.3.  Concepte utilizate în definirea bazelor de date

26

1.3.1.  Conceptul de caracteristică şi familie de caracteristici

27

1.3.2.  Conceptul de colecţie de date

27

1.4.  Conceptul de bază de date

32

1.5.  Conceptul de sistem de baze de date

35

1.6.  Baze de date centralizate şi distribuite

35

1.7.  Niveluri de organizare a datelor în baze de date

36

Capitolul 2  Sisteme de gestiune a bazelor de date (SGBD -DBMS)

39

2.1.  Definirea SGBD

39

2.2.  Obiectivele unui SGBD

42

2.3.  Funcţiile unui sistem de gestiune a bazei de date

45

2.4.  Arhitectura sistemelor de gestiune a bazelor de date

47

2.4.1.  Arhitectura unui SGBD în concepţia CODASYL

47

2.4.2.  Arhitectura propusă de grupul ANSI/SPARC

48

2.4.3.  Arhitectura client/server

50

2.4.4.  Arhitectura SGBD Oracle

51

2.4.4.1.  Arhitectura pe componente a SGBD Oracle

53

2.4.4.2.  Structura fizică a BD Oracle

59

Capitolul 3  Administrarea bazelor de date

61

3.1.  Sarcinile administratorului bazei dedate (ABD)

61

3.2.  Funcţiuni de administrare a bazelor de date

62

3.3.  Instrumente la dispoziţia administratorului de baze de date

64

3.4.  Protecţia bazelor de date

64

3.4.1.  Asigurarea integrităţii datelor din baze de date

65

3.4.2.  Asigurarea confidenţialităţii datelor din baze de date

66

Capitolul 4   Baze de date relaţionale

69

4.1.  Domeniu, atribut, valoare

69

4.2.  Relaţie, tuplu

72

4.3.  Relaţii şi baza de date

74

4.4.  Restricţii de integritate

76

4.5.  Chei

77

4.6.  Restricţii de integritate minimale

79

4.7.  Baza de date relaţională - o descriere formală

80

Capitolul 5  Proiectarea bazelor de date relaţionale

87

5.1.  Consideraţii privind proiectarea structurii conceptuale şi a structurii logice a bazelor de date

88

5.2.  Normalizarea tabelelor bazei de date

96

5.2.1.  Conceptul de normalizare

96

5.2.2.  Obiectivul şi necesitatea normalizării relaţiilor

97

5.2.3.  Dependenţe funcţionale

99

5.2.4.  Formele normale unu, doi şi trei

102

5.2.5.  Forma normală BOYCE-CODD (BCNF)

109

5.2.6.  Dependenţa multivaloare şi forma normală patru

112

5.2.7.  Dependenţa joncţiune şi forma normală cinci

114

5.2.8.  Supranormalizarea. Rezultatul normalizării

116

5.2.9.  Algoritmizarea primelor trei forme normale

117

5.3.  Calitatea schemelor

119

Capitolul 6  Algebra relaţională şi calculul relaţional

121

6.1.  Operaţii tradiţionale pe mulţimi

121

6.2.  Operaţii relaţionale speciale

128

6.3.  Construirea expresiilor în algebra relaţională

139

6.4.  Echivalenţa expresiilor în algebra relaţională

140

6.5.  Calculul relaţional

143

6.5.1.  Calculul relaţional orientat pe domeniu

144

6.5.2.  Calculul relaţional orientat pe tuplu cu declararea rangului variabilelor libere

145

Capitolul 7  Baze de date orientate obiect (BDOO)

147

7.1.  Conceptul de BDOO

147

7.2.  Premisele BDOO

147

7.3.  Avantajele şi dezavantajele BDOO

149

7.4.  Comparaţii între abodarea obiectuală şi cea relaţională privind modelarea datelor

152

7.5.  Moduri de abordare ale dezvoltării sistemelor de BDOO

154

7.6.  Modelul conceptual al datelor obiect (CODM)

155

7.6.1.  Conceptul de obiect

155

7.6.2.  Identificatorii obiectelor

157

7.6.3.  Atribute-proprietăţi ale obiectelor

158

7.6.4.  Tipuri şi clase de obiecte

160

7.6.5.  Metode

168

7.6.6.  Încapsularea şi interfaţa

172

7.6.7.  Polimorfismul

173

7.6.8.  Asocierile între clase

173

7.6.9.  Moştenirea

180

7.6.10.  Generalizarea şi specializarea

181

7.6.11.  Agregarea, compunerea şi descompunerea

182

7.7.  Standardul ODMG pentru baze de date orientate obiect

184

7.7.1.  Aspecte generale referitoare la standardizare

184

7.7.2.  Modelul de obiecte

185

7.7.3.  Limbajul de definire a obiectelor

185

7.7.4.  Limbajul de cereri obiect OQL

190

7.8.  Sisteme de gestiune a bazelor de date orientate obiect (SGBDOO)

193

7.8.1.  GEMSTOME

193

7.8.2.  ONTOS

193

7.8.3.  VERSANT

194

7.8.4.  ORION

194

7.8.5.  ITASCA

195

7.8.6.  O2

195

7.8.7.  ObjectStore

196

7.8.8.  OBJECTIVITY/DB

196

7.9.  Reguli de evaluare a unui SGBDOO

197

7.10.  Limbaj unificat de modelare (UML )-suport pentru BDOO

199

7.10.1.  Ce este UML-ul?

199

7.10.2.  Componentele limbajului unificat de modelare

200

7.10.3.  Diagrama cazurilor de utilizare

202

7.10.4.  Diagrama claselor

204

7.10.5.  Diagrama obiectelor

207

7.10.6.  Diagrama de secvenţă

207

7.10.7.  Diagrama de stare

209

7.10.8.  Diagrama de colaborare

211

7.10.9.  Diagrama de activitate

212

7.10.10.  Diagrama componentelor

213

7.10.11.  Diagrama de desfăşurare

214

7.10.12.  Diagrama pachetelor

214

7.10.13.  Interacţiunea dintre diagramele UML

216

7.10.14.  Avantajele utilizării UML

217

7.11.  Modelarea orientată obiect

219

7.11.1.  Modelarea domeniului (mediului) - Domain Model

219

7.11.2.  Modelarea proceselor afacerii (prelucrărilor) - Business Model

220

7.11.3.  Modelarea cazurilor de utilizare

222

7.11.4.  Modelarea structurii statice (diagrama claselor, diagrama obiectelor)

224

7.11.5.  Modelarea dinamicii sistemului

226

7.12.  Proiectarea BDOO - componentă a sistemului informatic

229

7.12.1.  Modelarea proceselor de afaceri

229

7.12.2.  Modelarea cazurilor de utilizare

234

7.12.3.  Modelarea structurii statice a sistemului

240

7.13.  RUP - suport de realizare a sistemelor informatice şi implicit a BDOO

240

7.13.1.  Cele mai bune practici de realizare a sistemelor informatice

241

7.13.2.  Individualizarea RUP

243

7.13.3.  Identificarea cerinţelor

246

7.13.4.  Analiza orientată obiect

248

7.13.5.  Proiectarea orientată obiect

253

Capitolul 8  Bazele de date obiectual - relaţionale - Standardul SQL3

259

8.1.  Modelul obiectual-relaţional

259

8.2.  Modelul SQL3 - standard pentru BDOR

259

8.2.1.  Noi tipuri de date în SQL3

261

8.3.  Compararea SGBDR cu SGBDOR

267

8.4.  Compararea SGBDOO cu SGBDOR

268

Capitolul 9  Oracle-SGBD obiectual-relaţional

269

9.1.  Tipuri de obiecte (Object types)

269

9.2.  Tabela de obiecte

274

9.3.  Tehnica de referire a obiectelor

276

9.4.  Moştenirea

278

9.4.1.  Implementarea moştenirii în Oracle anterior versiunii 9i

278

9.4.2.  Implementarea moştenirii utilizând clauza "under"

279

9.4.3.  Moştenirea multiplă

279

9.5.  Relaţii de asociere

279

9.6.  Agregarea

283

9.6.1.  Implementarea agregării utilizând tehnica cluster

283

9.6.2.  Implementarea agregării utilizând tehnica tabelelor imbricate

284

9.6.3.  Implementarea agregării simple

286

9.6.4.  Implementarea agregării multi-nivel utilizând tabele imbricate

287

Capitolul 10  Baze de date distribuite (BDD)

289

10.1.  Definiţie şi obiective

289

10.1.1.  Definiţie

292

10.1.2.  Obiectivele sistemelor de baze de date distribuite

293

10.1.3.  Baze de date relaţionale distribuite

294

10.1.4.  Arhitectura sistemelor de baze de date distribuite

295

10.1.5.  Controlul concurenţei

297

10.1.6.  Dicţionarul (catalogul) Sistemului Distribuit

300

10.2.  Niveluri de organizare

300

10.3.  Interacţiunea utilizatorilor cu baze de date distribuite

300

10.3.1.  Baze de Date Locale - Viziuni locale

301

10.3.2.  Baza de date globală - Viziuni globale

301

10.4.  Criterii de Distribuire a Datelor

302

10.4.1.  Criterii de alegere a distribuţiei

304

10.4.2.  Construirea bazei de date distribuite

304

10.5.  Criterii de localizare şi regăsire a datelor

306

10.5.1.  Cazuri de distribuţie

307

10.5.2.  Criterii de distribuire şi localizare a elementelor

307

10.5.3.  Optimizarea performanţelor

308

10.6.  Implementarea distribuţiei în SGBDD comerciale

310

10.6.1.  Implementarea distribuţiei în Oracle

310

10.6.2.  Implementarea distribuţiei în DB2

317

Capitolul 11  Depozite de date

321

11.1.  Prezentare generală

321

11.1.1.  Noţiuni de bază

321

11.1.2.  Obiectivele unui depozit de date

324

11.2.  Arhitectura depozitelor de date

325

11.3.  Obiectele depozitului de date

329

11.4.  Structura depozitelor de date

330

11.4.1.  Schema stea

331

11.4.2.  Schema stea pentru un lanţ de supermarket-uri

332

11.4.3.  Schema fulg de zăpadă

333

11.4.4.  Schema constelaţie de fapte

334

11.5.  Operaţii pentru analiza datelor

335

11.5.1.  Interfeţe de formulare a interogărilor

335

11.5.2.  Drill-down şi roll-up

337

11.5.3.  Secţiuni şi rotaţii

338

11.5.4.  Data cube

338

11.6.  Dezvoltarea depozitului de date

340

11.6.1.  Indecşi de bitmap şi indecşi de join

341

11.6.2.  Materializarea view-lor

342

Capitolul 12  Data Mining

343

12.1.  Introducere în data mining

343

12.1.1.  Probleme de data mining

344

12.2.  Numărarea apariţiilor concomitente

347

12.2.1.  Seturi de obiecte frecvente

347

12.2.2  Interogările iceberg

349

12.3.  Explorarea pentru descoperirea de reguli

351

12.3.1.  Reguli de asociere

351

12.3.2.  Algoritm pentru găsirea regulilor de asociere

351

12.3.3.  Regulile de asociere şi ierarhiile ISA

352

12.3.4.  Reguli de asociere generalizate

353

12.3.5.  Modele secvenţiale

354

12.3.6.  Folosirea regulilor de asociere pentru predicţii

354

12.3.7.  Relaţiile Bayesian

355

12.3.8.  Reguli de clasificare şi regresie

356

12.4.  Reguli structurate sub forma de arbori

357

12.4.1.  Arbori de decizie

358

12.4.2.  Un algoritm de construire a arborilor de decizie

359

12.5.  Clusterizarea (gruparea)

361

12.5.1.  Algoritm de clusterizare

362

12.6.  Cercetarea similitudinii în cadrul secvenţelor

363

12.6.1.  Un algoritm pentru găsirea secvenţelor similare

363

12.7.  Perspectivele data mining

364

Capitolul 13  Baze de date multidimensionale

365

13.1.  Concepte de bază

365

13.1.1.  Conceptul de cub n-dimensional

366

13.1.2.  Conceptul de dimensiune

367

13.1.3.  Conceptul de ierarhie

368

13.1.4.  Conceptul de măsură

369

13.1.5.  Conceptul de multicub

369

13.2.  Modele de date multidimensionale

370

13.3.  Utilizarea limbajului SQL pentru cereri OLAP. Operatorii ROLLUP şi CUBE

375

13.4.  Integrarea tehnologiei relaţionale cu tehnologia multidimensională

382

13.4.1.  Avantajele unui mediu integrat relaţional multidimensional

389

13.5.  Arhitectura sistemelor OLAP

395

13.5.1.  Sisteme ROLAP

396

13.5.2.  Sisteme MOLAP

397

13.5.3.  Sisteme hibride (HOLAP)

398

Capitolul 14  Baze de date spaţiale

399

14.1.  Tipuri de date spaţiale

399

14.2.  Structuri de date pentru reprezentarea şi indexarea datelor spaţiale

402

14.3.  Exploatarea datelor spaţiale

409

Capitolul 15  Baze de date multimedia

419

15.1.  Cadrul conceptual

419

15.2.  Un model generic al datelor multimedia

420

15.3.  Organizarea bazelor de date multimedia ca extensie a celor orientate obiect

422

15.4.  Sincronizarea în transferul datelor în timp real

424

15.5.  Navigarea şi interogarea bazelor de date multimedia

424

15.6.  Gestiunea şi procesarea fluxurilor media în baze de date multimedia

427

Capitolul 16  Baze de date online

435

16.1.  Elemente introductive

435

16.2.  Interfeţe de acces

437

16.2.1.  Pagini Web dinamice

437

16.2.2.  Pagini dinamice pe partea client

438

16.2.3.  Pagini dinamice generate pe partea server

439

16.3.  Limbajul de scripting PHP

440

16.4.  Limbajul de scripting ASP

440

16.4.1.  Crearea obiectelor

444

16.5.  Exemplu de lucru cu baze de date online

445

16.6.  Aplicaţie demonstrativă

447

Bibliografie

459