Chương 3Thành phần dữ liệu ở mức quan niệm và logic... Mục tiêuHiểu rõ, mô tả lại toàn bộ dữ liệu của hệ thống Chuẩn bị cho việc cài đặt thành phần dữ liệu trong hệ thống Đưa ra c
Trang 1………… o0o…………
Bài giảng: Thành phần dữ liệu ở mức
quan niệm và logic
Trang 2Chương 3
Thành phần dữ liệu ở mức
quan niệm và logic
Trang 3Nội dung
Mô hình dữ liệu quan niệm
Mô hình dữ liệu logic
Mô hình dữ liệu vật lý
Trang 4Mục tiêu
Hiểu rõ, mô tả lại toàn bộ dữ liệu của hệ thống
Chuẩn bị cho việc cài đặt thành phần dữ liệu trong hệ thống
Đưa ra các mô hình dữ liệu
ü Mô hình dữ liệu quan niệm
ü Mô hình dữ liệu logic
ü Mô hình dữ liệu vật lý
3
liệu ở mức quan niệm và
logic
Trang 5Mục tiêu
Trang 6Mô hình dữ liệu
Một tập hợp các khái niệm được dùng để diễn tả tập các đối tượng dữ liệu cũng như những mối quan hệ giữa chúng trong hệ thống thông tin cần tin học hóa
Các khái niệm trong một mô hình dữ liệu được xây
dựng bởi cơ chế trừu tượng hóa và mô tả bằng ngôn ngữ hay biểu diễn đồ họa
5
liệu ở mức quan niệm và
logic
Trang 7Mô hình dữ liệu quan niệm
Mục tiêu
Mô tả thành phần dữ liệu của hệ thống (các thực thể/đối tượng
dữ liệu và quan hệ của chúng)
Độc lập với mọi hệ quản trị CSDL và cách thức sử dụng nó
Tiêu biểu: Mô hình thực thể kết hợp (Entity Relationship Diagram
- ERD) do Chen đề xuất năm 1976 (“The entity-relationships
model - Toward a unified view of data”)
Trang 8Mô hình thực thể kết hợp (ERD - Entity Relationship Diagram)
Thực thể
Thuộc tính
Mối kết hợp
Thực thể kết hợp
7
liệu ở mức quan niệm và
logic
Trang 9Thực thể
Thực thể (entity) là một khái niệm để chỉ một lớp các đối tượng của thế giới thực hay các khái niệm độc lập
có cùng những đặc trưng chung cần quan tâm
Ví dụ: Thực thể Sinh viên
Thể hiện (instance) của một thực thể là một trường
hợp cụ thể của một thực thể
Ví dụ: Sinh viên Nguyễn Văn An là thể hiện của thực thể Sinh viên
Sinh viên
Trang 10ngànhĐịa chỉ
9
liệu ở mức quan niệm và
logic
Trang 11Phân loại thuộc tính
Thuộc tính phức hợp / Thuộc tính đơn
Thuộc tính phức hợp là thuộc tính có thể phân nhỏ ra nhiều thành phần Thuộc tính đơn là thuộc tính không thể phân nhỏ ra thành những thành phần
Ví dụ
● Thuộc tính phức hợp: Địa chỉ (Số nhà, đường, quận, thành phố)
● Thuộc tính đơn: Thành phố
Địa chỉ
Trang 12Phân loại thuộc tính
Thuộc tính đơn trị / Thuộc tính đa trị
Thuộc tính đơn trị là thuộc tính chỉ có thể lấy một trị cho
một thể hiện của thực thể
Thuộc tính đa trị là thuộc tính có thể lấy nhiều hơn một trị cho một thể hiện của thực thể
Ví dụ
● Thuộc tính đơn trị: Tên sinh viên
● Thuộc tính đa trị: Số điện thoại
11
Tên sinh viên Số điện thoại
liệu ở mức quan niệm và
logic
Trang 13Phân loại thuộc tính
Thuộc tính lưu trữ / Thuộc tính dẫn xuất
Thuộc tính lưu trữ là thuộc tính là thuộc tính mà trị của nó phải được lưu lại vì không thể được suy ra từ các thuộc tính khác
Thuộc tính dẫn xuất là thuộc tính mà trị của nó có thể được suy ra từ các thuộc tính khác
Ví dụ
Trang 14Thuộc tính xác định, mô tả
Thuộc tính xác định (định danh): là một hoặc một vài thuộc tính xác định được những thể hiện riêng biệt của một thực thể
Ví dụ: Mã SV là thuộc tính xác định của thực thể Sinh viên
Thuộc tính mô tả: các thuộc tính của kiểu thực thể không phải là thuộc tính xác định
Ví dụ: Tên SV, Địa chỉ là thuộc tính mô tả của thực thể Sinh viên
13
Sinh viên
Mã SV Tên SV Địa chỉ
liệu ở mức quan niệm và
logic
Trang 15Mối kết hợp
Mối kết hợp là một sự liên hệ có ý nghĩa giữa các thực thể
Ví dụ: Hai thực thể Sinh viên và Môn học có một mối kết hợp là Đăng ký
Thể hiện của mối kết hợp là sự kết hợp giữa các thể hiện của các thực thể tham gia vào mối kết hợp đó
Ví dụ: Sinh viên Nguyễn Văn An đăng ký Môn học
PTTK-HTTT
Sinh viên đăng Môn học
ký
Trang 16Thuộc tính của mối kết hợp
Trong một số trường hợp, mối kết hợp có thể có thuộc tính riêng, không thuộc về riêng một thực thể nào
Ví dụ
Một sinh viên hệ tín chỉ có thể đăng ký một môn học nhiều lần
trong trường hợp chưa đạt Cần lưu trữ lại thông tin thời gian mỗi lần đăng ký của sinh viên Lúc này, thời gian là thuộc tính của mối quan hệ đăng ký.
Sinh viên đăng Môn học
ký
Thời gian
15
liệu ở mức quan niệm và
logic
Trang 17Bậc của mối kết hợp
Bậc của mối kết hợp là số thực thể tham gia vào mối kết hợp đó.
Có ba loại bậc phổ biến nhất
Mối kết hợp bậc một (một ngôi): Liên kết giữa các thể hiện của cùng một thực thể (đệ quy)
● Ví dụ: Nhân viên quản lý các Nhân viên khác
Nhân viên quản
lý
Trang 18Bậc của mối kết hợp
Mối kết hợp bậc hai (hai ngôi): mối kết hợp giữa hai thực thể
● Ví dụ: Sinh viên đăng ký Môn học
Mối kết hợp bậc ba (ba ngôi): mối kết hợp giữa ba thực thể
Ví dụ: Các Nhà cung cấp cung cấp các Sản phẩm cho các Công ty
Sinh viên đăng Môn học
17 5/12/2010
Trang 19Lượng số của mối kết hợp
Lượng số của mối kết hợp là số thể hiện của thực thể này có thể hoặc phải kết hợp với mỗi thể hiện của thực thể khác.
Trang 20Thực thể kết hợp
Thực thể kết hợp là một thực thể mà kết hợp những thể hiện của một hay nhiều thực thể và có chứa thêm một số thuộc tính riêng biệt.
Nên chuyển mối kết hợp thành thực thể kết hợp khi
Lượng số của mối kết hợp là nhiều - nhiều
Mối kết hợp có thể có thuộc tính xác định riêng
Mối kết hợp có một vài thuộc tính khác
Mối kết hợp sẽ tham gia vào mối kết hợp với các kiểu thực thể khác
19
liệu ở mức quan niệm và
logic
Trang 21Thực thể kết hợp
Ví dụ: Các Nhà cung cấp cung cấp các Sản phẩm
khác nhau cho các Công ty khác nhau Mỗi lần cung cấp có thể có thời gian, số lượng và giá khác nhau.
Nhà cung cấp
Công ty
Sản phẩm
Lịch cung cấp
Thời
Số lượng
Trang 22Thực thể mạnh, yếu
Thực thể mạnh: thực thể tồn tại độc lập với những
thực thể khác
Thực thể yếu: thực thể mà sự tồn tại của nó lệ thuộc vào một thực thể khác
Ví dụ: Nhân viên là thực thể mạnh, Thân nhân của
Nhân viên là thực thể yếu
Nhân viên có Thân nhân
21
liệu ở mức quan niệm và
logic
Trang 23Mô hình thực thể kết hợp mở rộng (EERD - Enhanced Entity Relationship Diagram)
Mối kết hợp siêu kiểu / kiểu con
Mô tả các ràng buộc toàn vẹn
Trang 24Mối kết hợp siêu kiểu / kiểu con
Siêu kiểu: là thực thể tổng quát có một mối liên kết với một hay nhiều kiểu con
Kiểu con: là sự phân nhóm từ một thực thể thành nhiều thực thể
Đặc trưng: các thực thể con thừa kế trị của mọi
thuộc tính thuộc về siêu kiểu
Nên dùng khi
Có các thuộc tính chỉ áp dụng cho một số thể hiện của thực thể
Có các mối quan hệ chỉ có sự tham gia của một số thể hiện của thực thể
23
liệu ở mức quan niệm và
logic
Trang 25Biểu diễn sự tổng quát hóa / chuyên biệt
hóa
Có 2 quá trình tư duy thường vận dụng khi xây dựng mối
kết hợp siêu kiểu / kiểu con
Tổng quát hóa
● Tạo một siêu kiểu chứa các thuộc tính và mối quan hệ lặp lại ở một số thực thể Các kiểu con chỉ
còn chứa thuộc tính và mối quan hệ riêng.
Chuyên biệt hóa
● Phân rã một thực thể thành các kiểu con chứa các thuộc tính và mối quan hệ riêng, chỉ giữ lại những điểm chung
Trang 26Phân loại mối kết hợp siêu kiểu /
kiểu con
Một thể hiện của siêu kiểu có bắt buộc phải là một thành viên của một kiểu con không?
Chuyên biệt hóa toàn phần: bắt buộc
● Ví dụ: Bệnh nhân phải là BN nội trú hoặc BN ngoại trú
Chuyên biệt hóa riêng phần: không bắt buộc
● Ví dụ: Phương tiện có thể không phải là Xe tải và
liệu ở mức quan niệm và
logic
Trang 27Phân loại mối kết hợp siêu kiểu / kiểu
con
Một thể hiện của siêu kiểu có thể đồng thời là thành viên của hai hay nhiều kiểu con không?
Phân ly: không thể
● Ví dụ: Bộ phận có thể có một phần là BP mua, một phần là BP tự làm
Trùng lặp: có thể
● Ví dụ: Nhân viên đã là NV lương tháng thì không thể là NV lương giờ
Bộ phận
BP mua BP tự làm
Nhân viên
NV lương tháng NV lương giờ
Trang 28Ràng buộc toàn vẹn ở mức quan
niệm
RBTV là những quy tắc kiểm tra nhằm đảm bảo tính
đúng đắn của dữ liệu khi thực hiện các thao tác thêm,
xóa, sửa
RBTV hỗ trợ thêm về khả năng diễn đạt ngữ nghĩa
trên mô hình thực thể kết hợp
Mô tả RBTV ở mức quan niệm bằng ngôn ngữ tự
nhiên
liệu ở mức quan niệm và
logic
Trang 29Các bước xây dựng mô hình thực thể
kết hợp
Xác định các thực thể
Xác định các mối kết hợp
Xác định các thuộc tính và gắn nó vào vị trí thích hợp
Xác định thuộc tính xác định cho mỗi thực thể
Xác định các cấu trúc siêu kiểu / kiểu con (nếu có)
Kiểm tra, hoàn chỉnh mô hình
Mô tả các ràng buộc toàn vẹn
Trang 30Mô hình dữ liệu logic
Mục tiêu
Mô tả dữ liệu bằng cách sử dụng những ký
hiệu tương ứng với mô hình dữ liệu mà nhiều
hệ quản trị CSDL xây dựng trên nó.
Tiêu biểu
Mô hình dữ liệu quan hệ (Relational Data Model)
do Codd đề xuất năm 1970 (“A relational model of
data for large relational databases”)
Các mô hình khác (SV tự tham khảo)
Mô hình dữ liệu phân cấp
Mô hình dữ liệu mạng
Mô hình dữ liệu hướng đối tượng
liệu ở mức quan niệm và
logic
Trang 31Mô hình quan hệ
Nền tảng cơ bản của mô hình quan hệ là khái niệm lý thuyết tập hợp trên các quan hệ
Một số khái niệm cơ bản (SV tự ôn)
Định nghĩa, tính chất của quan hệ
Trang 32Các bước chuyển đổi mô hình thực
thể kết hợp thành mô hình quan hệ
Bước 1: Chuyển đổi thực thể thông thường
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể Quan hệ
Thuộc tính đơn của thực
thể Thuộc tính của quan hệ
Thuộc tính xác định của
thực thể
Khóa chính của quan hệ
Thuộc tính phức hợp của
thực thể Các thuộc tính của quan hệ
Thuộc tính đa trị của thực
thể Quan hệ (khóa chính là sự kết hợp khóa chính của
quan hệ và thuộc tính đa trị)
31
liệu ở mức quan niệm và
logic
Trang 33Các bước chuyển đổi mô hình thực thể kết hợp thành mô hình quan hệ
Sinh viên (Mã SV, Tên SV, Số nhà, Đường, Quận, Thành phố)
Điện thoại_Sinh viên (Mã SV, Điện thoại)
Trang 34Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Bước 2: Chuyển đổi thực thể yếu
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể yếu Quan hệ (khóa chính là sự kết
hợp thuộc tính xác định của thực thể mạnh và thuộc tính xác định của chính nó)
33
liệu ở mức quan niệm và
logic
Trang 35Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
Nhân viên (Mã NV, Tên NV)
Thân nhân (Mã NV, Tên TN, Tuổi)
Trang 36Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Bước 3: Chuyển đổi mối kết hợp hai ngôi
Mối kết hợp 1-nhiều
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể Quan hệ
Mối kết hợp giữa các thực thể Thuộc tính xác định của thực thể phía 1 của mối kết
hợp chuyển thành khóa ngoại trong quan hệ ứng với phía nhiều
35
liệu ở mức quan niệm và
logic
Trang 37Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
Trang 38Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Bước 3: Chuyển đổi mối kết hợp hai ngôi
Mối kết hợp nhiều-nhiều
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể Quan hệ
Mối kết hợp giữa các thực
thể Quan hệ (khóa chính là sự kết hợp khóa chính của 2
quan hệ tương ứng với 2 thực thể tham gia vào kết hợp)
37
liệu ở mức quan niệm và
logic
Trang 39Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
Trang 40Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Bước 3: Chuyển đổi mối kết hợp hai ngôi
Mối kết hợp 1-1
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể Quan hệ
Mối kết hợp giữa các thực thể
Thuộc tính xác định của thực thể phía bắt buộc của mối kết hợp chuyển thành khóa ngoại trong quan hệ
ứng với phía không bắt buộc
39
liệu ở mức quan niệm và
logic
Trang 41Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Ví dụ
Là trưởng phòng
phòng
Tên phòng
Nhân viên (Mã NV, Tên NV)
Phòng ban (Mã phòng, Tên phòng, Mã TP)
Trang 42Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Bước 4: Chuyển đổi thực thể kết hợp
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể thông thường Quan hệ
Thực thể kết hợp không có
thuộc tính xác định riêng
Quan hệ (khóa chính là sự
kết hợp các khóa chính của các quan hệ ứng với các thực thể liên quan)
Thực thể kết hợp có thuộc
tính xác định riêng Quan hệ (khóa chính là thuộc tính xác định riêng)
41
liệu ở mức quan niệm và
logic
Trang 43Các bước chuyển đổi mô hình thực thể kết hợp thành mô hình quan hệ
Thời
Số lượng
Trang 44Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Bước 5: Chuyển đổi mối kết hợp một ngôi
Mối kết hợp 1-nhiều
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể Quan hệ
Mối kết hợp Thuộc tính xác định của
thực thể chuyển thành khóa ngoại trong quan hệ ứng với chính thực thể đó
43
liệu ở mức quan niệm và
logic
Trang 45Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
Trang 46Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Bước 5: Chuyển đổi mối kết hợp một ngôi
Mối kết hợp nhiều-nhiều
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể Quan hệ
Mối kết hợp Quan hệ (khóa chính là sự
kết hợp 2 thuộc tính lấy từ
khóa chính của quan hệ thứ
nhất)
45
liệu ở mức quan niệm và
logic
Trang 47Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
Trang 48Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Bước 5: Chuyển đổi mối kết hợp một ngôi
Mối kết hợp 1-1
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể Quan hệ
Mối kết hợp Thuộc tính xác định của
thực thể chuyển thành khóa ngoại trong quan hệ ứng với chính thực thể đó
47
liệu ở mức quan niệm và
logic
Trang 49Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
Trang 50Các bước chuyển đổi mô hình
thực thể kết hợp thành mô hình
quan hệ
Bước 6: Chuyển đổi mối kết hợp ba ngôi
Mô hình thực thể kết hợp Mô hình quan hệ
Thực thể thông thường Quan hệ
Mối kết hợp giữa các thực
SV tự đọc tài liệu tìm ví dụ
49
liệu ở mức quan niệm và
logic
Trang 51Các bước chuyển đổi mô hình thực thể kết hợp thành mô hình
quan hệ
Bước 7: Chuyển đổi mối kết hợp siêu kiểu / kiểu con
Mô hình thực thể kết hợp Mô hình quan hệ
Siêu kiểu Quan hệ
Kiểu con Quan hệ (khóa chính là
khóa chính của quan hệ
ứng với siêu kiểu)Các thuộc tính của siêu kiểu Các thuộc tính của quan hệ
ứng với siêu kiểuCác thuộc tính của kiểu con Các thuộc tính của quan hệ
ứng với kiểu con