1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu Cơ sở dữ liệu: Phần 2

185 7 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • CSDL001

  • CSDL166

  • CSDL167

  • CSDL168

  • CSDL169

  • CSDL170

  • CSDL171

  • CSDL172

  • CSDL173

  • CSDL174

  • CSDL175

  • CSDL176

  • CSDL177

  • CSDL178

  • CSDL179

  • CSDL180

  • CSDL181

  • CSDL182

  • CSDL183

  • CSDL184

  • CSDL185

  • CSDL186

  • CSDL187

  • CSDL188

  • CSDL189

  • CSDL190

  • CSDL191

  • CSDL192

  • CSDL193

  • CSDL194

  • CSDL195

  • CSDL196

  • CSDL197

  • CSDL198

  • CSDL199

  • CSDL200

  • CSDL201

  • CSDL202

  • CSDL203

  • CSDL204

  • CSDL205

  • CSDL206

  • CSDL207

  • CSDL208

  • CSDL209

  • CSDL210

  • CSDL211

  • CSDL212

  • CSDL213

  • CSDL214

  • CSDL215

  • CSDL216

  • CSDL217

  • CSDL218

  • CSDL219

  • CSDL220

  • CSDL221

  • CSDL222

  • CSDL223

  • CSDL224

  • CSDL225

  • CSDL226

  • CSDL227

  • CSDL228

  • CSDL229

  • CSDL230

  • CSDL231

  • CSDL232

  • CSDL233

  • CSDL234

  • CSDL235

  • CSDL236

  • CSDL237

  • CSDL238

  • CSDL239

  • CSDL240

  • CSDL241

  • CSDL242

  • CSDL243

  • CSDL244

  • CSDL245

  • CSDL246

  • CSDL247

  • CSDL248

  • CSDL249

  • CSDL250

  • CSDL251

  • CSDL252

  • CSDL253

  • CSDL254

  • CSDL255

  • CSDL256

  • CSDL257

  • CSDL258

  • CSDL259

  • CSDL260

  • CSDL261

  • CSDL262

  • CSDL263

  • CSDL264

  • CSDL265

  • CSDL266

  • CSDL267

  • CSDL268

  • CSDL269

  • CSDL270

  • CSDL271

  • CSDL272

  • CSDL273

  • CSDL274

  • CSDL275

  • CSDL276

  • CSDL277

  • CSDL278

  • CSDL279

  • CSDL280

  • CSDL281

  • CSDL282

  • CSDL283

  • CSDL284

  • CSDL285

  • CSDL286

  • CSDL287

  • CSDL288

  • CSDL289

  • CSDL290

  • CSDL291

  • CSDL292

  • CSDL293

  • CSDL294

  • CSDL295

  • CSDL296

  • CSDL297

  • CSDL298

  • CSDL299

  • CSDL300

  • CSDL301

  • CSDL302

  • CSDL303

  • CSDL304

  • CSDL305

  • CSDL306

  • CSDL307

  • CSDL308

  • CSDL309

  • CSDL310

  • CSDL311

  • CSDL312

  • CSDL313

  • CSDL314

  • CSDL315

  • CSDL316

  • CSDL317

  • CSDL318

  • CSDL319

  • CSDL320

  • CSDL321

  • CSDL322

  • CSDL323

  • CSDL324

  • CSDL325

  • CSDL326

  • CSDL327

  • CSDL328

  • CSDL329

  • CSDL330

  • CSDL331

  • CSDL332

  • CSDL333

  • CSDL334

  • CSDL335

  • CSDL336

  • CSDL337

  • CSDL338

  • CSDL339

  • CSDL340

  • CSDL341

  • CSDL342

  • CSDL343

  • CSDL344

  • CSDL345

  • CSDL346

  • CSDL347

  • CSDL348

  • CSDL349

Nội dung

Nghiên cứu Cơ sở dữ liệu: Phần 2 gồm có 5 chương với những nội dung cụ thể sau: Chương 6 mô hình truy cập, chương 7 cơ sở dữ liệu hướng đối tượng, chương 8 quản trị bên trong cơ sở dữ liệu, chương 9 môi trường khách/chủ, chương 10 hệ trợ giúp quyết định. Mời các bạn cùng đón đọc.

Trang 2

Chương 6

Mơ hình truy cập

'Với nhan để là các mơ hình truy cập, chương này giới thiệu mơ hình cø sở dữ liệu phân cấp và mơ hình cơ sở dữ liệu mạng Hai mơ hình này

6 thể được xem như thuộc loại mơ hình cơ sở dữ liệu cũ, truyền thống

Chúng cĩ mặt trên thị trường trước mơ hình quan hệ, Tuy từ năm 1980 mơ hình quan hệ áp đảo thị trường, vẫn cĩ nhiều hệ thống cơ sở dữ liệu

theo mơ hình truy cập được người ta tiếp tục sử dụng 'Các phần sau sẽ giới thiệu các khía cạnh về:

(1 Mơ tả các nét chính của mơ hình cơ sở dữ liệu mạng và cơ sở dữ liệu phân cấp; Q Khả năng thiết kế cơ sở dữ liệu đơn giản theo định hướng phân cấp hay mạng; Cách thức truy cập dữ liệu trong các hệ thống phân cấp và mạng;

(1 Các ưu nhược điểm của mơ hình cơ sở dữ liệu loại nay

6.1 Các nguyên tắc thiết kế cơ sở dữ liệu phân cấp

Hệ thống cơ sở dữ liệu phân cấp là hệ thống gồm các dữ liệu được tổ

chức theo cấu trúc dạng cây các bản ghi liên quan với nhau, Các bản ghỉ

được lưu trữ tại nút của cây; các cung nối các nút Cĩ thể coi nút gốc là

nút cao nhất trong cây thơng tin này Tại một nút cĩ các cung liên kết

đến các nút thấp hơn Trong sơ đổ cây tổng quát, mỗi nút ứng với một

kiểu dữ liệu và một nhánh cây tạo nên một liên kết giữa các kiểu dữ

liệu Trong sơ đổ cây chỉ tiết thì mỗi nút ứng với một bản ghi cụ thể và

nhánh cây là thể hiện của một liên kết dữ liệu giữa các bản ghỉ dữ liệu

Việc rẽ nhánh cây từ một nút cho thấy liên kết một bản ghi với nhiều bản ghỉ khác,

Trang 3

“Tất cả các cơ sở dữ liệu phân cấp đều cĩ một nút gốc Kiểu bản gị

gốc này cĩ thể tham gia vào quan hệ một-nhiều (1-m) với nhiều kiểu bi ghỉ con

Trong hình vẽ thí dụ, mơ hình phân cấp cĩ ngân hàng là kiểu bả

ghỉ gốc; tài khoản và cơng chức là các kiểu bản ghỉ con, cho biét m ngăn hàng cĩ nhiều tài khoản và nhiều cơng chức; và mỗi tài khoả; cơng chức thuộc về chỉ một ngân hàng Điểu này thể hiện mối quan hệ ¢ hữu, ngân hàng sẽ hữu tài khoản và cơng chức Từtheện Cơng đức Hình 6.1 Bản ghỉ gốc cĩ các bản ghỉ con

Kiểu bản ghi con cũng được phép cĩ nhiều bản ghi con Chẳng hại

một tài khoản cĩ nhiều khách hàng, thể hiện qua việc nổi hai nút kde) hàng và tài khoản trên cây Nghe Khebier

Hình 6.2 Các nút con cĩ thể cĩ bản ghÌ con

Mơ hình phân cấp hạn chế ở việc thể hiện quan hệ 1-m và tất cả các quan hệ đều theo hướng do thực thể gốc vạch ra Nếu một khách hàng cĩ một tài khoản thì bằng mơ hình này người ta dễ dàng thể hiện; nhưng khi khách hàng cĩ nhiều tài khoản, mà các tài khoản này lại thuộc nhiều chỉ nhánh thì thơng tỉn chỉ tiết của người này cần được thể hiện

Trang 4

tại nhiều nơi ứng với các tài khoản Trong hình là thí dụ về dữ liệu của

cĩ sở dữ liệu quan hệ được thể hiện dưới dạng mơ hình phân cấp Hệ thống phân cấp được tổ chức như tập các cây cĩ chung gốc Cơ sở dữ liệu phân cấp cĩ thể được coi như cây cĩ thứ tự Với mỗi câỳ, người ta

cĩ liên kết gọi là con trổ nối bản ghi cha và bản ghi con Người ta cũng

dùng con trỏ di qua các cây để liên kết tất cả các bản ghi của cùng một kiểu dữ liệu Điều này tạo điều kiện thuận lợi cho việc tìm kiếm

Taos Ho —¬ ie De aut sis Toous] ~ [oon] | sto [aor 6| "roo sơi 00 2000 0| e c ẹ | om mì mm] mm] mm oe Te tal | tel Tủ aw i Thẻ: baah [ —Í Kihieeh| | Kah dosh F] Kink dens ssrostiot| | 2umtorBin} | isrsiut| | 20Hinedn| — | asmoemse| - [nhạy an Như Kahan

Hình 6.3 Thí dụ về cơ sở đữ liệu phân cấp 6.2 Xây dựng lược đồ phân cấp

Một lược đổ cơ sở dữ liệu phân cấp gồm nhiều phép mơ tả bản ghỉ,

mỗi mơ tả đều tham chiếu đến chủ thể của bản ghi này, Qua các dịng

lệnh khơng hình thức, người ta cĩ thể xác định mơ hình thí dụ về cơ sở

Trang 5

rms SỐ tật khoản « INTER UIE, Sars nor , loại = G88 1 nao “TVEE = cơng chức PARENT = ngfn hàng Free sẽ cơng chức = BORER UGE om= care Ề en = GRR 20 ERD MEE = khích hàng PANT « tài khoản ri than chiếu = DOERR tên = GA 20 địa dử = Ga 10 hig trang = Gan 8

XXảc định cơ số đữ lậu phân cấp

Qua mơ tả trên người ta cũng thấy được một số khía cạnh quan |

trọng của việc xác định phân cấp Trừ gốc, các kiểu bản ghi đều cĩ cha

Kiểu dữ liệu đều là đơn giản Người ta khơng cần phải mơ tả khĩa ngồi

như trong cơ sở dữ liệu quan hệ, vì khái niệm này khơng tổn tại ở đây Mỗi bản ghi chỉ cĩ một cha Do vậy một nút con được gắn với nút cha từ

Trang 6

dụ trong cd sở dữ liệu người ta khơng thể lưu trữ bất lì thơng tỉn liên

quan đến khách hàng khi người này chưa mỡ tài khoản Về mặt ngữ nghĩa

cĩ thể coi: khách hàng đĩ như một người nào đĩ đã cĩ tài khoản, nhưng

càng cĩ thể gây lẫn lộn với khách hàng bị khĩa tài khoản vì lý do riêng 6.3 Xử lý dữ liệu phân cấp

Hệ thống đại diện cho mơ hình phân cấp là IMS (information

managerent systems) của IBM Ngơn ngữ xử lý dữ liệu của hệ thống này là DL/1 (data language) Phần này giới thiệu một số chức năng của

ngơn nEữ này

63.1 Tìm kiếm dữ liệu phân cấp

Các phép tốn trong hệ thống phân cấp làm việc trên cơ sở một bản

ghị, tức mỗi thao tác của phép tốn chỉ tác động với đúng một bản ghỉ

Để tìm được tập nhiều bản ghỉ người ta cân thực hiện lặp nhiều lần

Trong các hệ thống phân cấp ra đời trong những năm đầu phát triển cơ

sở dữ liệu phân cấp, các phép tốn được nhúng trong ngơn ngữ chủ như

Cobol, Fortran, và những yêu cầu tìm kiếm thơng tin được thể hiện qua

chủ trình lặp trong ngơn ngữ chủ

Mối quan hệ giữa các kiểu bản ghi trong cơ sở dữ liệu phân cấp được

thực hiện nhờ các con trở nối tập các bản ghi Để thực biện phép tìm

Xiếm, hệ thống phân cấp cần cĩ cơ chế lưu trữ vất tìm kiểm trong tập các bản ghi, cụ thể là giữ được con trỏ liên két trong tap bin ghi, để nhận

biết đâu là bản ghỉ tiếp theo :

Phép tìm kiếm đơn giản nhất là GET FIRST, cho phép tìm bản ghỉ đấu tiên, hay truy cập đầu danh sách các bẵn ghỉ Chẳng hạn cân tìm

tên chỉ nhánh theo địa chỉ, người ta viết hai câu lệnh sau;

Get FIRST ngân hằng

RE ngân hàng.địa chỉ = “14 Hàng Ngag*;

RA ngắn hằng tên chỉ rhắnh;

Phép tốn này sẽ đọc các bản ghỉ kiểu ngân hàng cho đến khi thấy

ban ghi thoả mãn điều kiện nêu trong câu lệnh Phép toần này đã tìm tit

gốc cây của hệ thống phân cấp Tuy vậy người ta cũng cĩ thể tìm từ bất

kì nhánh nào Chẳng hạn truy cập trực tiếp tới bản ghí đưới gốc bing

câu lệnh sau:

cer FIRST tai khoản

Trang 7

WeE tải khốn số Lài khoản < 10012; unt tải khoản số dự, tài Khoản loại;

Để tìm tập các bản đhí người ta dùng phép tốn GET NEXT, cị nghĩa tim ban ghi tiếp theo Do ngơn ngữ chỉ thao tác trên một bản ghi người ta cần tiến hành lặp Chẳng hạn để tìm tất cả các số tài khoản cơ tiển trong tài khoản, người ta viết:

er FIRST ti Hain WERE tài khoản số au > 0; WOE ma SDS,

TRƯNG tải lbộn số tài khoản; ˆ carter tải khoản

'WERE tài khoản số dự > 0; mo wae:

“Trước tiên tìm được tài khoản cĩ số đư dương, rồi kiểm tra giá trị

DB_STATUS_OK Giá trị này sẽ là sai nếu người ta đã tới cuối tập, ghỉ, tức là khi con tré ¿ải khoản dừng tại cuối tập các bản ghỉ tai khoản trong cơ sở dữ liệu Nếu điểu này chưa xảy ra, người ta truy cập bản ghi tiếp cĩ số đư đương cho đến khi khơng cịn bản ghỉ dải khoản nào

Bằng câu lệnh trên, người ta chỉ liệt kẽ được dữ liệu ghi trong bản ghi tai khoản Khéng thé in chỉ tiết về các chỉ nhánh giữ các tài khoản "Tuy nhiên điểu này sẽ được thực hiện nếu người ta tìm từ gốc:

(Get FIRST noo hing, ‘i Henin WERE CAL khoản số di > 0; woe ma SDS OK

PRIN tài inn ti Heed: À TRE ngân hàng.tên chỉ nhách;

(er NT sofa he, tA khoản WERE ti Hod số dự > 0; BD NOE:

Câu lệnh trên sẽ liệt kê các dữ liệu thuộc nhĩm ngân hàng dưới

dang tập các bản ghi đài khoản; các bản ghỉ dải khoản này được lưu trữ

dưới bản ghỉ ngân hàng Nếu cẩn hạn chế tìm kiếm đối với một chỉ nhánh, người ta cĩ thể dùng câu lệnh sau:

(cer FIST ngân hàng

'WERE ngân hàng tân chú nhí = “leh mich, (CEP NEXT METI AAFENT tA khoản;

Trang 8

RINT tai Henn dr

(ET NEXT NITION PARENT CAL khoản BD WE;

Bằng hạn chế WHERE, người ta thiết lập cơ sở dữ liệu trổ đến cây eé gc “Binh minh”, rồi dùng câu GET NEXT WITHIN PARENT dé tim eae bản ghỉ tiếp theo dưới gốc nay Bign trang thai DB_STATUS_OK sé cĩ giá trị sai khi khơng cồn bản ghi nào trên cây

Để hiện ra thơng tin chỉ tiết của khách hàng cĩ tài khoản cụ thể người ta sẽ tìm tại mức thấp hơn Chẳng hạn tìm thơng tin về khách hàng cĩ tài khoản số 10016:

Ger FIRST tai khoản

WERE tAi Khodn.of tai khoản = 10015 Cer Nex HTN PARENT khách hồng WHILE Ue SIRIUS OK

PRINT ich hing tn

(CEP NEAT WTI PARENT Which hig: BD az;

63.2 Cập nhật dữ liệu phân cấp

Khi cần bổ sung dữ liệu vào cơ sở đữ liệu phân cấp, cần lập bản ghi

dữ liệu theo giá trị yêu cầu rổi bổ sung chúng dưới bản ghỉ sở hữu Chẳng hạn để bổ sung vào chỉ nhánh ngăn hàng Thanh xuân một tài khoản mới, người ta thực hiện:

tật lhoơn số AL Hain = 10006; tài khoản số ái

tật Màn loại = “C RSET thi iin

'EEE ngần hàng tên chi nhánh = “Thạnh xuân”;

Trang 9

WERE CAL locdn, số Cài Kinin = 10016;

'Tuy nhiên, hai câu cập nhật dữ liệu trên sẽ khơng đúng nếu khơn cĩ bản ghi cha thoả mãn điều kiện tìm,

Để cập nhật một bản ghi, người ta cần tìm đến bản ghi đĩ rồi thay de Chẳng hạn thay đổi địa chỉ của một khách hàng nhờ câu lệnh sau:

(cer HexD FIRST Wht ing WERE thm chiGi = 7;

Heh hồng địa chỉ = “H0 Đống san; RERACE;

Người ta ding cau GET HOLD FIRST thay vi GET FIRST dé cor

trỏ cơ sở đữ liệu vẫn dừng tại bản ghỉ tìm được, chứ khơng bắt đầu tạ

bản ghỉ tiếp theo Lệnh REPLACE yêu cầu bản ghỉ mới được ghi vào v trí của bản ghỉ đã cĩ,

Khi cần xố bản ghi, người ta định vị nĩ và dùng lệnh DELETE

Chẳng hạn xố khách hàng cĩ tham chiếu 8:

(er HOLD FIRST Wileh hing 'MERG lốch hàng, than chiến = 8; trưng;

Câu lệnh này xố khách hàng đầu tiên cĩ tham chiếu này Nếu

khách hàng này gắn với nhiều tài khoản và người ta cũng muốn xố tất cả các bản ghỉ liên quan thì phải dùng vịng lặp:

(EP HAD FIRST hich hing WERE Mich hing.than chigh = WLE St ŒC

_—

Er HELD NET khích hơng WERE khích hàng than chiếu = 8;

BO Wie;

Khéng cdin thiét ding vong lap dé xod cdc bain ghi con Cau lénh sau

sẽ xố các tài khoản tại chỉ nhánh cùng với các thơng tin về khách hang

nấm các tài khoản này Chỉ khách hàng cĩ tài khoản tại nơi khác mới cơn thơng tin

(GT HALD FIRST ngân hàng

WERE tên chỉ nhách = “Bình ninh”;

Trang 12

Việc mơ tả này cĩ thể viết dưới dang phi hinh thức như tron; “SHEA NSE hệ thếng ngân hàng, EEXRD ngân hàng,

FID tin chí nhích GARG0), TtiOrs tơp AL1oyep, AD dia chi cance),

PEXRD tai Kinin,

FD SỐ tải Neola HE (6) CORLIOMES tor aLLCIED, FD lot cary

FLD ods Rowe (20,2) RECORD idhich hing

FID them chilis IMTEER) CORLICATES NOT AiDxgp, FID tên Gan (20) l thí dụ sau: TP địa chỉ Gan(20),

25, Hing Dio Ngư

Mình 8.6 Thíđụ về cơ sở dữ lậu mang

ST tật khoản ngăn hàng,

GRER IS rein hiro MEER 15 tai Xhoẫn HANDMORV AUmOggrc SST CAL Hoin-khưch hàng,

Trang 13

NER 15 thi Hola HEREER 15 REGISTRATION OPTION, RANKL, ser bi so-ngin hằng GRER 15 hệ thống MOEER 1S ngân hà, SE hồ sơ-khích hàng, GiNER 16 bệ thống HEAEER 1S khích hàng

Điểm khác nhau quan trọng giữa mơ tả trong cơ sở dữ liệu mạng v,

cơ sở dữ liệu phân cấp là tham chiếu sở hữu trong các mơ tả bản gh

Người ta mơ tả SET để thể hiện quan hệ giữa các kiểu bản ghi Cú phá

OWNER IS chủ MEMBER 1S thành phản thiết lập quan hệ 1.m giủ ban ghi chủ và các bản ghi thành phần; được thực hiện qua liên kết vị

lý nối bằng con trỏ Một số từ khĩa đã dùng như:

+ Cau MANDATORY cho biét méi kiéu ban ghi thành viên cẩn c

một chủ Do vậy trong lược đổ nêu trong thí dụ trên đây, các tỉ khoản cần thuộc về một chỉ nhánh;

+ OPTIONAL cung cấp khả năng để bản ghỉ thành phần tổn tại v khơng tham gia vào tập đã nêu Khi dùng câu này trong mơ t tài khoản-khách hàng, người ta tạo khả năng cho phép một tì

khoản cĩ thể khơng do người nào sở hữu;

+ Mo ta MANUAL duge ding trong trường hợp một bản ghi dug

'bổ sung vào tập, mà người lập trình điểu khiển việc xác định +

trí của nĩ;

‘+ AUTOMATIC cho biét hệ thống chịu trách nhiệm về một phế, tốn; việc thực hiện diễn ra tự động

Lưu ý rằng tập đặc biệt với tên là hổ sơ-ngân hàng và hồ sơ-khác|

hàng do hệ thống sở hữu Hệ thống sở hữu các lối truy cập vào cơ sở di liệu Người ta chia ra hai loại tap: tập do hệ thống sở hữu và các ta) khơng do hệ thống sở hữu Bất kì kiểu bản ghi nào là một phần của tại do hệ thống sở hữu cẩn hồn tồn thuộc về tập đĩ Do vậy câu MANDATORY/ OPTIONAL 1a thừa Tập do hệ thống sỡ hữu cĩ thể tru: cập tất cả các tập khơng đo hệ thống sở hữu

Các khả năng OPTIONAL va MANDATORY AUTOMATIC cin, ngầm định tính tồn vẹn đữ liệu Nếu mối quan hệ tập là MANDATOR] thì khi loại bỏ sở hữu của tập bản ghị, tất cả các bản ghi thành viên liệt quan cũng bị loại bỏ Do đĩ việc huỷ một chỉ nhánh ngân hàng tron| lược đổ sẽ làm cho các dải khoản của nĩ mất đi Việc loại bỏ một khác? hàng sẽ khơng xố tất cả các đăng kí do người này thực hiện, khi khách hàng này cĩ quan hệ OPTIONAL trong tập đài khodn-khdch hang Qu

Trang 14

ức việc xố các đăng kí do một khách hàng đã bị loại sẽ do người ding sz sở dữ liệu thực hiện

6,6 Xử lý dữ liệu trong cơ sở dữ liệu mang

Ngơn ngữ xử lý dữ liệu được sử dụng trong mơ hình mạng như C0DASYL dùng là ngơn ngữ hướng Cobol Tuy vay trong các phần sau

đây, các thí dụ được biểu diễn qua ngơn ngữ tựa như ngơn ngữ

CODASYL nguyén ban, dé tign trình bày các chức năng của việc xử lý

dữ liệu

6.6.1 Tìm kiếm dữ liệu trong cơ sở dữ liệu mang

Các phép tốn tìm kiếm dữ liệu trong cơ sở dữ liệu mạng làm việc

theo chế độ từng bản ghi Cũng như mơ hình phân cấp, để thu được tập

các bản ghỉ, người ta thực hiện lặp di lap lai một phép tốn tìm kiếm Các phép tốn tìm kiểm dữ liệu thường được nhúng trong ngơn ngữ chủ, thuận

tiện cho việc thực hiện quá trình lặp Câu lệnh lập WHILE được dùng trong cơ sở dữ liệu mạng cũng giống như trong cơ sở dữ liệu phân cấp

Truy cập dữ liệu trong hệ thống mạng được miêu tả phù hợp như là quá trình truy cập phi thủ tục Người lập trình cần tìm kiếm cĩ định hướng trong cơ sở dữ liệu đến bản ghỉ yêu cầu Bản ghi này thuậc tập các bản ghỉ theo kiểu yêu cẩu, và quá trình tìm kiếm cĩ định hướng cĩ

thể thực hiện theo quan hệ liên kết chủ-thành viên giữa các tập bản ghỉ

khác nhau Vì mỗi lần thực hiện phép tốn, người ta thu được một bản chỉ nên người ta dùng con trỏ trỏ đến bản ghỉ hiện tại thu được Con trỏ

này được gọi là CRU (current of run unit); ngudi ta cing cé thé déng

nhất CRU với bản ghi được trd dén Qué trinh tim mét ban ghi gồm hai giai đoạn sau:

1, Dùng phép tốn FIND để tìm kiểm cĩ định hướng trưng cơ sở dữ

liệu tới bản ghỉ cụ thể, Địa chỉ cia ban ghỉ này trở thành CRU;

Dùng phép tốn GET để tìm bản ghi do CRU xác định

Dạng truy cập đơn giản nhất là định vi ban ghi đơn trong tap do hệ thống sở hữu Chẳng hạn tìm tên của ngân hàng theo địa chỉ, người ta viết đoạn chương trình sau:

Gia cht = 713 fing Dar;

Trang 15

IF casos cK (cr ngân hàng:

RUN tên chỉ dhch Bo:

Phép tốn FIND ANY định vị bản ghỉ đầu tiên trong tập thoả mãn

điểu kiện đặt ra Biến trạng thái DB_STATUS dùng để nhận biết trường

hợp xảy ra sai sĩt khi định vị bản ghí, để CRU ở trạng thái khơng xác định Nếu CRU cĩ trạng thái xác định, tức định ra được một bản ghị, thị

tốn tử GET được kích hoạt để đưa ra bản ghỉ tìm thấy thơng qua CRU Để truy cập các bản ghi trong các tập do hệ thống sở hữu, việc tìm kiếm cĩ định hướng là đơn giản, khơng phức tạp như trong các tập do

người dùng sở hữu Chẳng hạn xét tập đài khoản làm thí dụ Để đến một

tài khoản cụ thể trong lược đổ nêu trên, người ta cần truy cập thơng qua

chỉ nhánh sở hữu tài khoản này Việc truy cập tìm kiếm cĩ định hướng

theo hai giai đoạn () kiểm tra tập ngán hàng và (ii) đối với mỗi ngân hằng cần kiểm tra tập các đài khoản cho đến khi thấy được tài khoản cần

thiết Người ta mã hĩa quá trình bằng các đồng lệnh sau: tài khoản số tài khoản = 10007;

FRD FHET ngân hằng HITHIN hồ sơ-nơn hing Wea a SOUS CK

FRO ANY tài khoản NEDƠN tài khoản ngân hàng USDG số cài Yoon: SOR £K,

cer eal khoản;

PRINT tAi Henin 28 ds, tài khoản, loại; par no m FID NGŒ ngân hồng MITMDY hồ sơ ngân hồng aD wae

“Trong chương trình này người ta bắt đầu bằng việc thiết lập giá trị tìm kiếm, rồi tiến hành kiểm tra tập các bản ghi ngần hàng nhờ lệnh FIND FIRST Tốn tử này định vị CRU ứng với bản ghi đầu tiên trong tập đã biết Người ta tham chiếu đến hổ sơ-ngân hàng, là tập các bản ghi ngân hàng do hệ thống sở hữu

'Khi thu được tập CRU đổi với ngân hàng đầu tiên, người ta ding

vịng lặp để kiểm tra tất cả các tài khoản trong tất cả các ngân hàng cho

đến khi thu được tài khoản yêu cẩu Câu lệnh là FIND ANY WITHIN,

kiểm tra tập các bản ghỉ thu được

Trang 16

w

Khi thu được CRU, người ta biết được cả địa chỉ của bản ghi gần nhất lẫn các địa chỉ bắt đầu của các tập bản ghỉ bất kì mà bản ghỉ này là

chủ Do vậy khi thấy ngân hàng đầu tiên, người ta nắm được điểm bắt dấu đổi với các tài khoản thành viên của ngân hàng này Phép tốn FIND ANY tai khodn WITHIN tai khoản-ngân hàng sẽ tìm tập các tài khoản liên quan đến ngân hàng này và tìm trong số các tài khoản đã cĩ 'Nếu tìm thấy tài khoản yêu cầu, chương trình trả về kết quả và kết thúc

Nếu khơng thấy tài khoản trong tập các tài khoản của ngân hàng thì hệ thống kích hoạt lệnh FIND NEXT WITHIN hổ so-ngan hang C6 một vấn để nhỏ là CRU sẽ trỏ đến bản ghi cuổi cùng của tập các tài khoản của ngân hàng xét lần trước Hệ thống cũng muốn lưu lại địa chỉ liên quan tới ngân hàng xét trước, mà địa chỉ này luơn luơn bị ghỉ đề lên, cho nên phải cĩ biện pháp sao chép lại địa chỉ, Đối với mỗi tập, hệ thống cơ sở dữ liệu mạng giữ bản sao địa chỉ của bản ghỉ vừa mới định vị được Do vậy mà lệnh FIND NEXT WITHIN hồ sơ-ngân hàng sẽ tìm địa

chỉ của ngân hàng vừa mới tìm thấy, ghỉ vào CRU rồi theo giá trị này để định vị bản ghỉ ngân hàng tiếp theo trong hồ sơ-ngân hàng

Vay để thực hiện quá trình tìm kiếm cĩ định hướng, hệ thống cơ sở

dữ liệu mạng khơng chỉ bảo trì CRU trẻ đến bản ghi vừa định vị, mà cịn bảo trì uật đánh dấu hiện thời đổi với mỗi tập; vật đánh đấu này lưu địa chỉ của ban ghi vừa mới thấy trong tập

Câu lệnh nêu trên dùng vịng lặp dù chỉ tìm một bản ghỉ Việc tim tập các bản ghi cần nhiều tốn tử tương tự nhau Thí dụ sau đây sẽ in thơng tin chỉ tiết về ngân hàng và tài khoản đổi với tất cả các tài khoản khơng cịn tiền:

tẬI khoản số dư = 0

RD FIRST ngân hùng MEN hồ sơ ngân hàng; WGLE t8 sts ức

(er ngân hàng

PRINT téi khoản số tải lhồn PUNT ngân hàng tên chỉ nhính

FIRD NGŒ tài Kicẫn MIHƠN tài lhoản-ngân hằng USD số di _

FID NEC nein hing WTERN hồ sơ: ngân hàng BO WEE;

Doan chương trình trên dùng hai vịng lặp đối với mỗi tài khoản của

mọi ngân hàng, với số dư rỗng Trong vịng lặp ngồi, người ta đã dùng

GET ngân hàng để tìm thơng tin về mỗi ngân hàng Điều này cho phép

173

Trang 17

gỉ lại thơng tin về ngân hàng trong bộ nhớ trong khi người ta kiểm try các tài khoản của nĩ Với vịng lập trong, GET tai khoản tìm thơng tin vý mỗi tài khoản với số dư rỗng Người ta tìm tập các tài khoản của mỗi chị nhánh thơng qua việc tìm tài khoản đầu tiên Nếu phát hiện thấy mặt tài khoản, người ta vào vịng lặp để tìm các tài khoản khác thuộc cùng

chỉ nhánh Khi kết thúc, chương trình quay lại vịng ngồi Người ta cận

nhật giá trị CRU bằng vật đánh dấu hiện thời đối với tập hổ sơ-ngán

hàng và tìm ngân hàng tiếp theo

Tốn tử FIND FTRST WITHIN chuyển từ bần ghỉ sở hữu sang

bản ghi thành viên đầu tiên của tập Người ta cũng cĩ thể chuyển từ tập các bản ghỉ thành viên sang bản ghỉ sở hữu Để tìm thơng tin chỉ tiết về

khách hàng cĩ mở tài khoản, người ta edn chuyén ti tai khoản này sang

tập các bản ghi đăng kí rổi từ mỗi đăng kí này lại chuyển sang khách

hàng sở hữu Khi dé toan tit FIND OWNER duge sit dung tài khoản số tài lhoặn = 10003

FIO FIRST ngân hồng TRƠN hồ sơ ngân hàng; vem spgt ức FRO AW tải khoản MTDHN tải lịcễt-cgân hàng USING số tài khoản Tế t sp US Œ FRO FIRST deg kí NHHHM sở Hì-LÀI khoản WIE om SDGUS cK

FID ORER MET tA jhcản-)hách hàng (er hich hing Trữ khách hàng tên FID Nee ding kí HTRMN số Hà cài khoản _ par Bor: RAO NET ngân hồng HITŒN hổ sơ ngân hàng BO WEE:

Cũng như đoạn chương trình trước đây, ở đoạn này người ta tìm các thành viên của tập bằng cách tìm thành viên đầu tiên rồi vào vịng lặp

để phát hiện các thành viên tiếp theo Cĩ hai đoạn lặp, vịng ngồi tìm tài khoản cụ thể trong hệ thống ngân hàng, cịn vịng trong tìm tập các

đăng kí Đối với mỗi đăng kí, câu FIND OWNER WITHIN tai khoản- khách hàng sẽ định vị khách hàng cĩ tài khoản

Trang 18

66:2 Cập nhật dữ liệu trong cơ sở dữ liệu mạng

'Việc cập nhật dữ liệu trong mơ hình mạng yêu cầu tạo bản ghỉ để

ghi thơng tin rồi theo phép tìm kiếm cĩ định hướng theo con trỏ, người

ta đến nơi cần cập nhật D

Với các tập do hệ thống sở hữu, cơng việc cập nhật khơng mấy

phức tạp Chẳng hạn muốn tạo khách hàng mới, người ta viết đoạn chướng trình:

khích hằng cơn ~ “Toto”: khích hing.dja cht < *25 Hàng aie"; khích hing.tham chiết « 15; khách hồng hiện trạng « “giáo viên; STORE Khich hàng;

'Tốn tử STORE sẽ tự động bổ sung khách hàng cần thiết vào tập hệ

thống sở hữu, là hổ sơ-khách hàng Việc tìm kiếm để thực hiện phép cập

nhật này là khơng cẩn thiết Nếu cần thay đổi thơng tin khách hàng thì

mới cẳn tiến hành cơng việc tìm kiếm Chẳng hạn ơng Chén chuyển nhà

sang phố Hàng Bát:

khích hing.tin = “deg Gin;

FID FUR UROATE AW Khich hing KITEIN hồ sơ khích hàng USING en; Et khách hàng;

khích hằừng.địa chỉ = “12, Hằng Bất”; SODIFY khách hàng;

Doan chương trình này đã định vị một khách hàng cụ thể, truy cập bản ghi này, cập nhật giá trị cũ rồi dùng tốn tử MODIFY để viết bản

ghỉ vào vị tri do CRU chi ra

Việc bổ sung và thay đổi các bản ghi khơng do hệ thống sở hữu sẽ

phức tạp hơn Người ta cần tìm kiếm cĩ định hướng để đến bản ghi cần cập nhật, Cĩ thé ding toan tit CONNECT va RECONNECT dé bé sung các bản ghỉ vào tập hay loại bỏ bản ghỉ khơi tập

“Thí dụ:

Để tạo một bản ghi khách hàng mới, người ta cẩn tìm tập các tài

Trang 19

‘ nO ANE nolo hing WITHIN hồ ngân hồng USNG tên chỉ nhích; TSK TDD LAST WMGN tS Hoda-roén hing; STORE eAL dn aor:

Bằng đoạn chương trình này người ta đã để CRU trỏ đến bản ghi

' cuối cùng trong tập tai khoản của ngân hàng và lưu trữ nĩ tại điểm này, “Tất cả các tai khoản cần thuộc về một chỉ nhánh ngân hàng, và quan hệ của tập tai khodn-ngdn hang duge đặt là MANDATORY AUTOMATIC,

Khi cần, tốn tử STORE sẽ tự động gắn một thành viên vào tập sở hữu

Tài khoản này đã cĩ ít nhất một khách hàng làm chủ Một đài khoản nối với khách hàng thơng qua liên kết đăng ki Người ta cần tạo ra đăng kí

và lưu nĩ bằng STORE Viée nay sé tự động gắn nĩ với tai khoản Quan

hệ thành viên của tập đài khoản-khách hàng là OPTIONAL MANUAL,

Điều này cĩ nghĩa rằng khi đăng kí hồn tất, hệ thống khơng tự động

gắn các thơng tin với Èhách hàng; người ta dùng tốn tử CONNECT: ngân hàng tên chi hich = “Binh minke

tật hộn số tải khoản + 20009; tải khoản số a = 6; tÀi khoản loại = “C+: ng ki realy = “26/08/99; ch hlng.tham chiếu © 15; khích hàng, tên = “Tích khích hồng địa chỉ = “l6, Hằng Chức hích hàng,hiện trạng = "Kinh oan STCEE khách hàn; FDD Aặy ngân hàng WTHƠN hồ sơ ngân hàng USNG tên chú nhánh; 1F Da SDS EK

FIND LAST WITKIN tài Krodn-roén hing: SIRE tai Kroin:

STORE ing Is

(CERNE dng J TO AL Khokn-Khéch hing: BD Ty

Lệnh CONNECT trong dogn chương trình trên gắn một ban ghi vào tập Chủ sở hữu của tập này được chỉ định bằng vật đánh đấu hiện tì

dùng cho kiểu bản ghỉ sở hữu Kiểu bản ghỉ sở hữu đối với tải khoải

khách hàng là khách hàng Vật đánh dấu trỏ đến bản ghỉ được bổ sung

Trang 20

ping lénh STORE khách hàng, trước khi đài khoản và đăng hí dược ghỉ lai- :

Khi cẩn thay đổi chủ sở,hữu của một tài khoản, người ta định vị

đăng kí liên quan thơng qua khách hàng sở hữu, rồi gỡ bỏ liên kết của nĩ

với tốp tài khoản-khách hàng mà nĩ làm chủ, rỗi lại gắn nĩ với tập khác G@ bỏ liên kết được thực hiện nhờ lệnh DISCONNECT Chẳng hạn tài

khoản số 10009 từ ơng Bát, tham chiếu 12, sẽ chuyển sang cho ơng Chén, tham chiếu 15 khách hàng, than chiếu = 12; FRD AW khách hàng WITKIN hồ so-Khich hing (SDG than chi; IF 08 SIRT ức FID FIRST ng ki TP tài khoản-khách hàng, WWM DR SDGUS ŒC

FD ONER WRN 6} Matai Hon: cer tai Hola

TẾ tài Minin oS tài khoản = 10003

DISCONNECT ding Ki FROM tdi boikrhích hàng; khách hàng chen chiếu = FRD AW khách hàng WITHIN hồ sơ khách hàng (SG than chiếu; 1 ba smn ox CONECT đăng kí 70 eA Krier BOT: por Bor FID NEXT ing KE METKON CÀI Khoản khách hàng; BD ROLE; aor:

Ong Bat với tham chiếu 12 được định vị và định vị này cũng là dang kí đầu tiên Chương trình rà sốt tập đăng kí của ơng Bát, dùng FIND

'OWNER để tìm thơng tỉn chỉ tiết của tài khoản ứng với mỗi đăng kí Nếu chương trình thấy tài khoản số 10009 thì tháo gỡ liên kết dang ki ra

khỏi tập đài khoản-khách hàng, rồi chuyển liên kết này sang ơng Chén

Lúc định vị được ơng Chén với tham chiếu 15, người ta thiết lập lại đánh dấu hiện thời đối với kiểu bản ghi của ơng Chén Lệnh CONNECT sé sắn đăng kí này với tập các bản ghi do ơng Chén sở hữu

Trang 21

“Tốn tử ERASE cho phép xố bản ghi Chẳng hạn:

Mhich hừg tên < “it127

POD FER UROXTE A khách hàng WETEN hổ sọ-khếch hàng USDG tân; AGE khách

Câu lệnh chỉ xố khách hàng đầu tiên theo tên này Nếu cẳn xố tất cả các bản gh cĩ tên là Titi thì người ta lặp lại: Nhách hàng tên = “Theis FIND FOR ƯFOME ANW khích hồng HH hồ so-khích hàng USDG tên; Wie ma SOR RA khích hàng; b FOO FOR USORTE NO AriM hồ sơ-khách hàng UEDG tấn RD wae:

Lưu ý rằng các câu lệnh xố trên chỉ thực hiện khi khách hàng Titi này hiện thời khơng sở hữu một đăng kí nào Vậy câu ERASE cẩn chỉ

tiết hĩa để phù hợp với trường hợp liên quan đến đăng kí

+ _ ERASE PERMANENT dùng để xố một bản ghỉ trong số các bản ghỉ của tập cĩ mơ tả MANDATORY Các thành viên của tập với mơ tả OPTIONAL duge tháo bỏ liên kết nhưng khơng bị xố; s _ ERASE SELECTIVE dùng để xố một bản ghị, tất cả các bản ghỉ

trong tập cĩ mơ tả MANDATORY, và xố tất cả các bản ghỉ trong tập cĩ mơ tả OPTIONAL; các bản ghi khơng tham gia vào tập nào khác;

+ _ERASE ALL cho phép xố một bản ghỉ trong các bản ghỉ trong

tất cả các tập, khơng kể quan hé duge mé ta 1a MANDATORY

hay OPTIONAL

6.7 Kết luận

Nhận xét trước hết về các cơ sở dữ liệu phân cấp và cơ sở dữ liệu mạng là tên gọi của các mơ hình loại này; chúng được gọi là mơ hình truy cập, hay mơ hình cổ điển Chúng cĩ trước mơ hình quan hệ Sở đĩ người ta gọi chúng là mơ hình truy cập là vì các mơ hình này sử dụng

ngơn ngữ chủ, ngơn ngữ lập trình để xử lý dữ liệu trong mơi trường của

hệ thống điểu hành máy tính Bản thân cơ sở dữ liệu loại này khơng cĩ các chức năng truy cập dữ liệu đẩy đủ như mơ hình quan hệ, khơng cĩ

các thành phần quản trị dữ liệu như hệ quản trị cơ sở dữ liệu của mơ

hình quan hệ

178

Trang 22

x

# Cơ sở dữ liệu phân cấp và cơ sở dữ liệu mạng coi cơ sở dữ liệu như

tập các kiểu bản ghỉ liên kết nhau theo quan hé 1-m;

# Trong hệ thống phân cấp, thuật ngữ chơ con được dùng để chỉ liên

kết 1.m giữa các kiểu ban ghi;

# Hệ thống phân cấp cĩ một kiểu bản ghi gốc Tất cả các kiểu bản ghi

cần cĩ một cha và được nổi trực tiếp hay gián tiếp với bản ghỉ gốc;

'# Trong hệ thống theo mơ hình mạng, các quan hệ 1-m được đặc trưng bằng các tập liên kết chủ với nhiều thành uiên Khơng cĩ hạn chế về

số các liên kết đập giữa các kiểu bản ghi;

'' Kiểu bản ghỉ trong hệ thống mạng gần tương đương với thực thể yếu

đã được dùng để thể hiện quan hệ m-n giữa các kiểu bản ghỉ;

Các hệ thống phân cấp và hệ thống mạng đều xử lý dữ liệu theo cách

từng bản ghi Các phép tốn trong cơ sở dữ liệu phân cấp được đặc trưng bằng những thao tác trên cây; cịn các phép tốn trong cơ sở dữ liệu mạng được đặc trưng như phép tìm kiếm cĩ định hướng giữa các

ban ghỉ

Người ta cĩ thủ tục chuyển cơ sở dữ liệu thuộc mơ hình mạng hay tân cấp sang mơ hình quan hệ để tiện cho quá trình thực hiện một số ứng dụng cơ sở dữ liệu

Trang 24

Chương 7

Cơ sở dữ liệu hướng đối tượng

Các hệ thống cơ sở dữ liệu hướng đổi tượng xuất hiện khơng nhiều trên thị trường như cơ sở dữ liệu cĩ ứng dụng thực Tuy nhiên người ta vẫn hy vọng loại cơ sở dữ liệu này sẽ phát huy tác dụng và thay đổi bộ mặt ứng dụng của cơ sở dữ liệu Những cố gắng chính về nghiên cứu cơ sở dữ liệu trong vài năm nay thuộc về lĩnh vực hướng đổi tượng và cũng cĩ nhiều ứng dụng đã sử dụng các kĩ thuật hướng đổi tượng

Chương này sẽ giải thích các hoạt động đằng sau sự phát triển của cơng nghệ cơ sở dữ liệu hướng đối tượng, định nghĩa về cơ sở dữ liệu hướng đổi tượng và thí dụ về cơng việc thiết kế, thực hiện Mục đích của chương gồm: (1 Liệt kê các ích lợi và hạn chế chính của các cơ sở dữ liệu hướng đối tượng; (1 Xác định các đặc tính chính của hệ thống cơ sở dữ liệu hướng đối tượn,

a Vạch ra các cơng đoạn chính trong thiết kế và thực hiện cơ sở dữ liệu hướng đối tượng đơn giản

7.1 Hệ quản trị cơ sở dữ liệu thế hệ ba

“Từ năm 1960, các yêu cầu về ứng dụng và nghiên cứu về hệ quản trị cảng được tăng cường, tăng khả năng quản trị và các chương trình ứng dụng trên loại hình ứng dụng trong quản lý

Thế hệ thứ nhất của hệ quản trị được xem như tương ứng với mơ hình truy cập, tức là các mơ hình cơ sở dữ liệu phân cấp và mõ hình cơ sở dữ liệu mạng Trong thế hệ này, các con trỏ vật lý, các dạng đổ thị được dùng; do vậy tính độc lập vật lý yếu Tuy nhiên trong các mơ hình đĩ,

ngơn ngữ hỏi dữ liệu đạt được những khả năng cho phép trao đổi ngudi/may

Trang 25

Thế hệ thứ hai đánh dấu bằng mồ hình quan hệ, vào năm 1970, trở nên quen thuộc cho tới nay Từ đĩ, các hệ quản trị trên thị trường dạ số là của hệ quản trị thể hệ hai

Cùng với sự phát triển của các hệ quản trị cơ sở dữ liệu là sự phát

triển của ngơn ngữ trong giao diện ngườ/máy Ngơn ngữ thế hệ thứ tụ (4LG) và đặc biệt là các ngơn ngữ cơ sở dữ liệu thế hệ thứ tư được sù

dụng, cho phép người ta giao tiếp người/máy sinh động hơn Các cơ sở dữ

liệu thuộc hai thế hệ này nhằm giải quyết các bài tốn quản lý, như quản lý kho tàng, vật tư, tài chính cài đặt trên các máy lớn, nhỏ Tuy nhiên, do bản thân các cơ sở dữ liệu thế hệ một và hai cịn cĩ một vài hạn chế mà người ta thấy cần thiết cĩ thế hệ ba của hệ quản “trị

Các hạn chế trong ứng dụng của mơ hình cơ sở đữ liệu thế hệ thứ

hai rơi vào các cơng việc liên quan đến:

+ Ngành tự động thiết kế CAD (computer aided design), trong

kiến trúc, xây dựng, sản xuất tự độn;

+ _ Các ứng dụng cho văn phỏng học hay trong cơng nghệ về cơng nghệ thơng tin

Mặt khác, các cơ sở dữ liệu thuộc thế hệ một và thế hệ hai khơng giải quyết được các bài tốn trong mơi trường mới, trên hệ thống máy tính nối mạng, truy cập Internet tồn cầu Các hệ thống ngày nay đặc biệt khơng tập trung mà phân tán, song song, với các dữ liệu và hệ thống, khơng thuần nhất

Thế hệ ba của hệ quản trị nhằm đáp ứng các yêu cầu về:

+ Các ứng dụng mới của cơng nghệ thơng tin

«_ Khai thác trong mơi trường phức tạp, thí dụ phân tán, khơng

đồng nhất

+ _ Xử lý các dữ liệu hướng đối tượng và thực hiện suy điễn trên các dữ liệu

“Thế hệ ba của cơ sở dữ liệu cịn đang được nghiên cứu tại nhiều tung tâm tiên tiến trên thế giới

7.1.1 Hạn chế của hệ quản trị cơ sở dữ liệu quan hệ

Nhìn chung hệ quản trị cơ sở đữ liệu quan hệ được sử dụng nhiều

nhưng chưa đáp ứng được hết các yêu cẩu của thực tế Bên cạnh mơ hình quan hệ, mơ hình mạng và phân cấp vẫn tổn tại Để thấy được yêu cầu cho thế hệ mới về hệ quản trị, người ta cĩ thể liệt kê thêm các hạn

Trang 26

chế của hệ quản trị cơ sở dữ liệu quan hệ, về: «_ Các đối tượng phức tạp, + _ Các yêu cầu xử lý trì thức + Mơi trường ứng dụng phân tan, 1 Về các đổi tượng phức tạp Một các phi hình thức, một đối tượng nhằm xác định một cấu trúc phức tạp hoặc cấu trúc cĩ các phần tử "lớn", “Thí dụ:

Các đối tượng cĩ cấu trúc phức tạp thường thấy là một siêu văn bản (hypertext), một lược đổ VLSI (very large scale integration), bức anh hay chương trình Những đối tượng như vậy thường thấy trong tự động hĩa

thiết kế CAD, tự động hĩa nhận thức và trong văn phịng học 'Sự phức tạp của các đổi tượng thể hiện qua:

«_ Cấu trúc của đổi tượng, + _ Mơ hình hĩa các đối tượng + Ngơn ngữ hỏi trên các đối tượng

Bình thường, cơ sở dữ liệu quan hệ xử lý các loại dữ liệu quen thuộc

như số, chữ, ngày tháng, logic Với các loại dữ liệu này, chưa thể thể

hiện các loại dữ liệu định tính hay một danh sách

Chính vì vậy người ta địi hỏi mơ hinh hĩa các đổi tượng phức tạp và xử lý chúng trong hệ quản trị nhờ ngơn ngữ chương trình Các đối tượng phức tạp được coi như các xâu kí tự, các đữ liệu gộp lớn Trong

chương trình, chúng được mõ tả theo các kiểu đặc biệt Giải pháp này

đụng chạm đến các khái niệm cũng quan trọng khác là hiện tượng dư thừa mã khi mơ tả các đối tượng phức tạp trong chương trình ứng dụng, đụng chạm đến sự phụ thuộc chương trình/ dữ liệu, Như vậy việc xử lý các dữ liệu gộp, cĩ kích thước lớn theo giải pháp đĩ là khơng hiệu quả

Hơn nữa, do cấu trúc dữ liệu hiện tại là quá đơn giản, khơng thể dùng cho mơ hình hĩa các đối tượng phức tạp, thí dụ đối tượng trong hệ thống phân cấp hay đổ thị

“Thí dụ:

Một đối tượng phức tạp, chẳng hạn trong CAD, thường được phan

xã và đặt trong các quan hệ nhỏ; chính vì vậy mà thơng tin ngữ nghĩe sẵn cĩ trong một vấn để bị chia nhỏ ra, phân tán đưới dạng cĩc giá trị trong các quan hộ Điều này khiến người sử dụng phải nhìn thế giới theo

188

Trang 27

cách nhìn của cơ sở dữ liệu quan hệ Để cĩ thể khơi phục các ngữ nghị,

ban đấu, khơng tránh được việc yêu cầu các phép kết nối quan hệ, l phép tốn tốn kém 5

Ngồi việc mơ hình hĩa, việc Adi co sở dữ liệu thơng qua ngơn ngụ

cẩn được quan tâm Người ta khĩ cĩ thể cĩ ngơn ngữ lý tưởng trên các đổi tượng phức tạp Tuy vậy cĩ thể cài đặt ngơn ngữ hỏi trong ngơn ngữ

lập trình, chẳng hạn ngơn ngữ SQL trong ngơn ngữ lập trình C, nhưng

cũng gặp khĩ khăn về sự khác biệt giữa kiểu đữ liệu và cách khai thác cdữ liệu trong hai loại ngơn ngữ này Ngơn ngữ hồi cơ sở dữ liệu dựa trên các tập hợp, trong khi ngơn ngữ lập trình đựa trên các thủ tục,

Các ứng dụng về cơ sở dữ liệu được nhìn nhận theo hai khía cạnh: + Khía cạnh tĩnh, thể hiện qua các dữ liệu

«+ Khía cạnh động, thể hiện qua các phép xử lý tác động lên các

dữ liệu

Người ta thấy những đối tượng được hệ quản trị cơ sở dữ liệu quan hệ xử lý là đặc biệt tĩnh Phần động của chúng, tức các hoạt động, được mơ tả riêng biệt thơng qua các chương trình ứng dụng tác động lên các dữ liệu Người lập trình phải biết cấu trúc quan hệ của các đổi tượng, bồi lẽ hệ quản trị cơ sở dữ liệu quan hệ khơng đáp ứng những như cẩu về các đối tượng động, đã tách phần dữ liệu và phần xử lý

3, Quản lý các trí thức

Một quan hệ được tổ chức như một tập các n_ bộ, thể hiện những sự kiện Một hệ quản trị cơ sở dữ liệu quan hệ cho phép xử lý các sự kiện,

các trí thức dưới dạng tổng quát và trừu tượng

Thi dy:

Người ta cĩ khẳng định “Tutu to béo”, đĩ là một sự kiện Nếu đồng thời cĩ khẳng định “béo thì tốt bụng"; dữ liệu này khơng được xếp loại với dữ liệu của sự kiện trước Nĩ được xem là tri thức, cĩ dang “n

thi "

Người ta sử dụng trị thức này theo hai khía cạnh, ứng véi hai cach |

suy luận:

«_ Đưa ra sự kiện mới, dựa trên các sự kiện và các trì thức đã biết Hai dữ liệu trên cho phép lập luận được “Tutu tốt bụng”;

«.- Sử dụng để trả lồi các câu hỏi cẩn đến sự suy luận

Trang 28

Thí dụ:

Câu hỏi "Ai tốt bụng?" được trả lời dựa trên suy luận trên, tức

“Tutu tốt bụng”, và kiểm tra tên những người tốt bụng Khi đĩ Tutu cĩ

trong danh sách kết quả k quản trị đữ liệu trị cĩ dũ liệu “quản trị trì thức

Hinh 7.1 Hé quan trị cơ sở dữ liệu địi hỏi khơng chỉ đữ liệu đơn thuần, mà cả các tí thức

Do vậy, việc quản lý các trí thức trong cơ sở đữ liệu là nhu cầu thực tế, nhất là đối với các ứng dụng cần các kiến thức chuyên gia

Hệ quản trị cơ sở dữ liệu sử dụng các điểu kiện tồn vẹn Điều kiện ràng buộc dưới dạng các trì thức cần giới thiệu loại dữ liệu đặc biệt là tri

thức trong cả các chức năng quản trị và ngơn ngũ người sử dụng Khi

đưa trì thức vào ngơn ngữ hỏi dữ liệu hay ngơn ngữ chương trình người

ta phải giải quyết ba vấn để quan trọng sau:

«_ Trí thức được mã hĩa trong chương trình ứng dụng thường hay

mắc nhược điểm là mơ tả dữ liệu trùng lặi

«_ Việc quản lý mối liên hệ giữa những người sử dụng cĩ dùng trí

thức khĩ cĩ thể tốt như việc quản lý trong trường hợp chỉ sử

dụng các đữ liệu định lượng;

+ Việc suy luận với khối lượng lớn các thơng tin như các sự kiện vài

trì thức trong hệ quản trị cơ sở dữ liệu cĩ thể nặng nể, dẫn đến

việc làm mất tính hiệu quả của tồn bộ hệ thống

Quản trị các dữ liệu phân tán

Một hệ quản trị cơ sở dữ liệu thơng thường được tổ chức như một

phần mềm cổ điển và được cài dat trên một máy tính tập trung Hiện

nay mơi trường tin học phục vụ các cơng tác da dang với các đối tượng phức tạp hơn, trên mạng máy tính, khiến người ta phải dùng đến hệ

thống khơng tập trung và xử lý song song Như vậy cần cĩ cơng cụ khác

là hệ quan trị cơ sở dữ liệu phân tán

Trang 29

Hệ phân tán tạo lập do việc tập hợp các máy nổi nhau theo mạn

truyền thơng và dùng cho một cơng việc tổng thể và được quản lý trẻ

địa bàn rộng về địa lý Yêu cẩu đặt ra ở đây là quản trị và xứ lý nhữn dữ liệu phân tán tại các máy độc lập Các trạm độc lập ấy dã cĩ các h

quản trị, nhưng khơng hồn tồn giống nhau Co sb dã liệu thờ nhất

Hinh 7.2 Cơ sở dữ lệu gốm các vam xa nhau, hệ thống điều hành khác nhau

Để khai thác dữ liệu theo hệ thống quản trị cơ sở dữ liệu phân tán

người ta khơng thể khơng thay đổi hệ quản trị cũ Ít ra cũng phai mi

rộng hệ quản trị cơ sở dữ liệu tập trung Hệ thống phân tán cũng đồi hồi các chức năng xử lý song song

Các hệ thống với các chức năng xử lý song song được thiết lập để

khai thác các khả năng xử lý song song của máy đa bộ xử lý Đi đơi với các thiết bị cho phép xử lý dữ liệu một cách song song, cũng cĩ các ngơn

ngữ bậc cao cho phép mõ tả dữ liệu phân tán và mơ tả song song các

chức năng xử lý, Tuy vậy, hệ quản trị cơ sở dữ liệu theo hướng song song

hĩa chưa được biết nhiều, nhưng dẫu sao cũng là hướng di đáng khích lệ

trong việc phát triển các hệ quản trị cơ sở dữ liệu thế hệ hai

Các cơ sở dữ liệu được phát triển trong những năm qua sẽ đáp ứng

được các nhu cẩu xử lý thơng tin trong hồn cảnh thế giới hiện tại

Chương này đã nêu lên các nhược điểm của mơ hình dữ liệu thế hệ hai,

tức là các mơ hình cơ sở dữ liệu quan hệ và hai mơ hình truy cập, tức là cơ sở dữ liệu mạng và cơ sở dữ liệu phân cấp

Nhược điểm của các cơ sở dữ liệu thế hệ hai địi hỏi đưa ra các hệ

thống tiên tiến Đĩ là các cơ sở dữ liệu hướng đổi tượng, cơ sở dữ liệu suy diễn và cơ sở dữ liệu phân tần

Trang 30

11.2 Nhu cầu về hệ thống cơ sở dữ liệu hướng đối tượng

Các thí dụ về cơ sở dữ liệu thường lấy từ lĩnh vực xử lý dữ liệu truyền thống Một ứng dụng xử lý dữ liệu cĩ đặc trưng là dùng-các tệp dữ liệu, xử lý dữ liệu tệp để đáp ứng các yêu cầu Các cơng nghệ cơ sở dữ liệu quan hệ, mạng hay phân cấp đều thể hiện các tiếp cận khác nhau Mâm tích hợp các tệp đữ liệu để đáp ứng nhu cầu ứng dụng, Các điểm mạnh của cơ sở dữ liệu quan hệ đã khiến chúng chiếm ưu thế trên thị

trường cơ sở dữ liệu Tuy nhiên việc tăng tính khái quát, trừu tượng của các kiểu dữ liệu do máy xử lý lại là điểm yếu của cơng nghệ quan hệ

Trước khi để cập vấn để hướng đối tượng trong cơ sỡ dữ liệu, bên cạnh cic hạn chế của cơ sở dữ liệu quan hệ, người ta cịn thấy các hạn chế nêu trên về hệ thống cơ sở dữ liệu nĩi chung, về phạm vi ngữ nghĩa, về cấu trúc dữ liệu, về tính chủ động và tính tồn vẹn dữ liệu

1 Phạm ui ngữ nghĩa Li thuyết quan hệ chỉ hỗ trợ một phần các

khái niệm ngữ nghĩa Nhiều khái niệm về ngữ nghĩa khơng thể

hiện qua mơ hình quan hệ được; tức là nhiều loại thơng tin khơng phù hợp với dạng tiếp cận mơ hình quan hệ;

‘i 2 Cấu trúc dữ liệu Các hệ thống quan hệ bị hạn chế bét về cấu trúc dữ liệu Trong hệ thống quan hệ các dữ liệu được tổ chức

thành bằng gồm các thuộc tính đơn Nhiều kiểu thơng tin khơng

phù hợp với cách thể hiện nà)

8 Tinh thự động của đữ liệu Trong hệ thống quan hệ, dữ liệu hầu hết là thụ động Các chương trình ứng dụng cĩ vai trị kích hoạt

các dữ liệu này, để dữ liệu trở nên linh động Trong mơ hình hướng đối tượng, người ta cĩ thể biết được hành vi cũng như cấu

trúc của dữ liệu;

4 Tồn uẹn ngữ nghĩa Đầm bảo tính tồn vẹn ngữ nghĩa là cĩ thể | gì được tính bển vững của ngữ nghĩa cơ sở dữ liệu duéi tác động của các chương trình Hệ thống quan hệ quản lý hành vi của dữ

liệu theo các chương trình ứng dụng Cùng một dữ liệu cĩ thể

mang các hành vi khác nhau, nên dữ liệu cần cĩ ý nghĩa khác nhau tùy theo chương trình sử dụng, dễ gây nên tinh trang vi phạm tính tồn vẹn dữ liệu Những tình huống kém khả năng như vậy của cơ sỡ dữ liệu quan hệ sẽ được cơ sở dữ liệu hướng đối

tượng khắc phục, nhất là đối với các đối tượng dữ liệu phức tạp

và cĩ khối lượng lớn các thơng tin ngữ nghĩa Các lĩnh vực điển

hình cần đến cơ sở dữ liệu hướng đối tượng là:

187

Trang 31

+ Cơ sở dữ liệu đa phương tiện, cần lưu trữ khối lượng lồn các tíc

hiệu âm thanh, hình ảnh và văn bản; cẩn liên kết nhiều kiểu

dữ liệu;

«+ Các hệ thống thơng tin địa lý, cắn xử lý nhiều loại dữ liệu thống

kẽ, bản đổ; các dữ liệu được thu thập từ nhiều vũng khác nhau;

+ Các cơ sở dữ liệu phục vụ thiết kế gồm các sơ đổ, nhiều thành phần dữ liệu phức tạp liên kết nhau Một thiết kế đơi hai xử lý qua nhiều giai đoạn, nhiều thế hệ

Các ứng dụng vừa nêu cũng cĩ thể được thực hiện trên mơ hình

quan hệ Đương nhiên kết quả thu được sẽ khơng tự đhiên, khơng thẻ

hiện hiệu quả các yêu cầu của người dùng Thí dụ trong chương nay la ce sở dữ liệu đơn giần gốm các sơ đổ liên kết nhau thành sơ đổ phức tạp

hơn, Giả sử cĩ kiểu dữ liệu đổ thị với các chức năng khởi đầu như lưu

trữ, tìm kiểm, xử lý sơ đỗ đơn giản Bằng ảữ liệu đơn giần cĩ ba thuộc tính (tên sơ đổ, ngày tạo, loại) Tên sơ đổ là khĩa; loại hình uẽ gầm tam giác, hình vuơng

Người ta cĩ thể dùng bộ chương trình đổ thị để vẽ các sơ đổ đơn giản

và lưu chúng trong bảng với tên sơ đổ là 1, 2, 3 Chẳng hạn dùng cơng

cụ để tạo nên sơ đổ 5, cĩ các thành phần là các sơ đổ 1, 2, 3 Một nhận

xét là một số thơng tin cĩ thể bị mất, chẳng hạn như sơ đổ 5 được tạo tị các sơ đổ kia; hay khơng thể hiện được thơng tin về loại hình vẽ của sơ

đổ 1, 3 là tam giác Vậy người ta cần mở rộng thiết kế cũ

Một hướng mở rộng thiết kế là dùng kiểu con Bảng dữ liệu ban đầu

được coi như thể hiện của kiểu dữ liệu lớn nhất (supertype) Sẽ cĩ các

bảng bổ sung đối với các kiểu sơ đổ khác nhau Do vậy nên dùng bảng dữ liệu đối với các tam giác, hình vuơng mỗi bảng ứng với một loại hình

Các thuộc tính trong bảng gồm tén sơ đổ, các thuộc tính riêng cho loại

hình vẽ Chẳng hạn

tam giác (tên sơ đổ, cạnh đấy, gĩc 1, gĩc 2) hình đều cạch (C& sơ đổ, độ dài cạnh) chỉ nhật (tên sơ đổ, chiếu đài, chiều rộng)

hình vuơng (tên sơ đổ, độ đài conn)

Đối với kiểu con một mức, khi giải quyết bài tốn người ta chưa thấy khĩ khăn Tuy nhiên với một dãy các kiểu con, người ta cẩn nổi nhiều bảng mới tìm được thơng tin về một sơ đổ cụ thể

Thiết kế lược đổ các hình vẽ theo cách vừa rồi vẫn chưa cho phép thấy được ngữ nghĩa Người ta vẫn muốn thể hiện hinÀ uuơng là kiểu

Trang 32

n của hình chữ nhật Điều đĩ vẫn khơng đảm bảo rằng chương trình

fig hinh vuơng khác hẳn với hình chữ nhật, Ngồi ra, người ta khơng

thi ngt ngừa được các thao tác xử lý sai trên các đối tượng, Chẳng han | joan ehsiong trinh con tính diện tích hình vuơng vẫn cĩ thể được dùng

¿ tính sai diện tích cho tam giác, do tam giác cũng cĩ độ dài cạnh, Tưcticn diện tích (ni độ đài cơ);

tan run nên; mà

Một hướng cần mở rộng nữa là tạo các sơ đổ phức tạp từ các sơ đổ đơn giản Người ta dùng bằng đối với kiểu con phức tạp, cĩ tên sơ đổ phức tập, tên các sơ đổ thành phần phức tạp (tên sơ đồ, so dé 1, sơ đồ 2, sơ đổ 3) Nếu sơ đổ phức tạp cĩ nhiều sơ đổ thành phần, người ta cần tạo bảng khác Cách này cĩ nhược điểm là số các bảng sẽ tăng theo số chủng

loại của các sơ đồ phức tap

'Vẫn cịn nhiều thơng tin chưa thể hiện được, như cách thức các sơ

dồ thành phần liên kết với nhau: Ngồi ra các hình vẽ cịn đi kèm các

thao tác riêng Sơ đổ phức hợp cần tách các phép tốn để cĩ thao tác phù

hợp đối với từng loại sơ đổ

Việc thực hiện cơ sở dữ liệu đơn giản trong lĩnh vực xử lý dữ liệu

truyền thống thường được đưa về các kĩ thuật về quan hệ Trước nhu cầu thực tế, người ta cần mở rộng các kĩ thuật này, cụ thể theo các vấn để sau:

1 Xáe định tường mình kiểu dữ liệu con và kiểu dữ tiệu cha;

3 Hiểu dữ liệu trừu tượng Người ta dùng mơ hình quan hệ để xác định khái niệm cùng với các chức năng Điều này cho phép dễ

dàng xác định khái niệm về kiểu đữ liệu trừu tượng, Chẳng hạn người ta cĩ thể tạo ra kiểu dữ liệu hình trịn và định ra các hàm

tính tốn liên quan như tính diện tích, bản kính Người ta cơ thể

dùng bảng để thể hiện các thơng tin này đưới dạng các thuộc

tính Hành vi đúng đắn trên các giá trị được tính này phù hợp với kiểu dữ liệu trừu tượng,

'Nới rộng các dạng chuẩn để cĩ thể dùng các quan hệ lổng nhau Các thuộc tính cĩ thể thuộc kiểu đữ liệu quan hệ, cho phép các

bảng giá trị nằm trong một bảng Theo cớ chế này, một thuộc tính vẫn cĩ thể nhận nhiều giá trị Trong thí dụ trên, người ta cĩ

thể dùng kiểu dữ liệu quan hệ để ghi tập các sơ đổ cĩ cấu trúc

phức tạp Đại số quan hệ cũng cần thay đổi thích hợp,

của các thuộc

189

Trang 33

Các cơ sở dữ liệu hướng đổi tượng di theo kiểu tiếp cận khác về tị

giối thực, khơng phải đối đầu với các khĩ khăn vừa nêu

1.2 Khái niệm về hướng đối tượng

Quan điểm thế nào gọi là hướng đối tượng? Tiếp cận nào được gọi Ì

tiếp cận hướng đối tượng? Và đối tượng là gì? Đĩ là các câu hỏi cẳn dug làm sáng tổ trước tiên

Để thấy quan điểm về hướng đối tượng, hãy xét một vật trong th giới thực là chiếc ghế Ghế là một phần tử, hay là một ¿5ể hiện của lớ, rộng hơn gọi là đổ đạc Một tập các thuộc đính liên kết với đối tượn,

trong lớp đổ đạc, chẳng hạn giá thành, kích thước, trọng lượng, uị trí vị

màu sắc Những điều này được áp dụng mỗi khi người ta nĩi về cái bàr

hay cái ghế, tủ Bồi vì ghế là thành viên của lớp đổ đạc, nĩ ;hửa kế tấi cả các thuộc tính đã xác định cho lớp

Mỗi đối tượng trong lớp để đạc cĩ thể được xử lý theo nhiều cách, chẳng hạn ghế dùng để ngồi, bàn để bán, tủ đem cho Mỗi phép xử lý

này sẽ thay đổi một hay nhiều thuộc tính của đối tượng, và chúng được gọi là dich vu hay phương pháp trên đổi tượng

“Thí dụ:

Cho phép "vị trí' được xác định theo "tịa nhà", "tổng gác" và

"phịng", thì thao tác chuyển cĩ thể thay đổi các dữ liệu về (/bz nhà, tầng,

phịng)

Để làm được điều này, thao tác chuyển cẩn cĩ trì thức về các dữ liệu và thao tác cĩ thể áp dụng cho chiếc ghế cũng như các đối tượng khác

trong lớp Các thao tác khác như bán, mua cũng được xác định tương tự Đối tượng ghế và các đối tượng khác bao bọc (encapsule):

«- Dữ liệu thơng qua giá trị thuộc tính

« Các phép tốn như các hoạt động cĩ tác dụng thay đổi giá trị

thuộc tính

« _ Các đổi tượng khác, như là các đối tượng phức tạp «_ Oác hằng số, như các giá trị mặc định

+ _ Oác thơng tỉn liên quan,

Việc bao bọc thơng tỉn của các đối tượng cĩ nghĩa là tất cả thơng tin

này được thu gọn lại dưới một tên và cĩ thể được dùng như một đặc tả

hay một thành phần chương trình

Trang 34

Do efe khái niệm sơ bộ trên, Coad va Yourdon cho rằng thuật ngữ

“hướng đối tượng" được xác định theo nghĩa đổi tượng + phân loại + thừa

kế + truyễn thơng 1.2.1 Đối tượng

Khái niệm về đổi tượng là khái niệm sinh ra từ việc nhận thức thế giới thực Việc nghiên cứu hướng đối tượng cẳn gắn với một lĩnh vực cụ

thể Nhiều người cho rằng khái niệm về đối tượng xuất phát từ lập trình

hướng đối tugng OOP (object oriented programming) Trong mơi trường OOP, thé gidi cũng được coi là một đối tượng Một đối tượng cĩ các đặc tính sau: + _ Mang tên duy nhất, khơng thay đổi; «_ Thuộc về một lớp; «_ Cĩ thể gửi các thơng báo đến các đối tượng khác; + Cĩ trạng thái riêng

Q Định nghĩa Đối tượng (object)

.Đổi tượng là một thực thể cĩ uai trị xác định rõ rang trong lĩnh ye ứng dụng, cĩ trạng thái, hanh vi uà được xác định tên

Chẳng hạn cĩ hai đối tượng là Tutu và Toto Để chúng tổn tại như đổi tượng, thuộc về một lớp các đổi tượng, tên là Người Hai đối tượng

này liên lạc với nhau qua thơng báo Thơng báo là dạng các thao tác áp lên đối tượng Thao tác trong mỗi trường hướng đổi tượng được gọi là

Phương pháp Chẳng hạn phương pháp kết hơn tác động lên đổi tượng để biết đối tượng này kết hơn với ai Chẳng hạn phương pháp áp lên

‘Tutu thu duge tên đối tượng khác là Tata Q Dink nghia Trang thái (state)

Trạng thái bao gồm tỉnh chất của đổi tượng, như là thuộc tính tà các mối quan hệ, va những giá trị gán cho các tính chất đĩ Q Định nghĩa Phép tốn (operation)

Phép tốn là một hàm số hay một dịch uụ mà tất cả các thể hiện

của lớp đêu chấp nhận

{ Định nghĩa Phương pháp (method)

Phương pháp là oiệc thực hiện của một phép tốn

Hanh vi và cấu trúc của một đối tượng trong mơi trường OOP hồn

tồn do lớp đối tượng xác định Lớp là khái niệm cơ bản trong tiếp cận hướng đối tượng

Trang 35

Định nghĩa Hành vi (behavior)

Hanh vi là thể hiện cách thức tác động của một đổi tượng

7.2.2 Lớp đối tượng

Một lớp đổi tượng cĩ giao diện và miển riêng Giao diện của đổi tượng là cái mà các đối tượng khác thấy được Giao diện lớp đối tượng

gồm hai phần sau:

1 Thuộc tính của lớp Trong chừng mực nào đĩ các thuộc tính của lớp được coi tương đương với các thuộc tính của quan hệ Đương nhiên

thơng qua thuộc tính lớp người ta cĩ thể thể hiện các liên kết giữa các

đối tượng, hay trong lớp cũng cĩ thuộc tính ảo, chẳng hạn thuộc tính tuổi

cĩ giả trị tùy thuộc vào thuộc tính ngảy sinh, Đối với lớp, khơng cĩ hạn

chế gì về cách thức cấu trủe thuộc tính hay cách liên kết với nhau Các

thuộc tính cĩ thể là đổi tượng dùng để tạo đổi tượng phức tạp hơn

Người ta khơng xử lý trực tiếp các giá trị thuộc tính của đổi tượng mà cần xử lý thơng qua các phương pháp liên kết với lớp đối tượng

“+ Dink nghia Phép tốn trừu tượng (abstract operation)

Phép tốn trừa tượng xác định dạng thức hay giao thức của pháp tốn, nhưng chưa xác định uiệc thực hiện

3 Phương pháp gắn uới lớp đối tượng Cậc thơng bảo chuyển đến lớp đổi tượng nhỡ phương pháp gắn với lớp đối tượng Chúng thường e6 dạng các phép tốn, các hàm với các tham số Các đổi tượng trong mot

lớp chỉ cĩ thể được truy cập thơng qua các phương pháp Tại mức giaq, điện, phần hiện rõ là tên phương pháp và các tham số cẩn cho phương

pháp nà) -

“+ Định nghĩa Lớp đổi tượng (objeet class)

Láp đối tượng là tập các đổi tượng cĩ chung cấu trúc uà hành uỉ „ Dinh nghia Se dé lap (class diagram)

Sơ đồ lớp cho biết cấu trúc tĩnh của mơ hình hưởng đổi tượng, đồ là các lớp đổi tượng, cấu trúc bên trong của chúng, uà mối _

quan hệ mà chúng tham gia |

Miền riêng của lớp đối tượng là phần xác định lớp, nhưng khơng hiện ra cho đổi tượng khác thấy Đĩ là mã điểu khiển phương pháp Miễn này cĩ thể gồm các thơng tin chỉ tiết về cấu trúc của lớp đối tượng

Một thuộc tính được thể hiện trong giao diện lớp đổi tượng như tập các

giá trị Trong chương trình người ta cĩ thể đặt các giá trị trong ngăn xếp

Trang 36

chẳng, trên cây hay cấu trúc dữ liệu khác Cĩ thể cĩ nhiều thuộc tính

khác với các giá trị khơng hiện Ngay cả các liên kết cũng bị giấu, cũng, như khơng thấy được các thống báo Việc bảo vệ thơng tin làm việc bên trong cùng với các giá trị đối tượng trước các sử dụng thơng thường này

qược gọi là che giấu thơng tìn Tên người dùng là thơng tin duy nhất để

sử dụng một đối tượng thơng qua các phương pháp Cách thức làm việc trên đối tượng của người này hồn tồn bí mật đối với người dùng khác

Một khái niệm OOP quan trong là bao bọc, cĩ nghĩa mọi vấn để về đối tượng đều được nhận biết thơng qua định nghĩa lớp đối tượng Người ta truy cập khái niệm nhờ giao diện lớp và xác định các hành vi thơng qua việc xác định lớp

Q Định nghĩa Sơ đồ đối tượng (object diagram)

Sơ đề đối tượng là đồ thị gồm các thể hiện của đối tượng, tương thích uới sơ đỗ lớp

(1 Định nghĩa Bao gĩi (encapsulation)

Bao gĩi, hay bao bọc, là kĩ thuật che giấu, làm ẩn những chỉ

tiết uễ cài đặt bên trong của đổi tượng đối uãi các truy cập tử bên ngồi

7.3.3 Cá thể

Cá thể hĩa là quá trình khẳng định sự tổn tại của các đối tượng

trong mơi trường hướng đối tượng, bằng việc xác định lớp của chúng

Mỗi đối tượng là một cá thể của lớp; thường được dàng với thuật ngữ

hiện diện hay thể hiện (instance) cia lép

7.2.4 Kế thừa

Khái niệm kế thừa là khái niệm quan trọng trong tiếp cận hướng,

đối tượng Khái niệm này tương tự như khái niệm kiểu dữ liệu con hay kiểu dữ liệu cha Người ta thường dùng thuật ngữ này khi chỉ định lớp

đối tượng này tiếp thu, thừa kế các thuộc tinh của lớp đối tượng khác

Chẳng hạn lớp đối tượng đàn ơng, đàn bà cĩ các đặc tính dùng để xác

định đặc tính của lốp Người; hay nĩi cách khác thì thuộc tính của lớp Người truyền lại cho hai lớp kia Mỗi lớp con cĩ thể mang một số thuộc tính hay phương pháp riêng

198

Trang 37

Ngư dân nhàn lay Nghe, ! DANONG dã lơng DÂN BÀ _ Hình 7.3 Thừa kế các thuộc nh và phương thức

(1 Định nghĩa Kế thừa thuậc tính (attribute inheritance)

Kế thừa thuộc tính là tính chất cho phép các thực thể con hế

thừa giá trị của tất cả những thuộc tính của lớp cha

Việc thừa kế nhiều lần xảy ra khi một lớp kế thừa từ nhiều lớp, Chẳng hạn lớp quản (ý-l7 thuật cĩ các tính chất kế thừa từ lớp AT thuật và lớp quản lý,

7.8 Cơ sở dữ liệu hướng đối tượng

Dù cĩ nhiều ngơn ngữ hướng đối tượng, đa số cơ sở dữ liệu đối tượng

dựa trên Ơ*" Lựa chọn này là do tính hiệu quả và thơng dụng của C°°,

Người ta cĩ thể kể ra các cơ sở dữ liệu đối tượng như Ontos năm 1990,

Versant nim 1991, Object Store năm 1991 và cơ sở dữ liệu Objectivity năm 1990,

'Thực tế cho thấy cơ sở dữ liệu hướng đối tượng cĩ các ưu điểm:

‘© Cho phép xét các liên kết đổi tượng dưới dạng các phép lưu tra với các đối tượng;

+ Các đối tượng được phép đùng chung cho nhiểu người sử dụng; «_ Khả năng phát triển kho tri thức bằng cách thêm các đối tượng

mới và các phép xử lý kèm theo;

+ Phát triển hệ quản trị cơ sở dữ liệu dựa trên việc xử lý các đối

tượng phức tạp, thiết kể giao diện chương trình, mơ tả đổi tượng động và trừu tượng

Hệ quản trị cĩ sở dữ liệu hướng đối tượng là hệ quản trị cho phép lưu trữ và chia sẻ các đối tượng đối với nhiều ứng dụng Hệ thống hướng

đối tượng là sự mở rộng cĩ ý nghĩa của lập trình hướng đối tượng Trong

Trang 38

mới trường OOP các đổi tượng được coi như các biến chương trình, chỉ tổn tại với vịng đồi của chương trình đã tạo ra và sử dụng đối tượng

Cịn trong hệ,thống cơ sở dữ liệu hướng đổi tượng, các đối tượng là bén vững hơn Thuật ngữ bển uỡng được dùng với nghĩa đối tượng tổn tại

khơng lệ thuộc vào vịng đời của chương trình tạo ra nĩ Chương trình

khác cĩ thể truy cập hay huỷ bỏ đối tượng này Hệ thống cơ sở dữ liệu

hướng đối tượng cĩ các nét đặc trưng sau:

„_ Ngơn ngữ cơ sở dữ liệu cĩ khả nàng mơ tả lớp đối tượng, tạo sinh, lưu trữ và xố đối tượng;

„- Oác đổi tượng cho phép chương trình ứng dụng truy cập Mỗi đối tượng trong kho các đối tượng cĩ tên duy nhất OID (object identifier) Khái niệm OID khác với khái niệm khĩa chính trong cơ sở dữ liệu quan hệ Khĩa chính là tập các thuộc tính xác định duy nhất bộ dữ

liệu, mang giá trị cĩ thể thay đổi được Trong hệ thống hướng đổi

tượng, OID là chuỗi 64 hay 128 bit mang giá trị khơng thay đổi Một đối tượng cũng cĩ thể cĩ các thuộc tính mang vai trị như khĩa chính

trong cơ sở dữ liệu quan hệ Điểu này hồn tồn phụ thuộc vào cách xác định lớp Việc gán OID hồn tồn do hệ quản trị cơ sở dữ liệu hướng đối tượng đảm nhiệm Hệ quản trị gắn đối tượng với OID và cĩ cơ chế lưu trữ và tìm kiếm đối tượng

'Kho đối tượng là nơi chứa dữ liệu tạo nên cơ sở dữ liệu hướng đối tượng Hệ quản trị cơ sở dữ liệu hướng đổi tượng cẩn cĩ các chức năng cơ bản như hệ quản trị cơ sở dữ liệu bình thường, như điểu

khiển tương tranh, an tồn dữ liệu, tồn vẹn dữ liệu Thực ra hệ

quân trị cơ sở dữ liệu hướng đối tượng hoạt động như hệ quản trị

thường, với sự tham gia của phần mềm hướng đối tượng để truy cập

các đối tượng

‘Tuy vay ngudi ta cẩn biết rõ hình hài của cơ sở dữ liệu hướng đối tượng và cách xây dựng hệ thống như cơ sở dữ liệu hướng đối tượng Cuối những năm 80 và đầu những năm 90 của thế kỉ XX người ta đã tranh luận nhiều về cơ sở dữ liệu hướng đối tượng Một thí dụ về cơ sở dữ liệu hướng đối tượng của Cattell, 1993, là hệ thống ODMG-93 chọn mơi trường OOP dựa trên ngơn ngữ C*" Hệ thống khuyến cáo cách thức

mở rộng để đạt được cơ sở dữ liệu hướng đối tượng Cùng thời gian này,

ngơn ngữ SQL cũng giới thiệu một số khía cạnh hướng đối tượng Tĩm

lại, hai cách tiếp cận sau được xem là các cách tiếp cận tổng quát cĩ sức

thuyết phục hơn cả:

Trang 39

1, Sử dụng ngơn ngữ OOP, như C*, rồi mở rộng với đối tượng bển vững được điểu khiển;

2 Sử dụng hệ thống quan hệ rồi bổ sung các khía cạnh hướng đối tượng; cĩ thể thơng qua dạng mở rộng của SQL

Hai hướng này phát triển tiến về nhau ODMG-93 cĩ ngơn ngữ hải đối tượng như SQL Các để xuất về dạng đối tượng do SQL đưa ra cĩ thể được nhúng vào mơi trường C*", như đã được trình bày trong tài liệu năm 1996 của Blakely, Đã cĩ hệ thống cơ sở dữ liệu hướng đối tượng dựa trên C” bản trên thị trường, dùng ngơn ngữ OSQL (objeet SQL) Phản

sau đây sẽ dành để giới thiệu hai kiểu tiép can nay

7.4 Thiết kế cơ sở dữ liệu hướng đối tượng

Để xác định rõ việc thực hiện cơ sở dữ liệu hướng đối tượng theo các

dạng tiếp cận, trước hết cẩn xác định cách thức thiết kế một hệ thống

hướng đối tượng, ít ra là ở dạng một thí dụ

Một cơ sở đữ liệu hướng đối tượng gỗm các đổi tượng, tất cả những

thứ thuộc về lớp Để xây dựng mơ hình khái niệm cho cơ sở đữ liệu

hướng đối tượng, người ta cẳn xác định tập các lớp đối tượng

Lớp đối tượng được xác định nhờ các thuộc tính và phương thức

Người ta cũng phải xác định sự tương tác giữa các lớp Khái niệm về lớp cũng tương tự như kiểu dữ liệu đã giối thiệu trước đây Khái niệm mơ

hình hĩa ngữ nghĩa như tổng quát hĩa, đặc biệt hĩa và gộp lớn được mơ

tả trong phần này sẽ được chuyên dùng trong quá trình thiết kế cơ sở dữ

liệu hướng đối tượng

7.4.1 Phân lớp

Quá trình phân lớp liên quan đến việc định tên đối tượng với các thuộc tính, hành vi tương tự nhau và nhĩm các đối tượng vào cùng một lớp Theo thí dụ về sơ đổ các hình vẽ đã giới thiệu, người ta xác định sơ, đồ với các thuộc tính tên, ngày đạo và hình uẽ Cáẻ phép tốn chung là lưu trữ, tìm kiếm, vẽ Đoạn chương trình sau sẽ xác định giao diện lớp:

lp woe

thuc tính:

Trang 40

hình vẽ: để chị: phưng thế: cạo mi OF tu te 0: cửn (tên so 6: integer): so ot; tầm so đổ (): đổ thú; HH OF vẽ sửa (hình rồi: đồ thD); ed ow

Xác định giao diện lớp đối lượng

“Trong đoạn chương trình trên, danh sách các trường và các kiểu dữ

liệu don giản dùng cho các sơ đổ được liệt kẽ trong mục thuộc tính Tiếp theo là các phương thức, cĩ tên và các tham số Cĩ một số phương thức như tao mới, xố áp dụng cho tất cả các đổi tượng trong cơ sở dữ liệu, Yz sửa là phép tốn chuyển hĩa, cho phép thay đổi hình vẽ liên quan

đến đối tượng kiểu sơ đổ

“Tất cả các định nghĩa về giao diện lớp đối tượng cản cĩ phép tốn tạo mới và huỷ bỏ đối tượng, cũng như các phép sửa đổi hình vẽ Quá trình phân lớp sẽ tạo nên lớp của các đối tượng cĩ các thuộc tính, phương thức chung, và một vài đối tượng cĩ thuộc tính, phương thức riêng Lúc

đồ người ta cần đến khái niệm tổng quát hĩa và đặc biệt hĩa

7.4.2 Tổng quát hĩa và đặc biệt hĩa

Tổng quát hĩa là quá trình xác định lớp đổi tượng mang các thuộc

tính tương tự và theo sự tương tự này người ta cĩ thể trừu tượng hĩa để được lớp cao hơn, hay lớp cha Chẳng hạn ban đầu người ta xác định lớp

hình tam giác, hình uuơng, hình chữ nhật và hình trịn rồi trữu tượng,

hĩa thành lớp cao hơn vể sơ đồ, gồm các thuộc tính chung của tất cả các

sơ đỗ

Q Dinh nghĩa Lớp trừu tuong (abstract class)

Lập trừu tượng là lớp khơng cĩ thể hiện trực tiếp, nhưng các

thành phần sau nĩ cĩ thể cĩ thể hiện trực tiếp

Q Dinh nghia Lép cy thé (concrete class) Lớp cụ thể là lấp cĩ thể cĩ các thể hiện trực tiếp

Đặc biệt hĩa là quá trình ngược với tổng quát hĩa Bắt đầu từ lớp sơ

đổ, người ta cĩ thể xác định lớp con để phân biệt các loại sơ đổ khác

Ngày đăng: 06/07/2022, 21:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w