tiểu luận bài tập cơ sở dữ liệu nâng cao - Pdf 27

BÀI TẬP: CƠ SỞ DỮ LIỆU NÂNG CAO
MỤC LỤC
Trang
NHÓM THỰC HIỆN: NHÓM 4 – LỚP KHMT K2011-2013 Trang 3
BÀI TẬP: CƠ SỞ DỮ LIỆU NÂNG CAO
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

MATV String Mã thành viên Khóa
TENTV String Tên thành viên
MATMA String Mật mã
BAIVIET
Tập tất cả các
Bài viết
MABV String Mã bài viết Khóa
TIEUDE String Tiêu đề
NOIDUNG String Nội dung
CHUDE
Tập các Chủ đề
của bài viết
MACD String Mã chủ đề Khóa
TENCD String Tên chủ đề
• Các mối quan hệ:
Tên mối quan hệ Giải thích Phân loại
GOI
(t,b)

GOI: thành viên t gởi bài viết b.
Mối quan hệ nhị
nguyên 1-n
THUOC
(b,c)

THUOC: bài viết b thuộc chủ đề c.
Mối quan hệ nhị
nguyên 1 - n
THAOLUAN
(b,b’)

(1,1)
(0,n)
THANHVIEN TENTV MATMA TT
THANHVIEN LS
MABV TIEUDE NOIDUNG
THAOLUAN
GOI
THUOC
CHUDE
MACD
TENCD
BAIVIET TT
CHUDE
BÀI TẬP: CƠ SỞ DỮ LIỆU NÂNG CAO
Class BAIVIET
Properties
MABV: String;
TIEUDE: String;
NOIDUNG: String;
GOI: THANHVIEN
THUOC: CHUDE
THAOLUANVE: BAIVIET
DUOCTHAOLUANBOI: set(BAIVIET)
End BAIVIET.
Class CHUDE
Properties
MACD: String;
TENCD: String;
GOM: set(BAIVIET); {Inverse BAIVIET.THUOC}
End CHUDE.

GBHT
NGAYTHU
PHIEUTHU
SOPHIE
U
SOCHUNGT
U
SOTIEN
BANHAN
G
(1,n)
(1,n)
(1,n)
THANHTOA
N
(1,n)
SOCHUNGTU
NGAYLAP
DANHMUCHANG
CHUNGTU
SL
DONGIA
HOTEN
DIACHI
MATHANG
BÀI TẬP: CƠ SỞ DỮ LIỆU NÂNG CAO
• Các tập thực thể: được mô tả chi tiết trong bảng sau
STT
Tập thực
thể

Số lượng
hiên có
QC String Quy cách
GBHT Real
Giá bán
hiện thời
3 CHUNGTU
Tập tất
cả các
chứng từ
SOCHUNGTU String
Số chứng
từ
Khóa
NGAYLAP Date Ngày lập
DANHMUCHANG
Danh
mục hàng
DIACHI String
Địa chỉ
người
mua hàng
HOTEN String Họ tên
* Các mối quan hệ:
Tên mối quan hệ Giải thích Phân loại
BANHANG
(a,b)




NGAYTHU
PHIEUTHU
SOPHIE
U
SOCHUNGT
U
SOTIEN
BANHANG
TT
(1,n)
(1,n)
(1,n)
THANHTOA
N
(1,n)
SOCHUNGTU
NGAYLAP
DANHMUCHANG
CHUNGTU
SL
DONGIA
HOTEN
DIACHI
TENHANG
DANHMUCHANG
BÀI TẬP: CƠ SỞ DỮ LIỆU NÂNG CAO
2.3.3. Xây dựng mô hình quan hệ thời gian
2.4. Xây dựng mô hình hướng đối tượng
NHÓM THỰC HIỆN: NHÓM 4 – LỚP KHMT K2011-2013 Trang 11
Class MATHANG

Để quản lý việc các học viên ghi danh vào học các lớp do trung tâm tổ chức,
người ta xây dựng một cơ sở dữ liệu gồm các tập thực thể sau:
- LOP: tập các lớp, có các thuộc tính: MALOP (mã lớp), TENLOP (tên lớp),
NGAYKG (ngày khai giảng), HP (học phí).
- HOCVIEN: MAHV (mã học viên), TENHV (tên học viên), NGAYSINH (ngày
sinh)
- PHIEUTHU: MAPHIEU (mã phiếu), NGAYTHU (ngày thu), SOTIEN (số
tiền).
- CHUNGCHI: MACC (mã chứng chỉ), TENCC (tên chứng chỉ)
Ngoài ra cần quản lý các thông tin như sau:
- Mỗi lớp học được tổ chức để đào tạo cho đúng một loại chứng chỉ nhất định.
- Tại một thời điểm bất kỳ, một học viên có thể đăng ký học tại nhiều lớp khác
nhau.
- Sau khi đăng ký học tại một lớp nào đó, học viên có thể đóng học phí trong
nhiều lần. Việc đóng học phí được quản lý dựa trên các phiếu thu.
3.2 Mô hình ER
3.2.1 Xây dựng mô hình ER
NHÓM THỰC HIỆN: NHÓM 4 – LỚP KHMT K2011-2013 Trang 13
MAHV TENHV NGAYSINH
HOCVIEN
(1,n)
NGAYK
G
(1,n)
LOP
MALO
P
TENLO
P
HP

Ghi
chú
LOP Tập tất cả các lớp
MALOP String Mã lớp Khóa
TENLOP String Tên lớp
NGAYKG DateTime
Ngày khai
giảng
HP Real Học phí
HOCVIEN
Tập tất cả các học
viên
MAHV String Mã học viên Khóa
TENHV String Tên học viên
NGAYSINH DateTime Ngày sinh
PHIEUTHU
Tập tất cả các phiếu
thu
MAPHIEU String Mã phiếu
NGAYTHU DateTime Ngày thu Khóa
SOTIEN Real Số tiền
CHUNGCHI
Tập tất cả các
chứng chỉ
MACC String Mã chứng chỉ Khóa
TENCC String Tên chứng chỉ
• Các mối quan hệ:
Tên mối quan hệ Giải thích Phân loại
DANGKY
(a,b)

3.3.2 Xây dựng mô hình Time ER
NHÓM THỰC HIỆN: NHÓM 4 – LỚP KHMT K2011-2013 Trang 15
(1,n)
TG
MAHV TENHV NGAYSINH
HOCVIEN LT
NGAYK
G
(1,n)
LOP
MALO
P
TENLO
P
HP
HO
C
CHUNGCHI
(1,1)
(1,n)
DANGKY
TT
NAPTIEN
(1,n)
(1,1)
MAPHIE
U
NGAYTHU
SOTIE
N

NGAYTHU: DateTime;
NAPTIEN: DANGKY;
End PHIEUTHU.
Class CHUNGCHI
Properties
MACC: String;
TENCC: String;
HOC: Set(LOP);
End CHUNGCHI.
Class DANGKY
Properties
Lop: LOP;
Hocvien: HOCVIEN;
End DANGKY.
TG
BÀI TẬP: CƠ SỞ DỮ LIỆU NÂNG CAO
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.
- 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

1 NHOMTRUONG
Nhóm
trưởng
MaDT String Mã đề tài Khóa
2
GIAOVIEN Giáo viên
hướng dẫn
MaGV String
Mã giáo
viên
Khóa
HotenGV String Họ và tên
Hocham String Học hàm
Hocvi String Học vị
3 SINHVIEN
Sinh viên
thực hiện đề
tài
MaSV String
Mã sinh
viên
Khóa
HotenSV String Họ và tên
Tenlop String Tên lớp
4 DETAI
Danh mục
đề tài
NCKH
MaDT String Mã đề tài Khóa
TenDT String Tên đề tà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ệ thời gian
NHÓM THỰC HIỆN: NHÓM 4 – LỚP KHMT K2011-2013 Trang 19
SINHVIEN NHOMTRUONG
Thuchien
DETAI LS GIAOVIEN
Huongdan
VT
(1,1)
(1,n)
(1,5)
(1,1)
MaDT
TenDT
Linhvuc
VT
MaGV Hoten
Hocham Hocvi
MaSV Hoten Tenlop MaDT
BÀI TẬP: CƠ SỞ DỮ LIỆU NÂNG CAO
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:
NHÓM THỰC HIỆN: NHÓM 4 – LỚP KHMT K2011-2013 Trang 20
Class SINHVIEN
Properties
MaSV:string;
HotenSV:string;
Tenlop: string;
Thuchien: DETAI;

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 tập thực thể: được mô tả chi tiết trong bảng sau:
NHÓM THỰC HIỆN: NHÓM 4 – LỚP KHMT K2011-2013 Trang 21

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: CƠ SỞ DỮ LIỆU NÂNG CAO

TRINHBAY
(b, tb)

TrinhBay: bài báo cáo b được
trình bày ở tiểu ban tb.
Mối quan hệ nhị
nguyên 1- 1
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 đó.
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:
NHÓM THỰC HIỆN: NHÓM 4 – LỚP KHMT K2011-2013 Trang 22
BÀI TẬP: CƠ SỞ DỮ LIỆU NÂNG CAO
5.3.3. Xây dựng mô hình quan hệ thời gian
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.
NHÓM THỰC HIỆN: NHÓM 4 – LỚP KHMT K2011-2013 Trang 23TenTG
TACGIA
TrinhBay VT
Gui BT

End TACGIA.
Class BAIBAOCAO
properties
TenBC: String;
TomTatBC: String;
TrinhBay: TIEUBAN;
End BAIBAOCAO.
Class TIEUBAN
properties
TenTB: String;
TenNDK: String;
TenTK: String;
TrinhBayBoi: set(BAIBAOCAO); {Inverse BAIBAOCAO.TrinhBay}
End TIEUBAN.


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status