Tải bản đầy đủ (.docx) (32 trang)

Tiểu luận Cơ sở dữ liệu nâng cao

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 (1.73 MB, 32 trang )

ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
----------

Đề tài:

Giáo viên giảng dạy: TS. HOÀNG QUANG
Nhóm thực hiện:NHÓM 3
1.
2.
3.
4.
5.

Lê Văn Tuấn
Nguyễn Đức Phúc
Nguyễn Ninh Giang
Nguyễn Xuân Quang
Nguyễn Xuân Toàn

Lớp: Khoa học máy tính - Khóa:2015-2017

Huế, thaùng 5 naêm 2016


BÀI 1: QUảN LÝ PHÂN PHốI HÀNG
1. Phát biểu bài toán
Một công ty phải tổ chức một cơ sở dữ liệu để quản lý việc phân phối hàng từ
các kho hàng của công ty đến các đại lý trong thành phố. Cho biết một số thông tin
liên quan đến hoạt động này như sau:
-



Thông tin về mỗi mặt hàng bao gồm mã hàng, tên mặt hàng.

-

Thông tin về mỗi kho hàng bao gồm mã số của kho và địa chỉ kho hàng.

-

Các đại lý bán hàng của công ty cũng cần phải được quản lý với các thông tin:
mã đại lý, tên đại lý, địa chỉ và điện thoại.

-

Các mặt hàng được cất giữ trong kho, và để tiện cho việc quản lý, mỗi một mặt
hàng chỉ được cất giữ ở đúng một kho hàng theo quy định. Đương nhiên, trong một
kho có thể có nhiều mặt hàng khác nhau.

-

Khi một kho hàng nào đó xuất hàng cho một đại lý nào đó thì phải lập phiếu
xuất kho. Trong phiếu xuất kho phải ghi số phiếu và ngày xuất kho. Một phiếu xuất
kho có thể xuất nhiều mặt hàng và phải ghi rõ số lượng hàng được xuất ra là bao
nhiêu.
Yêu cầu:

-

Tập thực thể mặt hàng: cần quản lý thời gian sống và giao tác của các mặt
hàng.


-

Mối quan hệ xuất hàng(là mối quan hệ giữa 2 tập thực thể MặtHàng và
PhiếuXuấtKho): cần quản lý thời gian giao tác.
2. Xây dựng mô hình ER
a) Xác định tập thực thể
TT
3
1
2
4

Tên tập
thực thể

Giải thích

Tập các mặt
MATHANG
hàng
Tập các kho
KHOHANG
hàng
DAILY

PHIEUXUAT

Tập các đại lý
Tập các phiếu

xuất kho

Tên TT
#MaHang
TenHang
#MaKho
Diachikho
#MaDL
TenDL
DiaChi
Dienthoai
#Sophieu
Ngayxuat

Thuộc tính
Giải thích
Kiểu DL Ghi chú
Mã mặt hàng
Text (10)
Tên mặt hàng
Text (50)
Mã Khohàng
Text (10)
Địa chỉ kho hàng Text (50)
Mã đại lý
Text (10)
Tên đại lý
Text (50)
Địa chỉ đại lý
Text (50)

Điện thoại
Text (11)
Số phiếu
Number
Ngày xuất kho
Date/Time

Khóa
Khóa
Khóa

Khóa

2


b) Xác định các mối quan hệ
Tên mối
quan hệ

STT
1
2
3

Giải thích
(m, k) ∈ ChuaO: mặt hàng m đang chứa trong kho k
(p, h) ∈ XuatHang: phiếu xuất kho p có chứa mặt hàng h
(p, d) ∈ XuatCho: phiếu xuất kho p xuất hàng cho đại lý d


ChuaO
XuatHang
XuatCho

c) Thuộc tính của mối quan hệ
STT
Tên thuộc tính
1
Soluong

Giải thích
Số lượng

Mối quan hệ
XuatHang

Kiểu DL
Number

d) Mô hình ER
MaHang

MATHANG

MaKho

TenHang

(1,1)


(0,n)

DiaChi

KHOHANG

ChuaO

(1,n)
SoLuong

XuatHang

MaDL

TenDL

(1,n)
PHIEUXUAT

(1,n)

(1,1)

DAILY

XuatCho
NgayXuat

SoPhieu


DiaChi

DienThoai

3


3.Chuyển đổi mô hình ER sang mô hình quan hệ

4


4 Thiết kế mô hình Time-ER
MaHang

MaKho

TenHang

(1,1)

MATHANG (LT)

ChuaO

(0,n)

DiaChi


KHOHANG

(1,n)
SoLuong
XuatHang(BT)

MaDL
(1,n)
PHIEUXUAT

NgayXuat

XuatCho

(1,1)

SoPhieu

(1,n)

TenDL

DAILY

DiaChi

DienThoai

5.Chuyển đổi mô hình TimeER sang mô hình quan hệ có yếu tố thời gian


5


6. Chuyển đổi mô hình ER sang mô hình hướng đối tượng
Class KHOHANG
Properties
MaKho: String;
DiaChi: String;
ChuaO: set(MATHANG);
{invert MATHANG.MaKho}
End KHOHANG.
Class MATHANG
Properties
MaHang: String;
DiaChi: String;
MaKho: KHOHANG;
End MATHANG.
Class DAILY
Properties
MaDaiLy: String;
TenDaiLy: String;
DiaChi: String;
DienThoai: String;
GomPhieu: set(PHIEUXUAT); {invert PHIEUXUAT.CuaDaiLy}
End DAILY.
Class PHIEUXUAT
Properties
SoPhieu: String;
MaDaiLy: DAILY;
NgayXuat: DateTime;

CuaDaiLy: DAILY;
End PHIEUXUAT.
Class XUATHANG
Properties
MaHang: set(MATHANG);
SoPhieu: set(PHIEUXUAT);
SoLuong: LongInt;
End XUATHANG.

6


7


BÀI TẬP 2: QUẢN LÝ GHI DANH VÀ NỘP HỌC PHÍ CỦA HỌC VIÊN
2.1 Phát biểu bài toán
Một Trung tâm tin học cần tổ chức một cơ sở dữ liệu để quản lý việc ghi danh và
nộp học phí của học viên. Cho biết một số thông tin liên quan như sau:
- Mỗi một học viên được cấp một mã học 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 và địa chỉ.
- Mỗi một lớp học khi được mở sẽ được gán một mã lớp học. Ngoài ra, lớp học
còn có các thông tin như tên lớp, ngày khai giảng, học phí, loại chứng chỉ được đào
tạo.
- Khi một học viên đăng ký học một lớp học nào đó, trung tâm cần phải biết được
ngày học viên đăng ký và mức giảm học phí áp dụng cho học viên. Hiển nhiên, một
học viên có thể đăng ký học tại nhiều lớp khác nhau.
- Việc nộp học phí cho mỗi đăng ký học tại một lớp của học viên là có thể nộp
trong nhiều lần khác nhau. Mỗi khi học viên nộp học phí cho một lớp (mà học viên
đã đăng ký học), trung tâm sẽ viết phiếu thu học phí, trong đó cho biết học viên nộp

học phí cho lớp nào và số tiền nộp là bao nhiêu. Ngoài ra, mỗi một phiếu thu học phí
được đánh một số phiếu duy nhất và phải cho biết ngày nộp học phí là ngày nào.
2.2. Mô hình ER

8


2.3. Giải thích mô hình ER
a. Tập thực thể
TT

1

2

3

Tên của tập
thực thể

HOCVIEN

LOP

PHIEUTHU

Giải
thích
Tập các
học viên

theo học

Tập các
lớp học
Tập các
phiếu thu
học phí

Thuộc tính
Tên thuộc
tính
MaHV
Hoten
Ngaysinh
Noisinh
Diachi
Malop
Tenlop
NgayKG
Hocphi
LoaiCC
Sophieu
Ngaynop
Sotien

Giải thích

Kiểu dữ liệu

Mã học viên

Họ tên học viên
Ngày sinh học viên
Nơi sinh học viên
Địa chỉ học viên
Mã lớp học
Tên lớp học
Ngày khai giảng
Học phí
Loại chứng chỉ
Số phiếu
Ngày nộp học phí
Số tiền nộp

char(20)
nvarchar(100)
datetime
nvarchar(200)
nvarchar(200)
char(50)
varchar(50)
datetime
curency
char(10)
char(50)
datetime
curency

Ghi
chú
Khóa


Khóa

Khóa

b. Mối quan hệ
STT
1
2

Tên mối quan hệ
DangKy
NopHP

Giải thích
(h, l) ∈ DangKy: học viên h đã đăng ký học lớp l
(d, p) ∈ NopHP: đăng ký d được nộp tiền từ phiếu thu p

9


c.Thuộc tính của mối quan hệ
TT
1
2

Tên thuộc tính
NgayDK
MGHP


Giải thích
Ngày đăng ký
Mức giảm học phí

Mối quan hệ
DangKy
DangKy

Kiểu DL
datetime
int

10


2.4. Mô hình CSDL quan hệ

2.5. Mô hình Time_ER
a. Yêu cầu về quản lý thời gian
Các đối tượng cần quản lý thời gian trong hệ thống:
- Tập thực thể HọcViên: cần quản lý thời gian sống.
- Mối quan hệ ĐăngKý (là mối quan hệ giữa 2 tập thực thể LớpHọc và HọcViên)
cần quản lý thời gian hợp lệ và giao tác.

11


b. Mô hình TimeER

2.6. Mô hình CSDL thời gian


12


2.7. Mô hình CSDL hướng đối tượng
Class HOCVIEN
MaHV: char(10);
Hoten: nvarchar(30);
Ngaysinh: datetime;
Noisinh: nvarchar(50);
Diachi: nvarchar(30);
DSDK: set(DANGKY);
{Inverse DANGKY.Hocvien}
End HOCVIEN;
Class LOP
Malop: char(10);
Tenlop: nvarchar(20);
NgayKG: datetime
Hocphi: int;
LoaiCC: nvarchar(20);
DSDK: set(DANGKY);

{Inverse DANGKY.Lop}
End LOP;
Class DANGKY
NgayDK: datetime;
MGHP: int;
Hocvien:HOCVIEN;
Lop:LOP;
DSPT: set(PHIEUTHU);

{Inverse PHIEUTHU.Dangky}
End DANGKY;
Class PHIEUTHU
Sophieu: char(10)
Sotien: int;
Ngaynop: datetime
Dangky: DANGKY;
End PHIEUTH

BÀI 3: QUẢN LÝ HOẠT ĐỘNG VAY VỐN
Một quỹ tín dụng cần tổ chức một cơ sở dữ liệu để quản lý hoạt động cho vay vốn
đối với khách hàng. Cho biết một số thông tin liên quan đến hoạt động của quỹ này như sau:
- Những người vay vốn được gọi là khách hàng. Mỗi một khách hàng được quản lý với
các thông tin: mã khách hàng, tên khách hàng, địa chỉ liên hệ.
- Quỹ tín dụng có các hình thức vay vốn khác nhau như vay sản xuất, vay kinh doanh, vay
chăn nuôi,… Mỗi một hình thức vay vốn được đánh một mã số duy nhất, được qui định
thời gian vay tối đa (tính theo tháng) và lãi suất hàng tháng.
- Khi khách hàng muốn vay vốn phải lập hồ sơ vay vốn. Ngoài mã hồ sơ, mỗi một hồ sơ
vay vốn còn phải thể hiện được số tiền vay, ngày bắt đầu vay, vay theo hình thức nào và là
hồ sơ của khách hàng nào.
- Việc trả tiền vốn và lãi của các hồ sơ vay vốn được thực hiện theo từng tháng. Cứ đến kỳ
hạn mỗi tháng, quỹ sẽ lập phiếu thanh toán cho các hồ sơ trong đó thể hiện được các thông
tin sau: mã số phiếu, ngày thanh toán, số tiền vốn, số tiền lãi phải trả và phiếu thanh toán
đó là của hồ sơ vay vốn nào.

3.1. Mô hình thực thể mối quan hệ E –R

13



Giải thích các tập thực thể và thuộc tính
Tên của tập thực
STT
thể

1

KhachHang

2

HinhThucV

3

HoSoVV

Giải
thích
Tập các
khách
hàng
vay vốn.

Tập các
hình
thức vay
vốn

Tập các

hồ sơ

Thuộc tính
Kiểu dữ
Tên thuộc tính Giải thích
liệu
Mã khách
MaKH
Chuỗi (5)
hàng
Tên khách
TenKH
Chuỗi (20)
hàng
Địa chỉ liên
DiachiLH
Chuỗi
hệ
Mã hình
MaHTV
Chuỗi (10)
thức vay
Tên hình
TenHTV
thức vay
Chuỗi (20)
vốn
Thời gian
cho vay tối
ThoiGianVTD

Ngày
đa tính theo
tháng
Lãi suất cho
Laisuat
Tiền tệ
vay
MaHS
Mã số quỹ Chuỗi (5)
tín dụng

Ghi chú
Khóa

Khóa

Khóa

14


vay của
khách
hàng

4

Tập các
phiếu
Thanh

PhieuThanhToan
toán của
khách
hàng

SoTien
NgayVay
MaSP
NgayTT
SoTienVon
SoTienLai

Số tiền vay
của hồ sơ
Ngày bắt
đầu vay
Mã số phiếu
thanh toán
Ngày thanh
toán
Tiền gốc
phải trả
Tiền lãi phải
trả

Tiền tệ
Ngày
Chuỗi (5)

Khóa


Ngày
Tiền
Tiền

Giải thích ngữ nghĩa của các mối quan hệ
1. (C, L) ∈ LậpHS: Khách hàng C lập hồ sơ vay vốn L
2. (L, F) ∈ Vaytheo: hồ sơ vay vốn L vay theo hình thức vay F
3. (L, B) ∈ Thanh toán: Hồ sơ vay vốn L thanh toán ở phiếu thanh toán B
3.2. Mô hình quan hệ

3.3. Mô hình TimeER
Yêu Cầu quản lý thời gian
Tập thực thể KhachHang: cần quản lý thời gian giao tác của các khách hàng.
Thuộc tính địa chỉ liên hệcủa tập thực thể KhachHang: cần quản lý thời gian hợp lệ.

15


3.4. Mô hình quan hệ có yếu tố thời gian

3.5. Mô hình hướng đối tượng
Class KhachHang
MaKH: String;
TenKH: String;
DiaChiLH:String;
End KhachHang.
Class HoSoVV
MaHS: String;
SoTien: Real;

NgayVay: Datetime;
LapHS: KhachHang;

16


VayTheo: HinhThucV;
End HoSoVV
Class HinhThucV
MaHTV:String;
TenHTV: String;
ThoiGianVay: Datetime;
LaiSuat: Real;
End HinhThucV.
Class PhieuThanhToan
MaSP: String;
NgayTT: Datetime;
SoTienVon: Real;
SoTienLai: Real;
ThanhToan: HoSoVV;
End PhieuThanhToan.

17


CÂU 4. 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:
 Ngày lập chứng từ;
 Thông tin về khách mua hàng (họ tên, địa chỉ);
 Danh mục các mặt hàng khách mua kèm theo số lượng và đơn giá.
- 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:
 Phiếu thu tiền thanh toán cho chứng từ nào;
 Ngày thu tiền;
 Số tiền thu của khách hàng.

18


4.1. Mô hình ER
4.1.1 . Mô hình ER (mô hình 1)

Soluong

Dongia

MaHang
(0,n)

Tenhang
MATHANG


SoCT

(1,n)
BanHang

CHUNGTU
TenKH

Loaihang
(1,n)

Diachi

Quycach

Ngaylap

GiabanHT
SoluongHC
ThanhToan

Sophieu

(1,1)
PHIEUTHUTIEN

Ngaythu

Sotien


19


4.1.2 Mô hình ER(mô hình 2)
Dongia

Soluong
MaHang
(0,n)

Tenhang

BanHang

MATHANG

SoCT

(1,n)
CHUNGTU

Loaihang
(1,n)

(1,1)
Ngaylap

Quycach


GiabanHT
Thuoc

SoluongHC
ThanhToan

Sophieu

Ngaythu

MaKH
(1,1)

(1,n)

PHIEUTHUTIEN

KHACHHANG

TenKH

Sotien
Diachi

20


 Giải thích về tập thực thể và thuộc tính
ST
T


Tên của tập thực
thể

1

Thuộc tính

Giải
thích

Tên thuộc
tính
MaHang
Tenhang
Loaihang
Tập các Quycach
mặt hàng Giaban HT

MATHANG

SoluongHC

2

SoCT
Tập các
chứng từ Ngaylap

CHUNGTU


Tập các Sophieu
Sotien
phiếu thu
Ngaythu
MaKH
Tập các
TenKH
khách
hàng
Diachi

PHIEUTHUTIE
N

3

4

KHACHHANG



Kiểu dữ liệu

Mã hàng
Tên mặt hàng
Loại hàng
Quy cách
Giá bán hiện

thời
Số lượng hiện


Text
Text
Text
Text

Số chứng từ

Text

Ngày lập chứng
từ
Số phiếu
Số tiền
Ngày thu
Mã khách hàng
Họ tên khách
hàng
Địa chỉ khách
hàng

Ghi
chú
Khóa

Number
Number

Khóa

Datetime
Text
Number
DateTime
Text

Khóa
Khóa

Text
Text

Giải thích ngữ nghĩa mối quan hệ

STT

Tên mối quan hệ

1

ThanhToan

2

BanHang

3


Thuoc


Giải thích

Giải thích
(p,c) Thanhtoan  Phiếu thu tiền p hiện tại thanh toán cho chứng từ c.
(m, c) BanHang  Mặt hàng m được bán cho khách hàng trong chứng từ c.
(c, k) Thuoc  Chứng từ c hiện tại Thuoc khách hàng k.

Thuộc tính của mối quan hệ BanHang

Stt

Tên thuộc tính

Giải thích

Mối quan hệ

Kiểu DL

1

Soluong

Số lượng mặt hàng đã bán

Banhang


Number

2

Dongia

Đơn giá

Banhang

Number

21


4.2. Chuyển mô hình ER sang mô hình quan hệ

4.3. Xây dựng mô hình TimeER
Soluong

Đongia

MaHang
(0,n)

Tenhang
MATHANG LT

CHUNGTU


BanHang TT

Loaihang

SoCT

(1,n)

(1,n)
(1,1)
Ngaylap

Quycach

GiabanHT
Thuoc

SoluongHC
Thanhtoan

Sophieu

MaKH
(1,1)
PHIEUTHUTIEN

Ngaythu

Sotien


(1,n)
KHACHHANG

TenKH

Điachi

22


4.4. Chuyển mô hình TimeER sang mô hình quan hệ có yếu tố thời gian
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.
- Mối quan hệ BANHANG (là mối quan hệ giữa 2 tập thực thể MATHANG và
CHUNGTU): cần quản lý thời gian giao tác.

4.5. Chuyển đổi mô hình ER sang mô hình hướng đối tượng
Class MATHANG
Properties
MaHang: string;
Tenhang: string;
Loaihang: string;
Quycach: string;
GiabanHT: integer;
SoluongHC: integer;
End MATHANG.

Class CHUNGTU
23



Properties
SoCT: string;
Ngaylap: Date;
Thuoc:KHACHHANG;
End CHUNGTU.

Class BANHANG
Properties
Dongia: integer;
Soluong: integer;
MaHang: MATHANG;
SoCT: CHUNGTU;
End BANHANG.
Class KHACHHANG
Properties
MaKH: string;
TenKH: string;
Diachi: string;
End KHACHHANG.
Class PHIEUTHUTIEN
Properties
SoPhieu: string;
Ngaythu: Date;
Sotien: integer;
ThanhToan:CHUNGTU;
End PHIEUTHUTIEN.
BÀI 5: QUẢN LÝ SINH VIÊN VÀ KẾ HOẠCH ĐÀO TẠO
Một trường Đại học cần tổ chức một cơ sở dữ liệu để quản lý sinh viên và kế

hoạch đào tạo từng học kỳ của trường. Cho biết một số thông tin liên quan đến hoạt
động của hệ thống như sau:
24


- Mỗi một sinh viên được quản lý với các thông tin bao gồm: Mã sinh viên, họ
tên, ngày sinh, địa chỉ. Mã sinh viên được gán duy nhất cho mỗi sinh viên.
- Sinh viên khi vào học tại trường sẽ được biên chế học tại một lớp. Mỗi một lớp
được quản lý với các thông tin: Mã lớp, tên lớp và hệ đào tạo của lớp đó.
- Theo quy định, trong một học kỳ và năm học nhất định, mỗi lớp phải học một
số học phần nào đó. Thông tin về mỗi học phần là bao gồm: Mã học phần, tên
học phần và số đơn vị học trình.
- Căn cứ vào kế hoạch đào tạo đã được lập, sẽ tiến hành phân công giáo viên
giảng dạy. Việc phân công giảng dạy phải thể hiện được một giáo viên được
phân công dạy những học phần gì, cho lớp nào và với số tiết phải dạy là bao
nhiêu. Giáo viên được quản lý với các thông tin: Mã giáo viên, họ tên, học
hàm, học vị.
- Ngoài ra, cần lưu ý rằng: Một học phần khi được phân công giảng dạy cho một
lớp có thể do nhiều giáo viên đảm nhận.

25


×