He thong thong tin quan ly c4
Chia sẻ bởi Nguyễn Ngọc Lan |
Ngày 19/03/2024 |
12
Chia sẻ tài liệu: he thong thong tin quan ly c4 thuộc Công nghệ thông tin
Nội dung tài liệu:
1
Chương 4
THIẾT KẾ DỮ LIỆU
2
I. MÔ HÌNH QUAN NIỆM DỮ LIỆU
1.1. KHÁI NIỆM
Mô hình quan niệm dữ liệu là mô hình mô tả dữ liệu của hệ thống thông tin.
Mô hình này độc lập với các lựa chọn môi trường cài đặt; là công cụ cho phép người phân tích thể hiện dữ liệu của hệ thống ở mức quan niệm.
3
Mô hình này cũng là cơ sở để trao đổi giữa những người phân tích và người yêu cầu phân tích hệ thống.
Nhiều kiểu mô hình quan niệm dữ liệu đã được nghiên cứu, ở đây chúng tôi sử dụng mô hình thực thể - mối kết hợp, một mô hình xuất phát từ lý thuyết cơ sở dữ liệu nên từ đây có thể thiết kế được cơ sở dữ liệu dạng chuẩn cao.
4
1.2. TIẾP CẬN TRỰC GIÁC
Khi tiếp cận trực giác về mặt dữ liệu thì trước hết người phân tích phải tiếp cận (xác định) được các yếu tố thông tin của hệ thống ấy.
Ví dụ: Với một hệ quản lý đào tạo có các yếu tố thông tin sau:
- Họ tên sinh viên, Ngày sinh, Nơi sinh, Tên môn học, Số tín chỉ, Điểm , ...
5
Một số các yếu tố thông tin của hệ thống xác định một đối tượng thông tin. Hệ thống có nhiều đối tượng thông tin.
Ví dụ: Với hệ thống quản lý đào tạo ta có các đối tượng:
Môn học: Tên môn học, Số tín chỉ.
Sinh viên: Họ tên sinh viên, Ngày sinh, Nơi sinh.
6
Giữa các đối tượng trên hình thành một mối liên hệ với nhau.
Ví dụ: Yếu tố thông tin Điểm chỉ tồn tại khi xét mối quan hệ giữa hai đối tượng Sinh viên và Môn học.
7
1.3. THỰC THỂ (ENTYTRI):
1. Khái niệm
Một thực thể là một hình ảnh cụ thể của một đối tượng quản lý trong hệ thống thông tin quản lý.
8
Một thực thể được nhận diện bằng một số thuộc tính của nó. Thuộc tính (Attribute) của thực thể là yếu tố thông tin cụ thể để tạo thành một thực thể.
Mỗi thực thể được đặc trưng bởi tên thực thể và danh sách các thuộc tính của nó. Mỗi thuộc tính của thực thể có một miền giá trị xác định.
9
Người ta dùng ký hiệu sau để mô tả một thực thể:
Một t D1xD2x…xDn với Di=Dom(Thuộc tính i) gọi là một bộ, hay một thể hiện, hay một phần tử của thực thể.
10
Ví du : Thực thể NHÂN VIÊN gồm có các thuộc tính: Mã nhân viên, họ nhân viên, tên nhân viên, ngày sinh, đơn vị, nơi sinh.
11
Ta nhận thấy, một thực thể ở đây tương ứng với một lược đồ quan hệ trong cơ sở dữ liệu. Do đó, khi xây dựng các thực thể, ta phải làm thế nào để mỗi thực thể có dạng chuẩn cao nhất.
t=(15111.0121, Lê Văn, Tâm, 12/08/1978, Phòng Tổ chức, TP Nha Trang tỉnh Khánh Hòa) là một phần tử của NHÂN VIÊN mà ta gọi tắc là một nhân viên.
12
2. Nguyên tắc xây dựng thực thể
Khi thiết kế các thực thể ta cần tuân theo các nguyên tắc sau:
a) Nguyên tắc 1: Tất cả các thuộc tính của một thực thể là độc lập tuyến tính.
Nghĩa là không có một thuộc tính nào của thực thể có giá trị được tính toán từ giá trị của những thuộc tính khác.
Theo nguyên tắc này, ta phải loại bỏ tất cả các thuộc tính phụ thuộc tuyến tính ra khỏi thực thể.
13
Ví dụ 1:
14
b) Nguyên tắc 2:
Tất cả các thuộc tính của một thực thể là đơn trị.
Nghĩa là mỗi phần tử của thực thể nếu có giá trị tại một thuộc tính thì giá trị đó là duy nhất.
Khi một thuộc tính của thực thể là đa trị thì ta tách thuộc tính ấy thành một thực thể độc lập.
15
Ví dụ: Trong bài toán quản lý công chức và tiền lương, các thuộc tính Cha, mẹ, vợ hay chồng là thuộc tính đơn trị của thực thể CÔNG CHỨC vì một công chức có duy nhất một cha, một mẹ, một vợ hay chồng. Còn các thuộc tính: Con, Anh em là thuộc tính đa trị của thực thể CÔNG CHỨC vì một công chức có thể có nhiều con, nhiều anh em. Ta phải tổ chức CON, ANH EM thành các thực thể độc lập.
16
Được đổi thành
17
CON
Mã con
Họ tên con
ANH EM
Mã anh em
Họ tên anh em
18
c) Nguyên tắc 3:
Mỗi thực thể phải có một khóa chỉ có một thuộc tính.
Nếu một thực thể nào đó không có một thuộc tính nào làm khóa được thì ta thêm vào đó một thuộc tính để làm khóa. Thông thường ta dùng Mã + Tên thực thể.
19
Ví dụ: Trong NHÂN VIÊN ta đưa thêm thuộc tính Mã nhân viên làm khóa.
Trong biểu diễn thực thể, những thuộc tính khóa được gạch dưới.
20
d) Nguyên tắc 4:
Khi một thuộc tính của thực thể thoả ba điều kiện:
Miền xác định của nó có nhiều giá trị (hơn 2 giá trị).
Mỗi giá trị có kiểu text và chiếm một dung lượng lớn.
Mọi giá trị được lặp lại nhiều lần trong bảng dữ liệu.
21
Thì phải tách thuộc tính ấy thành một thực thể riêng có tên là tên thuộc tính và có hai thuộc tính là: Mã+Tên thuộc tính và Tên+Tên thuộc tính.
Ví dụ: Thuộc tính Đơn vị, Nơi sinh trong thực thể NHÂN VIÊN với Nơi sinh bao gồm Huyện và Tỉnh được tách thành các thực thể riêng như sau:
22
NHN VIN
M nhn vin
H? nhn vin
Tn nhn vin
Ngy sinh
Huy?n
T?nh
- Don v?
23
Nguyên tắc 5: (Chuyên biệt hóa)
Khi một thuộc tính của thực thể thoả hai điều kiện:
· Chỉ có một số phần tử của thực thể có giá trị.
· Khi một phần tử có giá trị thì kéo theo có thêm giá trị tại một số thuộc tính tương ứng khác nữa.
24
Thì chuyển thuộc tính ấy thành một thực thể chuyên biệt hóa có tên là tên thuộc tính và có thuộc tính là các thuộc tính tương ứng của nó.
Thực thể sinh ra chuyên biệt hóa gọi là thực thể Cha, chuyên biệt hóa gọi là thực thể Con.
Ký hiệu:
25
Ví dụ: Trong hệ thống quản lý nhân viên của một cơ quan, với thực thể NHÂN VIÊN, ngoài những thuộc tính chung như: Họ, tên, ngày sinh, giới tính, nơi sinh; có thêm các thuộc tính: Đảng viên, Bộ đội ...
26
Thuộc tính Đảng viên để quản lý những Đảng viên trong cơ quan. Chỉ có một số nhân viên là Đảng viên, nếu là Đảng viên thì quản lý: Ngày vào Đảng, ngày chính thức, nơi vào Đảng.
Thuộc tính Bộ đội để quản lý những nhân viên trong cơ quan từng đi bộ đội. Chỉ có một số nhân viên là bộ đội. Nếu là bộ đội thì quản lý các thuộc tính: Ngày nhập ngũ, ngày xuất ngũ, cấp bậc và binh chủng khi xuất ngũ.
27
28
Như vậy, thuộc tính Đảng viên được tách thành một chuyên biệt hóa: ĐẢNG VIÊN với các thuộc tính:
Ngày vào Đảng, ngày chính thức, nơi vào Đảng.
Thuộc tính Bộ đội được tách thành một chuyên biệt hóa: BỘ ĐỘI với thuộc tính:
Ngày nhập ngũ, ngày xuất ngũ, cấp bậc và binh chủng khi xuất ngũ.
29
3. Mối kết hợp (Relations):
a. Khái niệm
Khái niệm thực thể với các thuộc tính không đủ để biểu diễn được mọi hiện thực của hệ thống, vì trong hệ thống, các thực thể có mối liên quan với nhau.
Mối kết hợp là sự mô tả m?i liên hệ giữa các phần tử của các thực thể.
30
Một mối kết hợp có thể có thuộc tính riêng của nó.
Ký hiệu: Để ký hiệu mối kết hợp, người ta dùng một hình elip, trong đó ghi tên của mối kết hợp và các thuộc tính riêng của nó nếu có:
31
Mỗi mối kết hợp có một ý nghĩa riêng của nó.
Ví dụ:
THI có ý nghĩa: Một sinh viên thi một môn học nào đó, thi lần thi thứ mấy và được bao nhiêu điểm.
32
Một thực thể có thể tham gia nhiều mối kết hợp và giữa hai thực thể có thể có nhiều mối kết hợp.
Ví dụ:
Giữa hai thực thể SINH VIÊN và MÔN HỌC có ba mối kết hợp là ĐKMH, THI và MI?N THI.
Thực thể SINH VIÊN tham gia b?n mối kết hợp.
33
b. Số ngôi của mối kết hợp
Số ngôi của một mối kết hợp là số thực thể tham gia vào mối kết hợp đó.
THỜI KHÓA BIỂU là mối kết hợp 5 ngôi:
34
c. Bản số của mối kết hợp
Để diễn tả tần suất xuất hiện của các phần tử của thực thể trong một mối kết hợp người ta dùng một khái niệm là bản số.
Bản số là một cặp số (m,n), chứa số tối thiểu và số tối đa các phần tử của thực thể có thể tham gia vào mối kết hợp. Bản số của thực thể nào được ghi trên nhánh của thực thể đó. Nếu số tối thiểu hay tối đa là nhiều bộ, ta ghi là n.
35
Một sinh viên học tối thiểu là 1 môn học, tối đa là nhiều môn
Một môn học được học tối thiểu bởi 1 sinh viên, tối đa là nhiều sinh viên.
(1,n)
(1,n)
36
d. Mở rộng mối kết hợp
1) Mối kết hợp phản xạ: Mối kết hợp thông thường được dùng để mô tả sự liên hệ giữa các phần tử của các thực thể. Có những mối quan hệ liên hệ hai phần tử trong cùng một thực thể.
Để mô tả mối liên hệ này, người ta dùng mối kết hợp phản xạ,
37
(1,n)
Ví dụ: Trong bài toán QUẢN LÝ HỌC SINH, ANH EM là mối kết hợp phản xạ mô tả mối liên lệ là hai học sinh là hai anh chị em ruột cùng học trong một trường.
38
2) Mối kết hợp sinh ra từ một mối kết hợp trước:
Thông thường, một mối kết hợp được sinh ra từ các thực thể, tuy nhiên, có những mối kết hợp được sinh ra từ một mối kết hợp khác.
Ví dụ: Trong bài toán QỦAN LÝ KINH DOANH, Mối kết hợp XUẤT HÀNG sinh ra từ mối kết hợp ĐẶT HÀNG, mối kết hợp THANH TOÁN sinh ra từ mối kết hợp XUẤT HÀNG.
39
40
3) Mối kết hợp một ngôi:
Thông thường, một mối kết hợp được sinh ra tư nhiều thực thể hay từ thực thể và mối kết hợp. Tuy nhiên có những mối kết hợp chỉ sinh ra từ một thực thể.
Ví dụ: Trong bài toán Quản lý xe vận tải, cần quản lý quá trình khám xe. Một xe được khám nhiều lần và chỉ cần quản lý ngày khám.
Ta mô tả như sau:
41
Ví dụ: Trong bài toán Quản lý kinh doanh, cần quản lý quá trình biến động giá của hàng hóa:
42
1.4. MÔ HÌNH QUAN NIỆM DỮ LIỆU
a. Đinh nghĩa
Mô hình quan niệm dữ liệu hay còn gọi là mô hình thực thể – mối kết hợp, là mô hình liên hoàn tất cả các thực thể và mối kết hợp của hệ thống.
Khi thiết kế mô hình quan niệm dữ liệu, ta phải tuân theo các quy tắc sau:
43
Tất cả các thuộc tính trong mô hình là độc lập tuyến tính.
Không có hai: thực thể, mối kết hợp, thuộc tính trùng tên.
Mô hình phải liên thông.
44
b. Xây dựng mô hình quan niệm dữ liệu
Khi xây dựng Mô hình quan niệm dữ liệu, ta tuần tự thực hiện các bước sau:
Bước 1: Vẽ thực thể trung tâm và xác định khóa của nó.
45
Bước 2: Đọc từng yếu tố thông tin của hệ thống, xét xem yếu tố thông tin ấy là thuộc tính của thực thể hay của mối kết hợp?
Nếu yếu tố thông tin chỉ phụ thuộc vào một đối tượng thì nó là thuộc tính của thực thể.
Nếu yếu tố thông tin phụ thuộc vào nhiều đối tượng thì nó là thuộc tính của mối kết hợp
46
Bước 3: Khi một yếu tố thông tin là một thuộc tính của một thực thể, ta lại hỏi tiếp: Có tách thuộc tính này khỏi thực thể hay không? Nếu có thì tách theo trường hợp nào? Ta có ba trường hợp tách.
47
Trường hợp 1: Tách vì đa trị
Để xác định thuộc tính này là đơn trị hay đa trị, ta đặt câu hỏi: Mỗi phần tử của thực thể nếu có giá trị tại thuộc tính này thì có tối đa bao nhiêu giá trị?
Nếu có tối đa là nhiều giá trị thì kết luận thuộc tính này là đa trị. Nếu thuộc tính đa trị thì ta tách thuọc tính ấy thành một thực thể độc lập. Ngược lại, ta xét tiếp các trường hợp sau.
48
Trường hợp 2: Tách vì thuộc tính chuyên biệt
Để xác định thuộc tính này có phải là chuyên biệt, ta đặt câu hỏi: Có phải chỉ có một số phần tử của thực thể có giá trị tại thuộc tính này không? Nếu có thì có giá trị thêm tại một số thuôc tính khác nữa không?
Nếu trả lời có thì tách thuộc tính ấy thành một thực thể chuyên biệt hóa.
49
Trường hợp 3 : Tách vì trùng lắp thông tin
Để xác định thuộc tính này có trùng lắp thông tin hay không, ta đặt câu hỏi: Tập họp thuộc tính này có bao nhiêu giá trị? Mỗi gia trị có phải kiểu text không? Mọi giá trị có lặp đi lặp lại nhiều lần không?
Nếu cả ba đều trả lời có thì ta tách thuộc tính ấy thành một thực thể độc lập.
Khi một thuộc tính không thuộc một trong bốn trường hợp trên thì ta không tách thuộc tính khỏi thực thể.
50
1. Mục đích
Mô hình tổ chức dữ liệu của hệ thống là lược đồ cơ sở dữ liệu của hệ thống. Đây là bước trung gian chuyển đổi giữa mô hình quan niệm dữ liệu (gần với người sử dụng) và mô hình vật lý dữ liệu (mô hình trong máy tính), chuẩn bị cho việc cài đặt hệ thống.
II. MÔ HÌNH MỔ CHỨC DỮ LIỆU
51
2. Quy tắc chuyển đổi
Khi chuyển đổi từ mô hình quan niệm dữ liệu sang mô hình tổ chức dữ liệu ta tuân theo các quy tắc sau:
52
a. Chuyển đổi một thực thể thành một lược đồ quan hệ
Quy tắc 1: Biến một thực thể thành lược đồ quan hệ
Mỗi thực thể trong mô hình quan niệm dữ liệu được biến thành một lược đồ quan hệ, với tên, thuộc tính, khóa là tên, thuộc tính, khóa của thực thể và có thể có thêm thuộc tính khóa ngoại nếu có.
53
Quy tắc khóa ngoại:
Các thực thể tham gia vào mối kết hợp hai ngôi có cặp bản số (1,1) (1,n) thì lược đồ quan hệ sinh ra từ thực thể ở nhánh (1,1) nhận thuộc tính khóa của thực thể ở nhánh (1,n) làm khóa ngoại.
54
Ví dụ: Ta có hai thực thể và mối kết hợp:
Ta đổi thành hai lược đồ quan hệ sau:
TỈNH(Mã tỉnh, Tên tỉnh)
HUYỆN(Mã huyện, Tên huyện,
55
HUYỆN là lược đồ quan hệ được sinh ra từ thực thể HUYỆN tham gia vào mối kết hợp hai ngôi (1,1) (1,n) ở nhánh (1,1) nên nó nhận thuộc tính khóa Mã tỉnh, là khóa của thực thể TỈNH ở nhánh (1,n) làm khóa ngoại.
Trong lược đồ quan hệ, thuộc tính khóa được gạch dưới liền nét, thuộc tính khóa ngoại được gạch dưới không liền nét.
56
Các trường hợp đặc biệt:
Nếu một thực thể chỉ có một thuộc tính và nó có mối kết hợp hai ngôi có các bản số (1,n) (1,n) với một thực thể khác thì nó không biến thành một lược đồ quan hệ mà thuộc tính đó sẽ trở thành một thuộc tính của lược đồ quan hệ sinh ra từ mối kết hợp hai ngôi.
57
Ví dụ: Trong bài toán quản lý công chức: Thực thể ĐIỆN THOẠI không biến thành một lược đồ quan hệ.
Mối kết hợp CC-ĐT biến thành một lược đồ quan hệ:
CC-ĐT(Mã công chức, Số điện thoại)
58
Trong trường hợp giữa hai thực thể có hai mối kết hợp hai ngôi (1,1) (1,n) thì lược đồ quan hệ sinh ra từ thực thể ở nhánh (1,1) hai lần nhận thuộc tính khóa của thực thể ở nhánh (1,n) làm khóa ngoại, do đó ta phải đổi tên thuộc tính khóa ngoại sao cho phù hợp với ý nghĩa của mối kết hợp để trong một lược đồ quan hệ không có hai thuộc tính trùng tên. Tuy nhiên trong các quan hệ định nghĩa trên lược đồ quan hệ này, giá trị tại hai thuộc tính mới cũng lấy giá trị từ thuộc tính khóa của quan hệ định nghĩa trên lược đồ quan hệ sinh ra từ thực thể ở nhánh (1,n).
59
Ví dụ: Trong bài toán quản lý bán vé máy bay ta có mô hình sau, có hai mối kết hợp giữa LỊCH BAY và SÂN BAY:
(1,n)
(1,n)
(1,1)
(1,1)
LỊCH BAY
- Mã chuyến bay
- Khoảng cách
- Ngày bay
Giờ bay
Thời gian bay
SÂN BAY
- Mã sân bay
- Tên sân bay
- Thành phố
SB ĐI
SB ĐẾN
60
Ta đổi thành hai lược đồ quan hệ sau với thuộc tính Mã sân bay được đổi thành: Mã sân bay đi, Mã sân bay đến.
LỊCH BAY(Mã chuyến bay, Khoảng cách, Ngày bay, Giờ bay, Thời gian bay, Mã sân bay đi, Mã sân bay đến)
SÂN BAY(Mã sân bay, Tên sân bay,Thành phố)
Giá trị của hai thuộc tính Mã sân bay đi, Mã sân bay đến trong LỊCH BAY được lấy trong thuộc tính Mã sân bay của SÂN BAY.
61
Quy tắc 2: Biến thực thể chuyên biệt hóa thành lược đồ quan hệ
Một thực thể chuyên biệt hóa trong mô hình quan niệm dữ liệu được biến thành một lược đồ quan hệ, với tên là tên của thực thể chuyên biệt hóa, có các thuộc tính là thuộc tính của thực thể chuyên biệt hóa và nhận thuộc khóa của thực thể cha của chuyên biệt hoá làm khóa.
62
Ví dụ: Với mô hình quan niệm dữ liệu:
ĐV-T
BĐ-BC
BĐ-CB
(1,1)
(1,1)
(1,n)
(1,n)
(1,n)
(1,1)
63
Biến thành các lược đồ quan hệ:
BINH CHỦNG (Mã B chủng, Tên B chủng)
CẤP BẬC (Mã cấp bậc, Tên cấp bậc)
BỘ ĐỘI (Mã nhân viên, Ngày N ngũ, Ngày X ngũ, Mã B chủng, Mã cấp bậc )
ĐẢNG VIÊN (Mã nhân viên, Ngày VĐ, Ngày CT, Mã tỉnh)
TỈNH (Mã tỉnh, Tên tỉnh)
NHÂN VIÊN (Mã nhân viên, Họ nhân viên, Tên nhân viên, Ngày sinh)
64
b. Chuyển đổi một mối kết hợp thành lược đồ quan hệ
Qui tắc 3: Một mối kết hợp hai ngôi có cặp bản số (1,1) (1,n) KHÔNG biến thành một lược đồ quan hệ.
65
Qui tắc 4: Một mối kết hợp hai ngôi có cặp bản số (1,n) (1,n) hay mối kết hợp nhiều hơn hai ngôi (không phân biệt bản số) được biến thành một lược đồ quan hệ, có tên và thuộc tính là tên và thuộc của mối kết hợp, nhận các thuộc tính khóa của tất cả các thực thể tham gia vào mối kết hợp làm thuộc tính khóa.
66
Ví dụ: ĐKMH có ý nghĩa: Một sinh viên có thể đăng ký nhiều môn học và ngược lại một môn học có nhiều sinh viên đăng ký.
67
Ví dụ: ĐKMH có ý nghĩa: Một sinh viên có thể đăng ký nhiều môn học và ngược lại một môn học có nhiều sinh viên đăng ký.
(1,n)
(1,n)
ĐĂNG KÝ MÔN HỌC
SINH VIÊN
- Mã sinh viên
- Họ sinh viên
- Tên sinh viên
MÔN HỌC
- Mã môn học
- Tên môn học
ĐKMH biến thành một lược đồ quan hệ sau:
ĐKMH(Mã sinh viên, Mã môn học)
68
ĐẶT HÀNG được biến thành một lược đồ quan hệ như sau:
ĐẶTHÀNG(Mã ĐĐH, Mã hàng, Số lượng ĐH, Đơn giá ĐH, Ngày giao)
(1,n)
(1,n)
ĐẶT HÀNG
- Số lượng ĐH
- Đơn giá ĐH
- Ngày giao
ĐĐ HÀNG
- Mã ĐĐH
- Ngày ĐH
- Tiền cọc
MẶT HÀNG
- Mã hàng
- Tên hàng
…
69
Qui tắc 5: Một mối kết hợp phản xạ (không phân biệt bản số) biến thành một lược đồ quan hệ, có tên và thuộc tính là tên và thuộc tính của mối kết hợp, nhận hai thuộc tính có tên mới tùy theo ý nghĩa của mối kết hợp mà nó sẽ lấy giá trị của thuộc tính khóa của thực thể sinh ra mối kết hợp này làm khóa.
ANH EM
VỢ CHỒNG
- Ngày cưới
(1,1)
(1,n)
70
Ví dụ: Mối kết hợp ANH EM, VỢ CHỒNG trong mô hình sau được biến thành các lược đồ quan hệ:
ANH EM(Mã anh, Mã em),
VỢ CHỒNG(Mã vợ, Mã chồng, Ngày cưới)
Trong đó giá trị của Mã anh, Mã em được lấy trong thuộc tính Mã HS trong quan hệ HỌC SINH. Mã vợ, Mã chồng có giá trị được lấy trong thuộc tính Mã CC của quan hệ CÔNG CHỨC.
71
Qui tắc 6: Một mối kết hợp sinh ra từ một mối kết hợp khác (không phân biệt bản số) được biến thành một lược đồ quan hệ, có tên và thuộc tính là tên và thuộc tính của mối kết hợp, nhận một số thuộc tính khóa của lược đồ quan hệ sinh ra từ mối kết hợp sinh ra mối kết hợp sinh ra nó làm thuộc tính khóa. Nếu mối kết hợp này cũng được sinh ra từ một thực thể khác thì lược đồ quan hệ cũng nhận thuộc tính khoá của thực thể làm thuộc tính khoá.
72
Ví dụ: Với mô hình:
ĐẶT HÀNG (Maõ Ñ Ñ H, Maõ haøng,Số lượng ĐH, …
XUẤT HÀNG(Mã ĐĐH, Mã hàng, Mã PXH, Mã kho, Số lượng XH, Đ giá XH, Ngày XH)
THANH TOÁN(Mã PXH, Mã Phiếu TT, Ngày TT, Số tiền TT)
73
c. Chuẩn hoá của các lược đồ quan hệ
c.1) Xác định khóa: Đối với những lược đồ quan hệ sinh ra từ các thực thể thì chỉ có một thuộc tính khóa nên thuộc tính này chính là khóa của lược đồ quan hệ.
Đối với những lược đồ quan hệ sinh ra từ các mối kết hợp thì nó có nhiều thuộc tính khóa nên tập họp các thuộc tính này chỉ là siêu khóa. Dựa vào các phụ thuộc hàm trong bài toán để xác định định khóa của lược đồ này.
74
Ví dụ: Trong mô hình quan niệm dữ liệu của bài toán quản lý công chức và tiền lương, CÔNG CHỨC – GIA THUỘC là mối kết hợp 3 ngôi, theo quy tắc 4 thì khi chuyển đổi, lược đồ quan hệ trong mô hình tổ chức dữ liệu phải nhận cả 3 thuộc tính khóa của 3 thực thể tương ứng làm khóa:
75
CC-GT(Mã CC, Mã gia thuộc, Mã LGT). Tuy nhiên giữa một công chức và một gia thuộc chỉ liên hệ với nhau bởi một loại gia thuộc duy nhất. Do đó, Mã LGT không thể là khóa. Khi xác định khóa của lược đồ quan hệ ta phải loại yếu tố khóa của thuộc tính Mã LGT như sau: CC-GT(Mã CC, Mã gia thuộc, Mã LGT).
Tương tự cho mối kết hợp CÙNG CƠ QUAN, Mã LGT không là thuộc tính khóa.
76
c.2) Chuẩn hoá lược đồ quan hệ
Một lược đồ quan hệ sinh ra từ một mối kết hợp có thể không đạt dạng chuẩn 3, ta áp dụng các phương pháp phân rã dữ liệu phân rã lược đồ này thành nhiều lược đồ có dạng chuẩn 3.
Ví dụ: Với lược đồ quan hệ:
ĐĐHÀNG(Mã ĐĐH, Mã khách hàng, Mã hàng, Ngày ĐH, Số lượng ĐH, Đơn giá ĐH, Ngày giao)
77
Ta có: Mỗi đơn đặt hàng chỉ cho một khách hàng và có một ngày đặt hàng, nghĩa là ta có phụ thuộc hàm: Mã ĐĐH Mã khách hàng, Ngày ĐH. Do đó ĐĐHÀNG không đạt dạng chuẩn 2. Ta tách lược đồ quan hệ này thành 2 lược đồ con như sau:
ĐẶTHÀNG(Mã ĐĐH, Mã khách hàng, Ngày ĐH)
CTĐẶTHÀNG(Mã ĐĐH, Mã hàng, Số lượng ĐH, Đơn giá ĐH, Ngày giao)
78
3. Mô hình tổ chức dữ liệu
Mô hình tổ chức dữ liệu hay còn gọi là mô hình cơ sở dữ liệu là toàn bộ các lược đồ quan hệ của bài toàn được biến đổi từ mô hình quan niệm dữ liệu theo các quy tắc chuyển đổi trên.
79
Ví dụ 1: Với mô hình quan niệm dữ liệu bài toán quản lý công chức - tiền lương ta có mô hình tổ chức dữ liệu như sau:
TỈNH(Mã tỉnh, Tên tỉnh)
HUYỆN(Mã huyện, Tên huyện, Mã tỉnh)
XÃ(Mã xã, Tên xã, Mã huyện)
ĐƯỜNG(Mã đường, Tên đường)
B CHỦNG(Mã BC ,Tên BC)
CẤP BẬC(Mã CB, Tên CB)
80
CC BINH(Mã CC, N nhập ngũ, N xuất ngũ, Mã BC, Mã CB)
ĐẢNG VIÊN(Mã CC , Ngày VĐ, Ngày CT, Mã tỉnh)
CHỨC VỤ(Mã CV, Tên CV)
CƠ QUAN(Mã CQ, Tên CQ)
NGHỀ(Mã nghề, Tên nghề)
LOẠI GT(Mã LGT, Tên LGT)
B LƯƠNG(Mã BL, Hệ số L, Mã NL)
NGẠCH(Mã NL, Tên NL, Số TLL)
81
15. KTKL(Mã KTKL, Tên KTKL)
16. LÝ DO(Mã LD, Tên LD)
17. NƯỚC(Mã nước, Tên nước)
18. CHUYÊN MÔN(Mã CM, Tên CM, Tg ĐT)
19. TRƯỜNG(Mã Tr, Tên Tr)
20. NG NGỮ( Mã NN, Tên NN)
82
VĂN HÓA(Mã TĐVH, Tên TĐVH)
TÔN GIÁO(Mã TG, Tên TG)
DÂN TỘC(Mã DT, Tên DT)
ĐƠN VỊ(Mã ĐV, Tên ĐV)
ĐCTT( Mã CC, Số nhà, Mã đường, Mã huyện)
ĐCNT( Mã CC, Mã xã)
83
27. CÔNG CHỨC( Mã CC, Họ CC, Tên CC, Giới tính, Ngày sinh, Đoàn viên, Ngày vào CQ, Ngày biên chế, Mã ĐV, Mã DT, Mã TG, Mã TĐVH, Mã huyện, Mã CV)
28. GIA THUỘC( Mã gia thuộc, Họ tên GT, Ngày sinh GT, Mã CV, Mã CQ, Mã nghề)
29. PHÉP (Mã CC, Mã Tỉnh, Ngày BĐ, Ngày KT)
30. SĐT(Mã CC. Số ĐT)
31. CC-NN(Mã CC, Mã NN, Cấp độ)
84
CC-CM(Mã CC, Mã Tr, Mã CM, Loại CC, Ngày BĐĐT, Ngày KTĐT)
CC-ĐNN(Mã CC, Mã nước, Mã LD, Ngày đi, Ngày về)
CC-KTKL(Mã CC, Mã KTKL, Mã LD, Ngày KTKL, Ngày TKL)
CC-QTL(Mã CC, Mã BL, Ngày LL)
CC-GT(Mã CC, Mã gia thuộc, Mã LGT)
CÙNG CƠ QUAN(Mã CC1, Mã CC1, Mã LGT)
85
TỈNH(Mã tỉnh, Tên tỉnh)
HUYỆN(Mã huyện, Tên huyện, Mã tỉnh)
XÃ(Mã xã, Tên xã, Mã huyện)
ĐẢNG VIÊN(Mã CC , Ngày VĐ, Ngày CT, Mã CB)
CHI BỘ(Mã C bộ, Tên C bộ)
B LƯƠNG(Mã BL, Hệ số L, Mã NL)
Ví dụ 2: Với mô hình quan niệm dữ liệu bài toán QUẢN LÝ BỆNH VIỆN ta có mô hình tổ chức dữ liệu như sau:
86
7. NLƯƠNG (Mã NL, Tên NL, Số TLL)
8. NƠI KB(Mã NKB, Tên NKB)
9. CƠ QUAN(Mã CQ, Tên CQ, ĐTCQ, Fax CQ)
10. Đ TƯỢNG(Mã ĐT, Tên ĐT)
11. ĐCNTBN(Mã bệnh nhân, Mã xã)
12. ĐCTTBN(Mã bệnh nhân, Số nhà BN, Mã đường, Mã huyện)
87
CÁN BỘ(Mã bệnh nhân, Mã CQ)
C CHỨC(Mã nhân viên, Ngày vào BC)
BỆNH NHÂN(Mã bệnh nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày sinh BN, Giới tính BN, Mã ĐT)
BH Y TẾ(Mã bệnh nhân, Số TBHYT, Ngày bắt đầu, Ngày K thúc, Phần trăm, Mã NKB)
NƠI ĐT(Mã NĐT, Tên NĐT)
ĐƯỜNG(Mã đường, Tên đường)
88
19. Đ VỊ(Mã ĐV, Tên ĐV)
20. D TỘC(Mã DT, Tên DT)
21. T GIÁO(Mã TG, Tên TG)
22. C MÔN(Mã CM, Tên CM)
23. T ĐỘ (Mã T độ, Tên T độ)
24. C VỤ(Mã CV, Tên CV)
25. N NGỮ( Mã NN, Tên NN)
89
LHĐT(Mã LHĐT, Tên LHĐT)
HỢP ĐỒNG(Mã nhân viên, Số hợp đồng, Ngày bắt đầu, Mức lương, Mã người ký HĐ)
VỊ TRÍ KB(Mã VTKB, Tên VTKB)
THUỐC( Mã thuốc, Tên thuốc)
D VỤ( Mã DV, Tên DV)
90
31. NHÂN VIÊN(Mã nhân viên, Họ nhân viên, Tên nhân viên, Ngày sinh, Giới tính, Số nhà, Mã huyện, Mã đường, Mã ĐV, Mã DT, Mã TG,Mã CM, Mã TĐ, Mã CV, Mã LHĐT)
32. QTL( Mã nhân viên, Mã BL, Ngày)
33. NV-NN( Mã nhân viên, Mã NN, Cấp độ)
34. K-BỆNH( Mã bệnh nhân, Mã nhân viên, Mã VTKB, Ngày KB)
91
BỆNH ÁN( Mã BA, Mã bệnh nhân, Mã NĐT, Ngày vào, Ngày ra, ĐG phòng)
Đ THUỐC( Mã BA, Mã thuốc, Lần DT, SLT2, ĐGT2)
TRẢTIỀN-DT( Mã BA, Mã PTTDT, Số tiền DT)
DÙNG DV( Mã BA, Mã DV, Lần DV, ĐGDV)
TRẢ TIỀN-DV( Mã BA, Mã TTDV, Số tiền DV)
Chương 4
THIẾT KẾ DỮ LIỆU
2
I. MÔ HÌNH QUAN NIỆM DỮ LIỆU
1.1. KHÁI NIỆM
Mô hình quan niệm dữ liệu là mô hình mô tả dữ liệu của hệ thống thông tin.
Mô hình này độc lập với các lựa chọn môi trường cài đặt; là công cụ cho phép người phân tích thể hiện dữ liệu của hệ thống ở mức quan niệm.
3
Mô hình này cũng là cơ sở để trao đổi giữa những người phân tích và người yêu cầu phân tích hệ thống.
Nhiều kiểu mô hình quan niệm dữ liệu đã được nghiên cứu, ở đây chúng tôi sử dụng mô hình thực thể - mối kết hợp, một mô hình xuất phát từ lý thuyết cơ sở dữ liệu nên từ đây có thể thiết kế được cơ sở dữ liệu dạng chuẩn cao.
4
1.2. TIẾP CẬN TRỰC GIÁC
Khi tiếp cận trực giác về mặt dữ liệu thì trước hết người phân tích phải tiếp cận (xác định) được các yếu tố thông tin của hệ thống ấy.
Ví dụ: Với một hệ quản lý đào tạo có các yếu tố thông tin sau:
- Họ tên sinh viên, Ngày sinh, Nơi sinh, Tên môn học, Số tín chỉ, Điểm , ...
5
Một số các yếu tố thông tin của hệ thống xác định một đối tượng thông tin. Hệ thống có nhiều đối tượng thông tin.
Ví dụ: Với hệ thống quản lý đào tạo ta có các đối tượng:
Môn học: Tên môn học, Số tín chỉ.
Sinh viên: Họ tên sinh viên, Ngày sinh, Nơi sinh.
6
Giữa các đối tượng trên hình thành một mối liên hệ với nhau.
Ví dụ: Yếu tố thông tin Điểm chỉ tồn tại khi xét mối quan hệ giữa hai đối tượng Sinh viên và Môn học.
7
1.3. THỰC THỂ (ENTYTRI):
1. Khái niệm
Một thực thể là một hình ảnh cụ thể của một đối tượng quản lý trong hệ thống thông tin quản lý.
8
Một thực thể được nhận diện bằng một số thuộc tính của nó. Thuộc tính (Attribute) của thực thể là yếu tố thông tin cụ thể để tạo thành một thực thể.
Mỗi thực thể được đặc trưng bởi tên thực thể và danh sách các thuộc tính của nó. Mỗi thuộc tính của thực thể có một miền giá trị xác định.
9
Người ta dùng ký hiệu sau để mô tả một thực thể:
Một t D1xD2x…xDn với Di=Dom(Thuộc tính i) gọi là một bộ, hay một thể hiện, hay một phần tử của thực thể.
10
Ví du : Thực thể NHÂN VIÊN gồm có các thuộc tính: Mã nhân viên, họ nhân viên, tên nhân viên, ngày sinh, đơn vị, nơi sinh.
11
Ta nhận thấy, một thực thể ở đây tương ứng với một lược đồ quan hệ trong cơ sở dữ liệu. Do đó, khi xây dựng các thực thể, ta phải làm thế nào để mỗi thực thể có dạng chuẩn cao nhất.
t=(15111.0121, Lê Văn, Tâm, 12/08/1978, Phòng Tổ chức, TP Nha Trang tỉnh Khánh Hòa) là một phần tử của NHÂN VIÊN mà ta gọi tắc là một nhân viên.
12
2. Nguyên tắc xây dựng thực thể
Khi thiết kế các thực thể ta cần tuân theo các nguyên tắc sau:
a) Nguyên tắc 1: Tất cả các thuộc tính của một thực thể là độc lập tuyến tính.
Nghĩa là không có một thuộc tính nào của thực thể có giá trị được tính toán từ giá trị của những thuộc tính khác.
Theo nguyên tắc này, ta phải loại bỏ tất cả các thuộc tính phụ thuộc tuyến tính ra khỏi thực thể.
13
Ví dụ 1:
14
b) Nguyên tắc 2:
Tất cả các thuộc tính của một thực thể là đơn trị.
Nghĩa là mỗi phần tử của thực thể nếu có giá trị tại một thuộc tính thì giá trị đó là duy nhất.
Khi một thuộc tính của thực thể là đa trị thì ta tách thuộc tính ấy thành một thực thể độc lập.
15
Ví dụ: Trong bài toán quản lý công chức và tiền lương, các thuộc tính Cha, mẹ, vợ hay chồng là thuộc tính đơn trị của thực thể CÔNG CHỨC vì một công chức có duy nhất một cha, một mẹ, một vợ hay chồng. Còn các thuộc tính: Con, Anh em là thuộc tính đa trị của thực thể CÔNG CHỨC vì một công chức có thể có nhiều con, nhiều anh em. Ta phải tổ chức CON, ANH EM thành các thực thể độc lập.
16
Được đổi thành
17
CON
Mã con
Họ tên con
ANH EM
Mã anh em
Họ tên anh em
18
c) Nguyên tắc 3:
Mỗi thực thể phải có một khóa chỉ có một thuộc tính.
Nếu một thực thể nào đó không có một thuộc tính nào làm khóa được thì ta thêm vào đó một thuộc tính để làm khóa. Thông thường ta dùng Mã + Tên thực thể.
19
Ví dụ: Trong NHÂN VIÊN ta đưa thêm thuộc tính Mã nhân viên làm khóa.
Trong biểu diễn thực thể, những thuộc tính khóa được gạch dưới.
20
d) Nguyên tắc 4:
Khi một thuộc tính của thực thể thoả ba điều kiện:
Miền xác định của nó có nhiều giá trị (hơn 2 giá trị).
Mỗi giá trị có kiểu text và chiếm một dung lượng lớn.
Mọi giá trị được lặp lại nhiều lần trong bảng dữ liệu.
21
Thì phải tách thuộc tính ấy thành một thực thể riêng có tên là tên thuộc tính và có hai thuộc tính là: Mã+Tên thuộc tính và Tên+Tên thuộc tính.
Ví dụ: Thuộc tính Đơn vị, Nơi sinh trong thực thể NHÂN VIÊN với Nơi sinh bao gồm Huyện và Tỉnh được tách thành các thực thể riêng như sau:
22
NHN VIN
M nhn vin
H? nhn vin
Tn nhn vin
Ngy sinh
Huy?n
T?nh
- Don v?
23
Nguyên tắc 5: (Chuyên biệt hóa)
Khi một thuộc tính của thực thể thoả hai điều kiện:
· Chỉ có một số phần tử của thực thể có giá trị.
· Khi một phần tử có giá trị thì kéo theo có thêm giá trị tại một số thuộc tính tương ứng khác nữa.
24
Thì chuyển thuộc tính ấy thành một thực thể chuyên biệt hóa có tên là tên thuộc tính và có thuộc tính là các thuộc tính tương ứng của nó.
Thực thể sinh ra chuyên biệt hóa gọi là thực thể Cha, chuyên biệt hóa gọi là thực thể Con.
Ký hiệu:
25
Ví dụ: Trong hệ thống quản lý nhân viên của một cơ quan, với thực thể NHÂN VIÊN, ngoài những thuộc tính chung như: Họ, tên, ngày sinh, giới tính, nơi sinh; có thêm các thuộc tính: Đảng viên, Bộ đội ...
26
Thuộc tính Đảng viên để quản lý những Đảng viên trong cơ quan. Chỉ có một số nhân viên là Đảng viên, nếu là Đảng viên thì quản lý: Ngày vào Đảng, ngày chính thức, nơi vào Đảng.
Thuộc tính Bộ đội để quản lý những nhân viên trong cơ quan từng đi bộ đội. Chỉ có một số nhân viên là bộ đội. Nếu là bộ đội thì quản lý các thuộc tính: Ngày nhập ngũ, ngày xuất ngũ, cấp bậc và binh chủng khi xuất ngũ.
27
28
Như vậy, thuộc tính Đảng viên được tách thành một chuyên biệt hóa: ĐẢNG VIÊN với các thuộc tính:
Ngày vào Đảng, ngày chính thức, nơi vào Đảng.
Thuộc tính Bộ đội được tách thành một chuyên biệt hóa: BỘ ĐỘI với thuộc tính:
Ngày nhập ngũ, ngày xuất ngũ, cấp bậc và binh chủng khi xuất ngũ.
29
3. Mối kết hợp (Relations):
a. Khái niệm
Khái niệm thực thể với các thuộc tính không đủ để biểu diễn được mọi hiện thực của hệ thống, vì trong hệ thống, các thực thể có mối liên quan với nhau.
Mối kết hợp là sự mô tả m?i liên hệ giữa các phần tử của các thực thể.
30
Một mối kết hợp có thể có thuộc tính riêng của nó.
Ký hiệu: Để ký hiệu mối kết hợp, người ta dùng một hình elip, trong đó ghi tên của mối kết hợp và các thuộc tính riêng của nó nếu có:
31
Mỗi mối kết hợp có một ý nghĩa riêng của nó.
Ví dụ:
THI có ý nghĩa: Một sinh viên thi một môn học nào đó, thi lần thi thứ mấy và được bao nhiêu điểm.
32
Một thực thể có thể tham gia nhiều mối kết hợp và giữa hai thực thể có thể có nhiều mối kết hợp.
Ví dụ:
Giữa hai thực thể SINH VIÊN và MÔN HỌC có ba mối kết hợp là ĐKMH, THI và MI?N THI.
Thực thể SINH VIÊN tham gia b?n mối kết hợp.
33
b. Số ngôi của mối kết hợp
Số ngôi của một mối kết hợp là số thực thể tham gia vào mối kết hợp đó.
THỜI KHÓA BIỂU là mối kết hợp 5 ngôi:
34
c. Bản số của mối kết hợp
Để diễn tả tần suất xuất hiện của các phần tử của thực thể trong một mối kết hợp người ta dùng một khái niệm là bản số.
Bản số là một cặp số (m,n), chứa số tối thiểu và số tối đa các phần tử của thực thể có thể tham gia vào mối kết hợp. Bản số của thực thể nào được ghi trên nhánh của thực thể đó. Nếu số tối thiểu hay tối đa là nhiều bộ, ta ghi là n.
35
Một sinh viên học tối thiểu là 1 môn học, tối đa là nhiều môn
Một môn học được học tối thiểu bởi 1 sinh viên, tối đa là nhiều sinh viên.
(1,n)
(1,n)
36
d. Mở rộng mối kết hợp
1) Mối kết hợp phản xạ: Mối kết hợp thông thường được dùng để mô tả sự liên hệ giữa các phần tử của các thực thể. Có những mối quan hệ liên hệ hai phần tử trong cùng một thực thể.
Để mô tả mối liên hệ này, người ta dùng mối kết hợp phản xạ,
37
(1,n)
Ví dụ: Trong bài toán QUẢN LÝ HỌC SINH, ANH EM là mối kết hợp phản xạ mô tả mối liên lệ là hai học sinh là hai anh chị em ruột cùng học trong một trường.
38
2) Mối kết hợp sinh ra từ một mối kết hợp trước:
Thông thường, một mối kết hợp được sinh ra từ các thực thể, tuy nhiên, có những mối kết hợp được sinh ra từ một mối kết hợp khác.
Ví dụ: Trong bài toán QỦAN LÝ KINH DOANH, Mối kết hợp XUẤT HÀNG sinh ra từ mối kết hợp ĐẶT HÀNG, mối kết hợp THANH TOÁN sinh ra từ mối kết hợp XUẤT HÀNG.
39
40
3) Mối kết hợp một ngôi:
Thông thường, một mối kết hợp được sinh ra tư nhiều thực thể hay từ thực thể và mối kết hợp. Tuy nhiên có những mối kết hợp chỉ sinh ra từ một thực thể.
Ví dụ: Trong bài toán Quản lý xe vận tải, cần quản lý quá trình khám xe. Một xe được khám nhiều lần và chỉ cần quản lý ngày khám.
Ta mô tả như sau:
41
Ví dụ: Trong bài toán Quản lý kinh doanh, cần quản lý quá trình biến động giá của hàng hóa:
42
1.4. MÔ HÌNH QUAN NIỆM DỮ LIỆU
a. Đinh nghĩa
Mô hình quan niệm dữ liệu hay còn gọi là mô hình thực thể – mối kết hợp, là mô hình liên hoàn tất cả các thực thể và mối kết hợp của hệ thống.
Khi thiết kế mô hình quan niệm dữ liệu, ta phải tuân theo các quy tắc sau:
43
Tất cả các thuộc tính trong mô hình là độc lập tuyến tính.
Không có hai: thực thể, mối kết hợp, thuộc tính trùng tên.
Mô hình phải liên thông.
44
b. Xây dựng mô hình quan niệm dữ liệu
Khi xây dựng Mô hình quan niệm dữ liệu, ta tuần tự thực hiện các bước sau:
Bước 1: Vẽ thực thể trung tâm và xác định khóa của nó.
45
Bước 2: Đọc từng yếu tố thông tin của hệ thống, xét xem yếu tố thông tin ấy là thuộc tính của thực thể hay của mối kết hợp?
Nếu yếu tố thông tin chỉ phụ thuộc vào một đối tượng thì nó là thuộc tính của thực thể.
Nếu yếu tố thông tin phụ thuộc vào nhiều đối tượng thì nó là thuộc tính của mối kết hợp
46
Bước 3: Khi một yếu tố thông tin là một thuộc tính của một thực thể, ta lại hỏi tiếp: Có tách thuộc tính này khỏi thực thể hay không? Nếu có thì tách theo trường hợp nào? Ta có ba trường hợp tách.
47
Trường hợp 1: Tách vì đa trị
Để xác định thuộc tính này là đơn trị hay đa trị, ta đặt câu hỏi: Mỗi phần tử của thực thể nếu có giá trị tại thuộc tính này thì có tối đa bao nhiêu giá trị?
Nếu có tối đa là nhiều giá trị thì kết luận thuộc tính này là đa trị. Nếu thuộc tính đa trị thì ta tách thuọc tính ấy thành một thực thể độc lập. Ngược lại, ta xét tiếp các trường hợp sau.
48
Trường hợp 2: Tách vì thuộc tính chuyên biệt
Để xác định thuộc tính này có phải là chuyên biệt, ta đặt câu hỏi: Có phải chỉ có một số phần tử của thực thể có giá trị tại thuộc tính này không? Nếu có thì có giá trị thêm tại một số thuôc tính khác nữa không?
Nếu trả lời có thì tách thuộc tính ấy thành một thực thể chuyên biệt hóa.
49
Trường hợp 3 : Tách vì trùng lắp thông tin
Để xác định thuộc tính này có trùng lắp thông tin hay không, ta đặt câu hỏi: Tập họp thuộc tính này có bao nhiêu giá trị? Mỗi gia trị có phải kiểu text không? Mọi giá trị có lặp đi lặp lại nhiều lần không?
Nếu cả ba đều trả lời có thì ta tách thuộc tính ấy thành một thực thể độc lập.
Khi một thuộc tính không thuộc một trong bốn trường hợp trên thì ta không tách thuộc tính khỏi thực thể.
50
1. Mục đích
Mô hình tổ chức dữ liệu của hệ thống là lược đồ cơ sở dữ liệu của hệ thống. Đây là bước trung gian chuyển đổi giữa mô hình quan niệm dữ liệu (gần với người sử dụng) và mô hình vật lý dữ liệu (mô hình trong máy tính), chuẩn bị cho việc cài đặt hệ thống.
II. MÔ HÌNH MỔ CHỨC DỮ LIỆU
51
2. Quy tắc chuyển đổi
Khi chuyển đổi từ mô hình quan niệm dữ liệu sang mô hình tổ chức dữ liệu ta tuân theo các quy tắc sau:
52
a. Chuyển đổi một thực thể thành một lược đồ quan hệ
Quy tắc 1: Biến một thực thể thành lược đồ quan hệ
Mỗi thực thể trong mô hình quan niệm dữ liệu được biến thành một lược đồ quan hệ, với tên, thuộc tính, khóa là tên, thuộc tính, khóa của thực thể và có thể có thêm thuộc tính khóa ngoại nếu có.
53
Quy tắc khóa ngoại:
Các thực thể tham gia vào mối kết hợp hai ngôi có cặp bản số (1,1) (1,n) thì lược đồ quan hệ sinh ra từ thực thể ở nhánh (1,1) nhận thuộc tính khóa của thực thể ở nhánh (1,n) làm khóa ngoại.
54
Ví dụ: Ta có hai thực thể và mối kết hợp:
Ta đổi thành hai lược đồ quan hệ sau:
TỈNH(Mã tỉnh, Tên tỉnh)
HUYỆN(Mã huyện, Tên huyện,
55
HUYỆN là lược đồ quan hệ được sinh ra từ thực thể HUYỆN tham gia vào mối kết hợp hai ngôi (1,1) (1,n) ở nhánh (1,1) nên nó nhận thuộc tính khóa Mã tỉnh, là khóa của thực thể TỈNH ở nhánh (1,n) làm khóa ngoại.
Trong lược đồ quan hệ, thuộc tính khóa được gạch dưới liền nét, thuộc tính khóa ngoại được gạch dưới không liền nét.
56
Các trường hợp đặc biệt:
Nếu một thực thể chỉ có một thuộc tính và nó có mối kết hợp hai ngôi có các bản số (1,n) (1,n) với một thực thể khác thì nó không biến thành một lược đồ quan hệ mà thuộc tính đó sẽ trở thành một thuộc tính của lược đồ quan hệ sinh ra từ mối kết hợp hai ngôi.
57
Ví dụ: Trong bài toán quản lý công chức: Thực thể ĐIỆN THOẠI không biến thành một lược đồ quan hệ.
Mối kết hợp CC-ĐT biến thành một lược đồ quan hệ:
CC-ĐT(Mã công chức, Số điện thoại)
58
Trong trường hợp giữa hai thực thể có hai mối kết hợp hai ngôi (1,1) (1,n) thì lược đồ quan hệ sinh ra từ thực thể ở nhánh (1,1) hai lần nhận thuộc tính khóa của thực thể ở nhánh (1,n) làm khóa ngoại, do đó ta phải đổi tên thuộc tính khóa ngoại sao cho phù hợp với ý nghĩa của mối kết hợp để trong một lược đồ quan hệ không có hai thuộc tính trùng tên. Tuy nhiên trong các quan hệ định nghĩa trên lược đồ quan hệ này, giá trị tại hai thuộc tính mới cũng lấy giá trị từ thuộc tính khóa của quan hệ định nghĩa trên lược đồ quan hệ sinh ra từ thực thể ở nhánh (1,n).
59
Ví dụ: Trong bài toán quản lý bán vé máy bay ta có mô hình sau, có hai mối kết hợp giữa LỊCH BAY và SÂN BAY:
(1,n)
(1,n)
(1,1)
(1,1)
LỊCH BAY
- Mã chuyến bay
- Khoảng cách
- Ngày bay
Giờ bay
Thời gian bay
SÂN BAY
- Mã sân bay
- Tên sân bay
- Thành phố
SB ĐI
SB ĐẾN
60
Ta đổi thành hai lược đồ quan hệ sau với thuộc tính Mã sân bay được đổi thành: Mã sân bay đi, Mã sân bay đến.
LỊCH BAY(Mã chuyến bay, Khoảng cách, Ngày bay, Giờ bay, Thời gian bay, Mã sân bay đi, Mã sân bay đến)
SÂN BAY(Mã sân bay, Tên sân bay,Thành phố)
Giá trị của hai thuộc tính Mã sân bay đi, Mã sân bay đến trong LỊCH BAY được lấy trong thuộc tính Mã sân bay của SÂN BAY.
61
Quy tắc 2: Biến thực thể chuyên biệt hóa thành lược đồ quan hệ
Một thực thể chuyên biệt hóa trong mô hình quan niệm dữ liệu được biến thành một lược đồ quan hệ, với tên là tên của thực thể chuyên biệt hóa, có các thuộc tính là thuộc tính của thực thể chuyên biệt hóa và nhận thuộc khóa của thực thể cha của chuyên biệt hoá làm khóa.
62
Ví dụ: Với mô hình quan niệm dữ liệu:
ĐV-T
BĐ-BC
BĐ-CB
(1,1)
(1,1)
(1,n)
(1,n)
(1,n)
(1,1)
63
Biến thành các lược đồ quan hệ:
BINH CHỦNG (Mã B chủng, Tên B chủng)
CẤP BẬC (Mã cấp bậc, Tên cấp bậc)
BỘ ĐỘI (Mã nhân viên, Ngày N ngũ, Ngày X ngũ, Mã B chủng, Mã cấp bậc )
ĐẢNG VIÊN (Mã nhân viên, Ngày VĐ, Ngày CT, Mã tỉnh)
TỈNH (Mã tỉnh, Tên tỉnh)
NHÂN VIÊN (Mã nhân viên, Họ nhân viên, Tên nhân viên, Ngày sinh)
64
b. Chuyển đổi một mối kết hợp thành lược đồ quan hệ
Qui tắc 3: Một mối kết hợp hai ngôi có cặp bản số (1,1) (1,n) KHÔNG biến thành một lược đồ quan hệ.
65
Qui tắc 4: Một mối kết hợp hai ngôi có cặp bản số (1,n) (1,n) hay mối kết hợp nhiều hơn hai ngôi (không phân biệt bản số) được biến thành một lược đồ quan hệ, có tên và thuộc tính là tên và thuộc của mối kết hợp, nhận các thuộc tính khóa của tất cả các thực thể tham gia vào mối kết hợp làm thuộc tính khóa.
66
Ví dụ: ĐKMH có ý nghĩa: Một sinh viên có thể đăng ký nhiều môn học và ngược lại một môn học có nhiều sinh viên đăng ký.
67
Ví dụ: ĐKMH có ý nghĩa: Một sinh viên có thể đăng ký nhiều môn học và ngược lại một môn học có nhiều sinh viên đăng ký.
(1,n)
(1,n)
ĐĂNG KÝ MÔN HỌC
SINH VIÊN
- Mã sinh viên
- Họ sinh viên
- Tên sinh viên
MÔN HỌC
- Mã môn học
- Tên môn học
ĐKMH biến thành một lược đồ quan hệ sau:
ĐKMH(Mã sinh viên, Mã môn học)
68
ĐẶT HÀNG được biến thành một lược đồ quan hệ như sau:
ĐẶTHÀNG(Mã ĐĐH, Mã hàng, Số lượng ĐH, Đơn giá ĐH, Ngày giao)
(1,n)
(1,n)
ĐẶT HÀNG
- Số lượng ĐH
- Đơn giá ĐH
- Ngày giao
ĐĐ HÀNG
- Mã ĐĐH
- Ngày ĐH
- Tiền cọc
MẶT HÀNG
- Mã hàng
- Tên hàng
…
69
Qui tắc 5: Một mối kết hợp phản xạ (không phân biệt bản số) biến thành một lược đồ quan hệ, có tên và thuộc tính là tên và thuộc tính của mối kết hợp, nhận hai thuộc tính có tên mới tùy theo ý nghĩa của mối kết hợp mà nó sẽ lấy giá trị của thuộc tính khóa của thực thể sinh ra mối kết hợp này làm khóa.
ANH EM
VỢ CHỒNG
- Ngày cưới
(1,1)
(1,n)
70
Ví dụ: Mối kết hợp ANH EM, VỢ CHỒNG trong mô hình sau được biến thành các lược đồ quan hệ:
ANH EM(Mã anh, Mã em),
VỢ CHỒNG(Mã vợ, Mã chồng, Ngày cưới)
Trong đó giá trị của Mã anh, Mã em được lấy trong thuộc tính Mã HS trong quan hệ HỌC SINH. Mã vợ, Mã chồng có giá trị được lấy trong thuộc tính Mã CC của quan hệ CÔNG CHỨC.
71
Qui tắc 6: Một mối kết hợp sinh ra từ một mối kết hợp khác (không phân biệt bản số) được biến thành một lược đồ quan hệ, có tên và thuộc tính là tên và thuộc tính của mối kết hợp, nhận một số thuộc tính khóa của lược đồ quan hệ sinh ra từ mối kết hợp sinh ra mối kết hợp sinh ra nó làm thuộc tính khóa. Nếu mối kết hợp này cũng được sinh ra từ một thực thể khác thì lược đồ quan hệ cũng nhận thuộc tính khoá của thực thể làm thuộc tính khoá.
72
Ví dụ: Với mô hình:
ĐẶT HÀNG (Maõ Ñ Ñ H, Maõ haøng,Số lượng ĐH, …
XUẤT HÀNG(Mã ĐĐH, Mã hàng, Mã PXH, Mã kho, Số lượng XH, Đ giá XH, Ngày XH)
THANH TOÁN(Mã PXH, Mã Phiếu TT, Ngày TT, Số tiền TT)
73
c. Chuẩn hoá của các lược đồ quan hệ
c.1) Xác định khóa: Đối với những lược đồ quan hệ sinh ra từ các thực thể thì chỉ có một thuộc tính khóa nên thuộc tính này chính là khóa của lược đồ quan hệ.
Đối với những lược đồ quan hệ sinh ra từ các mối kết hợp thì nó có nhiều thuộc tính khóa nên tập họp các thuộc tính này chỉ là siêu khóa. Dựa vào các phụ thuộc hàm trong bài toán để xác định định khóa của lược đồ này.
74
Ví dụ: Trong mô hình quan niệm dữ liệu của bài toán quản lý công chức và tiền lương, CÔNG CHỨC – GIA THUỘC là mối kết hợp 3 ngôi, theo quy tắc 4 thì khi chuyển đổi, lược đồ quan hệ trong mô hình tổ chức dữ liệu phải nhận cả 3 thuộc tính khóa của 3 thực thể tương ứng làm khóa:
75
CC-GT(Mã CC, Mã gia thuộc, Mã LGT). Tuy nhiên giữa một công chức và một gia thuộc chỉ liên hệ với nhau bởi một loại gia thuộc duy nhất. Do đó, Mã LGT không thể là khóa. Khi xác định khóa của lược đồ quan hệ ta phải loại yếu tố khóa của thuộc tính Mã LGT như sau: CC-GT(Mã CC, Mã gia thuộc, Mã LGT).
Tương tự cho mối kết hợp CÙNG CƠ QUAN, Mã LGT không là thuộc tính khóa.
76
c.2) Chuẩn hoá lược đồ quan hệ
Một lược đồ quan hệ sinh ra từ một mối kết hợp có thể không đạt dạng chuẩn 3, ta áp dụng các phương pháp phân rã dữ liệu phân rã lược đồ này thành nhiều lược đồ có dạng chuẩn 3.
Ví dụ: Với lược đồ quan hệ:
ĐĐHÀNG(Mã ĐĐH, Mã khách hàng, Mã hàng, Ngày ĐH, Số lượng ĐH, Đơn giá ĐH, Ngày giao)
77
Ta có: Mỗi đơn đặt hàng chỉ cho một khách hàng và có một ngày đặt hàng, nghĩa là ta có phụ thuộc hàm: Mã ĐĐH Mã khách hàng, Ngày ĐH. Do đó ĐĐHÀNG không đạt dạng chuẩn 2. Ta tách lược đồ quan hệ này thành 2 lược đồ con như sau:
ĐẶTHÀNG(Mã ĐĐH, Mã khách hàng, Ngày ĐH)
CTĐẶTHÀNG(Mã ĐĐH, Mã hàng, Số lượng ĐH, Đơn giá ĐH, Ngày giao)
78
3. Mô hình tổ chức dữ liệu
Mô hình tổ chức dữ liệu hay còn gọi là mô hình cơ sở dữ liệu là toàn bộ các lược đồ quan hệ của bài toàn được biến đổi từ mô hình quan niệm dữ liệu theo các quy tắc chuyển đổi trên.
79
Ví dụ 1: Với mô hình quan niệm dữ liệu bài toán quản lý công chức - tiền lương ta có mô hình tổ chức dữ liệu như sau:
TỈNH(Mã tỉnh, Tên tỉnh)
HUYỆN(Mã huyện, Tên huyện, Mã tỉnh)
XÃ(Mã xã, Tên xã, Mã huyện)
ĐƯỜNG(Mã đường, Tên đường)
B CHỦNG(Mã BC ,Tên BC)
CẤP BẬC(Mã CB, Tên CB)
80
CC BINH(Mã CC, N nhập ngũ, N xuất ngũ, Mã BC, Mã CB)
ĐẢNG VIÊN(Mã CC , Ngày VĐ, Ngày CT, Mã tỉnh)
CHỨC VỤ(Mã CV, Tên CV)
CƠ QUAN(Mã CQ, Tên CQ)
NGHỀ(Mã nghề, Tên nghề)
LOẠI GT(Mã LGT, Tên LGT)
B LƯƠNG(Mã BL, Hệ số L, Mã NL)
NGẠCH(Mã NL, Tên NL, Số TLL)
81
15. KTKL(Mã KTKL, Tên KTKL)
16. LÝ DO(Mã LD, Tên LD)
17. NƯỚC(Mã nước, Tên nước)
18. CHUYÊN MÔN(Mã CM, Tên CM, Tg ĐT)
19. TRƯỜNG(Mã Tr, Tên Tr)
20. NG NGỮ( Mã NN, Tên NN)
82
VĂN HÓA(Mã TĐVH, Tên TĐVH)
TÔN GIÁO(Mã TG, Tên TG)
DÂN TỘC(Mã DT, Tên DT)
ĐƠN VỊ(Mã ĐV, Tên ĐV)
ĐCTT( Mã CC, Số nhà, Mã đường, Mã huyện)
ĐCNT( Mã CC, Mã xã)
83
27. CÔNG CHỨC( Mã CC, Họ CC, Tên CC, Giới tính, Ngày sinh, Đoàn viên, Ngày vào CQ, Ngày biên chế, Mã ĐV, Mã DT, Mã TG, Mã TĐVH, Mã huyện, Mã CV)
28. GIA THUỘC( Mã gia thuộc, Họ tên GT, Ngày sinh GT, Mã CV, Mã CQ, Mã nghề)
29. PHÉP (Mã CC, Mã Tỉnh, Ngày BĐ, Ngày KT)
30. SĐT(Mã CC. Số ĐT)
31. CC-NN(Mã CC, Mã NN, Cấp độ)
84
CC-CM(Mã CC, Mã Tr, Mã CM, Loại CC, Ngày BĐĐT, Ngày KTĐT)
CC-ĐNN(Mã CC, Mã nước, Mã LD, Ngày đi, Ngày về)
CC-KTKL(Mã CC, Mã KTKL, Mã LD, Ngày KTKL, Ngày TKL)
CC-QTL(Mã CC, Mã BL, Ngày LL)
CC-GT(Mã CC, Mã gia thuộc, Mã LGT)
CÙNG CƠ QUAN(Mã CC1, Mã CC1, Mã LGT)
85
TỈNH(Mã tỉnh, Tên tỉnh)
HUYỆN(Mã huyện, Tên huyện, Mã tỉnh)
XÃ(Mã xã, Tên xã, Mã huyện)
ĐẢNG VIÊN(Mã CC , Ngày VĐ, Ngày CT, Mã CB)
CHI BỘ(Mã C bộ, Tên C bộ)
B LƯƠNG(Mã BL, Hệ số L, Mã NL)
Ví dụ 2: Với mô hình quan niệm dữ liệu bài toán QUẢN LÝ BỆNH VIỆN ta có mô hình tổ chức dữ liệu như sau:
86
7. NLƯƠNG (Mã NL, Tên NL, Số TLL)
8. NƠI KB(Mã NKB, Tên NKB)
9. CƠ QUAN(Mã CQ, Tên CQ, ĐTCQ, Fax CQ)
10. Đ TƯỢNG(Mã ĐT, Tên ĐT)
11. ĐCNTBN(Mã bệnh nhân, Mã xã)
12. ĐCTTBN(Mã bệnh nhân, Số nhà BN, Mã đường, Mã huyện)
87
CÁN BỘ(Mã bệnh nhân, Mã CQ)
C CHỨC(Mã nhân viên, Ngày vào BC)
BỆNH NHÂN(Mã bệnh nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày sinh BN, Giới tính BN, Mã ĐT)
BH Y TẾ(Mã bệnh nhân, Số TBHYT, Ngày bắt đầu, Ngày K thúc, Phần trăm, Mã NKB)
NƠI ĐT(Mã NĐT, Tên NĐT)
ĐƯỜNG(Mã đường, Tên đường)
88
19. Đ VỊ(Mã ĐV, Tên ĐV)
20. D TỘC(Mã DT, Tên DT)
21. T GIÁO(Mã TG, Tên TG)
22. C MÔN(Mã CM, Tên CM)
23. T ĐỘ (Mã T độ, Tên T độ)
24. C VỤ(Mã CV, Tên CV)
25. N NGỮ( Mã NN, Tên NN)
89
LHĐT(Mã LHĐT, Tên LHĐT)
HỢP ĐỒNG(Mã nhân viên, Số hợp đồng, Ngày bắt đầu, Mức lương, Mã người ký HĐ)
VỊ TRÍ KB(Mã VTKB, Tên VTKB)
THUỐC( Mã thuốc, Tên thuốc)
D VỤ( Mã DV, Tên DV)
90
31. NHÂN VIÊN(Mã nhân viên, Họ nhân viên, Tên nhân viên, Ngày sinh, Giới tính, Số nhà, Mã huyện, Mã đường, Mã ĐV, Mã DT, Mã TG,Mã CM, Mã TĐ, Mã CV, Mã LHĐT)
32. QTL( Mã nhân viên, Mã BL, Ngày)
33. NV-NN( Mã nhân viên, Mã NN, Cấp độ)
34. K-BỆNH( Mã bệnh nhân, Mã nhân viên, Mã VTKB, Ngày KB)
91
BỆNH ÁN( Mã BA, Mã bệnh nhân, Mã NĐT, Ngày vào, Ngày ra, ĐG phòng)
Đ THUỐC( Mã BA, Mã thuốc, Lần DT, SLT2, ĐGT2)
TRẢTIỀN-DT( Mã BA, Mã PTTDT, Số tiền DT)
DÙNG DV( Mã BA, Mã DV, Lần DV, ĐGDV)
TRẢ TIỀN-DV( Mã BA, Mã TTDV, Số tiền DV)
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Ngọc Lan
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)