Mô hình CSDL Mô hình CSDL là phương thức biểu diễn các dữ liệu, giúp cho việc tổ chức các dữ liệu thuận tiện cho việc thiết kế, lưu trữ, xử lý CSDL dựa trên các tập hợp và phép toán
Trang 1Mô hình thực thể-liên kết (Entity-relationship model)
Trang 2Mô hình CSDL
Mô hình CSDL là phương thức biểu diễn các dữ liệu, giúp cho việc tổ chức các dữ liệu thuận tiện cho việc thiết kế, lưu trữ, xử lý
CSDL dựa trên các tập hợp và phép toán
Mô hình phân lớp (hierarchical model)
Mô hình mạng (network model)
Mô hình quan hệ (relational model)
Mô hình thực thể-liên kết (entity-relationship model)
Mô hình hướng đối tượng (object model)
Mô hình XML – bán cấu trúc (semi-structural model)
Trang 4Thực thể (entity)
Là các vật, đối tượng (cụ thể hoặc trừu tượng) trong thế giới thực
VD: một người, một bài hát, một bức ảnh, một trò chơi,…
Tập thực thể: là nhóm các thực thể cùng loại với nhau
VD: người, bài hát, bức ảnh, trò chơi,…
Một CSDL thường chứa rất nhiều giá trị của các đối
tượng (thực thể) thuộc kiểu (tập thực thể) giống nhau
VD:
Một lớp có rất nhiều sinh viên
Một sổ danh bạ có thông rất nhiều người
Trang 5Thuộc tính (attribute)
Là các tính chất đặc trưng của thực thể nào đó
Người có tên, tuổi, cân nặng, số CMT,…
Bài hát có tên, nội dung, tác giả, năm sáng tác,…
Mỗi thuộc tính có một miền giá trị
Tên người là chuỗi ký tự
Tuổi là số nguyên dương
Nếu thực thể chưa có giá trị của thuộc tính nào đó thì gọi giá trị
của thuộc tính đó là null
Thuộc tính khoá (key): là thuộc tính mà giá trị của nó là
duy nhất cho mỗi thực thể (không tồn tại hai thực thể có cùng giá trị của thuộc tính khoá)
VD: số CMT là duy nhất với mỗi người
Trang 6Biểu diễn thực thể và thuộc tính bằng sơ đồ
thực thể
thuộc tính suy diễn
thuộc tính đơn trị thuộc tính đa trị
thuộc tính khoá
thuộc tính phức hợp
thuộc tính con
thuộc tính con
Trang 9
Các kiểu thuộc tính
Thuộc tính đơn và phức hợp:
Thuộc tính đơn: giá trị không thể phân chia nhỏ hơn
VD: cân nặng của người, chiều cao của toà nhà,…
Thuộc tính phức hợp: giá trị có thể tách thành các thành phần nhỏ hơn
VD: tên của một người gồm có họ, tên đệm, tên
Lượng giá trị:
Thuộc tính đơn trị: là thuộc tính chỉ có một giá trị
VD: tên, tuổi của người
Thuộc tính đa trị: là thuộc tính có thể có nhiều giá trị
VD: số điện thoại của một cá nhân (có thể có 0, 1, hay nhiều)
Thuộc tính lưu trữ và suy diễn:
Thuộc tính lưu trữ: là thuộc tính mà giá trị được lưu trong CSDL
Thuộc tính suy diễn: là thuộc tính được tính toán từ một hoặc nhiều thuộc tính lưu trữ khác, giá trị của nó không được lưu trong CSDL
VD: năm sinh của một người được lưu trong CSDL, còn tuổi của người đó
được tính toán từ năm sinh
Trang 10 Bài hát được dịch sang một ngôn ngữ (2 tập thực thể)
Về mặt toán học: liên kết là quan hệ toán học trên
Trang 15Liên kết đệ quy
Là liên kết mà các tập thực thể là một (các thực thể cùng kiểu có quan hệ với nhau)
Trang 16Thực thể hay thuộc tính
Tuỳ trong từng bài toán cụ thể, mỗi khái niệm có thể được thiết kế trong CSDL là thuộc tính hoặc một
thực thể, để:
Thuận tiện trong quan niệm
Thuận tiện trong sử dụng CSDL
Trang 17Ví dụ thực thể/thuộc tính
người địa chỉ
Trang 18Thuộc tính của liên kết
Liên kết cũng có thể có thuộc tính, tương tự như của thực thể
Thực chất là việc chuyển một tập thực thể trong liên kết thành thuộc tính
Trang 19Thực thể yếu (weak entity)
Là thực thể không có thuộc tính khoá (ngược lại: thực thể mạnh –
strong entity)
Một thực thể yếu thường được xác định thông qua việc liên kết với một thực thể khác Liên kết này được coi là liên kết để xác định thực thể yếu
VD: mỗi bài hát trong một đĩa nhạc có số thứ tự khác nhau, nhưng các bài hát trong các đĩa nhạc khác nhau có thể có cùng số thứ tự
Bài hát trong trường hợp này là thực thể yếu
Muốn xác định bài hát, cần xác định đĩa nhạc cụ thể
Biểu diễn trên sơ đồ:
liên kết
Trang 20Đặc điểm của mô hình ER
Mô hình ER không phải là duy nhất cho mỗi bài
toán, mà mang tính chủ quan của người thiết kế
Các lựa chọn thay thế nhau được:
Thực thể thuộc tính
Thực thể liên kết
Liên kết hai ngôi ba hay nhiều ngôi
…
Trang 21Bài tập
Biểu diễn các tập thực thể (với các thuộc tính và liên kết kèm theo) sau bằng mô hình ER:
1 Giáo viên, sinh viên, khoá học, môn học, lớp học
2 Công ty, nhân viên, dự án, chi nhánh
3 Thư viện, người đọc, sách