1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng cơ sở dữ liệu quan hệ

157 17 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 157
Dung lượng 2,88 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tuy nhiên, khi chúng ta thực hiện một liên kết lớp cha/lớp con trong hệ thống cơ sở dữ liệu, chúng ta có thể miêu tả một bộ phận của lớp con như một đối tượng cơ sở dữ liệu riêng biệt :

Trang 1

CHƯƠNG 2

MÔ HÌNH QUAN HỆ THỰC THỂ MỞ RỘNG 2.1 CÁC KHÁI NIỆM CỦA MÔ HÌNH QUAN HỆ THỰC THỂ MỞ RỘNG

2.1.1 Các lớp con, các lớp cha và sự kế thừa.

Mô hình EER bao gồm tất cả các khái niệm của mô hình ER Ngoài ra, nó còn

bao hàm khái niệm về lớp con, lớp cha, các khái niệm có liên quan đến chuyên biệt

hoá và tổng quát hoá Một khái niệm khác cũng nằm trong mô h ình EER đó là category được dùng để miêu tả một tập các đối tượng là sự hợp nhất các đối tượng

của các kiểu thực thể khác nhau Gắn với các khái niệm n ày là cơ chế thuộc tính và

kế thừa liên kết Do không tồn tại những thuật ngữ chuẩn cho mô h ình này, nên chúng ta sử dụng hầu hết các thuật ngữ thông th ường Mỗi kĩ thuật mô tả bằng biểu

đồ và hiển thị các khái niệm này khi chúng xuất hiện trong các sơ đồ.

Khái niệm mô hình EER đầu tiên mà chúng ta muốn đề cập tới là một lớp con của một kiểu thực thể Như ta đã biết, một kiểu thực thể được dùng để mô tả một kiểu của thực thể và tập thực thể hoặc tập các thực thể của kiểu đó tồn tại trong c ơ sở dữ liệu Ví dụ, kiểu thực thể NHÂN VIÊN mô tả kiểu (đó là các thuộc tính và các mối liên kết) của mỗi thực thể NHÂN VIÊN và cũng ám chỉ tập các thực thể NHÂN VIÊN hiện thời trong cơ sở dữ liệu CÔNG TY Trong nhiều trường hợp một kiểu thực thể có nhiều nhóm con cho các thực thể của nó, các nhóm con n ày có ý nghĩa và cần được miêu tả rõ ràng bởi những ý nghĩa của chúng đối với cớ dữ liệu Ví dụ, các thực thể là bộ phận của kiểu thực thể NHÂN VI ÊN có thể được nhóm vào trong THƯ KÝ, KĨ SƯ, NHÀ QUẢN LÝ, KĨ THUẬT VIÊN, NHÂN VIÊN LƯƠNG THÁNG, NHÂN VIÊN CÔNG NHẬT Tập các thực thể của các nhóm đó l à một tập con của các thực thể thuộc vào tập thực thể NHÂN VIÊN Chúng ta gọi từng nhóm con đó là một lớp con của kiểu thực thể NHÂN VIÊN và kiểu thực thể NHÂN VIÊN được gọi là lớp cha cho từng lớp con đó.

Chúng ta gọi mối liên kết giữa một lớp cha và một lớp con bất kỳ là một mối

liên kết lớp cha/lớp con hoặc liên kết lớp/lớp con Trong ví dụ trước của chúng ta,

Trang 2

NHÂN VIÊN/ THƯ KÝ và NHÂN VIÊN/KĨ SƯ là hai mối liên kết lớp/lớp con.

Chú ý rằng một bộ phận thực thể của lớp con mô tả c ùng một thực thể của thế giới thực như một số bộ phận của lớp cha; chẳng hạn nh ư: một thực thể thư ký “A” cũng

là nhân viên “A” Vì vậy, bộ phận lớp con là giống như thực thể trong lớp cha nhưng trong một vai trò chỉ định khác biệt Tuy nhiên, khi chúng ta thực hiện một liên kết

lớp cha/lớp con trong hệ thống cơ sở dữ liệu, chúng ta có thể miêu tả một bộ phận

của lớp con như một đối tượng cơ sở dữ liệu riêng biệt : một bản ghi riêng biệt được liên kết qua thuộc tính khoá với thực thể lớp cha của nó Một thực thể không thể tồn tại đơn thuần trong cơ sở dữ liệu bằng việc nó là một bộ phận của lớp con; nó cũng phải là một bộ phận của lớp cha Ví dụ, một nhân viên lương tháng cũng là một kỹ sư thuộc vào hai lớp con KĨ SƯ và NHÂN VIÊN LƯƠNG THANG c ủa kiểu thực thể NHÂN VIÊN Tuy nhiên, không cần thiết để tất cả các thực thể trong lớp cha l à một thành phần của số lớp con.

Một khái niệm quan trọng liên quan tới các lớp con là kế thừa kiểu Nhớ lại rằng kiểu của một thực thể được xác định bởi các thuộc tính mà nó có và các kiểu liên kết mà nó tham gia Bởi vì một thực thể trong một lớp con mô tả c ùng một thực thể trong thế giới thực như một thành phần của lớp cha nên nó sẽ có các giá trị cho các thuộc tính cụ thể của nó cũng như các giá trị của các thuộc tính của một bộ phận lớp cha Chúng ta coi một thực thể l à một thành phần của một lớp con kế thừa tất cả các thuộc tính của thực thể như một thành phần của lớp cha Thực thể cũng kế thừa tất cả các mối liên kết của các lớp cha tham gia Chú ý rằng, một lớp con với các thuộc tính đặc trưng và các mối liên kết của chính nó cùng với tất cả các thuộc tính và các mối liên kết mà nó kế thừa từ lớp cha có thể được xem như một kiểu thực thể theo đúng nghĩa của nó.

2.1.2.Chuyên biệt hoá và Tổng quát hoá

Chuyên biệt hoá : Là một quá trình xác định một tập lớp con của một kiểu thực thể ; kiểu thực thể này được gọi là lớp cha của chuyên biệt hoá Một tập lớp con

hình thành một chuyên biệt hoá được xác định cơ bản dựa trên một số đặc điểm tiêu biểu của các thực thể trong lớp cha Ví dụ, tập các lớp con {TH Ư KÍ, KĨ SƯ, KĨ

Trang 3

THUẬT VIÊN}là một chuyên biệt hoá của một lớp cha NHÂN VIÊN phân biệt giữa các thực thể NHÂN VIÊN dựa trên kiểu công việc của từng thực thể Chúng ta có thể

có nhiều chuyên biệt hoá của cùng một kiểu thực thể dựa trên các đặc điểm khác nhau tiêu biểu Ví dụ, chuyên biệt hoá khác của kiểu thực thể NHÂN VI ÊN có thể mang lại tập lớp con {NHÂN VIÊN CÔNG NHẬT, NHÂN VIÊN LƯƠNG THÁNG}; chuyên biệt hoá này phân biệt các thực thể dựa trên cách thức trả tiền lương.

Các lớp con xác định một số chuyên biệt hoá được gắn bởi các đường thẳng tới đương tròn, đường tròn được nối đến lớp cha Biểu tượng tập con trên mỗi đường

nối một tập con tới đường tròn cho biết hướng của mối liên kết lớp cha/ lớp con Các

thuộc tính chỉ thích hợp với các thực thể của một lớp con xác định – như là Trinh Độ của thư kí được gắn với hình chữ nhật mô tả lớp con Trình Độ được gọi là các thuộc tính riêng của lớp con Cũng như thế, một lớp con có thể tham gia trong các kiểu li ên kết riêng biệt như là sự tham gia lớp con NHÂN VIÊN CÔNG NHẬT trong mối liên kết đặc trưng ở hình vẽ trên (chúng ta sẽ giải thích biêủ tượng d trong phân ký hiệu

sơ đồ EER).

Ngoài ra chú ý rằng một thực thể thuộc vào một lớp con mô tả cùng một thực thể trong thế giới thực như thực hể gắn với nó trong lớp cha, kiểu thực thể chỉ đ ược giống nhau hâi lần Ví dụ, thực thể TH Ư KÝ của lớp con THƯ KÝ mô tả kiểu trong thế giới thực như là các thực thể thư ký trong lớp cha NHÂN VIÊN và THƯ KÝ có

mặt ở cả NHÂN VIÊN và THƯ KÝ Điều này cho thấy một mối liên kết lớp cha/

lớp con NHÂN VIÊN / THƯ KÝ có phần giống với một mối liên kết 1:1 trong mức

thể hiện Sự khác nhau cơ bản giữa mối liên kết 1:1 là hai thực thể khác nhau được

liên kết, ngược lại trong một mối liên kết lớp cha/ lớp con thì thực thể trong lớp con

là thực thể trong thế giới thực giống nh ư thực thể trong lớp cha nhưng khác nhau ở vai trò chuyên dụng Ví dụ: một nhân viên chỉ thích hợp trong vai trò của thư ký hoặc trong vai trò của một kỹ thuật viên.

Có hai lý do chính cho việc đưa ra các liên kết lớp/lớp con và chuyên biệt hoá

vào trong mô hình dữ liệu:

Trang 4

Lý do đầu tiên là các thuộc tính có thể đáp ứng một số hoặc khô ng phải tất cả các thực thể của lớp cha một lớp con đ ược xác định để nhóm các thực thể có các thuộc tính phù hợp Một bộ phận của lớp vẫn có thể chia sẻ phần lớn các thuộc tính của chúng với các thành phần khác của các lớp cha Ví dụ, lớp con TH Ư KÝ có thể

có một thuộc tính Trình Độ, trong khi đó lớp con KĨ SƯ có thể có thuộc tính Kiểu Công Việc, nhưng THƯ KÝ và KĨ SƯ dùng chung các thuộc tính khác như một thành phần của kiểu thực thể NHÂN VIÊN.

Lý do thứ hai sử dụng các lớp con là một số kiểu liên kết đó có thể được tham gia chỉ bởi các thực thể là một thành phần của lớp con Ví dụ, nếu nhân vi ên công nhật có thể thuộc về một công đoàn, chúng ta có thể miêu tả thực tế đó bằng việc tạo

ra lớp con NHÂN VIÊN CÔNG NHẬT của NHÂN VIÊN và liên kết nó với một kiểu thực thể CÔNG ĐOÀN qua kiểu liên kết THUỘC VỀ như đã minh hoạ trong hình 2.1

Tóm lại, tiến trình chuyên biệt hoá cho phép chúng ta làm những việc sau:

 Xác định một tập các lớp con của một kiểu thực thể

 Thiết lập các thuộc tính đặc trưng truyền thống với từng lớp con

 Thiết lập các kiểu liên kết đặc trưng truyền thống giữa từng lớp con và các kiểu thực thể khác hoặc giữa các lớp con khác.

Trang 5

Hình 2.1 : Sơ đồ EER mô tả chuyên biệt hoá và các lớp

Trang 6

Tổng quát hoá: chúng ta có thể coi đây như là quá trình ngược lại của sự trừu

tượng hoá trong đó chúng ta bỏ qua sự khác nhau giữa một vài kiểu thực thể, xác định các đặc trưng chung của chúng và tổng quát hoá chúng vào trong một lớp cha đơn lẻ mà kiểu thực thể ban đầu là các lớp con riêng biệt của nó Ví dụ như, xem xét các kiểu thực thể ÔTÔ và XE TẢI minh họa trong hình 2.2(a); chúng ta có thể tổng quát hoá vào trong kiểu thực thể XE HƠI như minh hoạ trong hình 2.2(b).Bây giờ cả ÔTÔ và XE TẢI là lớp con được tổng quát hoá trong lớp cha XE H ƠI Chúng ta

dùng thuật ngữ tổng quát hóa để chỉ một tiến trình xác định một kiểu thực thể được

tổng quát hoá từ các kiểu thực thể cho tr ước.

Chú ý rằng quá trình Tổng quát hóa có thể xem như quá trình ngược lại của quá trình Chuyên biệt hoá về mặt chức năng.Vì vậy trong hình 2.2 chùng ta có thể

xem  ÔTÔ và XE TẢI  như một chuyên biệt hoá của XE HƠI hơn là xem XE HƠI như là một tổng quát hoá của ÔTÔ và XE TẢI Trong hình 2.1 chúng ta có thể xem nhân viên như là một tổng quát hoá của THƯ KÍ, KĨ THUẬT VIÊN và KĨ SƯ Một

kí hiệu sơ đồ để phân biệt giữa Tổng quát hoá và Chuyên biệt hoá được dùng trong

một số phương pháp thiết kế Một mũi tên chỉ đến lớp cha chuyên dụng mô tả một tổng quát hoá,ngược lại mũi tên chỉ đến lớp con chuyên dụng mô tả một chuyên biệt hoá Chúng ta sẽ không sử dụng kí hiệu này bởi vì sự quyết định một vấn đề như vậy trong từng trường hợp cụ thể là chủ quan.

Trên đây chúng ta đưa ra các khái ni ệm về các lớp con và các liên kết lớp cha /

lớp con,cung như quá trình Chuyên biệt hoá và Tổng quát hoá Nhìn chung một lớp

cha hoặc một lớp con mô tả một tập hợp các thực thể của c ùng một kiểu và vì thế cũng miêu tả một kiểu thực thể; các lớp cha và các lớp con được chỉ ra trong các hình chữ nhật của các sơ đồ EER (giống như các kiểu thực thể) Bây giờ chúng ta bàn luận

chi tiết hơn các tính chất của Chuyên biệt hoá và Tổng quát hoá.

Trang 7

Hình 2.2 (a) Ví dụ về tổng quát hoá hai kiểu thực thể ÔTÔ và XETẢI

(b) Tổng quát hoá ÔTÔ và XETẢI trong XE HƠi

Trang 8

2.1.3 Các ràng buộc và các đặc điểm của Chuyên biệt hoá và Tổng quát hoá.

Trong phần này đầu tiên chúng ta xem xét các ràng buộc áp dụng vào một

Chuyên biệt hoá đơn lẻ hoặc một Tổng quát hoá đơn lẻ Tuy nhiên, chúng ta chỉ tập

chung vào Chuyên biệt hoá mặc dù nó phù hợp với cả chuyên biệt hoá và tổng quát

hoá Sau đó chúng ta bàn luận sự khác nhau giữa các mạng Chuyên biệt hoá/ Tổng

quát hoá(đa kế thừa) và các phân cấp(đơn kế thừa), đồng thời nói đến sự khác nhau

giữa tiến trình Chuyên biệt hoá và Tổng quát hoá trong khi thiết kế sơ đồ cơ sở dữ

liệu khái niệm.

2.1.3.1.Các ràng buộc trên Chuyên biệt hoá và Tổng quát hoá.

Nhìn chung, chúng ta có thể có một số Chuyên biệt hoá xác định trên cùng

một kiểu thực thể(hoặc lớp cha), như đã chỉ ra trong hình 2.1 Trong các trường hợp

như vậy, các thực thể có thể thuộc về các lớp con trong từng Chuyên biệt hoá Tuy

nhiên, một chuyên biệt hoá cũng có thể chỉ bao gồm một l ơp con đơn, chẳng hạn như chuyên biệt hoá {NGƯỜI QUẢN LÝ} trong hình 2.1 Trong trường hợp như vậy chúng ta không sử dụng ký hiệu hình tròn.

Trong một số Chuyên biệt hoá chúng ta có thể xác định các thực thể sẽ trở

thành một phần của từng lớp con bởi một điều kiện đ ưa ra trên giá trị của một số thuộc tính trong lớp cha Các lớp con như vậy được gọi là các lớp con xác định bằng thuộc tính (hoặc điều kiện xác định) Ví dụ, nếu kiểu thực thể NHÂN VI ÊN có một thuộc tính Kiểu Công Việc, như hình 2.3, chúng ta có thể xác định điều kiện của các thành viên trong lớp con THƯ KÍ bởi vì (Kiểu Công Việc = “Thư Kí”), thuộc tính

đó chúng ta gọi là vị từ xác định của lớp con Điều kiện n ày là một ràng buộc chỉ rõ rằng các bộ phận của lớp con THƯ KÍ phải thoả mãn thuộc tính và là các thực thể của kiểu thực thể NHÂN VIÊN có thuộc tính Kiểu Công Việc = “Thư Kí” Chúng ta hiển thị một lớp con thuộc tính xác định bởi việc viết điều kiện thuộc tính cạnh d òng

nối lớp con với đường tròn Chuyên biệt hoá.

Nếu tất cả các lớp con trong một Chuyên biệt hoá có điều kiện thành viên trên

cùng một thuộc tính của lớp cha Chuyên biệt hoá được gọi là một chuyên biệt hoá được xác định bằng thuộc tính và thuộc tính được gọi là thuộc tính xác định của

Trang 9

chuyên biệt hoá đó Chúng ta hiển thị một chuyên biệt hoá được xác định bằng thuộc tính bởi việc đặt tên các thuộc tính xác định bên cạnh cung nối từ hình tròn tới lớp cha (hình 2.3).

Hình 2.3 Một chuyên biệt hoá được xác định bằng thuộc tính trên thuộc tính Kiểu

Công Việc của NHÂN VIÊN Khi chúng ta không có một điều kiện nào cho việc xác định thành viên trong một lớp con, lớp con đó được gọi là lớp con được xác định bởi người dùng Thành viên trong một lớp con như vậy được xác định bởi những người dùng cơ sở dữ liệu khi họ áp dụng một phép toán để thêm một thực thể vào lớp con; vì vậy, thành viên

Trang 10

được xác định một cách riêng lẻ cho từng thực thể do người dùng mà không phải bằng bất kì điều kiện nào được tính toán một cách tự động.

Hai ràng buộc khác có thể phù hợp với một Chuyên biệt hoá Đầu tiên là ràng buộc riêng rẽ, nó xác định rằng các lớp con của Chuy ên biệt hoá phải rời nhau Điều này có nghĩa là một thực thể có thể là một thành phần của nhiều nhất một lớp con của Chuyên biệt hoá Một Chuyên biệt hoá được xác định bởi thuộc tính xác định tức l à ràng buộc riêng rẽ nếu thuộc tính dùng để xác định giá trị thành viên là đơn trị Hình 2.3 minh hoạ các trường hợp này, đó là nơi mà chữ d nằm riêng rẽ trong vòng tròn Chúng ta cũng dùng kí hiệu d để xác định ràng buộc mà các lớp con được xác định bởi người dùng phải được tách rời như đã minh hoạ bởi chuyên biệt hoá { NHÂN VIÊN CÔNG NHẬT, NHÂN VIÊN LƯƠNG THÁNG }trong hình 2.1 Nếu như lớp con không bắt buộc phải riêng rẽ, tập các thực thể của chúng có thể chồng chéo l ên nhau; các thực thể(trong thế giới thực) giống nhau có thể l à một bộ phận của nhiều hơn một lớp con của chuyên biệt hoá Trường hợp này là ngầm định được hiển thị

bởi một ký hiệu O trong hình tròn, như minh hoạ trong hình 2.4.

Trang 11

Ràng buộc thứ hai trên Chuyên biệt hoá được gọi là ràng buộc đầy đủ, ràng buộc có thể là bộ phận hoặc toàn phần Một ràng buộc Chuyên biệt hoá toàn bộ chỉ ra rằng

các thực thể trong lớp cha phải là một thành phần của một số lớp con nào đó trong

Chuyên biệt hoá Ví dụ, nếu tất cả các nhân viên phải là nhân viên công nhật hoặc

nhân viên lương tháng thì chuyên biệt hoá { NHÂN VIÊN CÔNG NHẬT, NHÂN VIÊN LƯƠNG THÁNG} của hình 2.1 là một chuyên biệt hoá toàn bộ của NHÂN VIÊN; điều này được chỉ ra trong các sơ đồ EER bằng cách dùng một đường nối lớp cha với đường tròn Một đường đơn được dùng để hiển thị một chuyên biệt hoá bộ phận, cho phép một thực thể không thuộc về bất k ì một lớp con nào {THƯ KÍ, KĨ

SƯ, KĨ THUẬT VIÊN} thì chuyên biệt hoá đó là bộ phận Chú ý rằng các ràng buộc tách rời và đầy đủ là độc lập Vì thế, chúng ta có 4 ràng buộc có thể có trên chuyên biệt hoá :

 Riêng rẽ, toàn bộ

 Riêng rẽ, bộ phận

 Chồng chất, toàn bộ

 Chồng chất, bộ phận

Tuy nhiên, một ràng buộc đúng đắn được xác định từ thế giới thực nghĩa l à

phù hợp với mỗi chuyên biệt hoá Một lớp con mà được xác định qua tiến trình Tổng

quát hoá thường là toàn bộ, bởi vì lớp cha nhận được từ các lớp con và vì thế chỉ

chứa đựng các thực thể đã có trong các lớp con.

Việc chèn và xoá phải tuân theo các quy tắc phù hợp với chuyên biệt hoá (hoặc tổng quát hoá) bởi vì kết quả của các ràng buộc được xác định từ trước Có một

Trang 12

Việc thêm một thực thể vào một lớp cha của một Chuyên biệt hoá toàn

bộ ý nói thực thể đó được thêm vào một cách bắt buộc ít nhất tại một trong các lớp

con của Chuyên biệt hoá.

2.1.3.2.Các hệ thống phân cấp và hệ thống đan chéo Chuyên biệt hoá/ Tổng quát hoá.

Một lớp con có thể có nhiều các lớp con xác định tr ên chính nó, hình thành

một hệ thống phân cấp hoặc một hệ thống đan chéo của các chuyên biệt hoá Ví dụ,

trong hình 2.5 KĨ SƯ là một lớp con của NHÂN VIÊN và cũng là lớp cha của QUẢN LÍ-KĨ SƯ; điều này miêu tả ràng buộc của thế giới thực mà tất cả những

người quản lý kĩ sư đều phải là một kĩ sư Một hệ thống phân cấp chuyên biệt hoá

có ràng buộc tất cả các lớp con tham gia như một lớp con chỉ trong một liên kết

lớp/lớp con Ngược lại, với một hệ thống đan chéo chuyên biệt hoá một lớp con có

thể là một lớp con trong nhiều hơn một mối liên kết lớp/ lớp con Vì thế, hình 2.5 là

một hệ thống đan chéo Hình 2.6 minh hoạ hệ thống đan chéo chuyên biệt hoá khác cho bậc cao hơn Đây có thể là một phần của lược đồ khái niệm cho một cơ sở dữ liệu TRƯỜNG ĐẠI HỌC.

Chú ý là sự sắp đặt này có thể có một phân cấp ngoại trừ đối với lớp con SINH VIÊN- TRỢ GIẢNG, đó là một lớp con trong hai liên kết lớp riêng/ lớp con Trong hình 2.6, tất cả các thực thể người được mô tả trong cơ sở dữ liệu là các thành phần của kiểu thực thể NGƯỜI, nó được chuyên biệt hoá trong lớp con {NHÂN VIÊN, NAM SINH, SINH VIÊN} Sự chuyên biệt hoá này là sự chồng chất; ví dụ, một NAM SINH cũng có thể là một NHÂN VIÊN và cũng có thể là một SINH VIÊN tiếp tục theo đổi một bậc học cao h ơn Lớp con SINH VIÊN là lớp cha của chuyên biệt hoá {SINH VIÊN- TÔT NGHIỆP, SINH VIÊN- CHƯA TỐT NGHIỆP}, trong khi đó NHÂN VIÊN là lớp cha của chuyên biệt hoá {SINH VIÊN- TRỢ GIẢNG, CHUYÊN KHOA, CÁN BỘ} Chú ý là SINH VIÊN- TRỢ GIẢNG cũng là một lớp con của SINH VIÊN Cuối cùng, SINH VIÊN- TRỢ GIẢNG là lớp cha cho chuyên biệt hoá bên trong{TRỢ GIÚP NGHIÊN CỨU, TRỢ GIẢNG}.

Trang 13

Trong một hệ thống đan chéo chuyên biệt hoá hoặc hệ thống phân cấp chuyên biệt hoá, một lớp con chẳng những kế thừa các thuộc tính của lớp cha trực tiếp của nó

mà còn của tất cả các lớp cha trước đó của hệ thống phân cấp và hệ thống đan chéo.

Ví dụ, một thực thể sinh viên tốt nghiệp thừa kế tất cả các thuộc tính của thực thể nh ư một người và như một sinh viên Chú ý rằng, một thực thể có thể tồn tại trong một vài lớp con mà ở đó không còn lớp con nào nữa Ví dụ, một bộ phận của sinh viên tốt nghiệp cũng có thể là một bộ phận của giáo viên thỉnh giảng

Hình 2.5 Một hệ thống đan chéo chuyên biệt hoá với sự phân chia lớp con QUẢN LÍ

(hình 2.5) Điều này dẫn đến khái niệm được biết đến như là sự đa kế thừa, bởi vì

lớp con dùng chung NGƯỜI QUẢN LÍ KĨ SƯ thừa kế trực tiếp các thuộc tính và các mối liên kết từ nhiều lớp con Chú ý rằng sự tồn tại của ít nhất một lớp con dùng

chung đến một hệ thống phân cấp (và vì thế đẫn đến đa thừa kế); nếu không tồn tại

Trang 14

các lớp con dùng chung chúng ta sẽ có một hệ thống phân cấp thích hợp hơn một hệ thống đan chéo Một quy tắc quan trọng liên quan tới đa kế thừa có thể được miêu tả bằng ví dụ của lớp con dùng chung NGHIÊN CỨU SINH trong hình 2.6, mà các thuộc tính kế thừa từ cả nhân viên và sinh viên Vì thế cả nhân viên và sinh viên kế thừa các thuộc tính giống nhau từ NGƯỜI Các quy tắc đó là nếu một thuộc tính

(hoăc một mối liên kết ) ban đầu trong các lớp cha giống nhau (NGƯỜI ) được nhiều

hơn một lớp con thừa kế trong hệ đan chéo, thì nó sẽ chứa được một lớp con dùng chung (TRỢ LÝ GIẢNG DẠY) Vì thế, các thuộc tính của NGƯỜI được thừa kế chỉ trong lớp con TRỢ LÝ GIẢNG DẠY của hình 2.6.

Trong một mô hình như vậy, điều cần thiết để tạo ra các lớp con truyền thống nhằm có thể bao trùm tất cả các sự kết hợp của các lớp có một số thực thể đồng th ời thuộc vào lớp đó Vì vậy, bất kì chuyên biệt hoá chồng chất nào sẽ yêu cầu các lớp con tăng thêm nhiều Ví dụ, trong chuyên biệt hoá chồng chất của NGƯỜI vào trong

 NHÂN VIÊN, NAM SINH VIÊN, SINH VIÊN  (hoặc một cách ngắn gọn hơn  E,A,S  ), nó sẽ cần thiết để tạo 7 lớp con của kiểu thực thể NG ƯỜI: E, A, S, E_A, E_S, A_S và E_A_S trong phân cấp để bao trùm tất cả các kiểu của thực thể.

Chú ý rằng một kĩ thuật về kế thừa cho phếp đa th ưa kế nhưng không cho phép một thực thể có nhiều kiểu và vì thế một thực thể có thể là một thành phần của duy nhất một lớp Một mô hình như vậy cũng cần thiết để tạo thêm các lớp con dùng chung như các nút lá (lớp con) để có thể bao trùm tất cả các sự hợp thành của các lớp

mà có thể có một số thực thể đồng thời thuộc v ào tất cả các lớp đó Vì vậy chúng ta

sẽ cần đến 7 lớp con giống nhau của thực thể NG ƯỜI Mặc dù chúng ta có thể chuyên biệt hoá để minh hoạ cho sự bàn luận của chúng ta, các khái niệm là như nhau đối với tổng quát hoá như chúng ta đã đề cập trong phần đầu của mục này Vì thế chúng ta cũng có thể đề cập đến các hệ thống phân cấp v à các hệ đan chéo tổng quát hoá.

Trang 15

Hình 2.6 : Một đan chéo chuyên biệt hoá ( với) cho một cơ sở dữ liệu TRƯỜNG ĐẠI HỌC

2.1.3.3 Tiện ích của Chuyên biệt hoá và Tổng quát hoá trong mô hình dữ liệu khái niệm.

Bây giờ chúng ta nói thêm sự khác nhau giữa các tiến trình Chuyên biệt hoá và Tổng quát hoá trong thiết kế cơ sở dữ liệu khái niệm Trong tiến trình chuyên biệt

Trang 16

hoá, chúng ta bắt đầu với một kiểu thực thể điển hình và sau đó xác định các lớp con của kiểu thực thể bởi việc chuyên biệt hoá liên tiếp; chúng ta xác định lặp đi lặp lại nhiều các nhóm đặc trưng của kiểu thực thể Ví dụ khi thiết kế hệ thống đan chéo chuyên biệt hoá ở hình 2.6, đầu tiên chúng ta có thể xác định một kiểu thực thể NGƯỜI cho cơ sở dữ liệu trường đại học Sau đó chúng ta phát hiện ra rằng ba kiểu NGƯỜI sẽ được mô tả trong cơ sở dữ liệu của trường đại học là : nhân viên, nam sinh viên và sinh viên Chúng ta toạ ra chuyên biệt hoá  NHÂN VIÊN, NAM SINH VIÊN, SINH VIÊN  cho mục đích đó và lựa chon các ràng buộc chồng chéo bởi vì một người có thể thuộc nhiều hơn một lớp con Sau đó chúng ta chuyên biệt hoá NHÂN VIÊN vào trong  NHÂN VIÊN, NGƯỜI LÀM CÔNG VÀ NGHIÊN CỨU SINH  và chuyên biệt hoá SINH VIÊN vào trong  SINH VIÊN TỐT NGHIỆP, SINH VIÊN CHƯA TỐT NGHIỆP  Cuối cùng, chúng ta chuyên biệt hoá NGHIÊN CỨU SINH vào trong  TRỢ LÝ NGHIÊN CỨU, TRỢ LÝ GIẢNG DẠY  sự chuyển hoá lần lượt này tương ứng với quá trình cải tiến khái niệm trên- dưới trong khi thiết kế sơ đồ khái niệm Sau khi chúng ta có đ ược một hệ thống phân cấp, chúng

ta hình dung rằng NGHIÊN CỨU SINH là lớp con dùng chung bởi vì nó cũng là một lớp con của SINH VIÊN

Có khả năng để tới những hệ phân cấp hoặc đan chéo giốn g nhau từ một phương diện khác, quá trình tổng quát hóa phù hợp hơn là quá trình chuyên biệt hoá

và phù hợp với xu hướng tổng hợp từ dưới lên.Trong trường hợp này, đầu tiên các nhà thiết kế phát hiện ra các kiểu thực thể nh ư NHÂN VIÊN, CÁN BỘ, NAM SINH VIÊN,SINH VIÊN TỐT NGHIỆP,SINH VIÊN CHƯA TỐT NGHIỆP,TRỢ LÍ NGHIÊN CỨU,TRỢ LÍ GIẢNG DẠY Sau đó khái quát  SINH VIÊN TỐT NGHIỆP,SINH VIÊN CHƯA TỐT NGHIỆP  vào trong SINH VIÊN; tiếp đó khái quát  TRỢ LÍ NGHIÊN CỨU,TRỢ LÍ GIẢNG DẠY  vào trong NGHIÊN CỨU SINH; tiếp đó  NHÂN VIÊN, CÁN BỘ,NGHIÊN CỨU SINH  vào trong NHÂN VIÊN và cuối cùng tổng quát  NHÂN VIÊN,NAM SINH VIÊN,SINH VIÊN  vào trong NGƯỜI

Trang 17

Các thuật ngữ thuộc cấu trúc, kết quả của các hệ phân cấp v à đan chéo từ hai tiến chình xác định sự khác nhau chỉ liên quan tới cách sử lí hoặc trật tự trong sơ đồ các lớp con và các lớp con được miêu tả.Trong thực tế, ta không dùng một tiến trình tổng quát hoá hoặc một tiến trình chuyên biệt hoá mà kết hợp việc dùng giữa hai tiến trình.Trong trường hợp này,các lớp mới tiếp tục được hợp nhất vào trong các hệ thống phân cấp hoặc đan chéo bởi vì chúng thể hiện ra bên ngoài người sử dụng và người thiết kế Chú ý rằng, các kí hiệu mà sự miêu tả dữ liệu và chi thức bằng việc sử dụng các hệ thống phân cấp và đan cheó lớp cha/lớp con là hoàn toàn của chung trong các hệ thống cơ sở tri thức và các hệ chuyên gia, chúng kết hợp kĩ thuật cơ sở

dữ liệu và kĩ thuật trí tuệ nhân tạo.

2.1.4 Mô hình của các kiểu UNION sử dụng các Category

Trong các liên kết lớp cha/ lớp con mà chúng ta thấy có một lớp cha đơn Một lớp con dùng chung như người quản lý trong hệ thống đan chéo ( hình 2.5) là lớp con của ba mối liên kết lớp cha/lớp con phân biệt, ởđây một trong ba mối li ên kết có một lớp cha đơn Điều này không phải là hiếm mà do nhu cầu xuất hiện việc mô hình một mối liên kết lớp cha/lớp con đơn lẻ nhiều hơn một lớp cha, ở đây các lớp cha mô tả các kiểu thực thể khác nhau Trong trường hợp này, lớp con sẽ mô tả một tập các đối tượng đó là một kiểu UNION của các kiểu thực thể khác nhau; chúng ta gọi một lớp con như vậy là một kiểu union hoặc category.

Giả định rằng chúng ta có ba kiểu thực thể : NG ƯỜI, NGÂN HÀNG, CÔNG

TY Trong một cơ sở dữ liệu cho việc đăng ký xe cộ, chủ nhân của một chiếc xe có thể là một NGƯỜI, một NGÂN HÀNG hoặc một CÔNG TY Chúng ta cần tạo ra một lớp (một tập các thực thể) chứa các thực thể của cả ba kiểu đẻ thể hiện đ ược vai

trò của người sở hữu xe Một Category NGƯỜI SỞ HỮU là một lớp con cho

UNION của tập ba kiểu thực thể của NGƯỜI, NGÂN HÀNG, CÔNG TY được tạo

ra cho mục đích này Chúng ta hiển thị các Category trong một sơ đồ EER, như minh hoạ trên hình 2.7(a) Các lớp cha NGƯỜI, NGÂN HÀNG, CÔNG TY được nối với

vòng tròn có kí hiệu là U, nó liên quan tới tập thao tác union Một cung nối là ký hiệu

tập con nối vòng tròn với Category NGƯỜI SỞ HỮU Nếu một thuộc tính hạn chế

Trang 18

được yêu cầu, nó được hiển thị cạnh đường nối từ các lớp cha tới thuộc tính t ương ứng Trong hình 2.7(a) chúng ta có hai Category: NG ƯỜI SỞ HỮU đó là một lớp con cho UNION của NGƯỜI, NGÂN HÀNG, CÔNG TY và ĐĂNG KÍ XE, đó còn

là một lớp con cho UNION của ÔTÔ CON v à XE TẢI.

Một Category có hai hoặc nhiều hơn các lớp cha có thể miêu tả các kiểu thực thể khác nhau, trong khi các mối liên kết lớp cha/lớp con khác luôn luôn có một lớp cha đơn lẻ Chúng ta có thể so sánh một Category, như là NGƯỜI SỞ HỮU trong hình 2.7(a), với lớp con dùng chung NGƯỜI QUẢN LÝ KĨ SƯ của hình 2.5 Sau đây là một lớp con của một trong ba lớp cha KĨ S Ư, QUẢN LÝ, NHÂN VIÊN LƯƠNG THÁNG, vì vậy một thực thể mà là một phần của NGƯỜI QUẢN LÝ KĨ

SƯ cần phải thể hiện trong cả ba Để mi êu tả ràng buộc mà một người quản lý kĩ sư cần phải là một KĨ SƯ, một QUẢN LÝ và một NHÂN VIÊN LƯƠNG THÁNG; đó

là, NGƯỜI QUẢN LÝ KĨ SƯ là một tập con cho sự giao nhau của ba lớp con (tập của thực thể) Theo một hướng khác, một Category là một tập con cho UNION của các lớp cha đó Từ dây, một thực thể mà là một phần của NGƯỜI SỞ HỮU cần phải được thể hiện trong duy nhất một lớp cha S ư miêu tả ràng buộc mà một NGƯỜI SỞ HỮU có thể là một CÔNG TY, một NGÂN HÀNG một NGƯỜI trong hình 2.7 (a)

Trang 19

Hình 2.7 (a) : Một ví dụ minh hoạ cho sự biểu diễn UNION của hai hay nhiều các kiểu thực thể/ các lớp sử dụng kí hiệu Category Hai Category đ ược trình bày là NGƯỜI SỞ HỮU và ĐĂNG KÍ

Trang 20

Một category có hai hoặc nhiều hơn các lớp cha có thể miêu tả các kiểu thực thể khác nhau, trong khi các mối liên kết lớp cha/ lớp con luôn luôn có một lớp cha đ ơn lẻ Sự khác nhau cơ bản của một lớp con dùng chung và một Category là : mỗi lớp con dùng chung là một lớp con của một trong các lớp cha, v ì thế một thực thể là thành phần của một lớp con đó phải tồn tại trong tất cả các lớp cha đó R àng buộc mô tả một thực thể của lớp là một tập con của giao nhau giữa ba lớp con Trong khi một thực thể của một Category chỉ tồn tại trong một lớp cha của nó.

Sự khác nhau cơ bản giữa một category và một lớp cha là : một category của một số thực thể là một số thực thể chứ không nhất thiết phải l à tất cả chúng Trong khi một lớp cha phải bao gồm tất cả các lớp con của nó Một category có thể l à toàn

bộ hoặc bộ phận : nếu là bộ phận thì category sẽ được biểu diễn bởi đường đơn nối category với đường tròn Ngược lại, nếu là toàn bộ thì sẽ được biểu diễn bởi đường đôi nối category với đường tròn (hình 2.7 (b)).

Các lớp cha của một category có thể có các thuộc tính khoá khác nhau nếu một category là toàn bộ (không bộ phận), nó có thể được miêu tả sự lựa chọn như một chuyên biệt hoá (hoặc một tổng quát hoá) Trong tr ường hợp này, sự lựa chọn của việc miêu tả chúng được sử dụng là chủ quan nếu hai lớp miêu tả kiểu giống nhau của các thực thể và dùng chung nhiều thuộc tính bao gồm các thuộc tính khoá khác nhau, chuyên biệt hoá / tổng quát hoá được ưu tiên hơn, còn lại sự phân loại (kiểu tập hợp ) là phù hợp hơn.

Trang 21

Hình 2.7(b1) category bộ phận CHỦ TÀI KHOẢN chính là tập con của UNION cho

hai kiểu thực thể CÔNG TY và NGƯỜI

Hình 2.7(b2) : category toàn phần SỞ HỮU và một tổng quát hoá giống nhau

2.1.5.Các định nghĩa hình thức cho các khái niệm của mô hình EER.

Bây giờ chúng ta tổng kết các khái niệm mô h ình EER và đưa ra các định nghĩa hình thức Một lớp là một tập hoặc tập hợp các thực thể; lớp n ày bao gồm bất

kì các cấu trúc sơ đồ EER để nhóm các thực thể như các kiểu thực thể, các lớp con, các lớp cha và các Category Một lớp con S là một lớp mà các thực thể của nó luôn luôn phải là một tập con của các thực thể trong các lớp khác gọi l à lớp cha C của mối liên kết lớp cha/ lớp con Chúng ta chứng tỏ mộ t mối liên kết như vậy bởi C/S đối với một mối liên kết lớp cha/ lớp con như vậy chúng ta luôn luôn phải có:

S  C Một chuyên biệt hoá Z=  S1,S1 , ,Sn là một tập các lớp con có lớp cha G giống nhau; G/Silà một mối liên kết lớp cha/ lớp con cho i = 1,2, ,n.

+ G được gọi là một kiểu thực thể tổng quát (hoặc lớp cha của chuy ên biệt hoá hoặc một tổng quát hoá của lớp con  S1,S2, ,Sn).

+ Z được gọi là toàn bộ nếu chúng ta luôn luôn(hoặc tại mọi thời điển) có:

Trang 22

ngoài ra, Z được gọi là bộ phận Z được gọi là trùng khớp nếu chúng ta luôn luôn có

Si∩ Sj= ỉ (tập rỗng) với i  j ngoài ra Z được gọi là chồng chất.

Một lớp con S của C được gọi là xác định bằng thuộc tính nếu một thuộc tính

p trên các thuộc tính của C được dùng để xác định các thực thể trong C là các thành phần của S = C [ p], ở đây C[p] là tập các thực thể trong C thoả mãn p Một lớp con

ma không được xác định bằng thuộc tính gọi là lớp con được xác định bởi người dùng.

Một chuyên biệt hoá Z (hoặc tổng quát hoá G) đ ược gọi là xác định bằng thuộc tính (A = ci), ở đây A là một thuộc tính của G và cilà một giá trị hằng từ miền của A, được dùng để xác định thầnh viên trong từng lớp con Si trong Z Chú ý rằng, nếu cikhác cjcho i khác j và A là một thuộc tính đơn trị thì chuyên biệt hoá sẽ trở lên riêng rẽ.

Một Category T là một lớp mà lớp đó là một tập cho UNION của n định nghĩa lớp cha D1,D2, ,Dn, n > 1, và hình thức xác định như sau:

T  (D1D2  Dn) Một thuộc tính pitrên các thuộc tính của Dicó thể được sử dụng để xác định các thành phần của Dilà các bộ phận của T Nếu một thuộc tính được xác định trên tất cả Di, chúng ta có:

T = (D1[p1]  D2[p2]   Dn[pn])

2.1.6.Các kiểu liên kết có bậc cao hơn hai

Trong phần trước chúng ta định nghĩa bậc của một kiểu li ên kết như là số các kiểu thực thể tham gia và được gọi là một kiểu liên kết bậc hai và kiểu liên kết bậc

ba Trong phần này, chúng ta nói thêm sự khác nhau giữa các mốt liên kết bậc hai và bậc cao hơn trong khi lựa chọn các kiểu liên kết bậc cao hoặc bậc hai, và các ràng buộc trên các liên kết bậc cao.

2.1.6.1.Lựa chon các kiểu liên kết bậc hai và bậc ba(hoặc bậc cao).

Trang 23

Nhìn chung, một kiểu liên kết R của bậc n sẽ có cạnh n trong sơ đồ R tới từng kiểu thực thể tham gia(ví dụ sơ đồ 2.8.a)

Hình 2.8(a) : Một ví dụ minh hoạ cho các kiểu thực thể bậc ba

Hinh 2.8(b) minh hoạ một sơ đồ cho ba kiểu liên kết bậc hai CUNG CẤP, CUNG CẤP CHO và SỬ DỤNG Nhìn chung, một kiểu liên kết bậc ba miêu tả nhiều quan hệ hơn ba kiểu liên kết bậc hai Xem xét ba kiểu liên kết bậc hai CÓ THỂ_CUNG CẤP, SỬ DỤNG và CUNG CẤP CHO.

Trang 24

Hình 2.8(b) : Ba kiểu liên kết bậc hai mà không tương ứng với kiểu liên kết bậc ba

CUNG CẤP

Để quyết định một kiểu liên kết cụ thể sẽ được mô tả như một kiểu liên kết của bậc n hay bậc nhỏ hơn nó đòi hỏi sự tinh tế và kinh nghiệm của người làm chương trình Người thiết kế phải dựa vào quyết định này hoặc dựa vào ý nghĩa của hoàn cảnh được miêu tả Giải pháp điển hình là chứa mối liên kết bậc ba cạnh một hoặc hiều mối liên kết bậc hai.

Một công cụ thiết kế cơ sở dữ liệu dựa trên các biến thể của mô hình trong mô hình ER chỉ cho phép các mối liên kết bậc hai Trong trường hợp như thế, một mối liên kết bậc ba như CUNG- CẤP phải được miêu tả như một kiểu thực thể yếu, không có khoá bộ phận và với ba mối liên kết xác định Có ba kiểu thực thể tham gia NHÀ CUNG CẤP, BỘ PHẬN và DỰ ÁN cùng với các kiểu thực thể định danh Vì vậy một kiểu thực thể trong kiểu thực thể yếu CUNG - CẤP được xác định bởi sự hợp nhất của ba kiểu thực thể định danh của nó từ NH À CUNG CẤP, BỘ PHẬN và DỰ ÁN theo hình 2.8(c)

Trang 25

ER-H×nh 2.8(c) : Cung cÊp ®­îc biÓu diÔn nh­ kiÓu thùc thÓ yÕu

Tóm lại tuỳ vào từng trường hợp mà người thiết kế sơ đồ phải phân tíchtừng trạng thái cụ thể để quyết định sử dụng kiểu li ên kết bậc hai hay bậc ba

Chú ý rằng có thể có một thực thể yếu với một kiểu liên kết định danh bậc ba (hoặc bậc n bất kỳ) Trong trường hợp như vậy, kiểu thực thể yếu có thể có một hoặc một số kiểu thực thể định danh.

2.1.6.2.Các ràng buộc trên liên kết bậc ba ( hoặc cao hơn ).

Có hai kí hiệu cho các ràng buộc cấu trúc xác định trên các mối liên kết bậc n

và chúng xác định các ràng buộc khác nhau Để xác định đầy đủ các r àng buộc cấu trúc trên một mối liên kết bậc ba hoặc cao hơn chúng ta sẽ sử dụng cả hai kí hiệu.

Kí hiệu đầu tiên dựa trên kí hiệu tỉ lệ các thực thể có trong các mối liên kết bậc hai, được trình bày trong phân trước bao gồm 1, N, M được xác định dựa trên mỗi sự tham gia Nhắc lại tập liên kết của CUNG CẤP là một tập của các thể hiện liên kết (s,

j, p), ở đây s là một NHÀ CUNG CẤP, j là một DỰ ÁN, p là một BỘ PHẬN.

Kí hiệu thứ hai là dựa trên kí hiệu (min, max) một (min, max) trên mỗi sự tham gia cho biết mỗi thực thể được gắn với ít nhất là min và nhiều nhất là max thực thể trong tập liên kết Các ràng buộc không liên quan gì đến khoá xác định của một

Trang 26

mối liên kết bậc n, ở đây n > 217, nhưng chỉ rõ một kiểu khác nhau của ràng buộc trên từng thể hiện liên kết từng thực thể có tham gia.

2.1.7 Sự khái niệm dữ liệu trừu tượng và kiến thức về các khái niệm đại diện.

2.1.7.1 Sự phân loại và Sự thể hiên.

Tiến trình của sự phân loại liên quan tới việc gán có hệ thống giống như các đối tượng/ các thực thể tới các lớp đối t ượng/ các kiểu thực thể Các sự lựa chọn các đối tượng dùng chung các kiểu giống nhau về các thuộc tính, các mối li ên kết và các ràng buộc và bởi việc phân loại các đối tượng, chúng ta làm đơn giản hoá tiến trình phát hiện ra các thuộc tính của chúng Sự giải thích một điều trừu t ượng là ngược lại của sự phân loại Nó là sự phát hiện và sự nghiên cứu đặc trưng của các đối tượng khác nhau của một lớp.Vì thế, một đối tượng được gán với lớp đối tượng của nó bởi mối quan hệ IS-AN-INSTANCE-OF.

Nhìn chung, các đối tượng của một lớp sẽ có một cấu trúc kiểu giống nhau.Tuy nhiên, một số đối tượng có thể hiển thị một số thuộc tính khác nhau về một

số khía cạnh từ các đối tượng khác nhau của lớp; Các đối t ượng ngoại lệ cũng cần được mô hình Trong một mô hình EER, Các thực thể được phân loại vào trong các kiêu thực thể theo cấu trúc và các thuộc tính của chúng Các thực thể sẽ tiếp tục đ ược phân loại vào các lớp con và các phân loại dựa vào các điểm giống nhau và khác nhau thêm vào giữa chúng Các mối tiên kết được phân loại dựa vào các kiểu liên kết

là các kiểu khác nhau của các lớp trong mô h ình EER Mô hình EER không cung cấp dứt khoát cho các thuộc tính lớp, nhưng nó có thể hiển thị cả các thuộc tính lớp và các đối tượng riêng lẻ.

Các mô hình mô tả tri thức cho phép phân loại nhiều sơ đồ trong đó một lớp là một thể hiện của lớp khác (gọi là siêu lớp) Chú ý rằng điều này không được miêu tả trực tiếp trong mô hình EER bởi vì chúng chỉ có hai ngôi : các lớp và các thể hiện Chỉ có các mối liên kết giữa các lớp trong mô hình EER là mối liên kết lớp cha / lớp con, trong khi đó trong một số sơ đồ KR có mối liên kết lớp/ thể hiện và có thể được

Trang 27

mô tả trực tiếp trong một phân cấp lớp Một thể hiện có thể bản thân nó l à một lớp khác, điều này được cho phép trong các sơ đồ phân loại nhiều bậc.

 Để nhận biết giữa các lớp và các đối tượng cơ sở dữ liệu.

 Để nhận ra các đối tượng cơ sở dữ liệu và để gắn chúng với các bản sao thế giới thực của chúng.

Trong mô hình EER, sự đồng nhất hoá của các cấu trúc s ơ đồ được dựa trên một hệ thống các tên duy nhất cho các cấu trúc Ví dụ, tất cả các lớp trong một s ơ đồ EER, một kiểu thực thể, một lớp con, một phân loại, hoặc một kiểu li ên kết phải có một tên riêng biệt Các tên của các thuộc tính của một lớp đưa ra cũng phải riêng biệt Các qui tắc cho các kết luận tên thuộc tính xác định rõ ràng trong một chuyên biệt hoá hoặc tổng quát hoá đan chéo hoặc phân cấp đ ược yêu cầu.

Tại mức đối tượng, các giá trị của các thuộc tính khoá đ ược sử dụng để phân biệt giữa các thực thể của một kiểu thực thể tham gia Với các kiểu thực thể yếu, các thực thể được xác định bởi một nhóm của các giá trị khoá bộ phận định danh của nó

và các thực thể, chúng được gắn vào trong kiểu thực thể định danh(s) Các thể hiện liên kết được xác định bởi một số sự kết hợp của các thực thể liên kết, sự phụ thuộc xác định tên tỷ lệ tham gia.

2.1.7.3.Chuyên biệt hoá và tổng quát hoá.

Chuyên biệt hoá là tiến trình của việc phân loại một lớp các đối t ượng vào

trong các lớp con chuyên dụng hơn.

Trang 28

Tổng quát hoá là một tiến trình ngược lại của việc tổng quát một vài lớp con

vào trong một lớp có bậc trừu tượng cao hơn chứa các đối tượng trong tất cả các lớp đó.

Tóm lại, chuyên biệt hoá là sự tinh lọc khái niệm còn tổng quát hoá là sự tổng

hợp khái niệm Các lớp con được dùng trong mô hình EER để miêu tả chuyên biệt hoá và tổng quát hoá Chúng ta gọi quan hệ giữa một lớp con v à một lớp cha của nó

là một quan hệ IS-A-SUBCLASS-OF hay IS-A.

2.1.7.4.Nhóm và liên kết.

Nhóm là một khái niệm trừu tượng miêu tả việc xây dựng các đối tượng phức hợp từ các đối tượng bộ phận của nó Có ba trường hợp, khái niệm ở đây có liên quan với mô hình EER.

 Trường hợp thứ nhất là trường hợp chúng ta kết hợp các giá trị thuộc tính của một đối tượng để hình thành nên một đôí tượng đầy dủ.

 Trường hợp thứ hai là khi chúng ta mô tả một liên kết như là một liên kết nguyên thuỷ.

 Trường hợp thứ ba khi mô hình EER không cung cấp một cách

rõ ràng để tạo ra các khả năng liên kết các đối tượng có liên quan thành một thể hiện liên kết cụ thể vào trong một đối tượng kết hợp bậc cao hơn Chúng ta gọi mối liên kết giữa các đối tượng ban đầu và đối tượng kết hợp của chúng IS-A-PART-OF; mối liên kết ngược lại gọi là IS-A-COMPONENT-OF UML cung cấp tất cả ba kiểu kết hợp.

Sự trừu tượng hoá của liên kết được sử dụng để liên kết các đối tượng từ một vài lớp độc lập khác Vì thế, nó có phần giống với trường hợp sử dụng thứ hai của sự kết hợp Mối liên kết trừu tượng được gọi là IS-ASSOCIATED-WITH.

Trang 29

Sự khác nhau chính về cấu trúc giữa nhóm v à sự liên kết là khi môt trường hợp liên kết bị xoá các đối tượng tham gia tiếp mtục tồn tại, còn khi ta xoá một đói tượng hợp thành thì các đối tượng hợp thành nó sẽ bị xoá.

2.2.VÍ DỤ VỀ MÔ HÌNH EER

2.2.1.Phân tích bài toán:

Cơ sở dữ liệu TRƯỜNG ĐẠI HỌC theo dõi quá trình học tập của sinh viên và công tác của cán bộ, cũng như việc đăng kí giảng dạy của cán bộ Đồng thời cũng muốn lưu trữ và theo dõi cơ quan tài trợ kinh phí nghiên cứu các dự án của cán bộ và nghiên cứu sinh.

Với mỗi người, cơ sở dữ liệu lưu trữ thông tin về tên của từng người [Tên], số bảo hiểm xã hội [Mã], địa chỉ [Địa Chỉ], giới tính [GTính] và ngày sinh [NSinh].

Hai lớp con của kiểu thực thể NGƯỜI được đưa ra là : CÁN BỘ và SINH VIÊN Trong đó thuộc tính đặc trưng của cán bộ là : Trình độ [Trình Độ], số điện thoại phòng là việc [SĐT-Phòng], lương [Lương], số phòng [ĐC-Phòng] và tất cả các thành viên trong khoa được liên kết tới ban quản lí khoa mà với vị trí cộng sự qua liên kết [THUỘC VỀ], ( tức là một số thành viên của khoa có thể liên kết với một vài phòng ban, vì vậy liên kết là M : N ).

Một thuộc tính đặc trưng của SINH VIÊN là [LỚP] (sinh viên năm thứ nhất=1, sinh viên năm thứ hai=2, ,sinh viên năm cuối =5) Mỗi sinh viên cũng được liên kết với các khoa chuyên nghành và không chuyên nghành, n ếu hiểu là ([CHUYÊN NGHÀNH] và [KHÔNG CHUYÊN NGHÀNH]) Đ ể sinh viên có thể đăng kí môn học cho giai đoan đang tham dự thông qua li ên kết [ĐĂNG KÍ] và cho toàn khoá học thông qua [BẢNG ĐĂNG KÍ] Mỗi bản đăng kí bao gồm điểm số sinh viên nhận được [Điểm] trong mỗi học phần của khoá học.

SINH VIÊN TỐT NGHIỆP là một lớp con của SINH VIÊN với thuộc tính hạn chế Lớp = 5 Đối với mỗi sinh vi ên tốt nghiệp, chúng ta giữa lại một danh sách

về các trình độ trước đó trong một bản tổng hợp với thuộc tính đa trị [Tr ình Độ].

Trang 30

Chúng ta cũng liên kết các sinh viên tốt nghiệp với một cán bộ hướng dẫn [CBHD]

và tới một hội đồng luận văn [HĐLV] nếu có.

Mỗi một trường đại học có các thuộc tính tên [Tên Trường], số điện thoại [SĐT-Trường], địa chỉ nơi làm việc [Địa Chỉ] và được liên kết với một bộ phận cán

bộ mà người đứng đầu [CHỦ TỊCH] và liên kết tới các khoa thuộc về nó [CD].

Mỗi khoa có thuộc tính tên khoa [Tên Khoa], địa chỉ [Địa Chỉ], và số điện thoại [SĐT-Khoa].

Một khoá học có các thuộc tính mã khoá học [Mã KH], tên khoá học KH], và sự mô tả khoá học [Mô Tả] Khi một giai đoạn của khoá học đ ược yêu cầu, với mỗi môn học có các thuộc tính t ên môn học [Tên MH], học kì [Học Kì], và năm [Năm] Trong đó, môn học hiện tại là lớp con của Môn Học với thuộc tính xác định Học Kì = học kì hiện tại (Học Kì = HKHT) và Năm = năm hiện tại (Năm =Năm HT) Mỗi môn học được liên kết với giáo viên giảng dạy thông qua liên kết [DẠY].

[Tên-Category GIẢNG VIÊN-NGHIÊN CỨU là một tập con của UNION cho CÁN BỘ trong khoa và SINH VIÊN TỐT NGHIỆP và bao gồm tất cả khoa, như là các sinh viên tốt nghiệp người được hỗ trợ bằng cách giảng dạy hoặc nghi ên cứu Cuối cùng, kiểu thực thể cơ qua tài trợ kinh phí nghiên cứu (CQTÀI_TRỢ) theo dõi các cơ quan tài trợ kinh phí cho các trường đại học Mỗi cơ quan tài trợ học bổng có tiêu đề học bổng [Tên], số học bổng [Mã HB], cơ quan tài trợ [Cơ Quan] Tất cả các giáo viên đều có thể được hỗ trợ [Hỗ Trợ] Mỗi trường hợp về hỗ trợ có các thuộc tính như ngày bắt đầu hỗ trợ [Ngày BĐ], ngày kết thúc hỗ trợ [Ngày KT] và thời gian làn hết dự án [Thời Gian].

2.2.2.Sơ đồ quan hệ EER cho bài toán.

Sơ đồ quan hệ EER cho cơ sở dữ liệu TRƯỜNG ĐẠI HỌC

Trang 32

Chương 3 Thông tin từ cơ sở dữ liệu:

các báo cáo và các truy vấn

Thời gian : 6 tiết thực hành

Mục tiêu:

- Mô tả các kiểu báo cáo có sẵn khác nhau thông qua Report Wizard

- Mô tả các khung nhìn khác nhau trong Report Windows và mục đích của mỗi khung nhìn

- Mô tả sự giống nhau của Form và Report liên quan đến các điều chỉnh có giới hạn, không giới hạn và tính toán

- Liệt kê các phần có thể có mặt trong một báo cáo và giải thích mục đích của mỗi phần

- Phân biệt giữa một truy vấn và một bảng; giải thích các đối tượng trong một cơ sở dữ liệu Access ( bảng, biểu mẫu, truy vấn, và báo cáo) tác động với nhau như thế nào

- Sử dụng lưới thiết kế để tạo ra và sửa đổi một truy vấn lựa chọn

- Giải thích việc sử dụng nhiều dòng tiêu chuẩn bên trong lưới thiết kế để thể hiện các điều kiện AND và OR trong một truy vấn

- Định nghĩa một truy vấn hành động, liệt kê các kiểu truy vấn hành động khác nhau có sẵn và giải thích việc chúng được sử dụng để cập nhật một bảng như thế nào

- Tạo một truy vấn trên nhiều bảng

I Báo cáo (Report)

Một báo cáo là một tài liệu in được, nó hiển thị các thông tin từ cơ sở dữ liệu Hình vẽ 3.1 trình bày các mẫu báo cáo khác nhau được tạo ra dựa trên bảng sinh viên nhờ Report Wizard Trong chương này ta sẽ học cách tạo các mẫu báo cáo đó

Báo cáo cột ( hình 3.1 a) là kiểu báo cáo đơn giản nhất Nó liệt kê các trường

của mỗi bản ghi thành một cột ( một bản ghi một trang) và thường gồm nhiều trang Các bản ghi trong trong báo cáo này được hiển thị theo cùng một thứ tự với các bản ghi trong bảng nền

Báo cáo bảng ( hình 3.1 b) hiển thị các trường thành dòng Mỗi bản ghi trong

bảng nền được in thành một dòng Không giống như báo cáo ở trên, ở đây chỉ hiển thị các trường được lựa chọn, vì thế, báo cáo bảng ngắn gọn hơn báo cáo cột Các bản ghi trong báo cáo này cũng được sắp xếp theo thứ tự

Báo cáo trong hình 3.1.c cũng là một báo cáo bảng, nhưng khác với báo cáo trong hình 3.1.b Báo cáo này chỉ liệt kê một tập hợp các sinh viên ( có điểm trung bình > 3.50 ) , không giống như báo cáo ở hình 3.1.b liệt kê tất cả các sinh viên Các sinh viên được liệt kê theo thứ tự giảm dần của điểm trung bình

Báo cáo trong hình 3.1.d liệt kê các sinh viên theo từng nhóm, theo chuyên ngành của họ và sau đó tính điểm trung bình cho từng nhóm Báo cáo còn chứa thông tin tổng cho toàn bộ báo cáo, tính điểm trung bình chung cho các sinh viên

Trang 33

H×nh 3.1 (a) - B¸o c¸o cét

H×nh 3.1 (b) - B¸o c¸o b¶ng

Trang 34

H×nh 3.1 (c) - B¸o c¸o b¶ng lùa chän

H×nh 3.1 (d) - B¸o c¸o nhãm theo ngµnh

Trang 35

Cấu trúc chi tiết của một báo cáo

Tất cả các báo cáo đều dựa trên một bảng hoặc một truy vấn nền ở trong cơ sở dữ liệu Tuy nhiên, một báo cáo hiển thị các dữ liệu hoặc các thông tin theo một cách hấp dẫn hơn vì nó chứa các tiêu đề và các mục trang trí, điều đó không có trong bảng hoặc trong truy vấn

Cách học về Report dễ nhất là so sánh báo cáo in được với thiết kế nền của nó

Ví dụ, xem hình vẽ 3.2a hiển thị báo cáo bảng và hình vẽ 3.2b trình bày thiết kế nền Hình 3.2b chỉ ra một báo cáo được chia thành các đoạn như thế nào Có bảy loại đoạn nhưng một báo cáo không nhất thiết phải có cả bảy

Đầu báo cáo(report header) xuất hiện một lần ở đầu báo cáo Thông thường nó

chứa các thông tin mô tả báo cáo chẳng hạn như đầu đề và ngày tháng.Đầu báo cáo

xuất hiện ở phía trên đầu trang (page header) ở trang đầu của báo cáo Chân báo

cáo ( report footer) xuất hiện một lần ở cuối báo cáo ở trên chân trang ( page

footer) ở trang cuối cùng của báo cáo Nó hiển thị thông tin tổng cho toàn báo cáo

Đầu trang (page header) xuất hiện ở đầu mỗi trang trong một báo cáo và có thể

được sử dụng để hiển thị số trang, các đầu cột và một số thông tin mô tả khác

Chân trang ( page footer) xuất hiện ở cuối mỗi trang và có thể chứa số trang ( nếu

số trang không có trong đầu trang) và thông tin mô tả khác

Đầu nhóm ( group header) xuất hiện ở đầu nhóm bản ghi để xác định nhóm Chân nhóm ( group footer ) xuất hiện sau bản ghi cuối cùng của nhóm và chứa

thông tin tổng về nhóm Các đầu nhóm và chân nhóm chỉ được sử dụng khi các bản ghi trong báo cáo đã được sắp xếp theo một giá trị chung trong một trường cụ thể

Đoạn chi tiết (detail section) xuất hiện trong thân chính của báo cáo và được in

ra một lần đối với mỗi bản ghi trong bảng (hoặc truy vấn) nền Nó hiển thị một hoặc nhiều trường cho mỗi bản ghi theo dạng cột hoặc dạng bảng tuỳ theo thiết kế của báo cáo

Report Wizard

Report Wizard là cách dễ nhất để tạo một báo cáo, giống như Form Wizard là cách dễ nhất để để tạo một mẫu biểu Report Wizard hỏi bạn các câu hỏi về báo cáo mà bạn muốn và sau đó xây dựng báo cáo cho bạn Bạn có thể chấp nhận báo cáo đó hoặc bạn có thể cá nhân hoá để nó phù hợp hơn với sự cần thiết của bạn Hình 3.3a hiển thị hộp thoại New Report, từ đó bạn có thể chọn Report Wizard

Đến lượt mình, Report Wizard đòi hỏi bạn chỉ ra bảng hoặc truy vấn làm nền cho báo cáo Báo cáo trong hình 3.3a được tạo ra dựa trên bảng nền Sinhviên

Sau khi chúng ta chỉ ra bảng nền, ta chọn một hoặc một số trường từ bảng đó ( xem hình 3.3b) Sau đó Report Wizard yêu cầu ta chọn cách trình bày (dạng bảng hay dạng cột) và kiểu cách Sau khi có được mọi thông tin yêu cầu, Report Wizard

sẽ tạo ra report cho ta Các điều chỉnh trên báo cáo tương ứng với các trường ta đã chọn được hiển thị phù hợp với cách trình bày đã được chọn ở trên

Trang 36

H×nh 3.2 (a) – B¸o c¸o b¶ng

H×nh 3.2 (b) – B¸o c¸o b¶ng, thiÕt kÕ nÒn

Trang 37

áp dụng những cái đ∙ biết

Report Wizard cung cấp một điểm xuất phát rất tốt nhưng nói chung nó không tạo ra báo cáo một cách chính xác như bạn muốn Vì vậy, bạn có thể sửa đổi một báo cáo do Report Wizard tạo ra cũng giống như sửa đổi một mẫu biểu do Form Wizard tạo ra Các kỹ thuật như nhau và bạn có thể tìm thấy sự tương tự giữa báo cáo và mẫu biểu để áp dụng những cái đã biết Kiến thức về cái này giúp hiểu biết

về cái kia

Các điều chỉnh xuất hiện trong báo cáo cũng giống hệt như trong biểu mẫu Một điều chỉnh có giới hạn ( bound control) có dữ liệu của nó là một trường trong bảng nền Một điều chỉnh không giới hạn ( unbound control) không có dữ liệu và

được dùng để hiển thị các đầu đề , các nhãn, đồ thị , Một điều chỉnh tính được

có dữ liệu là một biểu thức ý nghĩa của việc lựa chọn, đặt kích thước, dịch chuyển, sắp xếp, và loại bỏ các điều chỉnh trên báo cáo và trên mẫu biểu là như nhau Như vậy :

- Để lựa chọn một điều chỉnh, hãy nhấn chuột trên điều chỉnh Để lựa chọn nhiều điều chỉnh, nhấn và giữ phím Shift khi ta nhấn chuột trên các điều chỉnh tiếp theo

- Để đặt kích thước cho một điều chỉnh hãy nhấn chuột trên điều chỉnh để chọn

nó sau đó káo các quai kích thước Kéo các quai kích thước ở trên đỉnh hoặc ở dưới đáy để đặt kích thước cho hộp theo chiều thẳng đứng, kéo các quai kích thước ở bên trái hoặc bên phải để đặt kích thước cho hộp theo chiều nằm ngang Kéo các quai ở góc để đặt kích thước cả theo chiều thẳng đứng và chiều nằm ngang

- Để dịch chuyển một điều chỉnh, hãy chỉ đến một biên nào đấy nhưng đừng chỉ đến quai kích thước ( con trỏ chuột thay đổi thành một quai ), sau đó nhấn chuột và kéo điều khiển đến vị trí mới của nó

- Để thay đổi các tính chất của một điều khiển, hãy chỉ tới điều khiển và kích nút chuột phải để làm hiển thị bảng chọn ngắn ( shortcut menu) sau đó nhấn vào Properties để hiển thị bảng tính chất Nhấn hộp văn bản đối với tính chất mong muốn, thực hiện các thay đổi cần thiết và sau đó đóng bảng tính chất

Trang 38

Bài thực hành 1: Sử dụng Report Wizard để tạo ra một báo cáo mới; để sửa

đổi một báo cáo đã tồn tại bằng cách thêm, xoá và sửa đổi các điều chỉnh

II Nhập môn về truy vấn

Báo cáo mà bạn vừa tạo ra hiển thị tất cả các sinh viên trong bảng nền Tuy nhiên, nếu bạn chỉ muốn nhìn thấy các sinh viên theo chuyên ngành Tin học hoặc các sinh viên có học bổng, hoặc theo chuyên ngành Tin học và có học bổng thì phải làm thế nào ? Truy vấn cung cấp khả năng đặt các câu hỏi như vậy và nhận

Tính thừa kế

Một điều chỉnh có giới hạn thừa kế các tính chất đặt cho trường liênquan trong bảng nền Tuy nhiên, việc thay đổi tính chất đặt cho mộttrường sau khi báo cáo đã được tạo ra không làm thay đổi tính chấtcủa điều chỉnh tương ứng ở trong báo cáo Theo cách tương tự, việcthay đổi tính chất của một điều chỉnh trong một báo cáo không làmthay đổi tính chất đặt cho một trường trong bảng nền

Hình 3.3 Report Wizard

Trang 39

các trả lời cho các câu hỏi đó Các truy vấn biểu thị sức mạnh thật sự của một cơ sở dữ liệu

Một truy vấn (query) cho bạn nhìn thấy các dữ liệu mà ta muốn theo một thứ

tự nào đấy Nó cho phép ta chọn các bản ghi cụ thể từ một bảng ( hoặc từ nhiều bảng) và hiển thị một vài hoặc toàn bộ các trường của các bản ghi được lựa chọn

Nó cũng cho ta thực hiện các tính toán để hiển thị các dữ liệu không được lưu trữ trong các bảng nền ( chẳng hạn điểm trung bình của sinh viên )

Một truy vấn biểu thị một câu hỏi và một câu trả lời Câu hỏi được thiết kế

bằng cách sử dụng một công cụ đồ hoạ gọi là lưới thiết kế ( design grid) Câu trả lời được hiển thị trong một tập động (dynaset) , là tập hợp chứa các bản ghi thoả

mãn các tiêu chuẩn lựa chọn chỉ ra trong truy vấn

Một tập động nhìn và hành động giống như một bảng nhưng nó không phải là một bảng Đó là một tập con động của một bảng, lựa chọn và sắp xếp các bản ghi giống như được chỉ ra trong truy vấn Một tập động tương tự với một bảng về hình dạng và giống như một bảng , nó cho phép ta thêm vào một bản ghi mới hoặc sửa

đổi hoặc loại bỏ các bản ghi đã có Bất cứ thay đổi nào được thực hiện trong tập

động cũng được phản ánh một cách tự động vào bảng nền

Hình 3.5a hiển thị một bảng Sinh viên, hình 3.5b chứa một lưới thiết kế sử dụng

để lựa chọn các sinh viên có chuyên ngành “chưa xác định” và liệt kê các sinh viên theo thứ tự từ điển Hình 3.5c hiển thị câu trả lời cho truy vấn dưới dạng một lưới

động

Truy vấn trong hình 3.5 là một ví dụ của của một truy vấn lựa chọn, đó là một kiểu truy vấn hay dùng nhất Một truy vấn lựa chọn thăm dò bảng nền để rút ra các dữ liệu thoả mãn truy vấn Các dữ liệu ( kết quả của truy vấn ) được hiển thị trong một tập động Chúng ta có thể sửa đổi các dữ liệu này để để cập nhật các dữ liệu trong các bảng nền Việc chỉ ra các các bản ghi lựa chọn, xác định trường nào sẽ

được hiển thị đối với các bản ghi được lựa chọn cũng như thứ tự của các bản ghi

được thiết lập bên trong lưới thiết kế ( xem hình 3.5b)

Lưới thiết kế có các dòng và các cột Mỗi trường trong truy vấn có một cột cho

nó và có nhiều dòng Dòng Field hiển thị tên trường, dòng Sort cho phép ta sáp xếp theo thứ tự tăng dần hoặc giảm dần, dòng Show kiểm tra xem trường sẽ được hiển thị trong tập động hay không Dòng Criteria xác địng các bản ghi sẽ được lựa chọn

ví dụ như các sinh viên với chuyên ngành chưa xác định

Trang 40

H×nh 3.5 (a) – B¶ng Sinhvien

H×nh 3.5 (b) – L−íi thiÕt kÕ lùa chän

Ngày đăng: 07/01/2021, 11:06

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN