02.ER Model.pdf

MÔ HÌNH THỰC THỂ
LIÊN KẾT - ER
Đề cương
 Tổng quan về quá trình thiết kế
 Mô hình thực thể-mối quan hệ
 Thuộc tính phức tạp
 Lập bản đồ Cardinalities
 Khóa chính
 Loại bỏ các thuộc tính dư thừa trong Entity Sets
 Giảm sơ đồ ER thành lược đồ quan hệ
 Các tính năng ER mở rộng
 Các vấn đề về thiết kế mối quan hệ thực thể
 Ký hiệu thay thế cho dữ liệu mô hình hóa
 Các khía cạnh khác của thiết kế cơ sở dữ liệu
Đề cương
 Các tính năng ER mở rộng
 Các vấn đề về thiết kế mối quan hệ thực thể
 Ký hiệu thay thế cho dữ liệu mô hình hóa
 Các khía cạnh khác của thiết kế cơ sở dữ liệu
Giai đoạn thiết kế
 Giai đoạn ban đầu -- mô tả đầy đủ nhu cầu dữ liệu của
những người sử dụng cơ sở dữ liệu tiềm năng.
 Giai đoạn thứ hai - chọn một mô hình dữ liệu
 Áp dụng các khái niệm của mô hình dữ liệu đã chọn
 Dịch các yêu cầu này thành một lược đồ khái niệm
của cơ sở dữ liệu.
 Một lược đồ khái niệm được phát triển đầy đủ chỉ ra
các yêu cầu chức năng của doanh nghiệp.
 Mô tả các loại hoạt động (hoặc giao dịch) sẽ được
thực hiện trên dữ liệu.
Các giai đoạn thiết kế (tt)
 Giai đoạn cuối -- Chuyển từ mô hình dữ liệu trừu tượng
sang triển khai cơ sở dữ liệu
 Thiết kế logic – Quyết định lược đồ cơ sở dữ liệu.
 Thiết kế cơ sở dữ liệu yêu cầu chúng ta tìm một
tập hợp các lược đồ quan hệ “tốt”.
 Quyết định kinh doanh – Chúng ta nên ghi lại
những thuộc tính nào trong cơ sở dữ liệu?
 Quyết định về khoa học máy tính – Chúng ta nên
có những lược đồ quan hệ nào và các thuộc tính
nên được phân phối như thế nào giữa các lược đồ
quan hệ khác nhau?
 Thiết kế vật lý – Quyết định bố cục vật lý của cơ sở
dữ liệu
Giải pháp thay thế thiết kế
Khi thiết kế lược đồ cơ sở dữ liệu, chúng ta phải đảm
bảo tránh được hai cạm bẫy chính:
Dự phòng: một thiết kế tồi có thể dẫn đến thông tin
lặp lại.
Biểu diễn thông tin dự phòng có thể dẫn đến sự
không nhất quán dữ liệu giữa các bản sao thông tin
khác nhau
Tính không đầy đủ: một thiết kế tồi có thể khiến một
số khía cạnh của doanh nghiệp trở nên khó khăn hoặc
không thể mô hình hóa được.
Tránh những thiết kế xấu là không đủ. Có thể có một số
lượng lớn các thiết kế tốt mà chúng ta phải chọn.
Phương pháp thiết kế
 Mô hình quan hệ thực thể (được trình bày trong chương
này)
Mô hình hóa một doanh nghiệp như một tập hợp các thực
thể và các mối quan hệ
 Thực thể: một “sự vật” hoặc “đối tượng” trong doanh
nghiệp có thể phân biệt với các đối tượng khác
 Được mô tả bởi một tập hợp các thuộc tính
 Mối quan hệ: một hiệp hội giữa một số thực thể
Được biểu diễn dưới dạng sơ đồ bằng sơ đồ mối quan hệ
thực thể:
 Lý thuyết chuẩn hóa (Chương 7)
Chính thức hóa những thiết kế nào là xấu và kiểm tra
chúng
Phác thảo của mô hình ER
Mô hình ER
Mô hình hóa cơ sở dữ liệu
• Chế độ dữ liệu ER được phát triển để hỗ trợ thiết kế cơ sở dữ liệu
bằng cách cho phép đặc tả sơ đồ doanh nghiệp đại diện cho cấu
trúc logic tổng thể của cơ sở dữ liệu.
• Mô hình dữ liệu ER sử dụng ba khái niệm cơ bản:
• Tập thực thể,
• Tập liên kết ,
• Tập thuộc tính.
• Mô hình ER cũng có một biểu diễn sơ đồ liên quan, sơ đồ ER , có
thể biểu thị cấu trúc logic tổng thể của cơ sở dữ liệu bằng đồ họa
Tập thực thể
• Một thực thể là một đối tượng tồn tại và có thể phân biệt được với các đối
tượng khác.
• Ví dụ: người cụ thể, công ty, sự kiện, nhà máy
• Một tập thực thể là tập hợp các thực thể cùng loại có chung thuộc tính.
• Ví dụ: tập hợp tất cả người, công ty, cây cối, ngày lễ
• Một thực thể được đại diện bởi một tập hợp các thuộc tính; nghĩa là các
thuộc tính mô tả được sở hữu bởi tất cả các thành viên của một tập thực
thể.
• Ví dụ:
instructor = (ID, name, salary )
course= (course_id, title, credits)
• Một tập con của các thuộc tính tạo thành khóa chính của tập thực thể; tức
là xác định duy nhất từng thành viên của tập hợp.
Tập thực thể -- instructor và student
Biểu diễn cho các tập Thực thể trong Sơ đồ ER
 Các tập thực thể có thể được biểu diễn bằng đồ họa như sau:
• Hình chữ nhật đại diện cho tập thực thể.
• Các thuộc tính được liệt kê bên trong hình chữ nhật thực
thể
• Gạch dưới chỉ ra các thuộc tính khóa chính
Tập liên kết
• Một liên kết là một quan hệ giữa một số thực thể
Ví dụ:
44553 (Peltier) advisor 22222 (Einstein)
student entity relationship set instructor entity
• Một tập liên kết là một quan hệ toán học giữa n  2 thực
thể, mỗi thực thể lấy từ tập thực thể
{( e 1 , e 2 , … e n ) | e 1  E 1 , e 2  E 2 , …, e n  E n }
trong đó ( e 1 , e 2 , …, e n ) là một quan hệ
• Ví dụ:
(44553,22222)  advisor
Tập liên kết(Tiếp theo)
 Ví dụ: chúng tôi xác định tập liên kết “advisor” để biểu thị
mối liên hệ giữa “student” và “instructor” đóng vai trò là cố
vấn của họ.
 Bằng hình ảnh, chúng tôi vẽ một đường thẳng giữa các thực
thể liên quan.
Đại diện cho các tập liên kết thông qua sơ đồ ER
 Hình thoi đại diện cho các tập liên kết.
Tập liên kết(Tiếp theo)
• Một thuộc tính cũng có thể được liên kết với một tập liên
kết.
• Chẳng hạn, liên kết “advisor “ được thiết lập giữa tập thực
thể “instructor” và “student“ có thể có thuộc tính date theo
dõi thời điểm sinh viên bắt đầu được liên kết với cố vấn
instructor
student
76766 Crick
Katz
Srinivasan
Kim
Singh
Einstein
45565
10101
98345
76543
22222
98988
12345
00128
76543
44553
Tanaka
Shankar
Zhang
Brown
Aoi
Chavez
Peltier
3 May 2008
10 June 2007
12 June 2006
6 June 2009
30 June 2007
31 May 2007
4 May 2006
76653
23121
Tập liên kết với các thuộc tính
Roles
• Các tập thực thể của một liên kết không cần phải khác biệt
• Mỗi lần xuất hiện của một tập thực thể đóng một “vai trò”
trong liên kết
• Các nhãn “ course_id ” và “ prereq_id ” được gọi là roles.
Bậc của một tập liên kết
• Mối liên kết nhị phân
• Liên quan đến hai tập thực thể (hoặc mức độ hai).
• Hầu hết các bộ liên kết trong một hệ thống cơ sở dữ
liệu là nhị phân.
• Liên kết giữa nhiều hơn hai tập thực thể là rất hiếm. Hầu
hết các liên kết là nhị phân. (Thêm về điều này sau.)
• Ví dụ: sinh viên làm việc trong các dự án nghiên cứu
dưới sự hướng dẫn của giảng viên .
• Liên kết proj_guide là quan hệ ba chiều giữa instructor,
student, và project
Tập liên kết không nhị phân (ternary)
• Hầu hết các bộ liên kết là nhị phân
• Có những trường hợp thuận tiện hơn khi biểu diễn các
mối liên kết dưới dạng không nhị phân.
• Sơ đồ ER với liên kết ternary
Thuộc tính phức tạp
• Các loại thuộc tính:
• Thuộc tính đơn và tổng hợp .
• Tính đơn trị và đa trị
• Ví dụ: thuộc tính đa trị: phone_numbers
• Tính dẫn xuất
• Có thể được tính toán từ các thuộc tính khác
• Ví dụ: age, date_of_birth
• Miền– tập hợp các giá trị được phép cho từng thuộc tính
Thuộc tính tổng hợp
• Các thuộc tính tổng hợp cho phép chúng ta chia các
thuộc tính thành các phần con (các thuộc tính khác).
name address
first_name middle_initial last_name street city state postal_code
street_number street_name apartment_number
composite
attributes
component
attributes
Biểu diễn cho các thuộc tính phức tạp trong sơ
đồ ER
Ánh xạ các ràng buộc lực lượng
• Biểu thị số lượng thực thể mà một thực thể khác có thể
được liên kết thông qua một tập quan hệ.
• Hữu ích nhất trong việc mô tả các bộ quan hệ nhị phân.
• Đối với tập hợp quan hệ nhị phân, lực lượng ánh xạ
phải là một trong các loại sau:
• một đối một
• Một đến nhiều
• Nhiều đến một
• Nhiều nhiều
Lập bản đồ lực lượng
một đối một Một đến nhiều
Lưu ý: Một số phần tử trong A và B có thể không được ánh xạ tới bất kỳ
các phần tử trong tập hợp khác
Lập bản đồ lực lượng
Nhiều đến một Nhiều nhiều
Lưu ý: Một số phần tử trong A và B có thể không được ánh xạ tới bất kỳ
các phần tử trong tập hợp khác
Biểu diễn các ràng buộc lưc lượng trong sơ đồ ER
• Chúng ta thể hiện các ràng buộc về số lượng bằng cách
vẽ một đường có hướng ( ), biểu thị “một” hoặc một
đường vô hướng (—), biểu thị “nhiều” giữa tập quan hệ
và tập thực thể.
• Mối quan hệ trực tiếp giữa instructor và student :
• Một sinh viên được liên kết với nhiều nhất một người
hướng dẫn thông qua quan hệ advisor
• Một sinh viên được liên kết với tối đa một khoa qua
stud_dept
Liên kết một-nhiều
• Liên kết một-nhiều giữa giảng viên và sinh viên
• Một người hướng dẫn được liên kết với một số sinh viên (bao gồm
0) thông qua liên kết advisor
• Một sinh viên được liên kết với nhiều nhất một người hướng dẫn
thông qua liên kết advisor,
Liên kết nhiều-một
• Trong liên kết nhiều-một giữa giảng viên và sinh viên,
• Một người hướng dẫn được liên kết với nhiều nhất một sinh viên
thông qua cố vấn ,
• và một sinh viên được liên kết với một số người hướng dẫn (bao
gồm 0) thông qua cố vấn
Liên kết nhiều-nhiều
• Một người hướng dẫn được liên kết với một số sinh viên
(có thể là 0) thông qua cố vấn
• Một sinh viên được liên kết với một số người hướng dẫn
(có thể là 0) thông qua cố vấn
Tham gia toàn bộ và một phần
 Tổng số tham gia (được biểu thị bằng dòng kép): mọi thực thể
trong tập thực thể tham gia vào ít nhất một mối quan hệ trong
tập mối quan hệ
sự tham gia của sinh viên trong mối quan hệ cố vấn là toàn bộ
 mỗi học sinh phải có một người hướng dẫn liên quan
 Tham gia một phần : một số thực thể có thể không tham gia
vào bất kỳ mối quan hệ nào trong tập hợp mối quan hệ
• Ví dụ: sự tham gia của người hướng dẫn trong cố vấn là một
phần
Ký hiệu để thể hiện các ràng buộc phức tạp hơn
 Một dòng có thể có số lượng thẻ tối thiểu và tối đa được liên kết, được hiển thị ở
dạng l..h , trong đó l là số tiền tối thiểu và h là số lượng thẻ tối đa
• Giá trị tối thiểu là 1 cho biết tổng số người tham gia.
• Giá trị tối đa là 1 cho biết thực thể tham gia vào nhiều nhất một mối quan hệ
• Giá trị tối đa của * cho biết không có giới hạn.
 Ví dụ
• Giảng viên có thể tư vấn cho 0 hoặc nhiều sinh viên. Một sinh viên phải có 1 cố
vấn; không thể có nhiều cố vấn
Ràng buộc lực lượng trên liên kết ternary
• Chúng tôi cho phép tối đa một mũi tên trong liên kết bậc ba (hoặc mức độ cao
hơn) để biểu thị ràng buộc về lực lượng
• Ví dụ: một mũi tên từ proj_guide đến người hướng dẫn cho biết mỗi sinh viên
có nhiều nhất một hướng dẫn cho một dự án
• Nếu có nhiều hơn một mũi tên, có hai cách xác định ý nghĩa.
• Ví dụ: mối quan hệ ba bên R giữa A , B và C với các mũi tên đến B và C có
thể có nghĩa là
1. Mỗi thực thể A được liên kết với một thực thể duy nhất từ B
và C hoặc
2. Mỗi cặp thực thể từ ( A, B ) được liên kết với một thực thể C duy nhất và
mỗi cặp ( A, C ) được liên kết với một B duy nhất
• Mỗi lựa chọn thay thế đã được sử dụng trong các hình thức khác nhau
• Để tránh nhầm lẫn, chúng tôi cấm nhiều hơn một mũi tên
02.ER Model.pdf
Khóa chính
• Khóa chính cung cấp một cách để xác định cách phân
biệt các thực thể và quan hệ. Chúng tôi sẽ xem xét:
• Tập thực thể
• Tập liên kết.
• Tập thực thể yếu
Khóa chính cho Tập thực thể
• Theo định nghĩa, các thực thể riêng lẻ là khác biệt.
• Từ góc độ cơ sở dữ liệu, sự khác biệt giữa chúng phải được thể hiện
dưới dạng các thuộc tính của chúng.
• Các giá trị của các giá trị thuộc tính của một thực thể phải sao cho
chúng có thể xác định duy nhất thực thể đó.
• Không có hai thực thể nào trong một tập thực thể được phép có
cùng một giá trị cho tất cả các thuộc tính.
• Khóa của một thực thể là một tập hợp các thuộc tính đủ để phân biệt
các thực thể với nhau
Khóa chính cho các tập liên kết
• Để phân biệt giữa các liên kết khác nhau của một tập liên kết, chúng tôi sử dụng các
khóa chính riêng lẻ của các thực thể trong tập hợp liên kết.
• Cho R là tập liên kết bao gồm các tập thực thể E1, E2, .. En
• Khóa chính của R bao gồm hợp các khóa chính của các tập thực thể E1, E2, .. En
• Nếu tập liên kết R có các thuộc tính a1, a2, .., am gắn với nó thì khóa chính của R
cũng bao gồm các thuộc tính a1, a2, .., am
• Ví dụ: tập quan hệ “cố vấn”.
• Khóa chính bao gồm instructor.ID và student.ID
• Việc lựa chọn khóa chính cho một tập liên kết phụ thuộc vào lực lượng ánh xạ của tập
liên kết.
Lựa chọn khóa chính cho liên kết nhị phân
• Liên kết nhiều-nhiều. Sự kết hợp trước của các khóa chính
là một siêu khóa tối thiểu và được chọn làm khóa chính.
• Liên kết một-nhiều. Khóa chính của bên “Nhiều” là một
siêu khóa tối thiểu và được sử dụng làm khóa chính.
• Liên kết nhiều-một. Khóa chính của bên “Nhiều” là một
siêu khóa tối thiểu và được sử dụng làm khóa chính.
• Liên kết một đối một. Khóa chính của một trong các tập
thực thể tham gia tạo thành một siêu khóa tối thiểu và
một trong hai có thể được chọn làm khóa chính.
Tập thực thể yếu
• Hãy xem xét một thực thể section, được xác định duy nhất bởi một
course_id, semester, year, and sec_id.
• Rõ ràng, các thực thể phần có liên quan đến các thực thể khóa học.
Giả sử chúng ta tạo một tập hợp mối quan hệ sec_course giữa tập hợp
thực thể section và course .
• Lưu ý rằng thông tin trong sec_course là dư thừa, vì section đã có một
thuộc tính Course_id , thuộc tính này xác định khóa học có liên quan
đến section đó.
• Một lựa chọn để giải quyết sự dư thừa này là loại bỏ mối quan hệ
sec_course ; tuy nhiên, bằng cách đó, mối quan hệ giữa section và
course trở nên tiềm ẩn trong một thuộc tính, điều này không được
mong muốn.
Tập thực thể yếu (tiếp)
• Một cách khác để xử lý sự dư thừa này là không lưu trữ thuộc tính
course_id trong thực thể section và chỉ lưu trữ các thuộc tính còn lại
section_id, year, and semester.
• Tuy nhiên, tập thực thể section sau đó không có đủ thuộc tính để xác
định duy nhất một thực thể section cụ thể
• Để giải quyết vấn đề này, chúng tôi coi mối quan hệ sec_course là một
mối quan hệ đặc biệt cung cấp thông tin bổ sung, trong trường hợp này
là Course_id , được yêu cầu để xác định duy nhất các thực thể section .
• Tập thực thể yếu là tập có sự tồn tại phụ thuộc vào một thực thể khác,
được gọi là thực thể xác định của nó
• Thay vì liên kết khóa chính với một thực thể yếu, chúng tôi sử dụng thực
thể xác định, cùng với các thuộc tính bổ sung được gọi là phân biệt đối
xử để xác định duy nhất một thực thể yếu.
Tập thực thể yếu (tiếp)
• Một tập thực thể không phải là một tập thực thể yếu được gọi là một tập
thực thể mạnh .
• Mỗi thực thể yếu phải được liên kết với một thực thể xác định; nghĩa là,
tập thực thể yếu được cho là tồn tại phụ thuộc trên tập thực thể nhận
dạng.
• Tập thực thể xác định được cho là sở hữu tập thực thể yếu mà nó xác
định.
• Mối quan hệ liên kết tập thực thể yếu với tập thực thể xác định được gọi
là mối quan hệ xác định .
• Lưu ý rằng lược đồ quan hệ cuối cùng chúng ta tạo từ phần tập hợp thực
thể có thuộc tính Course_id , vì những lý do sẽ rõ sau, mặc dù chúng ta
đã loại bỏ thuộc tính Course_id khỏi phần tập hợp thực thể .
Thể hiện tập thực thể yếu
• Trong sơ đồ ER, một tập hợp thực thể yếu được mô tả thông qua một
hình chữ nhật kép.
• Chúng tôi gạch chân bộ phân biệt của một tập thực thể yếu bằng một
đường đứt nét.
• Tập liên kết kết nối tập thực thể yếu với tập thực thể mạnh xác định được
mô tả bằng hình thoi kép.
• Khóa chính cho section – ( course_id , sec_id , quarter , year )
Thuộc tính dự phòng
• Giả sử chúng ta có các tập thực thể:
• student , với các thuộc tính: ID, name, tot_cred, dept_name
• department, với các thuộc tính: dept_name, building, budget
• Ta mô hình hóa rằng mỗi sinh viên có một bộ phận liên quan sử dụng tập hợp
mối quan hệ stud _dept
• Thuộc tính dept_name trong student bên dưới sao chép thông tin có trong
liên kết và do đó không cần thiết
• Và cần phải được loại bỏ.
• NHƯNG: khi chuyển đổi trở lại bảng, trong một số trường hợp, thuộc tính
được giới thiệu lại, như chúng ta sẽ thấy sau.
Sơ đồ ER cho
một trường đại
học
Rút gọn về các lược đồ quan hệ
Rút gọn các lược đồ quan hệ
• Tập thực thể và tập liên kết có thể được biểu diễn thống nhất dưới
dạng lược đồ quan hệ biểu diễn nội dung của cơ sở dữ liệu.
• Cơ sở dữ liệu phù hợp với sơ đồ ER có thể được biểu diễn bằng một
tập hợp các lược đồ.
• Đối với mỗi tập thực thể và tập liên kết, có một lược đồ duy nhất được
gán tên của tập thực thể hoặc tập liên kết tương ứng.
• Mỗi lược đồ có một số cột (thường tương ứng với các thuộc tính), có
tên duy nhất.
Biểu diễn tập thực thể
• Một tập thực thể mạnh rút gọn thành lược đồ có cùng thuộc tính
student(ID, name, tot_cred)
• Một tập thực thể yếu trở thành một bảng bao gồm một cột cho
khóa chính của tập thực thể mạnh xác định
section ( course_id, sec_id, sem, year )
• Ví dụ
Biểu diễn các tập thực thể với các thuộc tính tổng hợp
 Các thuộc tính tổng hợp được làm phẳng bằng cách tạo một
thuộc tính riêng cho từng thuộc tính thành phần
• Ví dụ: tập thực thể instructor đã cho với thuộc tính tổng
hợp name với các thuộc tính thành phần first_name và
last_name lược đồ tương ứng với tập thực thể có hai
thuộc tính name_last_name và name_last_name
 Tiền tố bị bỏ qua nếu không có sự mơ hồ (
name_first_name có thể là first_name )
 Bỏ qua các thuộc tính đa trị, lược đồ instructor mở rộng là
• instructor(ID,
first_name, middle_initial, last_name,
street_number, street_name,
apt_number, city, state, zip_code,
date_of_birth)
Biểu diễn các tập thực thể với các thuộc tính đa trị
 Thuộc tính đa trị M của thực thể E được biểu diễn bằng lược đồ riêng EM
 Lược đồ EM có các thuộc tính tương ứng với khóa chính của E và một thuộc
tính tương ứng với thuộc tính đa trị M
 Ví dụ: Thuộc tính đa trị phone_number của instructor được biểu diễn bằng
lược đồ:
inst_phone = ( ID , phone_number)
 Mỗi giá trị của thuộc tính đa trị ánh xạ tới một bộ riêng biệt của quan hệ
trên lược đồ EM
• Ví dụ: một thực thể instructor có khóa chính 22222 và các số điện thoại
456-7890 và 123-4567 ánh xạ tới hai bộ:
(22222, 456-7890) và (22222, 123-4567)
Biểu diễn các tập hợp quan hệ
• Tập mối quan hệ nhiều-nhiều được biểu diễn dưới dạng lược
đồ với các thuộc tính dành cho khóa chính của hai tập thực
thể tham gia và bất kỳ thuộc tính mô tả nào của tập mối
quan hệ.
• Ví dụ: lược đồ cho tập quan hệ advisor
advisor = ( s_id , i_id )
Dự phòng của các lược đồ
 Các tập quan hệ nhiều-một và một-nhiều hoàn toàn ở phía nhiều có thể
được biểu diễn bằng cách thêm một thuộc tính bổ sung cho phía “nhiều”,
chứa khóa chính của phía “một”
 Ví dụ: Thay vì tạo lược đồ cho tập hợp mối quan hệ inst_dept , hãy thêm
thuộc tính dept_name vào lược đồ phát sinh từ tập thực thể instructor
 Ví dụ
Sự dư thừa của lược đồ (tt)
 Đối với các bộ mối quan hệ một-một, có thể chọn một
trong hai bên để đóng vai trò là bên “nhiều”
• Nghĩa là, một thuộc tính bổ sung có thể được thêm
vào một trong hai bảng tương ứng với hai tập thực
thể.
 Nếu sự tham gia là một phần của phía “nhiều”, thì việc
thay thế lược đồ bằng một thuộc tính bổ sung trong
lược đồ tương ứng với phía “nhiều” có thể dẫn đến giá
trị null
Sự dư thừa của lược đồ (tt)
 Lược đồ tương ứng với một tập quan hệ liên kết một tập
thực thể yếu với tập thực thể mạnh xác định của nó là
dư thừa.
 Ví dụ: Lược đồ section đã chứa các thuộc tính sẽ xuất
hiện trong lược đồ sec_course
Các tính năng ER mở rộng
Cụ thể hóa
• Quy trình thiết kế từ trên xuống; chúng tôi chỉ định các
nhóm con trong một tập hợp thực thể để phân biệt với
các thực thể khác trong tập hợp.
• Các nhóm con này trở thành các tập thực thể cấp thấp
hơn có các thuộc tính hoặc tham gia vào các mối quan
hệ không áp dụng cho tập thực thể cấp cao hơn.
• Được mô tả bằng một thành phần tam giác có nhãn ISA
(ví dụ: instructor “là” person ).
• Kế thừa thuộc tính – một tập thực thể cấp thấp hơn
kế thừa tất cả các thuộc tính và sự tham gia vào mối
quan hệ của tập thực thể cấp cao hơn mà nó được liên
kết.
Ví dụ cụ thể hóa
• Chồng chéo – employee và student
• Phân chia – instructor và secretary
• Toàn bộ và một phần
Biểu diễn cụ thể hóa thông qua các lược đồ
 Cách 1:
• Tạo một lược đồ cho thực thể cấp cao hơn
• Tạo lược đồ cho từng tập thực thể cấp thấp hơn, bao
gồm khóa chính của tập thực thể cấp cao hơn và các
thuộc tính cục bộ
• Hạn chế: nhận thông tin về một employee yêu cầu truy
cập hai quan hệ, một tương ứng với lược đồ cấp thấp
và một tương ứng với lược đồ cấp cao
Biểu diễn cụ thể hóa thông qua các lược đồ (Tiếp theo)
 Cách 2:
• Tạo một lược đồ cho từng tập thực thể với tất cả các
thuộc tính cục bộ và thuộc tính kế thừa
• Hạn chế: name, street và city có thể được lưu trữ dư
thừa đối với những người vừa là sinh viên vừa là
nhân viên
Khái quát hóa
• Quy trình thiết kế từ dưới lên – kết hợp một số tập
thực thể có chung tính năng thành một tập thực thể
cấp cao hơn.
• Cụ thể hóa và khái quát hóa là sự đảo ngược đơn giản
của nhau; chúng được biểu diễn trong sơ đồ ER theo
cùng một cách.
• Các thuật ngữ cụ thể hóa và khái quát hóa được sử
dụng thay thế cho nhau.
Ràng buộc đầy đủ
• Ràng buộc đầy đủ -- chỉ định liệu một thực thể trong
tập thực thể cấp cao hơn có phải thuộc về ít nhất một
trong các tập thực thể cấp thấp hơn trong một khái
quát hóa hay không.
• Tổng : một thực thể phải thuộc về một trong các tập
thực thể cấp thấp hơn
• một phần : một thực thể không cần thuộc về một
trong các tập thực thể cấp thấp hơn
Ràng buộc đầy đủ (Cont.)
• Khái quát hóa một phần là mặc định.
• Chúng ta có thể chỉ định tổng khái quát hóa trong sơ đồ ER bằng cách
thêm từ khóa tổng vào sơ đồ và vẽ một đường đứt nét từ từ khóa đến
đầu mũi tên rỗng tương ứng mà nó áp dụng (đối với khái quát hóa) hoặc
tập hợp các mũi tên rỗng -heads mà nó áp dụng (đối với một khái quát
hóa chồng chéo).
• student là khái quát hóa toàn bộ: Tất cả các thực thể sinh viên phải tốt nghiệp
hoặc chưa tốt nghiệp. Bởi vì tập thực thể cấp cao hơn đạt được thông qua
quá trình tổng quát hóa thường chỉ bao gồm các thực thể đó trong tập
thực thể cấp thấp hơn, nên ràng buộc về tính đầy đủ đối với tập thực thể
cấp cao hơn được tổng quát hóa thường là toàn bộ
Tổng hợp
 Hãy xem xét mối quan hệ ba ngôi proj_guide mà chúng ta đã
thấy trước đó
 Giả sử chúng ta muốn ghi lại đánh giá của một học sinh bởi
một hướng dẫn về một dự án
Tổng hợp (Tiếp)
• Bộ mối quan hệ eval_for và proj_guide đại diện cho thông tin chồng
chéo
• Mỗi mối quan hệ eval_for tương ứng với mối quan hệ proj_guide
• Tuy nhiên, một số mối quan hệ proj_guide có thể không tương ứng
với bất kỳ mối quan hệ eval_for nào
• Vì vậy, chúng tôi không thể loại bỏ mối quan hệ proj_guide
• Loại bỏ sự dư thừa này thông qua tổng hợp
• Coi mối quan hệ như một thực thể trừu tượng
• Cho phép mối quan hệ giữa các mối quan hệ
• Trừu tượng hóa mối quan hệ thành thực thể mới
Tổng hợp (Tiếp)
 Loại bỏ sự dư thừa này thông qua tổng hợp mà
không đưa ra sự dư thừa, sơ đồ sau đây thể
hiện:
• Một sinh viên được hướng dẫn bởi một người
hướng dẫn cụ thể về một dự án cụ thể
• Một sinh viên, người hướng dẫn, sự kết hợp dự
án có thể có một đánh giá liên quan
Rút gọn các lược đồ quan hệ
 Để biểu diễn tổng họp, hãy tạo một lược đồ chứa
• Khóa chính của quan hệ tổng hợp,
• Khóa chính của tập thực thể được liên kết
• Bất kỳ thuộc tính mô tả nào
 Trong ví dụ của chúng tôi:
• Lược đồ eval_for là:
eval_for (s_ID, project_id, i_ID, evaluation_id)
• Lược đồ proj_guide là dư thừa.
CÁCVẤN ĐỀTHIẾT KẾ
Những lỗi thường gặp trong sơ đồ ER
 Ví dụ về sơ đồ ER sai
Các lỗi thường gặp trong sơ đồ ER (Tiếp)
Thực thể so với Thuộc tính
 Sử dụng tập thực thể so với thuộc tính
 Việc sử dụng điện thoại làm thực thể cho phép thêm thông tin về
số điện thoại (cộng với nhiều số điện thoại)
Các thực thể so với các tập quan hệ
 Sử dụng tập thực thể so với tập mối quan hệ
Hướng dẫn có thể là chỉ định một tập hợp mối quan hệ để
mô tả một hành động xảy ra giữa các thực thể
• Vị trí của các thuộc tính quan hệ
Ví dụ: ngày thuộc tính là thuộc tính của cố vấn hoặc là thuộc
tính của sinh viên
Quan hệ Nhị phân và Quan hệ không nhị phân
• Mặc dù có thể thay thế bất kỳ mối quan hệ không nhị phân nào ( n - ary ,
đối với n > 2) bằng một số bộ mối quan hệ nhị phân riêng biệt, nhưng
một bộ mối quan hệ n - ary cho thấy rõ ràng hơn rằng một số thực thể
tham gia vào một mối quan hệ duy nhất.
• Một số mối quan hệ dường như không phải là nhị phân có thể được biểu
diễn tốt hơn bằng cách sử dụng các mối quan hệ nhị phân
• Ví dụ, mối quan hệ bậc ba cha mẹ , liên quan đến một đứa trẻ với cha
và mẹ của mình, tốt nhất nên thay thế bằng hai mối quan hệ nhị phân,
cha và mẹ .
• Sử dụng hai mối quan hệ nhị phân cho phép thông tin một phần (ví
dụ: chỉ mẹ được biết)
• Nhưng có một số mối quan hệ tự nhiên là phi nhị phân
• Ví dụ: proj_guide
Chuyển đổi các mối quan hệ không nhị
phân sang dạng nhị phân
• Nói chung, bất kỳ mối quan hệ không nhị phân nào cũng có
thể được biểu diễn bằng các mối quan hệ nhị phân bằng cách
tạo một tập thực thể nhân tạo.
• Thay thế R giữa các tập thực thể A, B và C bởi một tập thực
thể E và ba tập quan hệ:
1. R A , liên quan đến E và A; 2. R B , liên quan đến E và B;
3. R C , liên quan đến E và C
• Tạo thuộc tính nhận dạng cho E và thêm bất kỳ thuộc tính
nào của R vào E
• Đối với mỗi mối quan hệ ( a i , b i , c i ) trong R, hãy tạo
1. một thực thể mới e i trong tập thực thể E ;
2. thêm ( e i , a i ) đến R A;
3. thêm ( e i , b i ) đến R B ; 4. thêm ( e i , c i ) vào R C
Chuyển đổi các mối quan hệ không nhị phân (tt)
• Cũng cần dịch các ràng buộc
• Dịch tất cả các ràng buộc có thể không thực hiện được
• Có thể có các phiên bản trong lược đồ đã dịch
không thể tương ứng với bất kỳ phiên bản nào của R
• Bài tập: thêm các ràng buộc vào các mối quan hệ R A , R B và R C để
đảm bảo rằng một thực thể mới được tạo tương ứng với chính xác
một thực thể trong mỗi tập thực thể A, B và C
• Chúng ta có thể tránh tạo ra một thuộc tính xác định bằng cách biến
E thành một tập thực thể yếu (được mô tả ngắn gọn) được xác định
bởi ba tập quan hệ
Thiết kế ER
• Việc sử dụng một thuộc tính hoặc tập hợp thực thể để đại diện
cho một đối tượng.
• Liệu một khái niệm trong thế giới thực có được thể hiện tốt nhất
bởi một tập thực thể hay một tập quan hệ hay không.
• Việc sử dụng một mối quan hệ bậc ba so với một cặp mối quan
hệ nhị phân.
• Việc sử dụng một tập thực thể mạnh hay yếu.
• Việc sử dụng chuyên môn hóa/khái quát hóa – góp phần vào tính
mô đun hóa trong thiết kế.
• Việc sử dụng tổng hợp – có thể coi tập thực thể tổng hợp là một
đơn vị duy nhất mà không cần quan tâm đến các chi tiết về cấu
trúc bên trong của nó.
Tóm tắt các ký hiệu được sử dụng trong ký hiệu ER
Các ký hiệu được sử dụng trong Ký
hiệu ER (Tiếp)
Ký hiệu ER thay thế
• Chen, IDE1FX, …
Ký hiệu ER thay thế
Chen IDE1FX (Ký hiệu vết chân chim)
UML • UML : Ngôn ngữ lập mô hình thống nhất
• UML có nhiều thành phần để mô hình hóa đồ họa các khía cạnh
khác nhau của toàn bộ hệ thống phần mềm
• Sơ đồ lớp UML tương ứng với Sơ đồ ER, nhưng có một số khác
biệt.
Sơ đồ lớp ER so với UML
* Lưu ý đảo ngược vị trí trong mô tả ràng buộc cardinality
Sơ đồ lớp ER so với UML
Ký hiệu sơ đồ ER Tương đương trong UML
* Tổng quát hóa có thể sử dụng các mũi tên được hợp nhất hoặc riêng biệt độc lập
rời rạc/chồng chéo
Sơ đồ lớp UML (Tiếp)
• Các tập quan hệ nhị phân được biểu diễn trong UML bằng cách chỉ vẽ
một đường kết nối các tập thực thể. Tên bộ mối quan hệ được viết
liền kề với dòng.
• Vai trò của một tập hợp thực thể trong tập hợp mối quan hệ cũng có
thể được chỉ định bằng cách viết tên vai trò trên dòng, liền kề với tập
hợp thực thể.
• Ngoài ra, tên của bộ mối quan hệ có thể được viết trong một hộp,
cùng với các thuộc tính của bộ mối quan hệ và hộp được kết nối, sử
dụng một đường chấm, với đường mô tả bộ mối quan hệ.
Sơ đồ lớp ER
so với UML
Các khía cạnh khác của thiết kế cơ sở
dữ liệu
• Yêu cầu chức năng
• Luồng dữ liệu, quy trình làm việc
• Lược đồ tiến hóa
HẾT CHƯƠNG
1 von 85

Recomendados

Cơ sở dữ liệu PTIT slide 3 von
Cơ sở dữ liệu PTIT slide 3Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3NguynMinh294
766 views41 Folien
Mô hình hóa dữ liệu mức quan niệm von
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm nataliej4
4.4K views45 Folien
Các mô hình dữ liệu von
Các mô hình dữ liệuCác mô hình dữ liệu
Các mô hình dữ liệuQuách Đại Dương
35.3K views27 Folien
Pttkht chuong 4 von
Pttkht chuong 4Pttkht chuong 4
Pttkht chuong 4KIEU OANH NGUYEN
157 views44 Folien
Cơ sở dữ liệu đại học von
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcChu TheKop
13.9K views220 Folien
Chương 2. Các khái niệm trong CSDL von
Chương 2. Các khái niệm trong CSDL Chương 2. Các khái niệm trong CSDL
Chương 2. Các khái niệm trong CSDL Hoa Le
567 views59 Folien

Más contenido relacionado

Similar a 02.ER Model.pdf

Giaoandientu bai10lop12 von
Giaoandientu bai10lop12Giaoandientu bai10lop12
Giaoandientu bai10lop12Thi Thanh Thuan Tran
1K views19 Folien
4a domain model von
4a domain model4a domain model
4a domain modelChâu Thanh Chương
2.3K views43 Folien
Csdliuihc 111212222339-phpapp02 von
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02nguyen minh
647 views220 Folien
Thiet ke co so du lieu von
Thiet ke co so du lieuThiet ke co so du lieu
Thiet ke co so du lieuma giam gia
562 views249 Folien
Giaoandientu bai10lop12 von
Giaoandientu bai10lop12Giaoandientu bai10lop12
Giaoandientu bai10lop12Thi Thanh Thuan Tran
907 views19 Folien

Similar a 02.ER Model.pdf(20)

Csdliuihc 111212222339-phpapp02 von nguyen minh
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02
nguyen minh647 views
Thiet ke co so du lieu von ma giam gia
Thiet ke co so du lieuThiet ke co so du lieu
Thiet ke co so du lieu
ma giam gia562 views
Bài 6: Mô hình hóa dữ liệu von MasterCode.vn
Bài 6: Mô hình hóa dữ liệuBài 6: Mô hình hóa dữ liệu
Bài 6: Mô hình hóa dữ liệu
MasterCode.vn 16.3K views
Giới thiệu về Rational Rose và Các diagram von Huy Vũ
Giới thiệu về Rational Rose và Các diagramGiới thiệu về Rational Rose và Các diagram
Giới thiệu về Rational Rose và Các diagram
Huy Vũ11.9K views
W03_Thietkecosodulieulogic.pptx von Hnginh10297
W03_Thietkecosodulieulogic.pptxW03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptx
Hnginh102974 views
Bai1_GioiThieuOOP.pptx von HLan34
Bai1_GioiThieuOOP.pptxBai1_GioiThieuOOP.pptx
Bai1_GioiThieuOOP.pptx
HLan344 views
T+¦¦ëng h¦í¦úp uml von lam lythanh
T+¦¦ëng h¦í¦úp umlT+¦¦ëng h¦í¦úp uml
T+¦¦ëng h¦í¦úp uml
lam lythanh665 views

Último

BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS... von
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS...Nguyen Thanh Tu Collection
8 views83 Folien
3. Chủ đề nghiên cứu.pdf von
3. Chủ đề nghiên cứu.pdf3. Chủ đề nghiên cứu.pdf
3. Chủ đề nghiên cứu.pdfFred Hub
7 views6 Folien
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ... von
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ...Nguyen Thanh Tu Collection
8 views86 Folien
So sánh pháp luật về trung tâm trọng tài Việt Nam và Singapore.docx von
So sánh pháp luật về trung tâm trọng tài Việt Nam và Singapore.docxSo sánh pháp luật về trung tâm trọng tài Việt Nam và Singapore.docx
So sánh pháp luật về trung tâm trọng tài Việt Nam và Singapore.docxlamluanvan.net Viết thuê luận văn
5 views103 Folien
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ... von
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ...Nguyen Thanh Tu Collection
10 views83 Folien
CHUYÊN ĐỀ ÔN THI THPT QUỐC GIA 2023 MÔN HÓA HỌC (BẢN HS-GV) (8 CHƯƠNG, LÝ THU... von
CHUYÊN ĐỀ ÔN THI THPT QUỐC GIA 2023 MÔN HÓA HỌC (BẢN HS-GV) (8 CHƯƠNG, LÝ THU...CHUYÊN ĐỀ ÔN THI THPT QUỐC GIA 2023 MÔN HÓA HỌC (BẢN HS-GV) (8 CHƯƠNG, LÝ THU...
CHUYÊN ĐỀ ÔN THI THPT QUỐC GIA 2023 MÔN HÓA HỌC (BẢN HS-GV) (8 CHƯƠNG, LÝ THU...Nguyen Thanh Tu Collection
15 views381 Folien

Último(20)

BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS... von Nguyen Thanh Tu Collection
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS...
3. Chủ đề nghiên cứu.pdf von Fred Hub
3. Chủ đề nghiên cứu.pdf3. Chủ đề nghiên cứu.pdf
3. Chủ đề nghiên cứu.pdf
Fred Hub7 views
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ... von Nguyen Thanh Tu Collection
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ... von Nguyen Thanh Tu Collection
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 10 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ...
CHUYÊN ĐỀ ÔN THI THPT QUỐC GIA 2023 MÔN HÓA HỌC (BẢN HS-GV) (8 CHƯƠNG, LÝ THU... von Nguyen Thanh Tu Collection
CHUYÊN ĐỀ ÔN THI THPT QUỐC GIA 2023 MÔN HÓA HỌC (BẢN HS-GV) (8 CHƯƠNG, LÝ THU...CHUYÊN ĐỀ ÔN THI THPT QUỐC GIA 2023 MÔN HÓA HỌC (BẢN HS-GV) (8 CHƯƠNG, LÝ THU...
CHUYÊN ĐỀ ÔN THI THPT QUỐC GIA 2023 MÔN HÓA HỌC (BẢN HS-GV) (8 CHƯƠNG, LÝ THU...
3. Phân tích định tính.pdf von Fred Hub
3. Phân tích định tính.pdf3. Phân tích định tính.pdf
3. Phân tích định tính.pdf
Fred Hub8 views
HỆ THỐNG LÝ THUYẾT VÀ BÀI TẬP PHẦN PHẢN ỨNG HÓA HỮU CƠ CHƯƠNG TRÌNH THPT CHUY... von Nguyen Thanh Tu Collection
HỆ THỐNG LÝ THUYẾT VÀ BÀI TẬP PHẦN PHẢN ỨNG HÓA HỮU CƠ CHƯƠNG TRÌNH THPT CHUY...HỆ THỐNG LÝ THUYẾT VÀ BÀI TẬP PHẦN PHẢN ỨNG HÓA HỮU CƠ CHƯƠNG TRÌNH THPT CHUY...
HỆ THỐNG LÝ THUYẾT VÀ BÀI TẬP PHẦN PHẢN ỨNG HÓA HỮU CƠ CHƯƠNG TRÌNH THPT CHUY...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT HÓA HỌC 2024 - CHỌN LỌC TỪ CÁC TR... von Nguyen Thanh Tu Collection
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT HÓA HỌC 2024 - CHỌN LỌC TỪ CÁC TR...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT HÓA HỌC 2024 - CHỌN LỌC TỪ CÁC TR...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT HÓA HỌC 2024 - CHỌN LỌC TỪ CÁC TR...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 12 - NĂM 2024 (BẢN HS + GV) (50 CÂU TR... von Nguyen Thanh Tu Collection
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 12 - NĂM 2024 (BẢN HS + GV) (50 CÂU TR...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 12 - NĂM 2024 (BẢN HS + GV) (50 CÂU TR...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 12 - NĂM 2024 (BẢN HS + GV) (50 CÂU TR...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ... von Nguyen Thanh Tu Collection
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 CHÂN TRỜI SÁNG TẠO - NĂM 2024 (BẢN ...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - CHỌN LỌC TỪ CÁC... von Nguyen Thanh Tu Collection
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - CHỌN LỌC TỪ CÁC...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - CHỌN LỌC TỪ CÁC...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TIẾNG ANH 2024 - CHỌN LỌC TỪ CÁC...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS... von Nguyen Thanh Tu Collection
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 KẾT NỐI TRI THỨC - NĂM 2024 (BẢN HS...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ... von Nguyen Thanh Tu Collection
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ...BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ...
BIÊN SOẠN BỘ ĐỀ CUỐI HỌC KÌ 1 MÔN TOÁN 11 CÁNH DIỀU - NĂM 2024 (BẢN HS + GV) ...
1. Thế giới quan và mô thức nghiên cứu.pdf von Fred Hub
1. Thế giới quan và mô thức nghiên cứu.pdf1. Thế giới quan và mô thức nghiên cứu.pdf
1. Thế giới quan và mô thức nghiên cứu.pdf
Fred Hub10 views
2. Phương pháp tiếp cận nghiên cứu.pdf von Fred Hub
2. Phương pháp tiếp cận nghiên cứu.pdf2. Phương pháp tiếp cận nghiên cứu.pdf
2. Phương pháp tiếp cận nghiên cứu.pdf
Fred Hub6 views
8 CHỦ ĐỀ LUYỆN THI VÀO LỚP 10 MÔN TOÁN CÓ LỜI GIẢI CHI TIẾT (TÀI LIỆU WORD MÔ... von Nguyen Thanh Tu Collection
8 CHỦ ĐỀ LUYỆN THI VÀO LỚP 10 MÔN TOÁN CÓ LỜI GIẢI CHI TIẾT (TÀI LIỆU WORD MÔ...8 CHỦ ĐỀ LUYỆN THI VÀO LỚP 10 MÔN TOÁN CÓ LỜI GIẢI CHI TIẾT (TÀI LIỆU WORD MÔ...
8 CHỦ ĐỀ LUYỆN THI VÀO LỚP 10 MÔN TOÁN CÓ LỜI GIẢI CHI TIẾT (TÀI LIỆU WORD MÔ...
1. Cách trình bày kết quả nghiên cứu.pdf von Fred Hub
1. Cách trình bày kết quả nghiên cứu.pdf1. Cách trình bày kết quả nghiên cứu.pdf
1. Cách trình bày kết quả nghiên cứu.pdf
Fred Hub13 views
BÀI TẬP DẠY THÊM TOÁN 11 - KẾT NỐI TRI THỨC - CẢ NĂM (9 CHƯƠNG, LÝ THUYẾT, BÀ... von Nguyen Thanh Tu Collection
BÀI TẬP DẠY THÊM TOÁN 11 - KẾT NỐI TRI THỨC - CẢ NĂM (9 CHƯƠNG, LÝ THUYẾT, BÀ...BÀI TẬP DẠY THÊM TOÁN 11 - KẾT NỐI TRI THỨC - CẢ NĂM (9 CHƯƠNG, LÝ THUYẾT, BÀ...
BÀI TẬP DẠY THÊM TOÁN 11 - KẾT NỐI TRI THỨC - CẢ NĂM (9 CHƯƠNG, LÝ THUYẾT, BÀ...

02.ER Model.pdf

  • 1. MÔ HÌNH THỰC THỂ LIÊN KẾT - ER
  • 2. Đề cương  Tổng quan về quá trình thiết kế  Mô hình thực thể-mối quan hệ  Thuộc tính phức tạp  Lập bản đồ Cardinalities  Khóa chính  Loại bỏ các thuộc tính dư thừa trong Entity Sets  Giảm sơ đồ ER thành lược đồ quan hệ  Các tính năng ER mở rộng  Các vấn đề về thiết kế mối quan hệ thực thể  Ký hiệu thay thế cho dữ liệu mô hình hóa  Các khía cạnh khác của thiết kế cơ sở dữ liệu
  • 3. Đề cương  Các tính năng ER mở rộng  Các vấn đề về thiết kế mối quan hệ thực thể  Ký hiệu thay thế cho dữ liệu mô hình hóa  Các khía cạnh khác của thiết kế cơ sở dữ liệu
  • 4. Giai đoạn thiết kế  Giai đoạn ban đầu -- mô tả đầy đủ nhu cầu dữ liệu của những người sử dụng cơ sở dữ liệu tiềm năng.  Giai đoạn thứ hai - chọn một mô hình dữ liệu  Áp dụng các khái niệm của mô hình dữ liệu đã chọn  Dịch các yêu cầu này thành một lược đồ khái niệm của cơ sở dữ liệu.  Một lược đồ khái niệm được phát triển đầy đủ chỉ ra các yêu cầu chức năng của doanh nghiệp.  Mô tả các loại hoạt động (hoặc giao dịch) sẽ được thực hiện trên dữ liệu.
  • 5. Các giai đoạn thiết kế (tt)  Giai đoạn cuối -- Chuyển từ mô hình dữ liệu trừu tượng sang triển khai cơ sở dữ liệu  Thiết kế logic – Quyết định lược đồ cơ sở dữ liệu.  Thiết kế cơ sở dữ liệu yêu cầu chúng ta tìm một tập hợp các lược đồ quan hệ “tốt”.  Quyết định kinh doanh – Chúng ta nên ghi lại những thuộc tính nào trong cơ sở dữ liệu?  Quyết định về khoa học máy tính – Chúng ta nên có những lược đồ quan hệ nào và các thuộc tính nên được phân phối như thế nào giữa các lược đồ quan hệ khác nhau?  Thiết kế vật lý – Quyết định bố cục vật lý của cơ sở dữ liệu
  • 6. Giải pháp thay thế thiết kế Khi thiết kế lược đồ cơ sở dữ liệu, chúng ta phải đảm bảo tránh được hai cạm bẫy chính: Dự phòng: một thiết kế tồi có thể dẫn đến thông tin lặp lại. Biểu diễn thông tin dự phòng có thể dẫn đến sự không nhất quán dữ liệu giữa các bản sao thông tin khác nhau Tính không đầy đủ: một thiết kế tồi có thể khiến một số khía cạnh của doanh nghiệp trở nên khó khăn hoặc không thể mô hình hóa được. Tránh những thiết kế xấu là không đủ. Có thể có một số lượng lớn các thiết kế tốt mà chúng ta phải chọn.
  • 7. Phương pháp thiết kế  Mô hình quan hệ thực thể (được trình bày trong chương này) Mô hình hóa một doanh nghiệp như một tập hợp các thực thể và các mối quan hệ  Thực thể: một “sự vật” hoặc “đối tượng” trong doanh nghiệp có thể phân biệt với các đối tượng khác  Được mô tả bởi một tập hợp các thuộc tính  Mối quan hệ: một hiệp hội giữa một số thực thể Được biểu diễn dưới dạng sơ đồ bằng sơ đồ mối quan hệ thực thể:  Lý thuyết chuẩn hóa (Chương 7) Chính thức hóa những thiết kế nào là xấu và kiểm tra chúng
  • 8. Phác thảo của mô hình ER
  • 9. Mô hình ER Mô hình hóa cơ sở dữ liệu • Chế độ dữ liệu ER được phát triển để hỗ trợ thiết kế cơ sở dữ liệu bằng cách cho phép đặc tả sơ đồ doanh nghiệp đại diện cho cấu trúc logic tổng thể của cơ sở dữ liệu. • Mô hình dữ liệu ER sử dụng ba khái niệm cơ bản: • Tập thực thể, • Tập liên kết , • Tập thuộc tính. • Mô hình ER cũng có một biểu diễn sơ đồ liên quan, sơ đồ ER , có thể biểu thị cấu trúc logic tổng thể của cơ sở dữ liệu bằng đồ họa
  • 10. Tập thực thể • Một thực thể là một đối tượng tồn tại và có thể phân biệt được với các đối tượng khác. • Ví dụ: người cụ thể, công ty, sự kiện, nhà máy • Một tập thực thể là tập hợp các thực thể cùng loại có chung thuộc tính. • Ví dụ: tập hợp tất cả người, công ty, cây cối, ngày lễ • Một thực thể được đại diện bởi một tập hợp các thuộc tính; nghĩa là các thuộc tính mô tả được sở hữu bởi tất cả các thành viên của một tập thực thể. • Ví dụ: instructor = (ID, name, salary ) course= (course_id, title, credits) • Một tập con của các thuộc tính tạo thành khóa chính của tập thực thể; tức là xác định duy nhất từng thành viên của tập hợp.
  • 11. Tập thực thể -- instructor và student
  • 12. Biểu diễn cho các tập Thực thể trong Sơ đồ ER  Các tập thực thể có thể được biểu diễn bằng đồ họa như sau: • Hình chữ nhật đại diện cho tập thực thể. • Các thuộc tính được liệt kê bên trong hình chữ nhật thực thể • Gạch dưới chỉ ra các thuộc tính khóa chính
  • 13. Tập liên kết • Một liên kết là một quan hệ giữa một số thực thể Ví dụ: 44553 (Peltier) advisor 22222 (Einstein) student entity relationship set instructor entity • Một tập liên kết là một quan hệ toán học giữa n  2 thực thể, mỗi thực thể lấy từ tập thực thể {( e 1 , e 2 , … e n ) | e 1  E 1 , e 2  E 2 , …, e n  E n } trong đó ( e 1 , e 2 , …, e n ) là một quan hệ • Ví dụ: (44553,22222)  advisor
  • 14. Tập liên kết(Tiếp theo)  Ví dụ: chúng tôi xác định tập liên kết “advisor” để biểu thị mối liên hệ giữa “student” và “instructor” đóng vai trò là cố vấn của họ.  Bằng hình ảnh, chúng tôi vẽ một đường thẳng giữa các thực thể liên quan.
  • 15. Đại diện cho các tập liên kết thông qua sơ đồ ER  Hình thoi đại diện cho các tập liên kết.
  • 16. Tập liên kết(Tiếp theo) • Một thuộc tính cũng có thể được liên kết với một tập liên kết. • Chẳng hạn, liên kết “advisor “ được thiết lập giữa tập thực thể “instructor” và “student“ có thể có thuộc tính date theo dõi thời điểm sinh viên bắt đầu được liên kết với cố vấn instructor student 76766 Crick Katz Srinivasan Kim Singh Einstein 45565 10101 98345 76543 22222 98988 12345 00128 76543 44553 Tanaka Shankar Zhang Brown Aoi Chavez Peltier 3 May 2008 10 June 2007 12 June 2006 6 June 2009 30 June 2007 31 May 2007 4 May 2006 76653 23121
  • 17. Tập liên kết với các thuộc tính
  • 18. Roles • Các tập thực thể của một liên kết không cần phải khác biệt • Mỗi lần xuất hiện của một tập thực thể đóng một “vai trò” trong liên kết • Các nhãn “ course_id ” và “ prereq_id ” được gọi là roles.
  • 19. Bậc của một tập liên kết • Mối liên kết nhị phân • Liên quan đến hai tập thực thể (hoặc mức độ hai). • Hầu hết các bộ liên kết trong một hệ thống cơ sở dữ liệu là nhị phân. • Liên kết giữa nhiều hơn hai tập thực thể là rất hiếm. Hầu hết các liên kết là nhị phân. (Thêm về điều này sau.) • Ví dụ: sinh viên làm việc trong các dự án nghiên cứu dưới sự hướng dẫn của giảng viên . • Liên kết proj_guide là quan hệ ba chiều giữa instructor, student, và project
  • 20. Tập liên kết không nhị phân (ternary) • Hầu hết các bộ liên kết là nhị phân • Có những trường hợp thuận tiện hơn khi biểu diễn các mối liên kết dưới dạng không nhị phân. • Sơ đồ ER với liên kết ternary
  • 21. Thuộc tính phức tạp • Các loại thuộc tính: • Thuộc tính đơn và tổng hợp . • Tính đơn trị và đa trị • Ví dụ: thuộc tính đa trị: phone_numbers • Tính dẫn xuất • Có thể được tính toán từ các thuộc tính khác • Ví dụ: age, date_of_birth • Miền– tập hợp các giá trị được phép cho từng thuộc tính
  • 22. Thuộc tính tổng hợp • Các thuộc tính tổng hợp cho phép chúng ta chia các thuộc tính thành các phần con (các thuộc tính khác). name address first_name middle_initial last_name street city state postal_code street_number street_name apartment_number composite attributes component attributes
  • 23. Biểu diễn cho các thuộc tính phức tạp trong sơ đồ ER
  • 24. Ánh xạ các ràng buộc lực lượng • Biểu thị số lượng thực thể mà một thực thể khác có thể được liên kết thông qua một tập quan hệ. • Hữu ích nhất trong việc mô tả các bộ quan hệ nhị phân. • Đối với tập hợp quan hệ nhị phân, lực lượng ánh xạ phải là một trong các loại sau: • một đối một • Một đến nhiều • Nhiều đến một • Nhiều nhiều
  • 25. Lập bản đồ lực lượng một đối một Một đến nhiều Lưu ý: Một số phần tử trong A và B có thể không được ánh xạ tới bất kỳ các phần tử trong tập hợp khác
  • 26. Lập bản đồ lực lượng Nhiều đến một Nhiều nhiều Lưu ý: Một số phần tử trong A và B có thể không được ánh xạ tới bất kỳ các phần tử trong tập hợp khác
  • 27. Biểu diễn các ràng buộc lưc lượng trong sơ đồ ER • Chúng ta thể hiện các ràng buộc về số lượng bằng cách vẽ một đường có hướng ( ), biểu thị “một” hoặc một đường vô hướng (—), biểu thị “nhiều” giữa tập quan hệ và tập thực thể. • Mối quan hệ trực tiếp giữa instructor và student : • Một sinh viên được liên kết với nhiều nhất một người hướng dẫn thông qua quan hệ advisor • Một sinh viên được liên kết với tối đa một khoa qua stud_dept
  • 28. Liên kết một-nhiều • Liên kết một-nhiều giữa giảng viên và sinh viên • Một người hướng dẫn được liên kết với một số sinh viên (bao gồm 0) thông qua liên kết advisor • Một sinh viên được liên kết với nhiều nhất một người hướng dẫn thông qua liên kết advisor,
  • 29. Liên kết nhiều-một • Trong liên kết nhiều-một giữa giảng viên và sinh viên, • Một người hướng dẫn được liên kết với nhiều nhất một sinh viên thông qua cố vấn , • và một sinh viên được liên kết với một số người hướng dẫn (bao gồm 0) thông qua cố vấn
  • 30. Liên kết nhiều-nhiều • Một người hướng dẫn được liên kết với một số sinh viên (có thể là 0) thông qua cố vấn • Một sinh viên được liên kết với một số người hướng dẫn (có thể là 0) thông qua cố vấn
  • 31. Tham gia toàn bộ và một phần  Tổng số tham gia (được biểu thị bằng dòng kép): mọi thực thể trong tập thực thể tham gia vào ít nhất một mối quan hệ trong tập mối quan hệ sự tham gia của sinh viên trong mối quan hệ cố vấn là toàn bộ  mỗi học sinh phải có một người hướng dẫn liên quan  Tham gia một phần : một số thực thể có thể không tham gia vào bất kỳ mối quan hệ nào trong tập hợp mối quan hệ • Ví dụ: sự tham gia của người hướng dẫn trong cố vấn là một phần
  • 32. Ký hiệu để thể hiện các ràng buộc phức tạp hơn  Một dòng có thể có số lượng thẻ tối thiểu và tối đa được liên kết, được hiển thị ở dạng l..h , trong đó l là số tiền tối thiểu và h là số lượng thẻ tối đa • Giá trị tối thiểu là 1 cho biết tổng số người tham gia. • Giá trị tối đa là 1 cho biết thực thể tham gia vào nhiều nhất một mối quan hệ • Giá trị tối đa của * cho biết không có giới hạn.  Ví dụ • Giảng viên có thể tư vấn cho 0 hoặc nhiều sinh viên. Một sinh viên phải có 1 cố vấn; không thể có nhiều cố vấn
  • 33. Ràng buộc lực lượng trên liên kết ternary • Chúng tôi cho phép tối đa một mũi tên trong liên kết bậc ba (hoặc mức độ cao hơn) để biểu thị ràng buộc về lực lượng • Ví dụ: một mũi tên từ proj_guide đến người hướng dẫn cho biết mỗi sinh viên có nhiều nhất một hướng dẫn cho một dự án • Nếu có nhiều hơn một mũi tên, có hai cách xác định ý nghĩa. • Ví dụ: mối quan hệ ba bên R giữa A , B và C với các mũi tên đến B và C có thể có nghĩa là 1. Mỗi thực thể A được liên kết với một thực thể duy nhất từ B và C hoặc 2. Mỗi cặp thực thể từ ( A, B ) được liên kết với một thực thể C duy nhất và mỗi cặp ( A, C ) được liên kết với một B duy nhất • Mỗi lựa chọn thay thế đã được sử dụng trong các hình thức khác nhau • Để tránh nhầm lẫn, chúng tôi cấm nhiều hơn một mũi tên
  • 35. Khóa chính • Khóa chính cung cấp một cách để xác định cách phân biệt các thực thể và quan hệ. Chúng tôi sẽ xem xét: • Tập thực thể • Tập liên kết. • Tập thực thể yếu
  • 36. Khóa chính cho Tập thực thể • Theo định nghĩa, các thực thể riêng lẻ là khác biệt. • Từ góc độ cơ sở dữ liệu, sự khác biệt giữa chúng phải được thể hiện dưới dạng các thuộc tính của chúng. • Các giá trị của các giá trị thuộc tính của một thực thể phải sao cho chúng có thể xác định duy nhất thực thể đó. • Không có hai thực thể nào trong một tập thực thể được phép có cùng một giá trị cho tất cả các thuộc tính. • Khóa của một thực thể là một tập hợp các thuộc tính đủ để phân biệt các thực thể với nhau
  • 37. Khóa chính cho các tập liên kết • Để phân biệt giữa các liên kết khác nhau của một tập liên kết, chúng tôi sử dụng các khóa chính riêng lẻ của các thực thể trong tập hợp liên kết. • Cho R là tập liên kết bao gồm các tập thực thể E1, E2, .. En • Khóa chính của R bao gồm hợp các khóa chính của các tập thực thể E1, E2, .. En • Nếu tập liên kết R có các thuộc tính a1, a2, .., am gắn với nó thì khóa chính của R cũng bao gồm các thuộc tính a1, a2, .., am • Ví dụ: tập quan hệ “cố vấn”. • Khóa chính bao gồm instructor.ID và student.ID • Việc lựa chọn khóa chính cho một tập liên kết phụ thuộc vào lực lượng ánh xạ của tập liên kết.
  • 38. Lựa chọn khóa chính cho liên kết nhị phân • Liên kết nhiều-nhiều. Sự kết hợp trước của các khóa chính là một siêu khóa tối thiểu và được chọn làm khóa chính. • Liên kết một-nhiều. Khóa chính của bên “Nhiều” là một siêu khóa tối thiểu và được sử dụng làm khóa chính. • Liên kết nhiều-một. Khóa chính của bên “Nhiều” là một siêu khóa tối thiểu và được sử dụng làm khóa chính. • Liên kết một đối một. Khóa chính của một trong các tập thực thể tham gia tạo thành một siêu khóa tối thiểu và một trong hai có thể được chọn làm khóa chính.
  • 39. Tập thực thể yếu • Hãy xem xét một thực thể section, được xác định duy nhất bởi một course_id, semester, year, and sec_id. • Rõ ràng, các thực thể phần có liên quan đến các thực thể khóa học. Giả sử chúng ta tạo một tập hợp mối quan hệ sec_course giữa tập hợp thực thể section và course . • Lưu ý rằng thông tin trong sec_course là dư thừa, vì section đã có một thuộc tính Course_id , thuộc tính này xác định khóa học có liên quan đến section đó. • Một lựa chọn để giải quyết sự dư thừa này là loại bỏ mối quan hệ sec_course ; tuy nhiên, bằng cách đó, mối quan hệ giữa section và course trở nên tiềm ẩn trong một thuộc tính, điều này không được mong muốn.
  • 40. Tập thực thể yếu (tiếp) • Một cách khác để xử lý sự dư thừa này là không lưu trữ thuộc tính course_id trong thực thể section và chỉ lưu trữ các thuộc tính còn lại section_id, year, and semester. • Tuy nhiên, tập thực thể section sau đó không có đủ thuộc tính để xác định duy nhất một thực thể section cụ thể • Để giải quyết vấn đề này, chúng tôi coi mối quan hệ sec_course là một mối quan hệ đặc biệt cung cấp thông tin bổ sung, trong trường hợp này là Course_id , được yêu cầu để xác định duy nhất các thực thể section . • Tập thực thể yếu là tập có sự tồn tại phụ thuộc vào một thực thể khác, được gọi là thực thể xác định của nó • Thay vì liên kết khóa chính với một thực thể yếu, chúng tôi sử dụng thực thể xác định, cùng với các thuộc tính bổ sung được gọi là phân biệt đối xử để xác định duy nhất một thực thể yếu.
  • 41. Tập thực thể yếu (tiếp) • Một tập thực thể không phải là một tập thực thể yếu được gọi là một tập thực thể mạnh . • Mỗi thực thể yếu phải được liên kết với một thực thể xác định; nghĩa là, tập thực thể yếu được cho là tồn tại phụ thuộc trên tập thực thể nhận dạng. • Tập thực thể xác định được cho là sở hữu tập thực thể yếu mà nó xác định. • Mối quan hệ liên kết tập thực thể yếu với tập thực thể xác định được gọi là mối quan hệ xác định . • Lưu ý rằng lược đồ quan hệ cuối cùng chúng ta tạo từ phần tập hợp thực thể có thuộc tính Course_id , vì những lý do sẽ rõ sau, mặc dù chúng ta đã loại bỏ thuộc tính Course_id khỏi phần tập hợp thực thể .
  • 42. Thể hiện tập thực thể yếu • Trong sơ đồ ER, một tập hợp thực thể yếu được mô tả thông qua một hình chữ nhật kép. • Chúng tôi gạch chân bộ phân biệt của một tập thực thể yếu bằng một đường đứt nét. • Tập liên kết kết nối tập thực thể yếu với tập thực thể mạnh xác định được mô tả bằng hình thoi kép. • Khóa chính cho section – ( course_id , sec_id , quarter , year )
  • 43. Thuộc tính dự phòng • Giả sử chúng ta có các tập thực thể: • student , với các thuộc tính: ID, name, tot_cred, dept_name • department, với các thuộc tính: dept_name, building, budget • Ta mô hình hóa rằng mỗi sinh viên có một bộ phận liên quan sử dụng tập hợp mối quan hệ stud _dept • Thuộc tính dept_name trong student bên dưới sao chép thông tin có trong liên kết và do đó không cần thiết • Và cần phải được loại bỏ. • NHƯNG: khi chuyển đổi trở lại bảng, trong một số trường hợp, thuộc tính được giới thiệu lại, như chúng ta sẽ thấy sau.
  • 44. Sơ đồ ER cho một trường đại học
  • 45. Rút gọn về các lược đồ quan hệ
  • 46. Rút gọn các lược đồ quan hệ • Tập thực thể và tập liên kết có thể được biểu diễn thống nhất dưới dạng lược đồ quan hệ biểu diễn nội dung của cơ sở dữ liệu. • Cơ sở dữ liệu phù hợp với sơ đồ ER có thể được biểu diễn bằng một tập hợp các lược đồ. • Đối với mỗi tập thực thể và tập liên kết, có một lược đồ duy nhất được gán tên của tập thực thể hoặc tập liên kết tương ứng. • Mỗi lược đồ có một số cột (thường tương ứng với các thuộc tính), có tên duy nhất.
  • 47. Biểu diễn tập thực thể • Một tập thực thể mạnh rút gọn thành lược đồ có cùng thuộc tính student(ID, name, tot_cred) • Một tập thực thể yếu trở thành một bảng bao gồm một cột cho khóa chính của tập thực thể mạnh xác định section ( course_id, sec_id, sem, year ) • Ví dụ
  • 48. Biểu diễn các tập thực thể với các thuộc tính tổng hợp  Các thuộc tính tổng hợp được làm phẳng bằng cách tạo một thuộc tính riêng cho từng thuộc tính thành phần • Ví dụ: tập thực thể instructor đã cho với thuộc tính tổng hợp name với các thuộc tính thành phần first_name và last_name lược đồ tương ứng với tập thực thể có hai thuộc tính name_last_name và name_last_name  Tiền tố bị bỏ qua nếu không có sự mơ hồ ( name_first_name có thể là first_name )  Bỏ qua các thuộc tính đa trị, lược đồ instructor mở rộng là • instructor(ID, first_name, middle_initial, last_name, street_number, street_name, apt_number, city, state, zip_code, date_of_birth)
  • 49. Biểu diễn các tập thực thể với các thuộc tính đa trị  Thuộc tính đa trị M của thực thể E được biểu diễn bằng lược đồ riêng EM  Lược đồ EM có các thuộc tính tương ứng với khóa chính của E và một thuộc tính tương ứng với thuộc tính đa trị M  Ví dụ: Thuộc tính đa trị phone_number của instructor được biểu diễn bằng lược đồ: inst_phone = ( ID , phone_number)  Mỗi giá trị của thuộc tính đa trị ánh xạ tới một bộ riêng biệt của quan hệ trên lược đồ EM • Ví dụ: một thực thể instructor có khóa chính 22222 và các số điện thoại 456-7890 và 123-4567 ánh xạ tới hai bộ: (22222, 456-7890) và (22222, 123-4567)
  • 50. Biểu diễn các tập hợp quan hệ • Tập mối quan hệ nhiều-nhiều được biểu diễn dưới dạng lược đồ với các thuộc tính dành cho khóa chính của hai tập thực thể tham gia và bất kỳ thuộc tính mô tả nào của tập mối quan hệ. • Ví dụ: lược đồ cho tập quan hệ advisor advisor = ( s_id , i_id )
  • 51. Dự phòng của các lược đồ  Các tập quan hệ nhiều-một và một-nhiều hoàn toàn ở phía nhiều có thể được biểu diễn bằng cách thêm một thuộc tính bổ sung cho phía “nhiều”, chứa khóa chính của phía “một”  Ví dụ: Thay vì tạo lược đồ cho tập hợp mối quan hệ inst_dept , hãy thêm thuộc tính dept_name vào lược đồ phát sinh từ tập thực thể instructor  Ví dụ
  • 52. Sự dư thừa của lược đồ (tt)  Đối với các bộ mối quan hệ một-một, có thể chọn một trong hai bên để đóng vai trò là bên “nhiều” • Nghĩa là, một thuộc tính bổ sung có thể được thêm vào một trong hai bảng tương ứng với hai tập thực thể.  Nếu sự tham gia là một phần của phía “nhiều”, thì việc thay thế lược đồ bằng một thuộc tính bổ sung trong lược đồ tương ứng với phía “nhiều” có thể dẫn đến giá trị null
  • 53. Sự dư thừa của lược đồ (tt)  Lược đồ tương ứng với một tập quan hệ liên kết một tập thực thể yếu với tập thực thể mạnh xác định của nó là dư thừa.  Ví dụ: Lược đồ section đã chứa các thuộc tính sẽ xuất hiện trong lược đồ sec_course
  • 54. Các tính năng ER mở rộng
  • 55. Cụ thể hóa • Quy trình thiết kế từ trên xuống; chúng tôi chỉ định các nhóm con trong một tập hợp thực thể để phân biệt với các thực thể khác trong tập hợp. • Các nhóm con này trở thành các tập thực thể cấp thấp hơn có các thuộc tính hoặc tham gia vào các mối quan hệ không áp dụng cho tập thực thể cấp cao hơn. • Được mô tả bằng một thành phần tam giác có nhãn ISA (ví dụ: instructor “là” person ). • Kế thừa thuộc tính – một tập thực thể cấp thấp hơn kế thừa tất cả các thuộc tính và sự tham gia vào mối quan hệ của tập thực thể cấp cao hơn mà nó được liên kết.
  • 56. Ví dụ cụ thể hóa • Chồng chéo – employee và student • Phân chia – instructor và secretary • Toàn bộ và một phần
  • 57. Biểu diễn cụ thể hóa thông qua các lược đồ  Cách 1: • Tạo một lược đồ cho thực thể cấp cao hơn • Tạo lược đồ cho từng tập thực thể cấp thấp hơn, bao gồm khóa chính của tập thực thể cấp cao hơn và các thuộc tính cục bộ • Hạn chế: nhận thông tin về một employee yêu cầu truy cập hai quan hệ, một tương ứng với lược đồ cấp thấp và một tương ứng với lược đồ cấp cao
  • 58. Biểu diễn cụ thể hóa thông qua các lược đồ (Tiếp theo)  Cách 2: • Tạo một lược đồ cho từng tập thực thể với tất cả các thuộc tính cục bộ và thuộc tính kế thừa • Hạn chế: name, street và city có thể được lưu trữ dư thừa đối với những người vừa là sinh viên vừa là nhân viên
  • 59. Khái quát hóa • Quy trình thiết kế từ dưới lên – kết hợp một số tập thực thể có chung tính năng thành một tập thực thể cấp cao hơn. • Cụ thể hóa và khái quát hóa là sự đảo ngược đơn giản của nhau; chúng được biểu diễn trong sơ đồ ER theo cùng một cách. • Các thuật ngữ cụ thể hóa và khái quát hóa được sử dụng thay thế cho nhau.
  • 60. Ràng buộc đầy đủ • Ràng buộc đầy đủ -- chỉ định liệu một thực thể trong tập thực thể cấp cao hơn có phải thuộc về ít nhất một trong các tập thực thể cấp thấp hơn trong một khái quát hóa hay không. • Tổng : một thực thể phải thuộc về một trong các tập thực thể cấp thấp hơn • một phần : một thực thể không cần thuộc về một trong các tập thực thể cấp thấp hơn
  • 61. Ràng buộc đầy đủ (Cont.) • Khái quát hóa một phần là mặc định. • Chúng ta có thể chỉ định tổng khái quát hóa trong sơ đồ ER bằng cách thêm từ khóa tổng vào sơ đồ và vẽ một đường đứt nét từ từ khóa đến đầu mũi tên rỗng tương ứng mà nó áp dụng (đối với khái quát hóa) hoặc tập hợp các mũi tên rỗng -heads mà nó áp dụng (đối với một khái quát hóa chồng chéo). • student là khái quát hóa toàn bộ: Tất cả các thực thể sinh viên phải tốt nghiệp hoặc chưa tốt nghiệp. Bởi vì tập thực thể cấp cao hơn đạt được thông qua quá trình tổng quát hóa thường chỉ bao gồm các thực thể đó trong tập thực thể cấp thấp hơn, nên ràng buộc về tính đầy đủ đối với tập thực thể cấp cao hơn được tổng quát hóa thường là toàn bộ
  • 62. Tổng hợp  Hãy xem xét mối quan hệ ba ngôi proj_guide mà chúng ta đã thấy trước đó  Giả sử chúng ta muốn ghi lại đánh giá của một học sinh bởi một hướng dẫn về một dự án
  • 63. Tổng hợp (Tiếp) • Bộ mối quan hệ eval_for và proj_guide đại diện cho thông tin chồng chéo • Mỗi mối quan hệ eval_for tương ứng với mối quan hệ proj_guide • Tuy nhiên, một số mối quan hệ proj_guide có thể không tương ứng với bất kỳ mối quan hệ eval_for nào • Vì vậy, chúng tôi không thể loại bỏ mối quan hệ proj_guide • Loại bỏ sự dư thừa này thông qua tổng hợp • Coi mối quan hệ như một thực thể trừu tượng • Cho phép mối quan hệ giữa các mối quan hệ • Trừu tượng hóa mối quan hệ thành thực thể mới
  • 64. Tổng hợp (Tiếp)  Loại bỏ sự dư thừa này thông qua tổng hợp mà không đưa ra sự dư thừa, sơ đồ sau đây thể hiện: • Một sinh viên được hướng dẫn bởi một người hướng dẫn cụ thể về một dự án cụ thể • Một sinh viên, người hướng dẫn, sự kết hợp dự án có thể có một đánh giá liên quan
  • 65. Rút gọn các lược đồ quan hệ  Để biểu diễn tổng họp, hãy tạo một lược đồ chứa • Khóa chính của quan hệ tổng hợp, • Khóa chính của tập thực thể được liên kết • Bất kỳ thuộc tính mô tả nào  Trong ví dụ của chúng tôi: • Lược đồ eval_for là: eval_for (s_ID, project_id, i_ID, evaluation_id) • Lược đồ proj_guide là dư thừa.
  • 67. Những lỗi thường gặp trong sơ đồ ER  Ví dụ về sơ đồ ER sai
  • 68. Các lỗi thường gặp trong sơ đồ ER (Tiếp)
  • 69. Thực thể so với Thuộc tính  Sử dụng tập thực thể so với thuộc tính  Việc sử dụng điện thoại làm thực thể cho phép thêm thông tin về số điện thoại (cộng với nhiều số điện thoại)
  • 70. Các thực thể so với các tập quan hệ  Sử dụng tập thực thể so với tập mối quan hệ Hướng dẫn có thể là chỉ định một tập hợp mối quan hệ để mô tả một hành động xảy ra giữa các thực thể • Vị trí của các thuộc tính quan hệ Ví dụ: ngày thuộc tính là thuộc tính của cố vấn hoặc là thuộc tính của sinh viên
  • 71. Quan hệ Nhị phân và Quan hệ không nhị phân • Mặc dù có thể thay thế bất kỳ mối quan hệ không nhị phân nào ( n - ary , đối với n > 2) bằng một số bộ mối quan hệ nhị phân riêng biệt, nhưng một bộ mối quan hệ n - ary cho thấy rõ ràng hơn rằng một số thực thể tham gia vào một mối quan hệ duy nhất. • Một số mối quan hệ dường như không phải là nhị phân có thể được biểu diễn tốt hơn bằng cách sử dụng các mối quan hệ nhị phân • Ví dụ, mối quan hệ bậc ba cha mẹ , liên quan đến một đứa trẻ với cha và mẹ của mình, tốt nhất nên thay thế bằng hai mối quan hệ nhị phân, cha và mẹ . • Sử dụng hai mối quan hệ nhị phân cho phép thông tin một phần (ví dụ: chỉ mẹ được biết) • Nhưng có một số mối quan hệ tự nhiên là phi nhị phân • Ví dụ: proj_guide
  • 72. Chuyển đổi các mối quan hệ không nhị phân sang dạng nhị phân • Nói chung, bất kỳ mối quan hệ không nhị phân nào cũng có thể được biểu diễn bằng các mối quan hệ nhị phân bằng cách tạo một tập thực thể nhân tạo. • Thay thế R giữa các tập thực thể A, B và C bởi một tập thực thể E và ba tập quan hệ: 1. R A , liên quan đến E và A; 2. R B , liên quan đến E và B; 3. R C , liên quan đến E và C • Tạo thuộc tính nhận dạng cho E và thêm bất kỳ thuộc tính nào của R vào E • Đối với mỗi mối quan hệ ( a i , b i , c i ) trong R, hãy tạo 1. một thực thể mới e i trong tập thực thể E ; 2. thêm ( e i , a i ) đến R A; 3. thêm ( e i , b i ) đến R B ; 4. thêm ( e i , c i ) vào R C
  • 73. Chuyển đổi các mối quan hệ không nhị phân (tt) • Cũng cần dịch các ràng buộc • Dịch tất cả các ràng buộc có thể không thực hiện được • Có thể có các phiên bản trong lược đồ đã dịch không thể tương ứng với bất kỳ phiên bản nào của R • Bài tập: thêm các ràng buộc vào các mối quan hệ R A , R B và R C để đảm bảo rằng một thực thể mới được tạo tương ứng với chính xác một thực thể trong mỗi tập thực thể A, B và C • Chúng ta có thể tránh tạo ra một thuộc tính xác định bằng cách biến E thành một tập thực thể yếu (được mô tả ngắn gọn) được xác định bởi ba tập quan hệ
  • 74. Thiết kế ER • Việc sử dụng một thuộc tính hoặc tập hợp thực thể để đại diện cho một đối tượng. • Liệu một khái niệm trong thế giới thực có được thể hiện tốt nhất bởi một tập thực thể hay một tập quan hệ hay không. • Việc sử dụng một mối quan hệ bậc ba so với một cặp mối quan hệ nhị phân. • Việc sử dụng một tập thực thể mạnh hay yếu. • Việc sử dụng chuyên môn hóa/khái quát hóa – góp phần vào tính mô đun hóa trong thiết kế. • Việc sử dụng tổng hợp – có thể coi tập thực thể tổng hợp là một đơn vị duy nhất mà không cần quan tâm đến các chi tiết về cấu trúc bên trong của nó.
  • 75. Tóm tắt các ký hiệu được sử dụng trong ký hiệu ER
  • 76. Các ký hiệu được sử dụng trong Ký hiệu ER (Tiếp)
  • 77. Ký hiệu ER thay thế • Chen, IDE1FX, …
  • 78. Ký hiệu ER thay thế Chen IDE1FX (Ký hiệu vết chân chim)
  • 79. UML • UML : Ngôn ngữ lập mô hình thống nhất • UML có nhiều thành phần để mô hình hóa đồ họa các khía cạnh khác nhau của toàn bộ hệ thống phần mềm • Sơ đồ lớp UML tương ứng với Sơ đồ ER, nhưng có một số khác biệt.
  • 80. Sơ đồ lớp ER so với UML * Lưu ý đảo ngược vị trí trong mô tả ràng buộc cardinality
  • 81. Sơ đồ lớp ER so với UML Ký hiệu sơ đồ ER Tương đương trong UML * Tổng quát hóa có thể sử dụng các mũi tên được hợp nhất hoặc riêng biệt độc lập rời rạc/chồng chéo
  • 82. Sơ đồ lớp UML (Tiếp) • Các tập quan hệ nhị phân được biểu diễn trong UML bằng cách chỉ vẽ một đường kết nối các tập thực thể. Tên bộ mối quan hệ được viết liền kề với dòng. • Vai trò của một tập hợp thực thể trong tập hợp mối quan hệ cũng có thể được chỉ định bằng cách viết tên vai trò trên dòng, liền kề với tập hợp thực thể. • Ngoài ra, tên của bộ mối quan hệ có thể được viết trong một hộp, cùng với các thuộc tính của bộ mối quan hệ và hộp được kết nối, sử dụng một đường chấm, với đường mô tả bộ mối quan hệ.
  • 83. Sơ đồ lớp ER so với UML
  • 84. Các khía cạnh khác của thiết kế cơ sở dữ liệu • Yêu cầu chức năng • Luồng dữ liệu, quy trình làm việc • Lược đồ tiến hóa