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

Bài tập 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 (595.84 KB, 24 trang )

Bài tập nhóm 1B – KHMT 2014
MỤC LỤC
Trang 1
Bài tập nhóm 1B – KHMT 2014
BÀI LÀM
Bài tập 1 : QUẢN LÝ PHÂN PHỐI HÀNG
1. Yêu cầu
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
hàng chỉ được cất giữ ở đúng một kho hàng theo qui đị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.
2. Thiết kế mô hình ER
2.1. Mô hình ER
2.2. Giải thích
2.2.1. Các tập thực thể
STT Tên tập thực thể Giải thích
Mathang Tập các mặt hàng
Trang 2
Bài tập nhóm 1B – KHMT 2014
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú


Mahang Mã mặt hàng char(10) Khóa
Tenhang Tên mặt hàng nvarchar(50)
2
Phieuxuat Tập các phiếu xuất kho
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Maphieu Mã phiếu char(10) Khóa
Ngayxuat Hình thức datetime
3 Daily Tập các đại lý
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Madl Mã đại lý char(10) Khóa
Tendl Tên đại lý nvarchar(50)
Dchi Địa chỉ nvarchar(50)
Sdt Điện thoại char(12)
4
KHO Tập các kho
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Makho Mã số kho char(10) Khóa
Dckho
Địa chỉ kho
nvarchar(150)
2.2.2. Ngữ nghĩa của quan hệ
STT
Tên
mối quan hệ
Giải thích
1 Thuoc (m, k) ∈ Thuoc: mặt hàng m hiện đang chứa tại kho k
2

Xuathang (p, h) ∈ XuatHang: phiếu xuất p có cho mặt hàng h với số lượng là
Soluong
2.2.3. Ngữ nghĩa thuộc tính của quan hệ
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 mặt
hàng trong một lần
xuất
Xuathang int
Trang 3
Bài tập nhóm 1B – KHMT 2014
3. Thiết kế CSDL
4. Thiết kế mô hình TimeER
4.1. 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ể MặtHà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ấtHà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.
4.2. Mô hình TimeER
Trang 4
Bài tập nhóm 1B – KHMT 2014
5. Thiết kế CSDL Thời gian
6. Thiết kế CSDL hướng đối tượng
class MATHANG
Properties
Mahang : String;
Tenhang : String;

Thuoc : KHO;
end MATHANG
class KHO
Properties
Makho : String;
Dckho : String;
end KHO
class PHIEUXUAT
Properties
Maphieu: String;
Ngayxuat: Datetime;
Cho : DAILY;
end PHIEUXUAT
class DAILY
Properties
Madl: String;
Tendl: String;
Dchi: String;
Sdt: String;
end DAILY
class XUATHANG
Properties
SoLuong: Integer;
Mathang: MATHANG;
Phieuxuat: PHIEUXUAT;
end XUATHANG
Trang 5
Bài tập nhóm 1B – KHMT 2014
Bài tập 2 : QUẢN LÝ GHI DANH VÀ NỘP HỌC PHÍ
1. Yêu cầu

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. Thiết kế mô hình ER
2.1. Mô hình ER
Trang 6
Bài tập nhóm 1B – KHMT 2014
2.2. Giải thích
2.2.1. Các tập thực thể
STT Tên tập thực thể Giải thích
1
Hocvien Tập các học sinh
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Mahocvien Mã học viên char(10) Khóa
HoTen Họ tên học viên nvarchar(50)
Ngaysinh Ngày sinh datetime

Noisinh Nơi sinh nvarchar(30)
DiaChi Địa chỉ nvarchar(50)
2
Lophoc Tập các lớp học
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Malophọc Mã lớp char(10) Khóa
Tenlop Tên lớp nvarchar(30)
Hocphi
Học phí (nghìn đồng)
int
Loaichungchi Loại chứng chỉ char(10)
Ngaykhaigiang Ngày khai giảng datetime
3
Phieuthu Tập các phiếu thu tiền
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Maphieu Mã phiếu char(10) Khóa
Sotiennop Số tiền int
Ngaynop Ngày nộp datetime
2.2.2. Ngữ nghĩa của quan hệ
STT
Tên
mối quan hệ
Giải thích
1
Dangky (m, k) ∈ Dangky: học viên m đăng ký học lớp k với ngày đăng ký
là Ngaydangky với mức giảm học phí Mucgiamhp
2 Noptien (p, h) ∈ Noptien: đăng ký p nộp tiền từ phiếu thu h
Trang 7

Bài tập nhóm 1B – KHMT 2014
2.2.3. Ngữ nghĩa thuộc tính của quan hệ
STT Tên thuộc tính Giải thích Mối quan
hệ
Kiểu DL
1 Ngaydangky
Ngày học viên đăng
ký vào lớp học
Dangky datetime
2 Mucgiamhp
Mức giảm học phí
cho học viên (%)
Dangky int
3. Thiết kế CSDL
4. Thiết kế mô hình TimeER
4.1. 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.
4.2. Mô hình TimeER
Trang 8
Bài tập nhóm 1B – KHMT 2014
5. Thiết kế CSDL Thời gian
6. Thiết kế CSDL hướng đối tượng
Trang 9
Bài tập nhóm 1B – KHMT 2014
class HOCVIEN
Properties
Mahocvien : String;

Hoten : String;
Ngaysinh : Datetime;
Noisinh : String;
Diachi : String;
end HOCVIEN
class LOPHOC
Properties
Malophoc : String;
Tenlop : String;
Ngaykhaigiang : Datetime;
Hocphi : Integer;
Loaichungchi : String;
end LOPHOC
class DANGKY
Properties
Ngaydangky : Datetime;
Mucgiamhp : Integer;
Hocvien : HOCVIEN
Lophoc : LOPHOC
end DANGKY
class PHIEUTHU
Properties
Maphieu : String;
Sotiennop : Integer;
Ngaynop : Datetime;
Noptien : DANGKY;
end PHIEUTHU
Bài tập 3 : QUẢN LÝ HOẠT ĐỘNG CHO VAY VỐN
1. Yêu cầu
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.
2. Thiết kế mô hình ER
2.1. Mô hình ER
Trang 10
Bài tập nhóm 1B – KHMT 2014
2.2. Giải thích
2.2.1. Các tập thực thể
STT Tên tập thực thể Giải thích
1
Khachhang Tập các khách hàng
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Makhachhang Mã khách hàng char(10) Khóa
Tenkhachhang Họ tên khách hàng nvarchar(50)
Diachi Địa chỉ liên hệ nvarchar(50)
2

Hinhthucvay Tập các tín dụng
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Mahinhthuc Mã hình thức vay char(10) Khóa
Tenhinhthuc Tên hình thức vay nvarchar(50)
Laisuathangthang Lãi suất hàng tháng int
Thoigianvay Thời gian vay tối đa int
3
Hosovay Tập các hồ sơ vay vốn
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Mahoso Mã số hồ sơ char(10) Khóa
Sotienvay Số tiền vay int
Trang 11
Bài tập nhóm 1B – KHMT 2014
Ngayvay Ngày bắt đầu vay datetime
4
Phieuthanhtoan Tập các phiếu thanh toán
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Maphieu Mã số phiếu char(10) Khóa
Ngaytt
Ngày thanh toán datetime
2.2.2. Ngữ nghĩa của quan hệ
STT
Tên
mối quan hệ
Giải thích
1 Lap (m, k) ∈ Lap: Khách hàng m có lập hồ sơ k
2 Thuoc (p, h) ∈ Thuoc: Hồ sơ p thuộc hình thức vay h

3 Thanhtoan (p, h) ∈ Thanhtoan: Phiếu thanh toán p thanh toán cho hồ sơ h
3. Thiết kế CSDL
4. Thiết kế mô hình TimeER
4.1. 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:
Trang 12
Bài tập nhóm 1B – KHMT 2014
• Tập thực thể KHACHHANG: cần quản lý thời gian giao tác (TT) của các khách
hàng.
• Thuộc tính DiaChi của tập thực thể KHACHHANG: cần quản lý thời gian hợp
lệ (VT).
4.2. Mô hình TimeER
5. Thiết kế CSDL Thời gian
Trang 13
Bài tập nhóm 1B – KHMT 2014
6. Thiết kế CSDL hướng đối tượng
class KHACHHANG
Properties
Makhachhang : String;
Tenkhachhang : String;
Diachi: String;
end KHACHHANG
class HOSOVAY
Properties
Mahoso : String;
Sotienvay : Integer;
Ngayvay : Datetime;
Lap : KHACHHANG
Thuoc : HINHTHUCVAY
end HOSOVAY

class HINHTHUCVAY
Properties
Mahinhthuc : String;
Tenhinhthuc : String;
Thoigianvay : Integer;
Laisuathangthang : Integer;
end HINHTHUCVAY
class PHIEUTHANHTOAN
Properties
Maphieu : String;
Ngaytt : Datetime;
Thanhtoan : HOSOVAY;
end PHIEUTHANHTOAN
Bài tập 4 : QUẢN LÝ HOẠT ĐỘNG BÁN HÀNG
1. Yêu cầu
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 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 hàng mua (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 :

Trang 14
Bài tập nhóm 1B – KHMT 2014
• 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
2. Thiết kế mô hình ER
2.1. Mô hình ER
2.2. Giải thích
2.2.1. Các tập thực thể
STT Tên tập thực thể Giải thích
1
Mathang Tập các mặt hàng
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Mahang Mã hàng char(10) Khóa
Tenhang Tên mặt hàng nvarchar(50)
Loaihang Loại hàng nvarchar(10)
Quycach Quy cách nvarchar(10)
Giabanhientai Giá hiện thời int
Trang 15
Bài tập nhóm 1B – KHMT 2014
Soluong Số lượng hiện có int
2
Chungtu Tập các chứng từ
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Machungtu Mã số chứng từ char(10) Khóa
Ngaylap Ngày lập datetime
HotenKH Họ tên khách hàng nvarchar(50)
DchiKH Địa chỉ khách hàng nvarchar(50)

Phieuthu Tập các phiếu thu
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Maphieuthu Mã phiếu thu char(10) Khóa
Sotienthu Số tiền thu int
Ngaythu Ngày thu datetime
2.2.2. Ngữ nghĩa của quan hệ
STT
Tên
mối quan hệ
Giải thích
1
Banhang (m, k) ∈ Banhang: mặt hàng m được bán trong chứng từ k với số
lượng là Soluong và đơn giá là Dongia
2 Thanhtoan (p, h) ∈ Thanhtoan: phiếu thu p trả tiền cho chứng từ h
2.2.3. Ngữ nghĩa thuộc tính của quan hệ
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 mặt
hàng được bán trong
một chứng từ
Banhang Int
2 Dongia
Đơn giá của một mặt
hàng đã bán với số
lượng như trên
Banhang Int
3. Thiết kế CSDL

Trang 16
Bài tập nhóm 1B – KHMT 2014
4. Thiết kế mô hình TimeER
4.1. 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ể 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.2. Mô hình TimeER
Trang 17
Bài tập nhóm 1B – KHMT 2014
5. Thiết kế CSDL Thời gian
6. Thiết kế CSDL hướng đối tượng
Trang 18
Bài tập nhóm 1B – KHMT 2014
class MATHANG
Properties
Mahang : String;
Tenhang : String;
Loaihang : String;
Quycach : String;
Giabanhientai : Integer;
Soluong : Integer;
end MATHANG
class CHUNGTU
Properties
Machungtu : String;
Ngaylap : Datetime;
HotenKH : String;

DchiKH : String;
end CHUNGTU
class BANHANG
Properties
Soluong : Integer;
Dongia : Integer;
Mathang : MATHANG;
Chungtu : CHUNGTU;
end BANHANG
class PHIEUTHU
Properties
Maphieuthu : String;
Ngaythu : Datetime;
Sotienthu : Integer;
Thanhtoan : CHUNGTU;
end PHIEUTHU
Bài tập 5 : QUẢN LÝ SINH VIÊN VÀ KẾ HOẠCH ĐÀO TẠO CỦA TRƯỜNG
1. Yêu cầu
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 :
- 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à 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
Trang 19
Bài tập nhóm 1B – KHMT 2014
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.
2. Thiết kế mô hình ER
2.1. Mô hình ER
2.2. Giải thích
2.2.1. Các tập thực thể
STT Tên tập thực thể Giải thích
1
Lop Tập các lớp
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
Malop Mã lớp char(10) Khóa
Tenlop Tên lớp nvarchar(30)
Hedaotao Hệ đào tạo nvarchar(20)
2
Hocphan Tập các học phần
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
MaHP Mã học phần char(10) Khóa
TenHP Tên học phần nvarchar(30)
Trang 20
Bài tập nhóm 1B – KHMT 2014
SoDVHT Số đơn vị học trình tinyint

3
Giaovien Tập các giáo viên
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
MaGV Mã giáo viên char(10) Khóa
Hoten Họ tên giáo viên nvarchar(50)
Hocham Học hàm nvarchar(30)
Allow null
Hocvi Học vị nvarchar(30)
Allow null
4 Sinhvien Tập các sinh viên
Thuộc tính
Tên Giải thích Kiểu DL Ghi chú
MaSV Mã sinh viên char(10) Khóa
Hoten Họ tên sinh viên nvarchar(50)
Ngaysinh Ngày sinh datetime
Diachi Địa chỉ nvarchar(50)
2.2.2. Ngữ nghĩa của quan hệ
STT
Tên
mối quan hệ
Giải thích
1 Hoctai (m, k) ∈ Thuoc: Sinh viên m học tại lớp k
2
Day (g,h,l) ∈ Day: Giáo viên g dạy môn l cho lớp h vào học kỳ Hocky
của năm học Namhoc với số tiết dạy là Sotietday
2.2.3. Ngữ nghĩa thuộc tính của quan hệ
STT Tên thuộc tính Giải thích Mối quan
hệ
Kiểu DL

1 Hocky Học kỳ Day int
2 Namhoc Năm học Day Char(10)
3 Sotietday Số tiết dạy Day int
3. Thiết kế CSDL
Trang 21
Bài tập nhóm 1B – KHMT 2014
4. Thiết kế mô hình TimeER
4.1. 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ể sinh viên được yêu cầu là cần quản lý thời gian giao tác.
• Mối quan hệ PhânCôngGiảngDạy (là mối quan hệ giữa 3 tập thực thể
GiáoViên, HọcPhần và Lớp) cần quản lý thời gian sống.
4.2. Mô hình TimeER
Trang 22
Bài tập nhóm 1B – KHMT 2014
5. Thiết kế CSDL Thời gian
6. Thiết kế CSDL hướng đối tượng
Trang 23
Bài tập nhóm 1B – KHMT 2014
class SINHVIEN
Properties
Masv : String;
Hoten : String;
Ngaysinh : Datetime;
Diachi : String;
Hoctai : LOP;
end SINHVIEN
class LOP
Properties
Malop : String;

Tenlop : String;
Hedaotao : String;
end LOP
class GIAOVIEN
Properties
Magv: String;
Hoten : String;
Hocham : String;
Hocvi : String;
end GIAOVIEN
class HOCPHAN
Properties
Mahp: String;
Tenhp: String;
Sodvht: Integer;
end HOCPHAN
class DAY
Properties
Hocky : Integer;
Namhoc : String;
Sotietday : Integer;
Lop : LOP;
Giaovien : GIAOVIEN;
Hocphan : HOCPHAN;
end DAY
Trang 24

×