Bài tập (có lời giải) mô hình thực thể liên kết

Bài tập mô hình thực thể kết hợp

Mô hình thực thể kết hợp (ER Model) là một mô hình khá trừu tượng cho những người mới bắt đầu. Để các bạn dễ dàng làm quen hơn, trong bài này, chúng ta sẽ cùng nhau vẽ sơ đồ ER cho các bài tập sau.

Bài tập 1

Một công ty mua vật tư từ một số nhà cung cấp. CSDL của công ty phải theo dõi số lượng mỗi loại vật tư mua từ mỗi nhà cung cấp. Nó còn lưu những địa chỉ của nhà cung cấp, nơi mà người của công ty đã đến nhận hàng. Mỗi nhà cung cấp có thể có nhiều địa chỉ giao hàng. Đơn giá mà một nhà cung cấp tính cho mỗi loại vật tư cũng cần lưu trữ.

Bài tập 2

Một CSDL được xây dựng để lưu trữ thông tin về các quốc gia trên thế giới và trữ lượng khoáng sản của các quốc gia đó. Với mỗi khoáng sản, chúng ta chỉ cần lưu tên khoáng sản, giá hiện hành (1 ounce) trên thị trường, nơi tìm thấy (quốc gia nào), trữ lượng ước tính, sản lượng hàng năm. Với mỗi quốc gia, chúng ta sẽ lưu tên quốc gia, GNP (tổng sản lượng quốc gia). Mỗi quốc gia có thể có nhiều khoáng sản khác nhau và một khoáng sản có thể tìm thấy tại những quốc gia khác nhau.

Bài tập 3

Một công ty bất động sản có một số văn phòng tại nhiều địa điểm. Mỗi văn phòng có một mã số văn phòng và địa chỉ.

Mỗi một văn phòng sẽ có các nhân viên. Mỗi nhân viên sẽ có mã số nhân viên, họ tên. Ở mỗi văn phòng, sẽ có 1 nhân viên được bầu làm trưởng văn phòng. Một nhân viên có một hay nhiều thân nhân (vợ và [các] con). Mỗi thân nhân chúng ta sẽ lưu trữ tên, ngày sinh, mối quan hệ (với nhân viên).

Công ty có một danh sách các BDS cần bán. Thông tin về BDS là mã số và địa chỉ. Mỗi bất động sản chỉ được rao bán tại 1 và chỉ 1 văn phòng. Mỗi văn phòng sẽ rao bán nhiều BDS và không thể không rao bán BDS nào.

Mỗi BDS sẽ thuộc về 1 chủ sở hữu. Chủ sở hữu có các thuộc tính như mã số, tên, địa chỉ và số điện thoại. Một chủ sở hữu có thể sở hữ 1 hoặc nhiều BDS.

Bài tập 4

Một sự kiện âm nhạc có tổ chức nhiều buổi hòa nhạc. Một buổi hòa nhạc sẽ phải thuộc 1 sự kiện nào đó. Thuộc tính xác định của sự kiện là ngày khai mạc bao gồm 3 phần là ngày, tháng và năm.

Một buổi hòa nhạc thường biểu diễn một hay nhiều bản nhạc hòa tấu. Một bản nhạc sẽ được trình diễn tại một hay nhiều buổi hòa nhạc khác nhau – cũng có những bài nhạc chưa được trình diễn tại bất kỳ một buổi hòa nhạc nào. Mỗi buổi hòa nhạc sẽ có các thuộc tính: mã số buổi hòa nhạc, ngày (diễn ra). Một buổi hòa nhạc có thể kéo dài nhiều ngày, do đó giá trị ngày có thể nhận nhiều hơn 1 giá trị.

Mỗi buổi hòa nhạc có thể trình diễn nhiều bản nhạc hòa tấu. Thuộc tính của một bản nhạc bao gồm: tên bản nhạc, tên tác giả. Mỗi bản nhạc hòa tấu có thể có một hoặc nhiều chương khúc. Tên thuộc tính chương khúc gồm mã số và tên chương khúc.

Buổi hòa nhạc cần có một nhạc trưởng. Một nhạc trưởng có thể điều khiển nhiều buổi hòa nhạc hoặc không điều khiển buổi hòa nhạc nào cả. Thuộc tính của nhạc trưởng bao gồm mã số và tên.

Một bản nhạc hòa tấu sẽ cần đến một hay nhiều nhạc công. Thuộc tính về nhạc công bao gồm: mã số, tên nhạc công và nhạc cụ. Một nhạc công có thể tham gia trình diễn nhiều bản nhạc (trong buổi hòa tấu) hoặc không tham gia trình diễn.

Bài tập 5

Một môn học trong trường đại học có thể có một hay nhiều buổi phụ đạo. Thông tin về một môn học bao gồm: mã môn học, tên môn học và số tín chỉ. Thuộc tính về buổi phụ đạo bao gồm: số thứ tự (ví dụ: 1, 2 hay 3…). Mỗi buổi phụ đạo sẽ được phụ trách bởi 1 trợ giảng. Trợ giảng sẽ có các thuộc tính: mã số nhân viên, tên và địa chỉ. Mỗi môn học được giảng lý thuyết bởi 1 giáo sư. Thông tin giáo sư bao gồm: mã số nhân viên, tên, địa chỉ và lương thường niên.

Giáo sư có thể hướng dẫn sinh viên làm đề án nghiên cứu. Thông tin về đề án nghiên cứu bao gồm: mã số đề án, tựa đề. Thông tin về sinh viên bao gồm: mã số sinh viên, tên sinh viên và chuyên ngành. Mỗi giáo sư chỉ được hướng dẫn 1 sinh viên làm 1 đề án và mỗi sinh viên sẽ nhận được sự hướng dẫn của duy nhất 1 giáo sư mà thôi.

Bài tập 6

Một công ty có nhiều nhân viên, mỗi nhân viên sẽ có các thuộc tính: mã số nhân viên, tên và ngày sinh. Mỗi nhân viên thuộc về một phòng ban. Mỗi phòng ban gồm nhiều nhân viên, mỗi phòng ban sẽ có tên và số điện thoại liên hệ.

Mỗi nhân viên làm việc cho nhiều đề án. Một đề án gồm nhiều nhân viên thực hiện. Các thuộc tính của một đề án bao gồm: mã số đề án và kinh phí dự trù. Mỗi nhân viên có thể có nhiều kỹ năng. Một kỹ năng có thể được sở hữu bởi nhiều nhân viên.

Chúng ta muốn lưu trữ tất cả các kỹ nhăng mà mỗi nhân viên có. Mỗi nhân viên sẽ sử dụng một tập hợp các kỹ năng (mà người đó có) để thực hiện một dự án nào đó. Mỗi kỹ năng sẽ có thuộc tính mã và mô tả.