các bải tập cơ bản cơ sở dữ liệu thực thể mối quan hệ ERD môn cơ sở dữ liệu,các bải tập cơ bản cơ sở dữ liệu thực thể mối quan hệ ERD môn cơ sở dữ liệu,các bải tập cơ bản cơ sở dữ liệu thực thể mối quan hệ ERD môn cơ sở dữ liệu,các bải tập cơ bản cơ sở dữ liệu thực thể mối quan hệ ERD môn cơ sở dữ liệu,
Trang 1CHƯƠNG 2: MÔ HÌNH THỰC THỂ - MỐI QUAN HỆ
Ví dụ 1: Hoạt động của công ty X được mô tả như sau:
- Công ty được tổ chức thành các đơn vị Mỗi đơn vị có một tên duy nhất, một nhân viên cụ thể quản lý đơn vị Việc nhân viên quản lý đơn vị được ghi lại bằng ngày nhân viên đó bắt đầu quản lý Một đơn vị có thể có nhiều địa điểm Mỗi địa điểm được quản lý thông qua Mã địa điểm, Địa chỉ, số điện thoại
- Mỗi đơn vị kiểm soát một số dự án Một dự án có một tên duy nhất, một mã
số duy nhất và một địa điểm
- Với mỗi nhân viên chúng ta lưu giữ lại Mã nhân viên, Họ tên, địa chỉ, lương, giới tính, ngày sinh Một nhân viên chỉ làm việc cho một đơn vị nhưng có thể làm việc trên nhiều dự án do nhiều đơn vị kiểm soát Chúng ta lưu giữ lại số giờ làm việc của mỗi nhân viên trên một dự án Mỗi nhân viên có thể có một người giám sát trực tiếp, người đó cũng là một nhân viên
Yêu cầu: Thiết kế sơ đồ thực thể - mối quan hệ (ERD) cho CSDL quản lý công ty X
được mô tả như trên
Ví dụ 2: Vẽ sơ đồ thực thể - mối quan hệ dựa trên những mô tả thông tin về một
siêu thị nhỏ ở thị trấn Yuppie Valley (Yuppie Valley Culinary Boutique: YVCB) như sau:
- Một trong những khía cạnh quan trọng trong việc kinh doanh của YVCB là quan hệ với những nhà cung cấp hàng Đối với mỗi nhà cung cấp hàng, siêu thị cần lưu giữ các thông tin như mã nhà cung cấp, tên nhà cung cấp, địa chỉ,
số điện thoại Mỗi nhà cung cấp có thể cung cấp cho siêu thị nhiều mặt hàng (được quản lý thông qua: mã hàng, tên hàng, mô tả mặt hàng) và mỗi mặt hàng có thể được cung cấp bởi nhiều nhà cung cấp khác nhau, giá mặt hàng đối với mỗi nhà cung cấp có thể khác nhau
- YVCB được tổ chức thành các gian hàng Mỗi gian hàng được quản lý thông qua mã gian hàng, tên gian hàng, số điện thoại Mỗi gian hàng bán một số mặt hàng nào đó và mỗi mặt hàng chỉ được bán trong một gian hàng nhất định Mỗi gian hàng có một số nhân viên và một người quản lý (cũng là nhân viên của gian hàng) Mỗi nhân viên chỉ làm việc tại một gian hàng và được quản lý thông qua mã nhân viên, họ tên, ngày sinh, ngày vào làm, lương Nếu nhân viên làm công tác quản lý thì được lưu giữ thêm các thông tin về
Trang 2ngày bắt đầu quản lý, hệ số phụ cấp chức vụ Mỗi người quản lý chỉ quản lý một gian hàng
- Một khía cạnh quan trọng khác của YVCB là quản lý khách hàng và đơn đặt hàng của khách hàng Khách hàng được quản lý thông qua mã khách hàng,
họ tên khách hàng, địa chỉ và số tài khoản Khách hàng đặt hàng thông qua đơn đặt hàng (bao gồm: số hiệu đơn đặt hàng, ngày đặt hàng, và mô tả đơn hàng) và có thể đặt nhiều đơn hàng Mỗi đơn hàng bao gồm một số mặt hàng nào đó với một số lượng cụ thể nào đó
Ví dụ 3: Để đáp ứng nhu cầu tin học hóa trong hoạt động, thư viện trường đại học
X tiến hành khảo sát hoạt động quản lý việc trả/mượn sách để xây dựng CSDL quản
lý việc trả/mượn sách của độc giả Thư viện tổ chức việc cho mượn sách như sau:
- Mỗi quyển sách được đánh một mã sách để phân biệt với các quyển sách khác (giả sử nếu một tác phẩm có nhiều bản giống nhau hoặc có nhiều tập thì cũng xem là có mã sách khác nhau), mỗi mã sách xác định các thông tin khác như: tên sách, tên tác giả, nhà xuất bản, năm xuất bản, mô tả quyển sách
- Mỗi quyển sách được lưu giữ trong một tủ sách Các tủ sách được đánh mã
để phân biệt Mỗi mã tủ xác định tên tủ sách, vị trí tủ sách
- Mỗi quyển sách thuộc một loại sách nào đó Mỗi loại sách được phân biệt bởi mã loại sách Mỗi mã loại sách xác định tên loại sách, mô tả loại sách
- Chỉ có sinh viên của trường mới được phép mượn sách Thông tin cần quản
lý đối với mỗi sinh viên bao gồm: mã sinh viên, họ tên, ngày sinh, địa chỉ, giới tính
- Để có thể mượn sách ở thư viện, sinh viên phải đăng ký với thủ thư của thư viện để trở thành độc giả của thư viện Mỗi độc giả được thư viện cấp cho một thẻ thư viện, trong đó có ghi rõ mã độc giả, ngày cấp, ngày hết hạn
- Cứ mỗi lượt mượn sách, độc giả phải đăng ký các quyển sách cần mượn vào một phiếu mượn, mỗi phiếu mượn có một mã số phiếu mượn duy nhất Mỗi phiếu mượn xác định các thông tin như: ngày mượn sách, các quyển sách đã mượn Các quyển sách trong cùng một phiếu mượn không nhất thiết phải trả trong cùng một lần Mỗi quyển sách có thể thuộc nhiều phiếu mượn khác nhau (tất nhiên là tại các thời điểm khác nhau)
Yêu cầu: Anh/Chị hãy xây dựng sơ đồ thực thể - mối quan hệ để làm cơ sở xây
dựng CSDL quản lý việc trả/mượn sách ở thư viện của trường đại học X
Trang 3Ví dụ 4: Quản lý tồn kho
Để quản lý vấn đề tồn kho của các mặt hàng trong các kho hàng của một công
ty A cần có các thông tin và các quy tắc quản lý sau:
- Mỗi kho được cho mã số duy nhất (MSKHO) dùng để phân biệt các kho, một tên kho và một loại hàng mà kho đó chứa Mỗi kho có một địa điểm nhất định được xác định bởi mã số địa điểm (MDD), địa chỉ của địa điểm, có một nhân viên phụ trách địa điểm và số điện thoại để liên lạc với kho tại địa điểm trên Một kho chỉ chứa một loại hàng, một địa điểm có thể có nhiều kho
- Mỗi mặt hàng được cho một mã số duy nhất (MSMH) để phân biệt các mặt hàng, một tên hàng Một mặt hàng được xếp vào một loại hàng, và một loại hàng có nhiều mặt hàng Mỗi loại hàng có một mã số duy nhất để phân biệt (MSLH), và có một tên loại hàng
- Một mặt hàng có thể chứa ở nhiều kho, một kho có thể chứa nhiều mặt hàng cùng loại
- Số lượng tồn kho của mỗi mặt hàng được xác định bởi phiếu nhập và phiếu xuất hàng
- Mỗi phiếu nhập hàng có số phiếu duy nhất (SOPN) để phân biệt, và có ngày lập phiếu, phiếu nhập cho biết nhập tại kho nào, và có chữ ký của nhân viên phụ trách địa điểm của kho đó Trong chi tiết của phiếu nhập cho biết số lượng nhập cho các mặt hàng của một phiếu nhập
- Mỗi phiếu xuất hàng có số phiếu duy nhất (SOPX) để phân biệt, và có ngày lập phiếu, phiếu xuất cho biết xuất tại kho nào, chữ ký của nhân viên đi nhận hàng tại kho đó Trong chi tiết của phiếu xuất cho biết số lượng xuất cho các mặt hàng của một phiếu xuất
- Thông tin của nhân viên phụ trách địa điểm tại các kho và nhân viên đi nhận hàng từ các kho bao gồm: Mã số nhân viên (MSNV) để phân biệt giữa các nhân viên, có họ tên, phái, năm sinh, địa chỉ thường trú, số điện thoại của nhân viên
Yêu cầu: Xây dựng ERD) cho toàn hệ thống trên.
Trang 4Ví dụ 5: Trường Đại học KTH có nhu cầu xây dựng hệ thống quản lý việc đăng ký
môn học của sinh viên Cho biết một số thông tin liên quan đến hoạt động của hệ thống như sau:
- Mỗi sinh viên vào trường được cấp một mã sinh viên duy nhất và được quản
lý với các thông tin bao gồm họ tên, ngày sinh, nơi sinh, giới tính, địa chỉ, số điện thoại
- Căn cứ ngành học mà sinh viên thi đậu vào mà sinh viên đó sẽ thuộc sự quản
lý của một khoa nào đó (được quản lý thông qua mã khoa, tên khoa, địa chỉ,
số điện thoại) Mỗi khoa đào tạo một số ngành học khác nhau, dĩ nhiên không tồn tại trường hợp một ngành do hai khoa khác nhau đào tạo Mỗi một ngành học khi được mở sẽ được gán một mã ngành học Ngoài ra, mỗi ngành học còn có các thông tin như tên ngành, trình độ đào tạo, loại hình đào tạo, thời gian đào tạo
- Mỗi ngành học bao gồm nhiều môn học và mỗi môn học có thể được học trong nhiều ngành khác nhau và do nhiều giáo viên dạy Giáo viên chịu sự quản lý của khoa thông qua các thuộc tính mã giáo viên, họ tên, ngày sinh, học hàm, học vị Mỗi giáo viên có thể dạy một số môn học khác nhau
- Vào đầu mỗi học kì của một năm học, sinh viên đến phòng giáo vụ đăng ký các môn học trong học kỳ đó thông qua một phiếu đăng ký như sau:
PHIẾU ĐĂNG KÝ MÔN HỌC
Số phiếu:…
Học kì: … Năm học: … Ngày đăng ký: …
Mã sinh viên: …… Họ tên: ………
Mã môn học Tên môn học Số tín chỉ
Tổng số tín chỉ:…
Yêu cầu: thiết kế ERD của hệ thống được mô tả như trên
Trang 5Ví dụ 6: Vẽ ERD cho CSDL của một diễn đàn, biết rằng:
- Muốn tham gia vào diễn đàn thì phải là thành viên của diễn đàn, khi là thành viên thì có tên và mật khẩu đăng nhập
- Trong một diễn đàn chia ra các nhóm chủ đề, chẳng hạn: thể thao, giải trí, âm nhạc, CNTT, … Mỗi nhóm chủ đề được quản lý thông qua mã chủ đề, tên chủ đề, mô tả chủ đề
- Trong một nhóm chủ đề có thể chứa các nhóm chủ đề khác và theo phân cấp cha con (ví dụ: chủ đề CNTT sẽ bao gồm các chủ đề con: CSDL, mạng, lập trình, …)
- Các bài viết được gửi lên diễn đàn từ các thành viên, mỗi một bài viết thì phải nằm trong một chủ đề nhất định Mỗi bài viết được đánh mã để thuận tiện trong quá trình quản lý Mỗi mã bài viết sẽ xác định tiêu đề bài viết, ngày đăng tải, cũng như nội dung bài viết
- Một bài viết khi gửi lên diễn đàn thì có thể làm một bài thảo luận cho một bài viết đã tồn tại trước đó
- Thông qua diễn đàn các thành viên có thể gửi tin nhắn cho nhau, mỗi tin nhắn do một thành viên nào đó soạn ra ở một thời điểm nào đó và có thể gửi cho nhiều người Các tin nhắn được quản lý thông qua mã tin nhắn, nôi dung tin nhắn, và ngày gửi tin Các thành viên khác nhau có thể nhận được tin nhắn vào những thời điểm khác nhau