Mỗi thuộc tính đơn của một kiểu thực thể được kết hợp với một tập hợp giá trị (hay còn gọi là miền giá trị). Đó là tập hợp các giá trị có thể gán cho thuộc tính này đối với mỗi thực th[r]
(1)TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA CÔNG NGHỆ THÔNG TIN
HÀ VĂN LÂM
BÀI GIẢNG
CƠ SỞ DỮ LIỆU
(2)TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG KHOA CÔNG NGHỆ THÔNG TIN
BÀI GIẢNG
CƠ SỞ DỮ LIỆU Dành cho sinh viên bậc đại học
ngành Công nghệ thông tin Sư phạm tin
(3)Chương 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Thời lượng: 03 tiết lý thuyết
Kết thúc chương này, sinh viên có thể:
Hiểu phải đời hệ sở liệu
Biết đối tượng sử dụng sở liệu
Biết yêu cầu(đặc tính)của hệ sở liệu
Biết thành phần hệ quản trị sở liệu
1.1 DẪN NHẬP - TẠI SAO PHẢI CÓ MỘT CƠ SỞ DỮ LIỆU 1.1.1 Hệ thống tập tin cổ điển
- Trong trình xử lý thơng tin, cách tiếp cận cổ điển biểu diễn dạng sau:
OUTPUT INPUT
- Phân tích liệu (Output) dẫn đến nhu cầu cần (Input) Dữ liệu dùng cho chương trình ứng dụng định
1.1.2 Các ví dụ
Ứng dụng 1: Về quản lý tiền lương (QLTL) Lập bảng lương đơn vị quản lý
STT Họ tên Bậc lương Phụ cấp Tiền lương * Suy liệu cần:
- Họ tên, Bậc lương, Bậc lương * Dữ liệu tổ chức thành tập tin:
- Tập tin NHANVIEN_1 gồm:
- Tập tin CHEDO_PHUCAP gồm: * Sơ đồ khai thác hệ QLTL sau:
Họ tên Bậc lương Phụ cấp Bậc lương
NHANVIEN_1 CHEDO_PHUCAP
Chương trình QLTL
(4)Ứng dụng 2: Lập danh sách phân cơng (dự kiến) cho cơng trình(QLCT) STT Họ tên Chun mơn Cơng trình
* Suy liệu cần:
- Họ tên, Chun mơn, Cơng trình * Dữ liệu tổ chức thành tập tin:
- Tập tin NHANVIEN_2 gồm:
- Tập tin CONG_TRINH gồm: * Sơ đồ khai thác hệ QLTL sau:
Nhận xét:
- Việc xử lý, khai thác liệu công tác quản lý khoa học đơn lẻ, tự phát phòng ban chức quan, đơn vị theo cấu trúc tổ chức liệu cho riêng
- Việc triển khai tiến hành với thời gian ngắn, đầu tư, tốn nhân sự, vật chất…
- Chính quan điểm dẫn đến việc: trùng lắp thông tin, dư thừa thông tin, lại không quán xử lý, quản lý thông tin Quan trọng thiếu chia sẻ thông tin đơn vị
- Do nhu cầu xử lý thông tin ngày qui mô, rộng nhiều khía cạnh nên địi hỏi đời hệ sở liệu để giải nhu cầu
1.2 ĐỊNH NGHĨA MỘT CƠ SỞ DỮ LIỆU 1.2.1 Giới thiệu chung
- Nghiên cứu Cơ sở liệu (CSDL) giúp biết lưu trữ, cập nhật, tìm kiếm thông tin nhanh, hiệu quả, tiết kiệm nhớ Mặt khác giúp hiểu ràng buộc mang tính chất nội mơ hình sở liệu
- Cơ sở liệu môn học liên quan nhiều đến lý thuyết đại số, logic tốn Họ tên Chun mơn
Cơng trình Chun mơn
NHANVIEN_2 CONG_TRINH
Chương trình QLCT
(5)nhiều lĩnh vực kiến thức tin học khác
- Bất kỳ ứng dụng tin học chứa đựng vấn đề cách tổ chức lưu trữ khai thác liệu
- Hiện nay, CSDL gắn liền với ứng dụng tin học, chẳng hạn quản lý hệ thống thông tin quan, đơn vị, trường học
- Đó liệu tác nghiệp Cơ quan, đơn vị trường học bao gồm: Dữ liệu sản phẩm, liệu tài khoản, liệu đào tạo, liệu sinh viên, liệu lập kế hoạch công việc v.v
- CSDL bảo đảm cho quan, đơn vị, trường học có khả quản lý tập trung liệu tác nghiệp Cần phải tính đến người quản trị CSDL, chịu trách nhiệm liệu tác nghiệp
1.2.2 Định nghĩa sở liệu
CSDL tập hợp liệu tổ chức có cấu trúc liên quan với lưu trữ máy tính Để tối ưu hóa thao tác sau:
- Lưu trữ liệu - Truy xuất thông tin - Cập nhật liệu
1.3 CÁC ĐỐI TƯỢNG SỬ DỤNG CSDL 1.3.1 Các đối tượng sử dụng CSDL
- Quản trị viên (Database Administrator - DBA)
+ Có trách nhiệm quản lý hệ CSDL cấp quyền truy cập CSDL + Điều phối giám sát việc sử dụng CSDL
- Thiết kế viên (Database Designer) + Chịu trách nhiệm
- Lựa chọn cấu trúc phù hợp để lưu trữ liệu - Quyết định liệu cần lưu trữ
+ Liên hệ với người dùng để nắm bắt yêu cầu đưa thiết kế CSDL thỏa yêu cầu
+ Có thể nhóm (DBA) quản lý CSDL sau việc thiết kế hoàn tất
- Người dùng cuối (End User) * Người sử dụng
- Ít truy cập CSDL, cần thông tin khác lần truy cập dùng câu truy vấn phức tạp
- Người quản lý
* Người sử dụng thường xuyên
- Thường xuyên truy vấn cập nhật CSDL nhờ vào số chức xây dựng sẳn
(6)* Người sử dụng đặc biệt
- Thông thạo HQT CSDL, tự xây dựng truy vấn phức tạp cho công việc
- Kỹ sư, nhà khoa học, người phân tích,…
1.3.2 Các đặc tính hệ CSDL(yêu cầu)
1 Tính cấu trúc: Thơng tin CSDL lưu trữ theo cấu trúc định 2 Tính tồn vẹn: Các giá trị liệu lưu trữ CSDL phải thỏa mãn ràng buộc Tùy thuộc vào hành động tổ chức CSDL
3 Tính quán: Sau lần cập nhật có cố(phần cứng, Phần mềm) xảy trình cập nhật CSDL phải đảm bảo tính quán liệu
4 Tính an tồn bảo mật thơng tin: CSDL phải bảo vệ an toàn, tránh truy cập không phép phải khôi phục CSDL có cố xảy (phần cứng, Phần mềm) Mỗi nhóm NSD có thamền hạn mục đích khác
5 Tính khơng dư thừa: CSDL khơng lưu trữ liệu trùng lặp
6 Tính cạnh tranh: Cạnh tranh truy xuất, nhiều người sử dụng Do phải phân cấp cho chương trình ứng dụng
1.3.3 Cấu trúc CSDL: (Có mức)
- Mức ngồi: Mơ tả phần CSDL
- Mức trung gian: Mô tả liệu lưu trữ CSDL mối quan hệ (logic) mẫu tin
- Mức vật lý: Mô tả liệu lưu trữ nhớ
1.4 HỆ QUẢN TRỊ CSDL (Data Base Management System - DBMS) 1.4.1 Khái niệm Hệ quản trị CSDL
Để giải tốt vấn đề mà cách tổ chức CSDL đặt khai thác có hiệu quả, đảm bảo bảo mật, cạnh tranh truy xuất , cần thiết phải có phần mềm chuyên dùng để khai thác chúng, phần mềm gọi hệ quản trị CSDL (Data base management system- DBMS)
Hệ quản trị CSDL hệ thống phần mềm, có nhiệm vụ hỗ trợ cho nhà phân tích, thiết kế người khai thác CSDL, đảm bảo bảo mật, cạnh tranh truy xuất, an toàn liệu, cung cấp cho người dùng cách nhìn khác CSDL
Hiện nay, thị trường có nhiều hệ quản trị CSDL (DBMS) với chất lượng khác như: Oracle, DB2, Paradox, Ms Access, Visual Foxpro, MySQL, SQL SERVER
Lưu ý: Điều quan trọng để khai thác, tổ chức tốt CSDL cần phải có hệ quản trị CSDL tối ưu, phù hợp với CSDL
1.4.2 Các thành phần Hệ quản trị CSDL (DBMS): (có phần)
(7)+ Mô tả cấu trúc CSDL + Mô tả mối quan hệ liệu
+ Mơ tả ràng buộc tồn vẹn liệu * Ngôn ngữ thao tác liệu(DML)
Có đặc tính ngơn ngữ lập trình bậc cao dùng để: + Cập nhật liệu
+ Khai thác liệu (có loại: Thủ tục phi thủ tục) * Tự điển liệu(DD)
Là nơi tập trung thông tin lưu trữ về:
+ Cấu trúc CSDL(thuộc tính, quan hệ…) + Chương trình ứng dụng
+ Mã bảo mật
1.5 SƠ ĐỒ TỔNG QUÁT CỦA MỘT HỆ QUẢN TRỊ CSDL 1.5.1 Kiến trúc lược đồ
1.5.2 Kiến trúc Hệ quản trị CSDL
* Mức (lược đồ trong)
- Mô tả cấu trúc lưu trữ vật lý CSDL * Mức quan niệm (lược đồ quan niệm)
- Mơ tả cấu trúc tồn thể CSDL cho cộng đồng người sử dụng, gồm thực thể, kiểu liệu, mối liên hệ ràng buộc
- Che bớt chi tiết cấu trúc lưu trữ vật lý * Mức (lược đồ ngồi)
- Cịn gọi mức khung nhìn (view)
- Mơ tả phần CSDL mà nhóm người dùng quan tâm đến che dấu phần cịn lại CSDL nhóm người dùng
1.6 TÍNH ĐỘC LẬP GIỮA DỮ LIỆU VÀ CHƯƠNG TRÌNH
(8)- Tính độc lập vật lý: Cho phép người Quản trị hệ quản trị CSDL thay đổi cách cài đặt mẫu tin mà không ảnh hưởng đến chương trình ứng dụng
- Tính độc lập logic: Cho phép sửa đổi cấu trúc CSDL (thay đổi lược đồ quan niệm) mà không ảnh hưởng đến chương trình ứng dụng sử dụng CSDL
(9)Chương 2: MƠ HÌNH THỰC THỂ LIÊN KẾT ER (Entity - Relationship model)
Thời lượng: 03 tiết lý thuyết + 03 tiết tập Kết thúc chương này, sinh viên có thể:
Hiểu thành phần mơ hình thực thể liên kết ER
Biết sử dụng khái niệm mơ hình bậc cao cho việc thiết kế sở liệu
Trong chương làm quen với mơ hình thực thể-liên kết (Entity-Relationship model), gọi tắt mơ hình ER Đó mơ hình liệu quan niệm bậc cao phổ biến, tập trung vào cấu trúc sở liệu ràng buộc
2.1 SỬ DỤNG MÔ HÌNH KHÁI NIỆM BẬC CAO CHO VIỆC THIẾT KẾ CƠ SỞ DỮ LIỆU
Hình 2.1 Sơ đồ mơ tả bước việc thiết kế sở liệu
(10)- Bước tạo lược đồ quan niệm cho sở liệu cách sử dụng mơ hình liệu quan niệm mức cao Bước gọi thiết kế khái niệm
+ Lược đồ khái niệm mơ tả súc tích yêu cầu liệu người sử dụng, bao gồm mô tả chi tiết kiểu thực thể, kiểu liên kết ràng buộc, chúng biểu diễn khái niệm mơ hình liệu bậc cao cung cấp Vì khái niệm không chứa chi tiết cài đặt (thể hiện), chúng thường dễ hiểu sử dụng để giao lưu với người sử dụng
+ Lược đồ quan niệm mức cao sử dụng dẫn chứng để đảm bảo tất đòi hỏi người sử dụng thoả mãn không chứa mâu thuẫn Giải pháp cho phép người thiết kế sở liệu tập trung vào việc đặc tả tính chất liệu mà không cần quan tâm đến chi tiết lưu trữ Một thiết kế sở liệu quan niệm tốt, dễ cho công việc người thiết kế sở liệu
+ Trong trình (hoặc sau khi) thiết kế lược đồ quan niệm, ta sử dụng phép tốn mơ hình liệu để đặc tả thao tác người sử dụng xác định phân tích chức
+ Điều giúp khẳng định lược đồ quan niệm thoả mãn yêu cầu chức xác định Nếu có số yêu cầu chức lược đồ ban đầu bước có sửa đổi lược đồ khái niệm cho phù hợp
- Bước thiết kế sở liệu việc thể (cài đặt) sở liệu cách sử dụng hệ quản trị sở liệu có sẵn Hầu hết hệ quản trị sở liệu sử dụng mơ hình liệu thể (chẳng hạn mơ hình sở liệu quan hệ đối tượng) Vì vậy, lược đồ quan niệm chuyển đổi từ mơ hình liệu bậc cao thành mơ hình liệu thể
+ Bước gọi thiết kế lô gic ánh xạ mơ hình liệu Kết bước lược đồ sở liệu dạng mơ hình liệu thể hệ quản trị sở liệu
- Bước cuối thiết kế sở liệu thiết kế vật lý Trong bước ta phải cấu trúc lưu trữ bên trong, đường dẫn truy cập, tổ chức tệp cho tệp sở liệu Song song với hoạt động đó, chương trình áp dụng thiết kế cài đặt giao dịch sở liệu tương ứng với đặc tả giao dịch mức cao
2.2 CÁC THÀNH PHẦN CƠ BẢN CỦA MÔ HÌNH THỰC THỂ LIÊN KẾT 2.2.1 Thực thể, tập thực thể
a) Thực thể
(11)- Mỗi thực thể có thuộc tính, tính chất cụ thể mơ tả Ví dụ 1:
Một thực thể nhân viên mô tả họ tên, tuổi, địa chỉ, lương cơng việc nhân viên
Một thực thể cụ thể có giá trị cho thuộc tính Các giá trị thuộc tính mơ tả thực thể trở thành phần liệu lưu trữ sở liệu
b) Tập thực thể
Tập hợp thực thể giống tạo thành tập thực thể
Ví dụ 2: (Hình 2.2) số thực thể thuộc tính chúng Thực thể nhân viên e1 có thuộc tính : Họ tên, Địa chỉ, Tuổi, Điện thoại Giá trị thuộc tính tương ứng “Lê Minh”, “Quảng Ngãi”, “25”, “0553823856”
NHANVIEN Họ tên Địa Tuổi Điện thoại
e1 Lê Minh Quảng Ngãi 25 0553823856
e2 Trần Chỉnh Mộ Đức 28 0553823876
e3 Huỳnh Mỹ Sơn Tịnh 32 0553823456
Hình 2.2 Kiểu thực thể tập thực thể
2.2.2 Các loại thuộc tính
Trong mơ hình ER có mặt nhiều kiểu thuộc tính : thuộc tính đơn thuộc tính phức hợp, thuộc tính đơn trị thuộc tính đa trị, thuộc tính lưu trữ thuộc tính suy diễn Chúng ta định nghĩa kiểu thuộc tính minh họa chúng thơng qua ví dụ
a) Thuộc tính đơn thuộc tính phức hợp
- Thuộc tính đơn: Các thuộc tính khơng thể phân chia gọi thuộc tính
đơn hay thuộc tính nguyên tố
- Thuộc tính phức hợp: thuộc tính phân chia thành phần nhỏ hơn, biểu diễn thuộc tính với ý nghĩa độc lập Giá trị thuộc tính phức hợp kết hợp giá trị thuộc tính thành phần tạo nên
Ví dụ 3: thuộc tính Họ tên thực thể Nhân viên phân chia thành Họ đệm, Tên
b)Thuộc tính đơn trị thuộc tính đa trị
- Thuộc tính đơn trị: Đa số thuộc tính có giá trị cho thực thể cụ thể, thuộc tính gọi thuộc tính đơn trị
Ví dụ: Tuổi thuộc tính đơn trị người
(12)tính đa trị
Ví dụ 4: thuộc tính Bằng cấp người Một người khơng có cấp nào, người khác có bằng, người khác có nhiều bằng,…
Như người khác có số giá trị khác cho thuộc tính Bằng cấp Những thuộc tính gọi thuộc tính đa trị
c) Thuộc tính lưu trữ thuộc tính suy diễn
Một số trường hợp, hai hay nhiều giá trị thuộc tính có liên quan đến Ví dụ 5: thuộc tính Tuổi thuộc tính Ngày sinh người Với người cụ thể ta tính Tuổi cách lấy năm trừ năm Ngày sinh Thuộc tính Tuổi gọi thuộc tính suy diễn suy diễn từ thuộc tính Ngày sinh Thuộc tính Ngày sinh gọi thuộc tính lưu trữ
d) Thuộc tính khơng xác định giá trị(null values)
Trong số trường hợp, thực thể cụ thể khơng có giá trị áp dụng cho thuộc tính
Ví dụ 6: Thuộc tính Điện thoại thực thể Nhân viên khơng có giá trị nhân viên khơng có số điện thoại
Trong trường hợp vậy, ta phải tạo giá trị đặc biệt gọi giá trị không xác định (null value) Giá trị không xác định tạo thuộc tính khơng có giá trị áp dụng
2.2.3 Kiểu thực thể, tập thực thể, khoá tập giá trị a) Kiểu thực thể tập thực thể
- Một kiểu thực thể: Là tập hợp thực thể có thuộc tính Một kiểu thực thể sở liệu mô tả tên thuộc tính (Hình 2.2) kiểu thực thể có tên NHÂNVIÊN thuộc tính chúng
- Một tập thực thể: Một tập hợp tất thực thể kiểu thực thể cụ
thể sở liệu thời điểm, thường tham chiếu đến cách sử dụng tên kiểu thực thể
Ví dụ 7:
NHÂNVIÊN dùng để vừa kiểu thực thể, vừa tập hợp tất thực thể nhân viên sở liệu
(13)Hình 2.3 Biểu diễn kiểu thực thể thuộc tính
Một kiểu thực thể mơ tả lược đồ mục đích cho tập thực thể chia sẻ cấu trúc Tập hợp thực thể kiểu thực thể cụ thể nhóm vào tập thực thể gọi thể kiểu thực thể
b) Các thuộc tính khố kiểu thực thể
Một ràng buộc quan trọng thực thể kiểu thực thể Khố ràng buộc tính thuộc tính
Mỗi kiểu thực thể thường có thuộc tính mà giá trị khác thực thể riêng biệt tập hợp
Thuộc tính gọi thuộc tính khố giá trị dùng để xác định thực thể cách
Ví dụ 8: thuộc tính MaCT kiểu thực thể CƠNG TY khố kiểu thực thể thực thể cơng ty có MaCT Đơi khi, nhiều thuộc tính kết hợp với tạo thành khoá, nghĩa tổ hợp giá trị thuộc tính phải khác thực thể
Trong trường hợp ta định nghĩa thuộc tính khố phức hợp Chú ý khoá phức hợp phải tối thiểu, nghĩa tất thuộc tính thành phần phải có mặt thuộc tính phức hợp để thoả mãn tính chất Trong biểu diễn đồ họa mơ hình ER, thuộc tính khố có tên gạch bên hình van
(14)nhỏ” mà sở liệu biểu diễn Một kiểu thực thể có nhiều thuộc tính khố
Ví dụ 9: kiểu thực thể NHANVIEN có hai thuộc tính Sốchứngminhthư Sốthẻbảohiểm, hai thuộc tính khố Một kiểu thực thể khơng có khố, trường hợp đó, gọi kiểu thực thể yếu
c) Tập hợp giá trị (miền) thuộc tính
Mỗi thuộc tính đơn kiểu thực thể kết hợp với tập hợp giá trị (hay cịn gọi miền giá trị) Đó tập hợp giá trị gán cho thuộc tính thực thể riêng biệt Các tập giá trị không hiển thị sơ đồ ER
Một cách tốn học, thuộc tính A kiểu thực thể E có tập giá trị V định nghĩa hàm từ E vào tập hợp lực lượng P(V) V:A: E P(V)
Chúng ta tham chiếu đến giá trị thuộc tính A thực thể e A(e) Định nghĩa cho thuộc tính đơn trị, thuộc tính đa trị, thuộc tính khơng xác định
2.2.4 Các liên kết, kiểu liên kết, vai trò ràng buộc cấu trúc * Các kiểu liên kết, tập liên kết thể
Một kiểu liên kết R n kiểu thực thể E1, E2,…., En xác định tập hợp liên kết thực thể kiểu Cũng kiểu thực thể tập thực thể, kiểu liên kết tập liên kết tương ứng với có tên chung R Một cách tốn học, tập liên kết R tập hợp thể liên kết ri, ri liên kết n thực thể riêng biệt (e1, e2, …, en), thực thể ej ri thành phần kiểu thực thể Ej, 1<=j<=n Như vậy, kiểu liên kết quan hệ toán học E1,E2,…,En, định nghĩa tập tích Đề E1x E2x ….xEn Mỗi kiểu thực thể E1, E2,…., En gọi tham gia vào kiểu liên kết R, tương tự, thực thể riêng biệt e1, e2, …., en gọi tham gia vào thể liên kết ri = (e1, e2, … , en)
Một cách khơng hình thức, thể liên kết ri R kết hợp thực thể, thực thể thuộc kiểu thực thể tham gia vào liên kết Mỗi thể liên kết ri biểu diễn kiện thực thể tham gia ri có quan hệ với theo cách giới thực
Ví dụ 10: thực tế, nhân viên làm việc cho đơn vị, vậy, có kiểu liên kết kiểu thực thể NHANVIEN kiểu thực thể ĐONVI liên kết nhân viên với đơn vị mà họ làm việc cho
(15)Hình 2.4 Kiểu liên kết thể liên kết
2.2.5 Cấp liên kết, tên vai trò liên kết đệ quy
- Cấp liên kết: Cấp kiểu liên kết số kiểu thực thể tham gia Một kiểu liên kết có cấp 1, cấp 2, cấp 3,…
Ví dụ 11: kiểu liên kết <làm việc cho> kiểu thực thể NHANVIEN kiểu thực thể ĐONVI kiểu liên kết cấp Kiểu liên kết <biết trước> kiểu thực thể Mơnhọc với kiểu liên kết cấp v.v…
- Các liên kết thuộc tính: Đơi coi kiểu liên kết
như thuộc tính kiểu thực thể
Ví dụ 12: kiểu thực thể NHANVIEN có thuộc tính ĐONVI để tên đơn vị mà nhân viên làm việc cho, thuộc tính ĐONVI biểu thị liên kết Các thuộc tính kiểu đơn trị đa trị tuỳ theo chất mối liên kết
- Các tên vai trò liên kết đệ quy: Mỗi kiểu thực thể tham gia vào kiểu liên kết có vai trị cụ thể liên kết Tên vai trò rõ vai trò mà thực thể kiểu thực thể tham gia có thể liên kết, giúp đỡ việc giải thích ý nghĩa liên kết
Ví dụ 13: kiểu liên kết <làm việc cho>, kiểu thực thể NHANVIEN đóng vai trị nhân viên cơng nhân, cịn kiểu thực thể ĐONVI đóng vai trị đơn vị người thuê nhân viên
Các tên vai trị hồn tồn khơng cần thiết kiểu liên kết mà kiểu thực thể tham gia khác nhau, tên kiểu thực thể sử dụng tên vai trò Tuy nhiên, số trường hợp, kiểu thực thể tham gia vào kiểu liên kết với vai trò khác
(16)vị, có nhân viên giao nhiệm vụ theo dõi nhân viên khác (chẳng hạn làm tổ trưởng, quản đốc, v…v) Như có kiểu liên kết <theo dõi> liên kết nhân viên với người theo dõi (cũng nhân viên) Kiểu thực thể NHÂNVIÊN tham gia hai lần vào kiểu liên kết < theo dõi>, lần với vai trò người bị theo dõi lần với vai trò người theo dõi
2.2.6 Các ràng buộc kiểu liên kết
Các kiểu liên kết thường có số ràng buộc để hạn chế số tổ hợp thực thể tham gia tập hợp liên kết tương ứng Các ràng buộc xác định từ tình trạng giới thực mà liên kết biểu diễn
Ví dụ 14: Cơng ty có quy chế nhân viên phải làm việc cho đơn vị ta phải mơ tả ràng buộc lược đồ Có hai loại ràng buộc liên kết chính: tỷ số lực lượng tham gia
- Các tỷ số lực lượng cho mối liên kết cấp 2: Tỷ số lực lượng cho liên kết cấp số thể liên kết mà thực thể tham gia vào
Ví dụ 15: kiểu liên kết <làm việc cho> ĐONVI NHANVIEN, tỷ số lực lượng 1:N, điều có nghĩa đơn vị liên kết với nhiều nhân viên nhân viên liên kết với đơn vị Các tỷ số lực lượng có 1:1, 1:N, N:1 M:N
Ví dụ 16: (về liên kết 1:1) nhân viên <quản lý> đơn vị đơn vị có nhân viên <quản lý> Kiểu liên kết NHANVIEN <làm việc trên> DUAN có tỷ số lực lượng N:M phản ánh tham chiếu giới thực nhân viên làm việc nhiều dự án dự án có nhiều nhân viên làm việc
Các tỷ số lực lượng cho liên kết cấp hiển thị lược đồ ER cách ghi 1, N, M hình thoi (Hình 2.5)
Hình 2.5 Tỷ số lực lượng kiểu liên kết
(17)Ví dụ 17: Công ty ấn định nhân viên phải làm việc cho đơn vị, thực thể NHANVIEN tồn tham gia vào thể liên kết < làm việc cho> Như vậy, tham gia kiểu thực thể NHANVIEN vào liên kết <làm việc cho> gọi tham gia toàn bộ, nghĩa thực thể “tập hợp tồn bộ” thực thể NHANVIEN phải có liên kết với thực thể ĐONVI thông qua kiểu liên kết <làm việc cho>
Sự tham gia toàn gọi phụ thuộc tồn
Ví dụ 18: Một nhân viên quản lý (hoặc không) đơn vị Như vậy, việc tham gia kiểu thực thể NHANVIEN vào kiểu liên kết <quản lý> phận, nghĩa có số “một phần tập hợp” thực thể NHANVIEN có liên kết với ĐONVI thơng qua kiểu liên kết <quản lý>, tất Chúng ta gọi tỷ số lực lượng ràng buộc tham gia tên chung ràng buộc cấu trúc
Trong lược đồ ER, tham gia toàn hiển thị đường thẳng nét đôi nối kiểu thực thể tham gia vào kiểu liên kết Sự tham gia phận biểu diễn đường thẳng nét đơn
Thuộc tính kiểu liên kết
Các kiểu liên kết có thuộc tính, giống thuộc tính kiểu thực thể
Ví dụ 19: để ghi lại số tuần nhân viên làm việc dự án, đưa vào thuộc tính Sốgiờ cho kiểu liên kết <làm việc trên> để ghi lại việc quản lý đơn vị nhân viên đưa vào thuộc tính Ngàybắtđầu cho kiểu liên kết <quảnlý>
Các kiểu thực thể yếu
Các kiểu thực thể khơng có thuộc tính khố cho gọi thực thể yếu Ngược lại, kiểu thực thể thông thường (nghĩa có thuộc tính khố) gọi thực thể mạnh
Các thực thể kiểu thực thể yếu xác định cách liên kết với thực thể cụ thể kiểu thực thể khác tổ hợp với số giá trị thuộc tính Ta gọi kiểu thực thể khác kiểu thực thể xác định kiểu thực thể chủ ta gọi kiểu liên kết làm liên kết kiểu thực thể yếu với chủ liên kết xác định kiểu thực thể yếu
Một kiểu thực thể yếu ln ln có ràng buộc tham gia hoàn toàn (tồn phụ thuộc) vào liên kết xác định thực thể yếu khơng thể xác định mà khơng có thực thể chủ
(18)thể có giá trị cho thuộc tính hai thực thể khác Chúng xác định hai thực thể khác sau xác định thực thể nhân viên cụ thể có liên quan đến người phụ thuộc Mỗi thực thể nhân viên gọi chủ thực thể phụ thuộc liên kết với
Thơng thường kiểu thực thể yếu có khố phận, tập hợp thuộc tính xác định cách thực thể yếu liên kết với thực thể chủ
Ví dụ 21: hai người phụ thuộc tên giống thuộc tính Họtên PHUTHUOC khoá phận Trong trường hợp xấu nhất, thuộc tính phức hợp gồm tất thuộc tính thực thể yếu khố phận
Trong sơ đồ ER kiểu thực thể yếu mối liên kết xác định biểu diễn hình chữ nhật hình thoi nét đơi
2.2.7 Ví dụ thiết kế mơ hình ER
Trong phần xét ví dụ việc xây dựng mơ hình ER cho sở liệu CƠNGTY
a) Đặt vấn đề
Giả sử sau tập hợp yêu cầu sau bước phân tích, người thiết kế sở liệu mơ tả lại hoạt động Công ty câu sau:
Công ty tổ chức thành đơn vị Mỗi đơn vị có tên nhất, mã số nhất, nhân viên cụ thể quản lý công ty Việc nhân viên quản lý công ty ghi lại ngày mà nhân viên bắt đầu làm quản lý Một đơn vị có nhiều địa điểm
Một đơn vị kiểm sốt số dự án Mỗi dự án có tên nhất, mã số địa điểm
Với nhân viên lưu giữ Họ tên, Mã số bảo hiểm xã hội, địa chỉ, lương, giới tính, ngày sinh Một nhân viên phân cơng vào đơn vị làm việc nhiều dự án nhiều đơn vị kiểm soát Chúng ta lưu giữ lại số / tuần mà nhân viên làm việc dự án Chúng ta lưu giữ dấu vết người theo dõi trực tiếp nhân viên
Mỗi nhân viên có người phụ thuộc, người hưởng chế độ bảo hiểm Thông tin người phụ thuộc gồm Họ tên, giới tính, ngày sinh mối quan hệ với nhân viên (là bố, mẹ, ….)
b) Xác định kiểu thực thể, thuộc tính kiểu liên kết
* Theo trên, có kiểu thực thể
- Một kiểu thực thể ĐONVI với thuộc tính Tên, Mãsố, Địađiểm, Ngườiquảnlý, Ngàybắtđầuquảnlý Các thuộc tính Tên, Mã số thuộc tính khố (do tính chúng) Địa điểm thuộc tính đa trị (vì đơn vị có nhiều địa điểm)
(19)Đơnvịkiểmsốt Cả hai thuộc tính Tên, Mãsố thuộc tính khố
- Một kiểu thực thể NHANVIEN với thuộc tính Họtên, MãsốBHXH (Mã số bảo hiểm xã hội), Giớitính, Địa chỉ, lương, Ngày sinh, Đơnvi, Người theodõi Thuộc tính Họtên thuộc tính phức hợp (gồm Họđệm, Tên) Thuộc tính địa phức hợp Thuộc tính MãsốBHXH thuộc tính khố
- Một kiểu thực thể PHUTHUOC với thuộc tính NHANVIEN, HọtênPT (Họ tên người phụ thuộc), Giới tính, Ngàysinh, Mốiquanhệ (đối với nhân viên)
* Giữa kiểu thực thể có kiểu liên kết sau
- Giữa ĐONVỊ DUAN có kiểu liên kết : ĐONVỊ kiểm sốt dự án
Đây liên kết kiểu 1:N Sự tham gia dự án vào kiểu liên kết toàn (nghĩa dự án có đơn vị kiểm sốt) Nếu đơn vị quản lý dự án tham gia ĐONVỊ phận, ngược lại, tham gia tồn Thuộc tính Đonvikiểmsốt đóng vai trị đơn vị kiểm sốt dự án, kiểu liên kết kiểm sốt
- Giữa NHANVIEN ĐONVỊ có hai kiểu liên kết: Nhân viên làm việc cho đơn vị nhân viên quản lý đơn vị
Kiểu liên kết làm việc cho liên kết kiểu N:1 Sự tham gia hai kiểu thực thể toàn (một nhân viên phải làm việc cho đơn vị đơn vị phải có nhân viên làm việc) Thuộc tính Đonvi kiểu thực thể nhân viên đóng vai trị đơn vị mà nhân viên làm việc cho Thuộc tính kiểu liên kết làm việc cho Kiểu liên kết quản lý liên kết kiểu 1:1 Sự tham gia NHANVIEN phận khơng phải nhân viên quản lý đơn vị Sự tham gia ĐONVỊ tồn đơn vị phải có người quản lý Thuộc tính Người quản lý ĐONVỊ đóng vai trị người nhân viên quản lý đơn vị thuộc tính Ngàybắtđầuquảnlý thuộc tính kiểu liên kết quản lý
- Giữa kiểu thực thể NHANVIEN kiểu thực thể NHANVIEN có kiểu liên
kết đệ quy: NHANVIEN theo dõi NHANVIEN Đây liên kết kiểu 1:N, nhân
viên theo dõi trực tiếp nhân viên khác Sự tham gia NHANVIEN (ở hai phía) phận khơng phải nhân viên có người theo dõi trực tiếp khơng phải nhân viên theo dõi nhân viên khác Thuộc tính Ngườitheodõi đóng vai trị nhân viên theo dõi
- Giữa kiểu thực thể NHANVIEN kiểu thực thể DUAN có kiểu liên kết: NHANVIEN làm việc DUAN, liên kết kiểu M:N, nhân viên làm việc nhiều dự án dự án có nhiều nhân viên làm việc Sự tham gia NHANVIEN phận nhân viên khơng làm việc cho dự án nào, ngược lại, tham gia DUAN tồn dự án phải có nhân viên làm việc
(20)liên kết: người phụ thuộc phụ thuộc vào NHANVIEN NHANVIEN có những người PHUTHUOC Đây kiểu liên kết 1:N, nhân viên có người phụ thuộc Sự tham gia NHANVIEN phận tham gia phụ thuộc toàn khơng phải nhân viên có người phụ thuộc người phụ thuộc phải phụ thuộc vào nhân viên Thuộc tính Nhân viên kiểu thực thể PHUTHUOC đóng vai trị nhân viên mà người phụ thuộc phụ thuộc vào Thuộc tính liên kết phụ thuộc vào
Sau phân tích ta, loại bỏ thuộc tính xem kiểu liên kết khỏi kiểu thực thể Đó thuộc tính Ngườiquảnlý Ngàybắtđầuquảnlý kiểu thực thể ĐONVI, thuộc tính Đonvikiểmsốt kiểu thực thể DUAN, thuộc tính Đơnvi, Ngườitheodõi, Làmviệctrên kiểu thực thể NHANVIEN thuộc tính Nhanvien kiểu thực thể PHUTHUOC Chúng ta có sơ đồ ER (hình 2.6)