Xây dựng mô hình thực thể liên kết

Một phần của tài liệu TÀI LIỆU DẠY HỌC CƠ SỞ DỮ LIỆU (Trang 30 - 40)

1.3. M Ô HÌNH THỰC THỂ LIÊN KẾT

1.3.2. Xây dựng mô hình thực thể liên kết

Ví dụ 1.8. Với khảo sát đã thực hiện ở phần MỞ ĐẦU, giả sử ta có một đoạn ghi chép sau:

• Thông tin về khoa gồm: Mã khoa, tên khoa, địa chỉ, số điện thoại.

• Thông tin về lớp gồm: Mã lớp, Tên lớp, Năm nhập học.

• Mỗi khoa gồm nhiều lớp, nhưng mỗi lớp chỉ chịu sự quản lý về mặt hành chính của một khoa.

Điểm

SINH VIÊN Học HỌC PHẦN

0N 1M

SINH VIÊN Học HỌC PHẦN

11 01

SINH VIÊN Thực hiện KHOÁ LUẬN

1N 11

Thuộc

SINH VIÊN LỚP

31

• Thông tin về sinh viên gồm: Mã sinh viên, họ tên sinh viên, giới tính, ngày sinh, quê quán, số điện thoại,...

• Mỗi sinh viên thuộc một và chỉ một lớp, mỗi lớp có thể gồm nhiều sinh viên.

• Thông tin về học phần gồm: Mã học phần, tên học phần, số tín chỉ, học kỳ.

• Mỗi học phần được học bởi một hoặc nhiều sinh viên, và mỗi sinh viên cũng phải học nhiều học phần. Kết quả của mỗi lần học là Điểm.

Bước 1. Xác định các thực thể, các liên kết và thuộc tính

Theo các ghi chép ở trên, ta có thể xác định các kiểu thực thể và các kiểu liên kết như sau:

• KHOA là một kiểu thực thể với các thuộc tính mã khoa, tên khoa, địa chỉ, số điện thoại. Các thuộc tính đều là đơn và đơn trị. Các thuộc tính mã khoa, tên khoa là các thuộc tính khóa (vì mỗi khoa có một mã khoa và một tên khoa duy nhất).

• LỚP là một kiểu thực thể với các thuộc tính mã lớp, tên lớp, nm nhập học.

Các thuộc tính đều là đơn và đơn trị. Các thuộc tính mã lớp, tên lớp là các thuộc tính khóa (vì mỗi khoa có một mã lớp và một tên lớp duy nhất).

• SINH VIÊN là một kiểu thực thể với các thuộc tính Mã sinh viên, họ tên sinh viên, giới tính, ngày sinh, quê quán, số điện thoại.... Các thuộc tính đều là đơn và đơn trị; thuộc tính Họ tên sinh viên là một thuộc tính phức hợp (gồm Họ đệm, Tên). Thuộc tính mã sinh viên là thuộc tính khóa (vì mỗi sinh viên có một mã sinh viên duy nhất).

• HỌC PHẦN là một kiểu thực thể với các thuộc tính mã học phần, tên học phần, số tín chỉ, học kỳ. Các thuộc tính đều là đơn và đơn trị. Thuộc tính mã học phần là thuộc tính khóa (vì mỗi học phần có một mã học phần duy nhất).

• Kiểu liên LỚP<thuộc>KHOA có tỷ số lực lượng N:1 (mỗi lớp thuộc một khoa nhưng mỗi khoa có nhiều lớp). Sự tham gia của hai kiểu thực thể vào liên kết là toàn bộ.

• Kiểu liên SINH VIÊN<thuộc>LỚP có tỷ số lực lượng N:1 (mỗi sinh viên thuộc một lớp nhưng mỗi lớp có nhiều sinh viên). Sự tham gia của hai kiểu thực thể vào liên kết là toàn bộ.

• Kiểu liên kết SINH VIÊN <học>HỌC PHẦN là có tỷ số lực lượng là M:N (một sinh viên có thể họcnhiều học phần khác nhau và mỗi học phầnđược học bởi nhiều sinh viên). Sự tham gia của kiểu thực thể HỌC PHẦN là bộ phận (bởi vì không phải tất cả học phần đều được học, ví dụ môn tự chọn) ngược lại, sự tham gia của kiểu thực thể SINH VIÊN là toàn bộ (bởi vì sinh viên nào cũng phải học). Kiểu liên kết này có một thuộc tính là điểm, ghi lại kết quả học của một sinh viên đối với một học phần.

Bước 2. Vẽ biểu đồ

32

Hình 1.23. Mô hình thực thể liên kết

33

TÓM TẮT CUỐI CHƯƠNG 1

CSDL là một hệ thống các thông tin có cấu trúc của các dữ liệu về thế giới thực trong một lĩnh vực nào đó có liên quan với nhau về mặt logic được lưu trữ ở bộ nhớ ngoài (như băng từ, đĩa từ ...) để có thể thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau.

Hệ quản trị CSDL là một phần mềm cho phép tạo lập CSDL và điều khiển hoặc truy nhập CSDL đó, đặc biệt hệ quản trị CSDL đảm bảo tính độc lập dữ liệu (là sự bất biến của các chương trình ứng dụng đối với các thay đổi về cấu trúc lưu trữ và chiến lược truy nhập).

Một CSDL có 3 mức biểu diễn: Mức vật lý (Physical level), mức logic (Logical level) và mức khung nhìn (View level)

Những người liên quan đến hệ CSDL được chia thành hai nhóm chính. Nhóm thứ nhất gồm những người mà công việc của họ liên quan hàng ngày đến CSDL, đó là những người quản trị CSDL, thiết kế CSDL, sử dụng CSDL, phân tích hệ thống và lập trình ứng dụng. Nhóm thứ hai gồm những người làm việc để duy trì môi trường hệ CSDL nhưng không quan tâm đến bản thân CSDL, đó là những người thiết kế và cài đặt hệ quản trị CSDL, phát triển công cụ, thao tác viên và bảo trì.

Có hai loại kiến trúc hệ CSDL: tập trung và phân tán, hệ CSDL tập trung, tập tất cả các dữ liệu được định vị tại một trạm đơn lẻ. Những người sử dụng tại các trạm từ xa nói chung có thể truy nhập CSDL thông qua các công cụ truyền thông dữ liệu.

Mô hình dữ liệu là một tập các khái niệm và kí pháp dùng để mô tả dữ liệu, các mối quan hệ của dữ liệu, các ràng buộc trên dữ liệu của một tổ chức

Mô hình phân cấp và mô hình mạng được xếp vào thế hệ đầu của CSDL. Thế hệ thứ hai của các hệ quản trị CSDL có mô hình quan hệ. Các mô hình này được xem là mô hình cổ điển. Mô hình mới nhất được xếp vào thế hệ thứ ba của CSDL là mô hình hướng đối tượng, mô hình phân tán, mô hình suy diễn.

Mô hình ER là mô hình dữ liệu khái niệm bậc cao, hỗ trợ cho việc thiết kế CSDL và nhiều công cụ thiết kế CSDL, sử dụng các khái niệm của nó.

Một kiểu thực thể là một đối tượng hay một khái niệm được xác định là tồn tại một cách độc lập trong một tổ chức. Một thực thể là một thể hiện của một kiểu thực thể.

Một kiểu liên kết là một tập các kết hợp có ý nghĩa giữa các kiểu thực thể. Một liên kết là một thể hiện của một kiểu liên kết, nó là một kết hợp bao gồm một số thực thể, trong đó mỗi thực thể thuộc một kiểu thực thể tham gia liên kết.

Một thuộc tính là một đặc tính (tính chất) của một kiểu thực thể hay của một kiểu liên kết.

34

CÂU HỎI ÔN TẬP CHƯƠNG 1

1.1. CSDL là gì? Tại sao phải sử dụng CSDL? Trình bày các ưu nhược điểm của CSDL?

1.2. Các ứng dụng của CSDL trong cuộc sống.

1.3. Phân biệt các khái niệm dữ liệu, CSDL, hệ quản trị CSDL, hệ CSDL.

1.4. Hệ quản trị CSDL? Các thành phần chính của hệ quản trị CSDL và các chức năng của chúng?

1.5. Phân biệt vai trò của những người sau đây đối với một hệ CSDL:

- Người quản trị CSDL - Người thiết kế CSDL logic - Người thiết kế CSDL vật lí - Người lập trình ứng dụng - Người sử dụng

1.6. Trình bày 3 mức biểu diễn CSDL.

1.7. Trình bày các ưu nhược điểm của một hệ CSDL

1.8. Các mô hình dữ liệu cơ bản? Cho ví dụ đối với từng mô hình 1.9. Vì sao các hệ CSDL theo mô hình quan hệ được sử dụng rộng rãi?

1.10. Theo anh/chị, liên kết giữa các bảng (quan hệ) được dựa trên thuộc tính nào?

1.11. So sánh ưu và nhược điểm của CSDL tập trung và CSDL phân tán?

1.12. Mô hình CSDL phân cấp là gì?

1.13. Đặc trưng của mô hình CSDL mạng?

1.14. Anh/chị hãy giải thích các thuật ngữ sau: Thực thể, tập thực thể, thuộc tính, khóa, mô hình ER?

1.15. Phân biệt các khái niệm: thực thể và kiểu thực thể, liên kết và kiểu liên kết.

1.16. Theo anh/chị, quá trình thiết kế mô hình ER nằm trong giai đoạn nào của quá trình thiết kế một CSDL.

35

BÀI TẬP CHƯƠNG 1

Bài 1.1. Dựa vào những khái niệm đã học, hãy biểu diễn CSDL có các loại mẫu tin phòng, nhân viên, công việc, lý lịch đã theo cách tiếp cận mạng.

• Loại liên hệ là mạng

• Mỗi nhân viên có một lý lịch; mỗi lý lịch chỉ thuộc 1 nhân viên duy nhất.

• Mỗi phòng ban có từ mộtđến nhiều nhân viên. Mỗi nhân viên chỉ thuộc một phòng ban nhất định.

• Nhiều nhân viên cùng làm một công việc.

• Mỗi nhân viên không có, có một hoặc nhiều nhân viên là thân nhân

Bài 1.2. Dựa vào những khái niệm đã học, hãy biểu diễn CSDL có các loại mẫu tin phòng, nhân viên, công việc, lý lịch đã theo cách tiếp cận phân cấp.

• Loại liên hệ là phân cấp

• Phòng có nhiều nhân viên; mỗi nhân viên chỉ thuộc 1 phòng duy nhất.

• Công việc có nhiều nhân viên cùng làm; mỗi nhân viên chỉ làm một công việc duy nhất.

• Mỗi nhân viên có một lý lịch; mỗi lý lịch chỉ thuộc 1 nhân viên duy nhất.

Bài 1.3. Dựa vào những khái niệm đã học, hãy biểu diễn CSDL về Tổng điều tra số dân toàn quốc 0 giờ ngày 01 tháng 01 năm 1989 có các loại mẫu tin Tỉnh (Thành phố), Quận (huyện), Phường (xã), Địa bàn, hộ điều tra và nhân khẩu đã trình bày trong mô hình phân cấp theo cách tiếp cận mạng.

• Loại liên hệ phân mạng là loại "thuộc về"

• Nhân khẩu (thì) thuộc một hộ điều tra.

• Hộ điều tra (thì) thuộc một địa bàn.

• Địa bàn điều tra (thì) thuộc một phường (xã).

• Phường (xã) thuộc một quận (huyện)

• Quận (huyện) thuộc một tỉnh (thành phố).

Bài 1.4. Hãy xây dựng mô hình thực thể liên kết của bài toán sau

Công ty TNHH Kim Ngân cần xây dựng CSDL để quản lý thông tin về sản phẩm và quá trình mua/bán sản phẩm gồm các thông tin:

• Thông tin về sản phẩm: mỗi sản phẩm có một mã sản phẩm duy nhất, tên sản phẩm, đơn vị tính, đơn giá, xuất xứ.

• Thông tin về loại sản phẩm: mỗi loại sản phẩm có một mã loại duy nhất, tên loại.

• Thông tin về khách hàng: mỗi khách hàng có một mã số khách hàng duy nhất, họ tên khách hàng, giới tính, nghề nghiệp, địa chỉ, số điện thoại, email.

• Thông tin về nhà cung cấp: mỗi nhà cung cấp có một mã nhà cung cấp duy nhất, tên nhà cung cấp, địa chỉ, số điện thoại, số tài khoản.

36

• Mỗi loại sản phẩm gồm nhiều sản phẩm, nhưng mỗi sản phẩm chỉ thuộc một loại sản phẩm.

• Mỗi khách hàng có thể mua một hoặc nhiều sản phẩm, ngược lại mỗi sản phẩm cũng có thể được mua bởi một hoặc nhiều khách hàng, thông tin về các sản phẩm khách hàng mua gồm: tên sản phẩm, số lượng xuất, ngày xuất

• Mỗi nhà cung cấp có thể cung cấp một hoặc nhiều sản phẩm, ngược lại mỗi sản phẩm cũng được cung cấp bởi một hoặc nhiều nhà cung cấp, thông tin về các sản phẩm nhà cung cấp nhập gồm: tên sản phẩm, số lượng nhập , ngày nhập

Bài 1.5. Hãy xây dựng mô hình thực thể liên kết của bài toán sau

Giám đốc khách sạn Phương Nam cần xây dựng CSDL để quản lý các thông tin về khách hàng, dịch vụ gồm các thông tin:

• Thông tin về khách: mỗi khách có một mã số khách duy nhất, họ tên khách, giới tính, số chứng minh thư (hoặc số hộ chiếu), địa chỉ, quốc tịch.

• Thông tin về phòng: mỗi phòng có một số phòng duy nhất, hạng phòng, giá phòng.

• Thông tin về loại phòng: mỗi loại phòng có một mã loại duy nhất, tên loại (loại 1, loại 2, loại 3).

• Thông tin về dịch vụ: mỗi dịch vụ có một mã dịch vụ duy nhất, tên dịch vụ, đơn giá, đơn vị tính.

• Một khách có thể thuê phòng tại khách sạn nhiều lần, thông tin của mỗi lần thuê phòng của một khách hàng gồm: số phòng, ngày bắt đầu, ngày kết thúc.

• Mỗi loại phòng gồm một hoặc nhiều phòng, nhưng mỗi phòng chỉ thuộc một loại phòng.

• Một khách có thể sử dụng một hoặc nhiều dịch vụ trong quá trình thuê phòng và mỗi dịch vụ cũng được sử dụng bởi một hoặc nhiều khách, thông tin của mỗi lần sử dụng dịch vụ là thời gian sử dụng.

Bài 1.6. Hãy xây dựng mô hình thực thể liên kết của bài toán sau

Công ty Tuấn Phát cần xây dựng CSDL quản lý thông tin về các dự án mà công ty đã và đang thực hiện, CSDL gồm các thông tin sau:

• Thông tin về nhân viên: mỗi nhân viên có mã nhân viên duy nhất, họ tên nhân viên, giới tính, địa chỉ, số điện thoại, trình độ, chức vụ.

• Thông tin về dự án: mỗi dự án có mã dự án duy nhất, tên dự án, địa điểm triển khai, ngày bắt đầu, thời gian thực hiện dự kiến, vốn đầu tư.

• Thông tin về nhiệm vụ: mỗi nhiệm vụ có mã nhiệm vụ duy nhất, tên nhiệm vụ, kỹ năng, thời gian, khối lượng công việc.

• Thông tin về công cụ: mỗi công cụ có mã công cụ duy nhất, tên công cụ, yêu cầu sử dụng.

37

• Mỗi dự án có nhiều nhân viên tham gia và mỗi nhân viên có thể làm việc tại nhiều dự án; với mỗi dự án một nhân viên có số lượng ngày công đã tham gia vào dự án đó.

• Một dự án gồm nhiều nhiệm vụ khác nhau, nhưng một nhiệm vụ chỉ thuộc về một dự án.

• Mỗi nhiệm vụ sử dụng nhiều công cụ lao động khác nhau và mỗi công cụ có thể sử dụng ở nhiều nhiệm vụ.

Bài 1.7. Hãy xây dựng mô hình thực thể liên kết của bài toán sau

Để tổ chức cho sinh viên đi thực tập tốt nghiệp, Khoa CNTT&TT cần có các thông tin sau:

• Thông tin về cơ quan gồm: tên cơ quan, địa chỉ, số điện thoại, loại cơ quan (nhà nước, tư nhân, liên doanh, ...), họ tên những người phụ trách nhận quản lý sinh viên thực tập.

• Thông tin về sinh viên gồm: mã số sinh viên, họ tên sinh viên, số điện thoại, email, ngày sinh, giới tính, nhóm đề tài

• Thông tin về giáo viên: mã giáo viên, họ tên giáo viên, giới tính, chức danh, số điện thoại, tên các cơ quan đã từng đến hướng dẫn sinh viên và năm tương ứng.

• Mỗi sinh viên chỉ được thực tập tại một cơ quan với một giáo viên hướng dẫn riêng và có một người của đơn vị thực tập quản lý.

• Một cơ quan có thể tiếp nhận đồng thời nhiều sinh viên.

• Mỗi giáo viên cũng có thể hướng dẫn nhiều sinh viên, một người của đơn vị thực tập có thể quản lý nhiều sinh viên.

• Các sinh viên thực tập tại cùng một cơ quan không nhất thiết phải có cùng giáo viên hướng dẫn và cùng người quản lý thực tập.

38

CƠ SỞ DỮ LIỆU MẪU

Nhằm mục đích cho người đọc dễ dàng quan sát và hiểu ý nghĩa của CSDL trong các vấn đề thực tế. Đồng thời giúp quá trình đọc tài liệu được dễ dàng và xuyên suốt hơn nhóm tác giả sẽ trình bày một CSDL dữ liệu mẫu đơn giản về hệ thống quản lý điểm thi học phần của sinh viên. Trong suốt quá trình đọc ở các phần sau, chúng tôi sẽ cố gắng tối đa việc đưa ra các ví dụ minh họa dựa trên cơ sở dữ liệu này. Kết quả là người đọc sẽ nắm vững và thành thạo hơn các kĩ năng về CSDL cũng như trải nghiệm các kiến thức thực tế. Điều này cũng là tiền đề cho các miền kiến thức tiếp theo như phân tích thiết kế hệ thống, thiết kế là lập trình ứng dụng…

Trường Đại học X cần xây dựng hệ thống thông tin để quản lý điểm học phần của sinh viên, và thống kê kết quả học tập của sinh viên theo lớp, theo khoa. Như vậy, hệ thống cần quản lý thông tin về các đối tượng trong thế giới thực gồm SINH VIÊN, HỌC PHẦN, LỚP, KHOA; và thông tin cụ thể về từng đối tượng gồm:

- Thông tin về HỌC PHẦN gồm: Mã học phần, tên học phần, số tín chỉ, mô tả,…

- Thông tin về SINH VIÊN gồm: Mã sinh viên, họ tên sinh viên, giới tính, ngày sinh, quê quán, số điện thoại,…

- Thông tin về LỚP gồm: Mã lớp, Tên lớp, Năm nhập học,…

- Thông tin về KHOA gồm: Mã khoa, Tên khoa, địa chỉ, số điện thoại,…

Các đối tượng SINH VIÊN, HỌC PHẦN, LỚP, KHOA có các mối quan hệ như sau:

- Mỗi KHOA gồm nhiều LỚP, nhưng mỗi LỚP chỉ chịu sự quản lý về mặt hành chính của một KHOA.

- Mỗi SINH VIÊN thuộc một và chỉ một LỚP, mỗi LỚP có thể gồm nhiều SINH VIÊN.

- Mỗi HỌC PHẦN được học bởi một hoặc nhiều SINH VIÊN, và mỗi SINH VIÊN cũng phải học nhiều HỌC PHẦN. Kết quả của mỗi lần học là Điểm.

Với mô tả như trên, ta sẽ có lược đồ CSDL như sau:

SINH_VIEN (MaSV, HoTenSV, NamSinh, GioiTinh, QueQuan, MaLop) là lược đồ quan hệ của Sinh viên

Tân từ “Mỗi sinh viên có một họ và tên, năm sinh, giới tính, quê quán, ... và được cấp một mã sinh viên duy nhất để phân biệt với mọi sinh viên khác trong trường;

sinh viên được ghi danh vào một lớp học duy nhất trong trường LOP (MaLop, TenLop, MaKhoa) là lược đồ quan hệ của Lớp

Một phần của tài liệu TÀI LIỆU DẠY HỌC CƠ SỞ DỮ LIỆU (Trang 30 - 40)

Tải bản đầy đủ (PDF)

(188 trang)