BÀI TẬP CƠ SỞ DỮ LIỆU NÂNG CAO THIẾT KẾ CƠ SỞ DỮ LIỆU Để quản lý thông tin về một diễn đàn (Forum) trên một Website, người ta tổ chức một cơ sở dữ liệu nhằm quản lý các tập thực thể sau: THANHVIEN: Tập các thành viên tham gia diễn đàn, có các thuộc tính: MATV (mã thành viên: thuộc tính khóa), TENTV (tên thành viên) và MATMA (mật mã).
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC
BÀI TẬP CƠ SỞ DỮ LIỆU NÂNG CAO
THIẾT KẾ CƠ SỞ DỮ LIỆU
Giáo viên hướng dẫn: Nhóm học viên thực hiện:
Phạm Anh Đức Phạm Trung Đức Trương Khánh Duy Hoàng Thị Thu Hằng
Huế, 10/2011
Trang 2Mục lục
1 Bài 1 – Quản lý thông tin diễn đàn 4
1.1 Mô tả hệ thống 4
1.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R 4
1.3 Thiết kế cơ sở dữ liệu thời gian 5
1.4 Xây dựng mô hình hướng đối tượng 6
2 Bài 2 – Quản lý bán hàng 7
2.1 Mô tả hệ thống 7
2.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R 8
2.3 Thiết kế cơ sở dữ liệu thời gian 9
2.4 Xây dựng mô hình hướng đối tượng 10
3 Bài 3 – Quản lý phòng thực hành máy tính 11
3.1 Mô tả hệ thống 11
3.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R 12
3.3 Thiết kế cơ sở dữ liệu thời gian 13
3.4 Xây dựng mô hình hướng đối tượng 14
4 Bài 4 – Quản lý đề tài nghiên cứu khoa học 15
4.1 Mô tả hệ thống 15
4.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R 16
4.3 Thiết kế cơ sở dữ liệu thời gian 17
4.4 Xây dựng mô hình hướng đối tượng 19
5 Bài 5 – Chuẩn bị cho hội thảo khoa học 19
5.1 Mô tả hệ thống 19
5.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R 20
5.3 Thiết kế cơ sở dữ liệu thời gian 21
5.4 Xây dựng mô hình hướng đối tượng 22
6 Bài 6 23
6.1 Mô hình E-R 23
6.2.Thiết kế cơ sở dữ liệu thời gian 24
6.2.1 Yêu cầu bổ sung 24
Trang 36.2.2 Xây dựng mô hình TimeER 24 6.2.3 Xây dựng mô hình quan hệ 24 6.2.4 Xây dựng mô hình hướng đối tượng 25
Trang 41 Bài 1 – Quản lý thông tin diễn đàn
Ngoài ra hệ thống này còn hỗ trợ việc quản lý các mối quan hệ GOI, THUOC và
THAOLUAN với ngữ nghĩa như sau:
- (t,b) GOI: thành viên t có gởi bài viết b.
- (b,c) THUOC: bài viết b thuộc chủ đề c.
- (b,b’) THAOLUAN: bài viết b thảo luận về bài viết b’.
1.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R
1.2.1 Xây dựng mô hình E-R
MaTV TenTV MatMa
THANHVIEN
MaBV TieuDe NoiDung
BAIVIET ThaoLuanGoi
Thuoc CHUDE
MaCD
TenCD
Trang 5Mô hình này bao gồm:
* Các tập thực thể được mô tả chi tiết trong bảng sau:
BAIVIET Tập tất cả các Bài viết
MaBV Mã bài viết
(thuộc tính khóa)
TieuDe Tiêu đềNoiDung Nội dung
CHUDE Tập các Chủ đề của bài viết MaCD
Mã chủ đề
(thuộc tính khóa)
TenCD Tên chủ đề
* Các mối quan hệ:
+ (t,b)GOI: thành viên t gởi bài viết b
+ (b,c)THUOC: bài viết b thuộc chủ đề c
+ (b,b’)THAOLUAN: bài viết b thảo luận về bài viết b’
1.2.2 Xây dựng mô hình quan hệ
1.3 Thiết kế cơ sở dữ liệu thời gian
1.3.1 Yêu cầu bổ sung
Tập thực thể THANHVIEN: cần quản lý thời gian sống của các thành viên
Thuộc tính MATMA của tập thực thể THANHVIEN: cần quản lý thời giangiao tác
Tập thực thể BAIVIET: cần quản lý thời gian giao tác của các bài viết
Trang 6 Mối quan hệ GOI: cần quản lý thời gian hợp lệ.
1.3.2 Xây dựng mô hình TimeER
1.3.3 Xây dựng mô hình quan hệ
1.4 Xây dựng mô hình hướng đối tượng
Từ mô hình E-R đã tạo ở trên, ta chuyển sang mô hình hướng đối tượng như sau:
MaTV TenTV MatMa
MaCD
TenCD
Trang 7Việc quản lý hoạt động bán hàng của một cửa hàng bán thiết bị điện tử được
mô tả như sau:
- Mỗi một mặt hàng được đánh mã số duy nhất và được mô tả thông qua tên, loạihàng, quy cách, giá bán hiện thời và số lượng hiện có của mặt hàng
- Khi bán hàng cho khách hàng, người bán hàng sẽ tiến hành lập chứng từ bánhàng Mỗi một chứng từ có một số chứng từ duy nhất; ngoài ra, thông qua chứng
từ bán hàng, ta có thể biết được một số thông tin như sau:
o Ngày lập chứng từ;
o Thông tin về khách mua hàng (họ tên, địa chỉ);
o Danh mục các mặt hàng khách mua kèm theo số lượng và đơn giá(bán)
- Khách hàng khi mua hàng không cần phải thanh toán ngay toàn bộ số tiền củachứng từ mà có thể trả thành nhiều đợt Mỗi khi khách hàng thanh toán tiền, phảitiến hành lập Phiếu thu tiền cho khách hàng Mỗi phiếu thu tiền được đánh một sốduy nhất gọi là số phiếu, đồng thời trong phiếu thu tiền phải thể hiện được cácthông tin sau:
o Phiếu thu tiền thanh toán cho chứng từ nào;
o Ngày thu tiền;
o Số tiền thu của khách hàng
Trang 82.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R
2.2.1 Xây dựng mô hình E-R
Mô hình này bao gồm:
* Các tập thực thể được mô tả chi tiết trong bảng sau:
LOAIHANG Loại hang
SoTienThu
NgayThu
(1,n) (1,n)
ĐG B T
HoTenKH LoaiHang
DiaChi (1,1)
Trang 9CHUNGTU Tập tất cả các chứng từ của cửa hàng.
(Thuộc tính khóa)
HOTENKH Họ tên khách hàngDIACHI Địa chỉ khách hàng
PHIEUTHU Tập các phiếu thu của cửa hàng. SOPHIEU
Số phiếu
(Thuộc tính khóa)
SOTIENTHU Số tiền thu
* Các mối quan hệ:
+ (ct,mh)CHUA: chứng từ ct chứa mặt hàng mh
+ (pt,ct)THANHTOAN: phiếu thu tiền pt thanh toán cho chứng từ ct
2.2.2 Xây dựng mô hình quan hệ
2.3 Thiết kế cơ sở dữ liệu thời gian
2.3.1 Yêu cầu bổ sung
Tập thực thể MATHANG: cần quản lý thời gian sống và giao tác của các mặt hàng
Trang 102.3.2 Xây dựng mô hình TimeER
2.3.3 Xây dựng mô hình quan hệ
2.4 Xây dựng mô hình hướng đối tượng
ĐG B T
HoTenKH LoaiHang
DiaChi (1,1)
Trang 113 Bài 3 – Quản lý phòng thực hành máy tính
3.1 Mô tả hệ thống
Khoa Công nghệ thông tin cần tổ chức một cơ sở dữ liệu (CSDL) hiện hành đểquản lý các phòng thực hành máy tính Cho biết các thông tin sau đây về các tậpthực thể:
- PHONGMAY: thông tin về mỗi phòng máy bao gồm: SOPHONG (số phòng) và NGUOIQL (tên người quản lý phòng máy).
- MAYTINH: các máy tính được đánh số, mỗi máy có một số máy duy nhất Ngoài ra, mỗi một máy tính còn có các thông tin về cấu hình máy: CPU,
RAM, HDD Các máy tính được bố trí trong các phòng máy (mỗi một phòng
máy phải có tối thiểu 20 máy và tối đa là 50 máy)
Trang 12- MONHOC: để tiện bố trí cho việc thực hành, CSDL còn phải cho biết mỗi
một phòng máy có khả năng đáp ứng thực hành cho những môn học nào Mỗi
một môn học (có thực hành) ở phòng máy có các thông tin: MAMH (mã môn học), TENMH (tên môn học) và SODVHT (số đợn vị học trình) Hiển nhiên,
mỗi môn học có thể được thực hành ở các phòng máy khác nhau
3.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R
3.2.1 Xây dựng mô hình E-R
Mô hình này bao gồm:
(20,50)
(1,n)
ThucHa nh
(1,n)PHONGMAY
HD
TenM
Trang 133.2.2 Xây dựng mô hình quan hệ
Từ mô hình E-R ở trên, ta chuyển sang mô hình quan hệ như sau:
3.3 Thiết kế cơ sở dữ liệu thời gian
3.3.1 Yêu cầu bổ sung
Từ thông tin mô tả hệ thống ban đầu, ta tiến hành thiết kế cơ sở dữ liệu thời gianvới các yêu cầu bổ sung như sau:
Thuộc tính NGUOIQL của tập thực thể PHONGMAY: được thay đổi thành
thuộc tính đa trị (tức: tại một thời điểm, một phòng máy có thể gồm nhiều người quản lý) và cần quản lý thời gian hợp lệ.
Tập thực thể MAYTINH: cần quản lý thời gian sống và thời gian giao tác
của các máy tính
Ngoài ra, cần quản lý được thời gian xảy ra các sự kiện: một môn học nào
đó được thực hành tại một phòng máy nào đó
Trang 143.3.2 Xây dựng mô hình TimeER
Từ những yêu cầu bổ sung ở trên, ta xây dựng mô hình TimeER tương ứng nhưsau:
3.3.3 Xây dựng mô hình quan hệ
Từ mô hình TimeER, ta chuyển sang mô hình quan hệ như sau:
GomC
o(1,1)
(20,50)
(1,n)
ThucHa nh
VT
(1,n)PHONGMAY
SoPhon g
NguoiQL VT
SoMay
CPU
RA M
HD
TenM
Trang 15Trong đó, các quan hệ: TR(MAYTINH), TRNQL(PHONGMAY) và
TR(THUCHANH) là các quan hệ thời gian.
3.4 Xây dựng mô hình hướng đối tượng
Từ mô hình E-R đã tạo ở trên, ta chuyển sang mô hình hướng đối tượng như sau:
4 Bài 4 – Quản lý đề tài nghiên cứu khoa học
4.1 Mô tả hệ thống
Trường ĐHKH cần tổ chức một CSDL để quản lý các đề tài nghiên cứu khoa học của sinh viên Cho biết một số thông tin liên quan như sau:
- Mỗi một đề tài khi đăng ký thực hiện được cấp một mã số duy nhất Ngoài
ra, mỗi một đề tài còn có tên đề tài và lĩnh vực nghiên cứu mà đề tài thựchiện
Trang 16- Mỗi một đề tài phải do một giáo viên hướng dẫn Thông tin về mỗi giáo viênbao gồm mã giáo viên, họ tên, học hàm, học vị.
Thông tin về sinh viên được tổ chức trong CSDL bao gồm mã sinh viên, họ tên vàtên lớp mà sinh viên đang theo học Mỗi một đề tài phải có ít nhất một sinh viêntham gia và có không quá 5 sinh viên cùng tham gia trong một đề tài, trong đó phải
có một sinh viên là người chủ trì đề tài (trưởng nhóm làm đề tài)
4.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R
4.2.1 Xây dựng mô hình E-R
Từ thông tin mô tả hệ thống, ta xây dựng mô hình E-R tương ứng như sau:
Mô hình này bao gồm:
* Các mối quan hệ:
+ (p, t) Huongdan: giáo viên p hướng dẫn đề tài t.
+ (p, h) Thuchien: sinh viên p thực hiện đề tài h.
+ (p,d) ChuTri : sinh viên p chủ trì đề tài d.
* Các tập thực thể: được mô tả chi tiết trong bảng sau:
(0,n)
Trang 17(nhóm trưởng) (thuộc tính khóa)
4.2.2 Xây dựng mô hình quan hệ
4.3 Thiết kế cơ sở dữ liệu thời gian
4.3.1 Yêu cầu bổ sung
Trang 18Từ thông tin mô tả hệ thống ban đầu, ta tiến hành thiết kế cơ sở dữ liệu thời gianvới các yêu cầu bổ sung như sau:
- Cần quản lý thời gian sống của các đề tài
- Giáo viên hướng dẫn một đề tài có thể thay đổi theo thời gian Cần quản lý vấn
đề này
Sinh viên chủ trì một đề tài có thể thay đổi theo thời gian Cần quản lý sự thay đổinày
4.3.2 Xây dựng mô hình TimeER
4.3.3 Xây dựng mô hình quan hệ
VT
GIAOVIEN
Thuchie n
Trang 19Trong đó, quan hệ: TR(HUONGDAN), TR(SVCHUTRI), TR(DETAI) là quan
hệ thời gian
4.4 Xây dựng mô hình hướng đối tượng
Từ mô hình E-R đã tạo ở trên, ta chuyển sang mô hình hướng đối tượng như sau:
Trang 205 Bài 5 – Chuẩn bị cho hội thảo khoa học
5.2 Thiết kế cơ sở dữ liệu xuất phát từ mô hình E-R
5.2.1 Xây dựng mô hình E-R
Từ thông tin mô tả hệ thống, ta xây dựng mô hình E-R tương ứng như sau:
Mô hình này bao gồm:
* Các mối quan hệ:
TenTG
TACGIA
TrinhBay Gui
Trang 21+ (tg, b) Gui: tác giả tg gửi bài báo cáo b.
+(b, tb) TrinhBay: bài báo cáo b được trình bày ở tiểu ban tb.
* Các tập thực thể: được mô tả chi tiết trong bảng sau:
(Bài báo cáo)
TenNDK Tên người điều khiển
5.2.2 Xây dựng mô hình quan hệ
Từ mô hình E-R ở trên, ta chuyển sang mô hình quan hệ như sau:
5.3 Thiết kế cơ sở dữ liệu thời gian
5.3.1 Yêu cầu bổ sung
Từ thông tin mô tả hệ thống ban đầu, ta tiến hành thiết kế cơ sở dữ liệu thời gianvới yêu cầu bổ sung như sau:
Cần quản lý thời gian xảy ra sự kiện: một báo cáo được trình bày ở một tiểu bannào đó
Trang 225.3.2 Xây dựng mô hình TimeER
Từ những yêu cầu bổ sung ở trên, ta xây dựng mô hình TimeER tương ứng nhưsau:
5.3.3 Xây dựng mô hình quan hệ
Từ mô hình TimeER, ta chuyển sang mô hình quan hệ như sau:
Trong đó, quan hệ: TR(TRINHBAY) là quan hệ thời gian.
5.4 Xây dựng mô hình hướng đối tượng
Từ mô hình E-R đã tạo ở trên, ta chuyển sang mô hình hướng đối tượng như sau:
Trang 23NgayNopHocPhi
Trang 246.2.Thiết kế cơ sở dữ liệu thời gian
6.2.1 Yêu cầu bổ sung
- Cần quản lý thời gian sống của các loại chứng chỉ khác nhau.
- Cần quản lý thời gian giao tác khi lưu trữ thông tin về một học viên ghi danh vào một khóa học nào đó.
6.2.2 Xây dựng mô hình TimeER
6.2.3 Xây dựng mô hình quan hệ
NgayNopHocPhi
Trang 256.2.4 Xây dựng mô hình hướng đối tượng