ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
KHOA CÔNG NGHỆ THÔNG TIN
-----------------
BÀI TẬP
MÔN CƠ SỞ DỮ LIỆU NÂNG CAO
Giáo viên ra đề: Hoàng Quang
Nhóm sinh viên thực hiện: Nhóm 3
Huế,
Huế,tháng
tháng5/2010
5/2010
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
Danh sách nhóm 3:
1. Ngô Thị Hồng Duyên
2. Nguyễn Quang Dũng
3. Nguyễn Văn Đình
4. Nguyễn Thành Huy
5. Hoàng Thị Mỹ Nhung
6. Nguyễn Hoàng Phố
7. Văn Thị Hoa Phượng
8. Lê Thị Thanh Thanh
9. Hồ Thị Như Thủy
10. Nguyễn Thị Minh Tuyết
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
4
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
Bài 1: (Ngô Thị Hồng Duyên – Nguyễn Hoàng Phố)
Để 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ã).
- BAIVIET: Tập các bài viết, có các thuộc tính MABV (mã bài viết: thuộc tính
khóa), TIEUDE (tiêu đề bài viết) và NOIDUNG (nội dung bài viết).
- CHUDE: Tập các chủ đề của các bài viết, có các thuộc tính MACD (mã chủ đề:
Thuộc tính khóa) và TENCD (tên chủ đề).
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’.
Biết rằng:
- Mỗi bài viết phải do đúng một và chỉ một thành viên gởi lên, còn mỗi một
thành viên có thể gởi nhiều bài viết.
- Một bài viết khi được gởi lên diễn đàn chỉ thuộc một chủ đề nào đó và cũng có
những chủ đề không có bất kỳ bài viết nào.
- Mỗi bài viết có thể là một bài thảo luận cho một bài viết đã được gởi trước đó
hoặc cũng có thể không (tức là một bài viết được gởi lên để các thành viên khác
tham gia thảo luận). Hiển nhiên có thể có những bài viết được gởi lên diễn đàn
nhưng không có ai tham gia thảo luận.
Xây dựng mô hình Time_ER với các yêu cầu sau:
- 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 gian giao
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.
- Mối quan hệ GOI: cần quản lý thời gian hợp lệ.
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
5
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
1. Mô hình ER
MaT
V
TenTV
THANHVIEN LS
MatMa TT
TieuDe
MaBV
(1,1)
(0,n)
GOI
VT
ThaoLuanCho
c
NoiDun
g
BAIVIET TT
(1,1)
THUO
C
DuocThaoLuanBoi (0,n)
(0,1)
THAOLUA
NI
(0,n)
CHUDE
MaC
D
TenCD
Giải thích
Tên tập thực thể
THANHVIEN
BAIVIET
Giải thích
Tập tất cả các thành viên
tham gia diễn đàn
Tập các Bài viết
Thuộc tính
Tên
Giải thích
MaTV
Mã thành viên (Thuộc
tính khóa)
TenTV
Tên thành viên
MaBV
Mã bài viết (Thuộc
tính khóa)
TieuDe
Tiêu đề bài viết
NoiDung
CHUDE
Tập các chủ đề của bài viết
Nội dung bài viết
MaCD
Mã Chủ Đề (Thuộc
tính khóa)
TenCD
Tên chủ đề
Mối quan hệ:
- (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’.
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
6
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
2. Mô hình quan hệ
MATMA
VT_GOI
∞
#MaTV
∞
MatMa
#MaBV
#MaCD
MaTV
TenCD
#TTs
#VTs
TTe
VTe
THANHVIEN
1
1
#MaTV
TenTV
BAIVIET
1
#MaBV
1
TenBV
1
1
TT_BAIVIET
NoiDung
LS_THANHVIEN
#MaTV
#LSs
MaCD
∞
CHUDE
∞
∞
MaBVThaoLuan
#MaBV
∞
#TTs
TTe
LSe
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
7
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
Bài 2 (Lê Thị Thanh Thanh – Nguyễn Thị Minh Tuyết)
Để hỗ trợ việc quản lý mua bán hàng hóa tại một cửa hàng, người ta xây dựng
một cơ sở dữ liệu nhằm giúp quản lý các tập thực thể sau:
- MATHANG: Tập các mặt hàng, có các thuộc tính: MH(mã mặt hàng: thuộc
tính khóa), TENHANG (tên hàng), ĐVT (đơn vị tính), SLHC (số lượng hiện có),
GBHT (giá bán hiện thời)
- PHIEUNHAP: có các thuộc tính: SP (số phiếu: thuộc tính khóa),
NGAYNHAP(ngày nhập), TENNCC (tên nhà cung cấp).
- HĐXUAT (hóa đơn xuất): có các thuộc tính sau: SOHĐ (số hóa đơn: thuộc tính
khóa), NGAYBAN (ngày bán), TENNMH (tên người mua hàng).
Ngoài ra cần quản lý các thông tin như sau:
- Mỗi phiếu nhập hàng: nhập những mặt hàng nào với số lượng và đơn giá tương
ứng bao nhiêu.
- Mỗi hóa đơn xuất hàng: xuất những mặt hàng nào với số lượng và đơn giá
tương ứng là bao nhiêu.
Xây dựng mô hình Time_ER với các yêu cầu sau:
- 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.
1. Mô hình ER
Ten
H
Ma
H
SoPhieu
(1,n)
NhaCC
PHIEUNHAP
(1,n)
NHA
P
SLHC
DV
T
GBH
T
MATHANG LT
(1,n)
NgayNhap
SLN
SLX
DG
N
XUAT
(1,n)
DG
X
HOADONXUAT
SoHD
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
NgayBan
TenNM
H
8
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
Giải thích:
Tên tập thực thể
PHIEUNHAP
Thuộc tính
Giải thích
Tập tất cả các phiếu nhập
Tên
Giải thích
SoPhieu
Số phiếu (Thuộc tính
khóa)
NgayNhap Ngày nhập
NhaCC
MATHANG
HOADONXUAT
Tất cả các mặt hàng
Tập các hóa đơn xuất
Nhà cung cấp
MaH
Mã hàng (Thuộc tính
khóa)
TenH
Tên hàng
DVT
Đơn vị tính
SLHC
Số lượng hiện có
GBHT
Giá bán hiện tại
SoHD
Số hóa đơn (Thuộc
tính khóa)
NgayBan
Ngày bán
TenNMH
Tên người mua hàng
Mối quan hệ:
- (h,n) ∈ NHAP: Mặt hàng h được nhập bởi phiếu nhập n.
- (h,x) ∈ XUAT: Mặt hàng h được xuất bởi phiếu xuất x.
2. Mô hình quan hệ
LT_MATHANG
#MaH
∞
#TTs
PHIEUNHAP
TTe
#SoPhieu
#LSs
NgayNhap
LSe
1
HOADONXUAT
#SoHD
NgayBan
NhaCC
TenNMH
1
NHAP
#SoPhieu
#MaH
SLN
Giáo viên ra đề: Hoàng Quang
DGN
Sinh viên thực hiện: Nhóm
3
1
MATHANG
#MaH
1
TenH
XUAT
#SoHD
DVT
#MaH
SLHC
SLX
GBHT
DGX
9
1
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
∞
∞
∞
∞
Bài 3: (Nguyễn Thành Huy – Hoàng Thị Mỹ Nhung)
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ập
thự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).
- 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.
Xây dựng mô hình Time_ER với các yêu cầu 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 đó.
1. Mô hình ER:
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
10
Bài tập môn cơ sở dữ liệu nâng cao
MaM
H
TenM
H
Lớp LT Tin K19 – ĐHKH Huế
CP
U
SoMa
y
SoDVHT
HD
D
RAM
MONHOC
MAYTINH LT
(1,n)
(1,1)
THUCHANH
BT
THUO
C
SoPhon
g
(1,n)
NguoiQL
VT
PHONGMAY
(20,50)
Giải thích
Tên tập thực
thể
Giải thích
PHONGMAY
Tập tất các phòng máy
thực hành cần quản lý
Tập tất cả các máy tính
có trong phòng máy
MAYTINH
Tập các môn học thực
hành trong phòng máy
MONHOC
Thuộc tính
Tên
Giải thích
SoPhong
Số phòng (Thuộc tính khóa)
NguoiQL
Người quản lý
SoMay
Số máy (Thuộc tính khóa)
CPU
Bộ xử lý
HDD
Ổ cứng
RAM
Bộ nhớ truy cập ngẫu nhiên
MaMH
Mã môn học (Thuộc tính
khóa)
TenMH
Tên môn học
SoDVHT
Số đơn vị học trình
Mối quan hệ:
- (m,p) ∈ THUCHANH: môn học m có thể thực hành tại phòng máy p.
- (mt,p) ∈ THUOC: máy tính mt thuộc phòng máy p.
2. Mô hình quan hệ:
MONHOC
1
LT_MAYTINH
#SoMay
#MaMH
#TTs
TenMH
TTe
SoDVHT
#LSs
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
LSe
MAYTINH
#SoMay
∞
1
CPU
RAM
HDD
SoPhong
11
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
∞
THUCHANH
#SoPhong
∞
∞
PHONGMAY
#MaMH
#TTs
1
TTe
#SoPhong
1
1
#VTs
NGUOIQL
#VTe
∞
#SoPhong
#NguoiQL
#VTs
VTe
Bài 4: (Văn Thị Hoa Phượng - Hồ Thị Như Thủy)
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ực hiện.
- 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ên
bao 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ên tham 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).
Xây dựng mô hình Time_ER với các yêu cầu 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
đổi này.
1. Mô hình ER:
MaD
T
CHUTRI
BT
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
TenDT
LinhVucN
C
DETAI LS
NhomTruon
g
HUONGDAN
BT
12
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
(1,5)
(1,1)
(1,1)
(1,n)
SINHVIEN
GIAOVIEN
TenLopS
H
MaS
V
MaGV
HoTenS
V
HoTenGV
HocH
Hoc
V
Giải thích
Tên tập
thực thể
DETAI
SINHVIEN
GIAOVIEN
Giải thích
Tập tất các đề tài
của sinh viên
Tập tất cả các
sinh viên tham
gia đề tài
Các giáo viên
tham gia hướng
dẫn đề tài
Thuộc tính
Tên
Giải thích
MaDT
Mã đề tài (Thuộc tính khóa)
TenDT
Tên đề tài
LinhVucNC
Lĩnh vực nghiên cứu
NhomTruong
Người chủ trì đề tài
MaSV
Mã sinh viên (Thuộc tính
khóa)
HoTenSV
Họ và tên sinh viên
TenLopSH
Tên lớp sinh hoạt (Lớp mà
sinh viên đang học).
MaGV
Mã giáo viên (Thuộc tính
khóa)
HoTenGV
Họ tên giáo viên
HocH
Học hàm
HocV
Học vị
Mối quan hệ:
- (s,d) ∈ CHUTRI: sinh viên s chủ trì đề tài d.
- (g,d) ∈ HUONGDAN: giáo viên g có thể hướng dẫn đề tài d.
3. Mô hình quan hệ:
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
13
Bài tập môn cơ sở dữ liệu nâng cao
SINHVIEN
1
Lớp LT Tin K19 – ĐHKH Huế
DETAI
1
GIAOVIEN
1
#MaSV
#MaDT
#MaGV
HoTenSV
TenDT
HoTenGV
TenLopSH
LinhVucNC
HocH
MaDT
NhomTruong
HocV
1
MaGV
CHUTRI
#MaDT
∞
BT_HUONGDAN
∞
∞
#MaDT
MaSV
MaGV
#TTs
#TTs
TTe
TTe
#VTs
#VTs
VTe
VTe
∞
Bài 5: (Nguyễn Quang Dũng - Nguyễn Văn Đình)
Người ta cần phải tổ chức một cơ sở dữ liệu để chuẩn bị cho một hội thảo khoa
học. Hội thảo sẽ được chia thành các tiểu ban khác nhau (thông tin về mỗi tiểu
ban bao gồm: tên tiểu ban, tên người điều khiển và tên thư ký). Các tác giả
muốn tham gia báo cáo trong hội thảo phải gởi trước bản tóm tắt của báo cáo
(bao gồm tên và tóm tắt báo cáo) đến một ban tổ chức (BTC). Một tác giả có thể
gởi nhiều báo cáo đến BTC và mỗi một báo cáo có thể là của nhiều tác giả. Sau
khi nhận được bản tóm tắt báo cáo, BTC phải tiến hành bố trí các báo cáo vào
trong các tiểu ban (mỗi một báo cáo chỉ được trình bày ở một tiểu ban nhất
định).
Xây dựng mô hình Time_ER với các yêu cầu 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 ban nào đó.
1. Mô hình ER:
MaTG
TACGIA
TenBanTTB
C
TenT
G
(1,n)
GO
I
BanTTBC
BTTBAOCAO
(1,n)
(1,1)
TRINHBAY
BT
(1,n)
TIEUBAN
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
14
Bài tập môn cơ sở dữ liệu nâng cao
Lớp LT Tin K19 – ĐHKH Huế
TenTB
TenTK
NguoiDK
Giải thích
Thuộc tính
Tên tập thực
thể
Giải thích
TACGIA
Tập tất cả các tác
giả
Tên
Giải thích
MaTG
Mã tác giả (Thuộc tính khóa)
TenTG
Tên tác giả
TenBanTTBC
Tập tất cả các bài
BTTBAOCAO
tóm tắt báo cáo
BanTTBC
TenTB
Tập tất cả các tiểu
ban
TIEUBAN
NguoiDK
TenTK
Tên bản tóm tắt báo cáo
(Thuộc tính khóa)
Bản tóm tắt báo cáo
Tên tiểu ban (Thuộc tính
khóa)
Người điều khiển
Tên thư ký
Mối quan hệ:
- (tg,bttbc) ∈ GOI: tác giả tg có thể gởi bản tóm tắt báo cáo bttbc.
- (bttbc,tb) ∈ TRINHBAY: Bản tóm tắt báo cáo bttbc được trình bày trong tiểu
ban tb.
2. Mô hình quan hệ:
TACGIA
#MaTG
1
GOI
TenTG
∞
#TenBTTBC
∞
BTTBAOCAO
#MaTG
1
1
#TenBTTBC
BanTTBC
TenTB
TIEUBAN
BT_TRINHBAY
#TenBTTBC
1
TenBT
#TenTB
NguoiDK
TenTK
Giáo viên ra đề: Hoàng Quang
Sinh viên thực hiện: Nhóm 3
#TTs
∞
∞
TTe
#VTs
VTe
15