Tải bản đầy đủ (.doc) (26 trang)

BÀI TẬP CƠ SỞ DỮ LIỆU NÂNG CAO THIẾT KẾ CƠ SỞ DỮ LIỆU

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (623.85 KB, 26 trang )

ĐẠI HỌC HUẾ
TRƯỜ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:
TS. Hoàng Quang Dương Phước Đạt
Phạm Anh Đức
Phạm Trung Đức
Trương Khánh Duy
Hoàng Thị Thu Hằng
Huế, 10/2011
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 2/26
Mụ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 15
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
17
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 20
5.1. Mô tả hệ thống 20
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
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 3/26
6.2.1. Yêu cầu bổ sung 24
6.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
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 4/26
1. Bài 1 – Quản lý thông tin diễn đàn
1.1. Mô tả hệ thống
Để 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.
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
ThaoLuanVe(0,1)
DuocThaoLuanBoi(0,n)
(1,1)
(0,n)
(1,1)
(0,n)
MaTV TenTV MatMa
THANHVIEN
MaBV TieuDe NoiDung
BAIVIET
ThaoLuan
Goi
Thuoc
CHUDE
MaCD
TenCD

Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 5/26
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:
Tên tập thực
thể
Giải thích
Thuộc tính
Tên Giải thích
THANHVIEN
Tập tất cả các Thành viên
tham gia diễn đàn.
MaTV
Mã thành viên
(thuộc tính khóa)
TenTV Tên thành viên
MatMa Mật mã
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 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.
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 6/26
• 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:
Class THANHVIEN
Properties
MATV: String;
TenTV: String;
MatMa: String;
End THANHVIEN.
ThaoLuanVe(0,1)
DuocThaoLuanBoi(0,n)
(1,1)
(0,n)

(1,1)
(0,n)
MaTV TenTV MatMa
TT
THANHVIEN
LS
MaBV TieuDe NoiDung
BAIVIET
TT
ThaoLuan
Goi
VT
Thuoc
CHUDE
MaCD
TenCD
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 7/26
Class BAIVIET
Properties
MaBV: String;
TieuDe: String;
NoiDung: String;
GOI: THANHVIEN;
THUOC: CHUDE;
THAOLUANVE: BAIVIET;
DUOCTHAOLUANBOI: set(BAIVIET); {Inverse BAIVIET.Thaoluanve}
End BAIVIET.
Class CHUDE
Properties
MACD: String;

TENCD: String;
End CHUDE.
2. Bài 2 – Quản lý bán hàng
2.1. Mô tả hệ thống
Việ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ại
hà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án
hà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ủa
chứng từ mà có thể trả thành nhiều đợt. Mỗi khi khách hàng thanh toán tiền, phải
tiế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ác
thô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.
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 8/26
2.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:
Tên tập thực
thể

Giải thích
Thuộc tính
Tên Giải thích
MATHANG
Tập tất cả các mặt hàng
có trong cửa hàng.
MAHANG
Mã thành viên
(thuộc tính khóa)
TENHANG Tên hang
QUYCACH Quy cách
SLHC Số lượng hiện có
GBHT Giá bán hiện tại
LOAIHANG Loại hang
SoTienThu
NgayThu
(1,n)
(1,n)
(1,n)
PHIEUTHU
MATHANG
CHUNGTU
ThanhTo
an
Chua
SoPhieu
MaHang
TenHang
QuyCach
SLHC

GBHT
SLB
T
ĐG
B
T
SoCT
NgayBan
HoTenKH
LoaiHang
DiaChi
(1,1)
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 9/26
CHUNGTU
Tập tất cả các chứng từ
của cửa hàng.
SOCT
Số chứng từ
(Thuộc tính khóa)
HOTENKH Họ tên khách hàng
DIACHI Địa chỉ khách hàng
NGAYBAN Ngày bán
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
NGAYTHU Ngày 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
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 10/26
2.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
Class MATHANG
Properties
MaHang: String;
TenHang: String;
QuyCach: String;
SLHC: real;
GBHT: real;
LoaiHang: String;
End MATHANG.
SoTienThu
NgayThu
(1,n)
(1,n)
(1,n)

PHIEUTHU
MATHANG LT
CHUNGTU
ThanhTo
an
Chua
SoPhieu
MaHang
TenHang
QuyCach
SLH
C
GBHT
SLB
T
ĐG
B
T
SoCT
NgayBan
HoTenKH
LoaiHang
DiaChi
(1,1)
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 11/26
3. 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ậ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).
Class PHIEUTHU
Properties
SoPhieu: Integer;
NgayThu: DateTime;
SoTienThu: Real;
THANHTOAN: CHUNGTU;
End PHIEUTHU.
Class CHUNGTU
Properties
SoCT: Integer;
HoTenKH: String;
DiaChi: String;
NgayBan:datetime;
END CHUNGTU.
Class CHUNGTU_MATHANG
Properties
SLB:Integer;
DGB:Integer;
CHUA: MATHANG;
THUOC:CHUNGTU;
End CHUNGTU_MATHANG.
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 12/26
- 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:
* Các mối quan hệ:
+ (p, t)

GomCo: phòng p gồm có máy tính t.
+ (p, h)

ThucHanh: phòng p thực hành môn học h.
* Các tập thực thể: được mô tả chi tiết trong bảng sau:
STT Tập thực thể Tập thuộc tính Ghi chú
1
PhongMay
(Phòng máy)
SoPhong
Số phòng
(thuộc tính khóa)
NguoiQL Người quản lý
MONHOC
GomC
o
(1,1)
(20,50)
(1,n)
ThucHa
nh

(1,n)
PHONGMAY
SoPhon
g
NguoiQ
L
MAYTINH
SoMay
CPU
RA
M
HD
D
MaMH
TenM
H
SoDVH
T
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 13/26
2
MayTinh
(Máy tính)
SoMay
Số máy
(thuộc tính khóa)
CPU Bộ vi xử lý
RAM Bộ nhớ RAM
HDD Ổ đĩa cứng
3
MonHoc

(Môn học)
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
3.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 gian
vớ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 đó.
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 14/26
3.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:
MAYTINH LT
MONHOC
GomC
o
(1,1)

(20,50)
(1,n)
ThucHa
nh
VT
(1,n)
PHONGMAY
SoPhon
g
NguoiQL VT
SoMay
CPU
RA
M
HD
D
MaMH
TenM
H
SoDVH
T
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 15/26
Trong đó, 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ực
hiện.
Class MAYTINH
Properties
SoMay: Integer;
CPU: String;
RAM: String;
HDD: String;
Thuoc: PHONGMAY;
End MAYTINH.
Class PHONGMAY
properties
SoPhong: Integer;
NguoiQL: String;
End PHONGMAY.
Class MONHOC
properties
MaMH: String;
TenMH: String;
SoDVHT: Integer;
ThucHanh: set(PHONGMAY);
End MONHOC.
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 16/26
- 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).

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:
STT Tập thực thể Tập thuộc tính Ghi chú
1 NHOMTRUONG MaNT Mã nhóm trưởng
DETAI
Huongda
n
GIAOVIEN
Thuchie
n
SINHVIEN
(1,1)
(0,n)
(1,5)
(0,n)
MaDT
TenDT

Linhvu
c
MaGV Hoten
Hocham Hocvi
MaSV Hoten Tenlop
ChuT
ri
(1,1)
(0,n)
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 17/26
(nhóm trưởng) (thuộc tính khóa)
2
GIAOVIEN
(giáo viên)
MaGV
Mã giáo viên
(thuộc tính khóa)
HotenGV Họ và tên
Hocham Học hàm
Hocvi Học vị
3
SINHVIEN
(sinh viên)
MaSV
Mã sinh viên
(thuộc tính khóa)
HotenSV Họ và tên
Tenlop Tên lớp
4
DETAI

(mã đề tài)
MaDT
Mã đề tài
(thuộc tính khóa)
TenDT Tên đề tài
Linhvuc Lĩnh vực
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
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 18/26
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 gian
vớ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 đổi
này.
4.3.2. Xây dựng mô hình TimeER
4.3.3. Xây dựng mô hình quan hệ
DETAI LS
Huongdan
VT
GIAOVIEN
Thuchie
n
SINHVIEN
(1,1)
(0,n)
(1,5)
(0,n)

MaDT
TenDT
Linhvu
c
MaGV Hoten
Hocham Hocvi
MaSV Hoten Tenlop
ChuTri
VT
(1,1)
(0,n)
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 19/26
Trong đó, 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:
Class SINHVIEN
Properties
MaSV:string;
HotenSV:string;
Tenlop: string;
Thuchien: set(DETAI);
End SINHVIEN.
Class DETAI
Properties
MaDT:string;
TenDT:string;
Linhvuc:string;
Huongdan: GIAOVIEN;
ChuTri:SINHVIEN;

End DETAI.
Class GIAOVIEN
Properties
MaGV:string;
HotenGV:string;
Hocham:string;
Hocvi:string;
End GIAOVIEN.
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 20/26
5. Bài 5 – Chuẩn bị cho hội thảo khoa học
5.1. Mô tả hệ thống
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).
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

TIEUBAN
(1,n)
(1,n)
(1,1)
(1,n)
MaTG

TenBC

TomTatBC

TenTB

TenNĐK
TenTK
BAIBAOCAO
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 21/26
+ (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:
STT Tập thực thể Tập thuộc tính Ghi chú
1
TACGIA
(Tác giả)
MaTG
Mã tác giả

(thuộc tính khóa)
TenTG Tên tác giả
2
BAIBAOCAO
(Bài báo cáo)
TenBC
Tên báo cáo
(thuộc tính khóa)
TomTatBC Tóm tắt báo cáo
3
TIEUBAN
(Tiểu ban)
TenTB
Tên tiểu ban
(thuộc tính khóa)
TenNDK Tên người điều khiển
TenTK Tên thư ký
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 gian
vớ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 ban
nào đó.
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 22/26
5.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:


TenTG
TACGIA
TrinhBay VT
Gui
TIEUBAN
(1,n)
(1,n)
(1,1)
(1,n)
MaTG

TenBC

TomTatBC

TenTB

TenNDK
TenTK
BAIBA
OCAO

Class TACGIA
properties

MaTG: String;
TenTG: String;
End TACGIA.
Class BAOCAO
properties
TenBC: String;
TomTatBC: String;
TrinhBay: TIEUBAN;
Gui:TACGIA;
End BAIBAOCAO.
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 23/26
6. Bài 6
Sơ đồ dưới đây là thiết kế của một cơ sở dữ liệu quan hệ được sử dụng để
quản lý việc ghi danh và nộp học phí của học viên tại một Trung tâm tin học:
Lưu ý rằng bảng PhieuThuHocPhi có một khóa ngoài là {MaHocVien, MaLop}
(2 thuộc tính) tham chiếu đến khóa chính của bảng HocVien_LopHoc.
Hãy vẽ một sơ đồ thực thể - mối quan hệ (mô hình ER) sao cho khi thực hiện
việc chuyển đổi nó sang mô hình quan hệ thì ta được mô hình cơ sở dữ liệu như
trên.
6.1. Mô hình E-R
Class TIEUBAN
properties
TenTB: String;
TenNDK: String;
TenTK: String;
End TIEUBAN.
MaHV
NgayGhiDanh
HoTen
NgaySinh

GioiTinh
MaLop
TenLop
NgayKG
HOCVIEN
LOPHOC
CHUNGCHI
GHIDANH
CAP
(1,n)
(1,n)
NoiSinh
ThoiGianHoc
SoPhieu
SoTienNop
(1,1)
(1,n)
PHIEUTHUHOCPHI
MaCC TenCC
HocPhi
(1,1)
NgayNopHocPhi
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 24/26
6.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ệ

MaHV
NgayGhiDanh
HoTen
NgaySinh
GioiTinh
MaLop
TenLop
NgayKG
HOCVIEN
LOPHOC
CHUNGCHI LS
GHIDANH TT
CAP
(1,n)
(1,n)
NoiSinh
ThoiGianHoc
SoPhieu
SoTienNop
(1,1)
(1,n)
PHIEUTHUHOCPHI
MaCC TenCC
HocPhi
(1,1)
NgayNopHocPhi
Bài tập thiết kế cơ sở dữ liệu - Nhóm 5 Lớp Khoa học máy tính B 25/26
6.2.4 Xây dựng mô hình hướng đối tượng
Class HOCVIEN
properties

MaHV: String;
HoTen: String;
NgaySinh: DateTime;
GioiTinh: Boolean;
NoiSinh:String;
End HOCVIEN.
Class LOPHOC
properties
MaLop: String;
TenLop: String;
NgayKhaiGiang: DateTime;
ThoiGianHoc: Integer;
HocPhi:Integer;
Cap:CHUNGCHIs;
End LOPHOC.
Class PHIEUTHUHOCPHI
properties
SoPhieu: String;
SoTienNop: Integer;
NgayNopHocPhi: DateTime;
End PHIEUTHUHOCPHI.

×