Bài tập lớn môn cơ sở dữ liệu Cơ sở dữ liệu Quản lý danh sách SV nội trú KTX B5-Học viện CNBCVT - Pdf 26

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÁO CÁO
MÔN:CƠ SỞ DỮ LIỆU
SV:Nguyễn Thị Trà Mi
MSV:1021040034
Lớp:D10CN1
Đề tài:Cơ sở dữ liệu Quản lý danh sách SV nội trú KTX B5-
Học viện CNBCVT Bước 1:Phân tích bài toán:
I, Mô tả bài toán:
Bài toán đặt ra là quản lý sinh viên nội trú của ký túc xá B5-HV Công nghệ bưu
chính viễn thông.KTX B5 là một ký túc xá được trang bị đầy đủ các trang thiết bị
giúp cho sinh viên có thể học tập một cách tốt nhất.Vì là một ký túc xá lớn nên cần
có một Cơ sở dữ liệu để lưu trữ giúp cho ban lãnh đạo trường có thể quản lý sinh
viên một cách dễ dàng,nhanh chóng và tiện lợi.
Khảo sát thực tế cho thấy:
-Sinh viên muốn vào ở ký túc xá phải đăng ký ở ban quản lý ký túc xá.
-Sau khi đăng ký,nếu phòng còn trống,sinh viên sẽ được xét:đối tượng ưu tiên,lựa
chọn theo khoa,…
-Sinh viên sẽ phải chịu trách nhiệm về tài sản trong phòng của mình.

-Giới tính
-Quê quán
-Ngày đăng ký
*tài sản:bao gồm các thuộc tính:
-MS tài sản
-Tên
-SL
*thanh toán:bao gồm các thuộc tính:
-MSV
-Ngày ở
-Ngày thanh toán
Bước 2:Thiết kế cơ sở dữ liệu mức khái niệm:
* Mô hình E-R:
Dưới đây là mô hình E-R:

SV
phòng
Tài sản
Đối
tượng
Thanh

in
supply

*Thực hiện lược đồ quan hệ bằng MySQL: *Trên cơ sở dữ liệu của mình,viết 10 câu truy vấn đến cơ sở dữ liệu dưới dạng
biểu thức đại số quan hệ:
Truy vấn 1:Tìm tên của tất cả các sinh viên học chuyên ngành công nghệ thông tin
result =π
(tên)

(chuyên ngành =”cntt”)
(SV))
Truy vấn 2:Tìm tên của tất cả các sinh viên có quê là Hà Nội hoặc Hà Nội 2:
result=π
(tên)





(khóa học=D10)
(SV))
Truy vấn 6:Tìm tên của tất cả các sinh viên đăng ký ở vào mùa thu 2010:
result=π
(tên)

(thời

gian=thu 2010)
(SV))
Truy vấn 7:Tìm mã hiệu của các sinh viên chỉ đăng ký ở vào mùa thu 2010:
result=[π
(s#)

(TG=thu 2010)
(TG))]-[π
(s#)

(TG≠thu 2010)
(TG))]
Truy vấn 8:Tìm tên cá nhân hoặc phòng có nhu cầu sửa chữa tài sản chung:
result=[π
(tên)

(tài

sản=sinh viên)

Ta thấy không có thuộc tính không khóa nào (B,C,D) phụ thuộc hàm bắc cầu vào
1 khóa của quan hệ này.Vậy Phòng ở dạng chuẩn 3.
b)Xét quan hệ Tài sản=(MS phòng(A) , MS tài sản(B) , Tên (C) , Số lượng (D) ,
Ngày đăng ký ( E) ) với tập các phụ thuộc hàm F2={BCD→AE} và tập khóa
K2={BCD}
Ta thấy không có thuộc tính không khóa nào (A,E) phụ thuộc hàm bắc cầu vào 1
khóa của quan hệ này.Vậy Tài sản ở dạng chuẩn 3.
c)Xét quan hệ Sinh viên=(Tên SV(A) , Ngày sinh(B) , Lớp (C) , Khoa(D) , Giới
tính(E) , Quê quán (F) , Ngày đăng ký(G) , MSV(H) ) với tập các phụ thuộc hàm
F3={A→BCDEFGH , H→ABCDEFG} và tập khóa K3={AH}
Ta thấy không có thuộc tính không khóa nào (B ,C, D, E,F,G) phụ thuộc hàm bắc
cầu vào 1 khóa của quan hệ này.Vậy Sinh viên ở dạng chuẩn 3.
d)Xét quan hệ Đối tượng=(Tên SV(A) , MS đối tượng(B) , Tên đối tượng(C) ,
MSV(D) ) với tập các phụ thuộc hàm F4={AB→CD} và tập khóa K4={ABD}
Ta thấy không có thuộc tính không khóa nào (C) phụ thuộc hàm bắc cầu vào 1
khóa của quan hệ này.Vậy Đối tượng ở dạng chuẩn 3.
e)Xét quan hệ Thanh toán=(Ngày ở (A) , MSV(B) , Ngày thanh toán(C) ) với tập
các phụ thuộc hàm F5={AC→B} và tập khóa K5={AC}
Ta thấy không có thuộc tính không khóa nào (B) phụ thuộc hàm bắc cầu vào 1
khóa của quan hệ này.Vậy Thanh toán ở dạng chuẩn 3.
*Dịch các câu trên đại số quan hệ sang ngôn ngữ SQL:
Truy vấn 1:Tìm tên của tất cả các sinh viên học chuyên ngành công nghệ thông
tin:
result =π(tên)(σ(chuyên ngành =”cntt”)(SV))
→TRUY VẤN TRÊN SQL:
SELECT tên
FROM SV
WHERE chuyên ngành=”cntt”
Truy vấn 2:Tìm tên của tất cả các sinh viên có quê là Hà Nội hoặc Hà Nội 2:
result=π(tên)(σ((quê=Hà Nội)) hoặc (quê=Hà Nội 2))(SV))

WHERE thời gian=thu 2010
Truy vấn 7:Tìm mã hiệu của các sinh viên chỉ đăng ký ở vào mùa thu 2010:
result=[π(s#)(σ(TG=thu 2010)(TG))]-[π(s#)(σ(TG≠thu 2010)(TG))]
→TRUY VẤN TRÊN SQL:
SELECT s#
FROM TG
WHERE (TG=thu 2010) – (TG≠thu 2010)
Truy vấn 8:Tìm tên cá nhân hoặc phòng có nhu cầu sửa chữa tài sản chung:
result=[π(tên)(σ(tài sản=sinh viên)(SV))]ᴗ[π(tên)(σ(tài sản=phòng)(P))]
→TRUY VẤN TRÊN SQL:
SELECT tên
FROM SV,P
WHERE (tài sản=sinh viên) ᴗ (tài sản=phòng)
Truy vấn 9:Tìm tên các phòng còn trống hoặc có ít hơn 8 sinh viên:
result=[π(tên)(σ(phòng=Ø)(P))]ᴗ[π(tên)(σ(phòng <8)(P))]
→TRUY VẤN TRÊN SQL:
SELECT tên
FROM P
WHERE (phòng=Ø) ᴗ (phòng<8)
Truy vấn 10:Tìm tên tất cả các sinh viên đăng ký ở sau mùa thu 2010 và chỉ ở dưới
30 ngày rồi chuyển đi:
result=π(tên)(σ((thời gian=thu 2010) và(thời gian< 30 ngày))(TG))
→TRUY VẤN TRÊN SQL:
SELECT tên
FROM TG
WHERE thời gian=thu 2010 AND thời gian <30 ngày




Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

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