Biết được vị thế của hệ thống thông tin và vận dụng được kiến thức này vào công việc sẽ tạo cho người dùng cơ hội thành công trong nghề nghiệp, cơ quan, tổ chức đạt được mục tiêu và xã hội có chất lượng cuộc sống cao hơn
Trang 1Chương 4THIẾT KẾ DỮ LIỆU
Trang 2I 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
Trang 3Mô 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
Trang 41.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 ,
Trang 5Mộ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
Trang 6Giữ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.
Trang 71.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ý
Trang 8Mộ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
Trang 9Ngườ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ể
TÊN THỰC
THỂ
-Thuộc tính 1 -Thuộc tính 2
- … -Thuộc tính N
Trang 10Ví 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
Trang 11t=(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.
Trang 12Theo 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ể.
Trang 13Ví dụ 1:
Được đổi thành
THÍ SINH
Số BD
Họ TS Tên TS Điểm M1 Điểm M2 Điểm M3
Tổng SĐ Kết quả
Được đổi thành
THÍ SINH
Số BD
Họ TS Tên TS Điểm M1 Điểm M2 Điểm M3
Trang 14b) 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
Trang 15Ví 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
Trang 16CÔNG CHỨC
Mã công chức
Họ CC Tên CC
Trang 19Ví 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.
NHÂN VIÊN
Mã nhân viên
Họ nhân viên Tên nhân viên
Trang 21Thì 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:
Trang 22Mã tỉnh Tên tỉnh
ĐƠN VỊ
Mã đơn vị Tên đơn vị
Huyện Tỉnh
- Đơn vị
Trang 23Nguyê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.
Trang 24Thì 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ể
Trang 25Ví 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
Trang 26Thuộ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ũ
Trang 27NHÂN VIÊN
Mã nhân viên
Họ nhân viên Tên nhân viên Ngày sinh NV
ĐVIÊN
Ngày VĐ Ngày CT
TỈNH
Mã tỉnh Tên tỉnh
ĐV-T
BỘ ĐỘI
Ngày NN Ngày XN
Trang 28Như 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ũ.
Trang 29Mố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ể
Trang 31-Mã Môn học
-Tên môn học -Số ĐVHT
THI
- Lần thi
- Điểm
Trang 32Ví 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
MIỄN THI
Trang 33b 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
Trang 34dù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
Trang 35Một sinh viên học tối thiểu là 1 môn học, tối
nhiều môn
học được
thiểu bởi 1 sinh viên, tối đa là nhiều sinh viên.
- Mã MH
- Tên Mh
Trang 36d 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ạ,
MỐI KH
TÊN THỰC THỂ
- Thuộc tính 1
- Thuộc tính 2 …
Trang 37ANH EM (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
HỌC SINH
- Mã HS
- Tên HS
Trang 382) 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.
Trang 403) 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:
Trang 41Ví 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:
MẶT HÀNG
Mã hàng …
BĐ GIA
-Ngày -Đơn giá (1,n)
Trang 42Khi thiết kế mô hình quan niệm dữ liệu, ta phải tuân theo các quy tắc sau:
Trang 44b 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ó
Trang 45Bướ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
Trang 46Bướ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
Trang 48Nế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
Trang 49Trườ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ể
Trang 501 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
Trang 512. 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:
Trang 52Mỗ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ó
Trang 53Quy 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
Trang 55HUYỆ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
Trang 56đó 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.
Trang 57Ví 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
Trang 58Trong 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)
Trang 59Ví 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)
Trang 60Ta đổ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.
Trang 62(1,n) (1,1)
Trang 63viên, Tên nhân viên, Ngày sinh)
Trang 65Qui 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.
Trang 66Ví 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ý.
Trang 67Ví 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ý
ĐKMH biến thành một lược đồ quan hệ sau:
ĐKMH(Mã sinh viên, Mã môn học)
Trang 68- Mã hàng
- Tên hàng
…
Trang 69Qui 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)
Trang 71mố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á.
Trang 72lượng XH, Đ giá XH, Ngày XH)
THANH TOÁN(Mã PXH, Mã Phiếu TT, Ngày TT, Số tiền
TT)
Trang 73c 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.
Trang 74Ví 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:
Trang 75CC-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
Trang 76c.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 đồ
Trang 77Ta 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: