Tải bản đầy đủ (.pdf) (9 trang)

Bài tập lớn môn cơ sở dữ liệu COI THI TUYỂN SINH

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 (245.76 KB, 9 trang )

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH
VIỄN THÔNG

BÀI TẬP LỚN
MÔN: CƠ SỞ DỮ LIỆU

ĐỀ TÀI: COI THI TUYỂN SINH


HỌ TÊN: ĐỖ XUÂN TÌNH
LỚP:D10CN1


























I. Mô tả bài toán
- Vấn đề đƣợc đặt ra là quản lý coi thi tuyển sinh có nhiều địa điểm thi (DIADIEMTHI), mỗi
địa điểm thi lại có tên điểm thi đƣợc đánh số (DIEMTHISO) bao nhiêu, địa chỉ điểm thi
(DIACHIDIEMTHI) và phòng thi (PHONG).
- Với mỗi thí sinh (THISINH) có một số báo danh (SOBD) duy nhất, họ và tên (HOTEN),
ngày sinh (NGAYSINH), giới tính (GT), hộ khẩu thƣờng trú (TINH), đối tƣợng dự thi
(DOITUONG), khu vực của thí sinh (KHUVUC).
- Mỗi ngành (NGANH) có một mã ngành (MANGANH) và tên ngành (TENNGANH) duy
nhất, mỗi thí sinh có thể đăng ký một ngành.
-Mỗi môn thi (MONTHI) có mã môn thi (MAMT),tên môn thi (TENMT),ngày thi
(NGAYTHI), buổi thi (BUOITHI), thời gian thi (PHUT). Thí sinh có thể thi nhiều môn thi.
-Mỗi cán bộ (CANBO) coi thi chỉ làm việc tại một điêm thi nào đó. Từng cán bộ có mã số
duy nhất (MACB), họ và tên cán bộ (HOTENCB), đơn vị công tác (DONVI), chức vụ
(CHUCVU) đƣợc phân công tại điểm thi nhƣ cán bộ coi thi,giám sát…
-Mỗi đơn vị (DONVI) có cán bộ tham gia vào kỳ thi có mã đơn vị duy nhất (MADONVI),
tên đơn vị (TENDONVI).
II. Xác định các thực thể
 Các thực thể:
 Địa điểm thi gồm các thuộc tính:
 Điểm thi số
 Địa chỉ điểm thi
 Phòng
 Thí sinh gồm các thuộc tính:
 Số báo danh, họ tên
 Ngày sinh, giới tính

 Đối tƣợng dự thi
 Hộ khẩu thƣờng trú
 Khu vực
 Ngành gồm các thuộc tính:
 Mã ngành
 Tên ngành
 Môn thi gồm các thuộc tính:
 Mã môn thi
 Tên môn thi
 Ngày thi
 Buổi thi
 Thời gian thi
 Cán bộ gồm các thuộc tính:
 Mã cán bộ
 Tên cán bộ
 Chức vụ
 Đơn vị gồm các thuộc tính:
 Mã đơn vị
 Tên đơn vị
III. Mô hình quan hệ thực thể






















































NGANH
CANBO
DIADIEMTHI
THISINH
MONTHI
Địa chỉ
điểm thi
Điểm thi
số
Phòng
Số báo
danh
Họ tên
Ngày sinh
Giới tính
Đối tƣợng
dự thi
Hộ khẩu

thƣờng trú
Khu vực
Tên ngành
Mã ngành
Chức vụ
Mã cán bộ
Tên cán bộ
Thời gian thi
Buổi thi



Ngày thi
Tên môn thi
Mã môn thi
Thi tại
Đăng ký
Trông coi
Coi thi
Làm việc
Đơn vị
Mã đơn vị
Tên đơn vị
Thuộc










DIADIEMTHI
#DiemThiSo
DiaChiDiemThi
Phong
MaCanBo

CANBO
#MaCanBo
TenCanBo
ChucVu
MaDonvi
IV. Chuyển đổi mô hình thực thể liên kết sang mô hình quan hệ
ĐONVI
#MaDonVi
TenDonVi

THISINH
#SoBaoDanh
HoTen
GioiTinh
HoKhau
NgaySinh
DoiTuong
KhuVuc
DiemThiSo
MaCanBo
MaNganh

Monthi
MONTHI
#MaMonThi
TenMonThi
NgayThi
BuoiThi
ThoiGianThi
#SoBaoDanh
TRONGCOI
#MaCanBo
#MaMonThi
NGANH
#MaNganh
TenNganh



Bảng trên là thực hiện chuyển mô hình thực thể liên kết sang mô hình quan hệ
bằng MySQL
V. 10 câu hỏi truy vấn
Query 1: Tìm tên tất cả các thí sinh đăng ký ngành điện tử viễn thông:
Biểu thức truy vấn:
result= π
(Thisinh.Hoten)
(
(Tennganh= dien tu vien thong)
(thisinh×nganh))

Query 2: Tìm tên tất cả thí sinh ở khu vực 2 nông thôn có giới tính là nữ:


Biểu thức truy vấn:
result= π
(Hoten)
(
((Khuvuc= nongthon)
AND
(Gioitinh=nu))
(thisinh))

Query 3: Tìm tên tất cả các cán bộ trông coi môn tiếng anh tại điểm thi số3:

Biểu thức truy vấn:
result= π
(canbo.Tencanbo)
(
(monthi.Tenmonthi= tienganh)
AND
(diadiemthi diemthiso= 3)
(canbo×monthi×diadiemthi))

Query 4: Tìm tên các thí sinh nam thi tại phòng 12
Biểu thức truy vấn:

result= π
(Thisinh.Hoten)
(
((thisinh.Gioitinh= nam)
AND
(diadiemthi.phong= 12))
(thisinh×diadiemthi))


Query 5: Tìm số báo danh và tên thí sinh dự thi sinh năm 1992 :
Biểu thức truy vấn:

result= π
(Sobaodanh#,Hoten)
(
(year(Ngaysinh)= 1992)
(thisinh))

Query 6: Tìm thí sinh có hộ khẩu thƣờng trú ở Hà Nội sinh trƣớc năm 1992.
Biểu thức truy vấn:

result= π
(thisinh)
(
((Hokhau= HaNoi)
AND
(year(Ngaysinh)<1992))
(thisinh))

Query 7:Tìm tên các thí sinh thi môn lý có giới tính là nữ thuộc đối tƣợng 5B
Biểu thức truy vấn:

result= π
(thisinh.hoten)
(
(monthi.Tenmonthi= ly)
AND
(Thisinh.doituong=5B))

(thisinh×Monthi))

Query 8: Tìm tên những cán bộ làm điểm trƣởng thuộc đơn vị PTTH Nguyễn Trãi
Biểu thức truy vấn:
result= π
(canbo.Tencanbo)
(
(Chucvu.= diemtruong)
AND
(donvi.Tendonvi=PTTH NguyenTrai))
(canbo×donvi))

Query 9: Tìm thí sinh có hộ khẩu thƣờng trú ở Hà Nội hoặc ở Nam Định
Biểu thức truy vấn:

result= π
(Thisinh)
(
((Hokhau= HaNoi)
OR
(Hokhau= NamDinh))
thisinh)
Query 10: Tìm tên tất cả các địa chỉ điểm thi nằm tại địa bàn quận Hà Đông hoặc
quận Đống Đa.
Biểu thức truy vấn:

result= π
(Diadiemthi)
(
((Diachidiemthi= HaDong)

OR
(Diachidiemthi= DongDa))
Diadiemthi)

VI. Xác định các phụ thuộc hàm F trên từng lược đồ quan hệ và đưa về
dạng chuẩn 3 :

1.Xét quan hệ Diadiemthi có

(#Diemthiso(A)),Diachidiemthi(B),Phong(C),Hoten(D ) với tập các phụ thuộc hàm
F={A→BCD} và tập khóa M1={A}
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 quan hệ Diadiemthi ở dạng chuẩn 3.

2. Xét quan hệ Thisinh có:

(#Sobaodanh(A),Hoten(B),Gioitinh(C),Hokhau(D),Ngaysinh(E),Doituong(F),
Khuvuc(G))
Với tập phụ thuộc hàm F1=( A→BCDEFG) và tập khóa M2={A}
Không có thuộc tính không khóa nào (B,C,D,E,F,G) phụ thuộc bắc cầu vào khóa A
Vậy quan hệ thí sinh ở dạng 3NF

3. Xét quan hệ Monthi có

(#Mamonthi(A),Tenmonthi(B),Ngaythi(C),Buoithi(D),Thoigianthi(E))
Với tập phụ thuộc hàm F3={ A→BCDE, CD→B} và tập khóa M3={A}
Thuộc tính không khóa B phụ thuộc bắc cầu vào thuộc tính khóa A.Do đó, quan hệ
Monthi không ở dạng 3NF.
Đƣa về dạng 3NF
Quan hệ Monthi đƣợc tách thành 2 lƣợc đồ con

Monthi1(ABCDE) khóa A, phụ thuộc hàm F3={ A →BCDE }
Monthi2(CDE) khóa CD, phụ thuộc hàm F4={CD→B}

4. Xét quan hệ Nganh có

(#Manganh(A),Tennganh(B))
Với tập phụ thuộc hàm F5={A→B} và tập khóa M4={A}
Không có thuộc tính không khóa nào phụ thuộc bắc cầu vào thuộc tính khóa A
Do đó quan hệ Nganh ở dạng 3NF.

5.Xét quan hệ Donvi có

(#Madonvi(A),Tendonvi(B))
Với tập phụ thuộc hàm F6={A→B} và tập khóa M5={A}
Không có thuộc tính không khóa nào phụ thuộc bắc cầu vào thuộc tính khóa A
Do đó quan hệ Nganh ở dạng 3NF.

6. Xét quan hệ Canbo có

(#Macanbo(A),Tencanbo(B),Chucvu(C))
Với tập phụ thuộc hàm F7={A→BC} và tập khóa M6={A}
Không có thuộc tính không khóa nào phụ thuộc bắc cầu vào thuộc tính khóa A
Do đó quan hệ Nganh ở dạng 3NF.

VII. Thực hiện 10 câu hỏi truy vấn bằng SQL

1.Tìm tên tất cả các thí sinh đăng ký ngành điện tử viễn thông

SELECT Hoten
FROM Thisinh

WHERE Tennganh=”dientuvienthong”;

2. Tìm tên tất cả thí sinh ở khu vực 2 nông thôn có giới tính là nữ

SELECT Hoten
FROM Thisinh
WHERE Khuvuc=”2 nongthon” AND gioitinh=”Nu”;


3. Tìm tên tất cả các cán bộ trông coi môn tiếng anh tại điểm thi số 3

SELECT Canbo.Tencanbo
FROM Canbo, Monthi, Diadiemthi
WHERE Monthi.Tenmonthi=”tienganh” AND Diadiemthi.Diemthiso=”3”;

4. Tìm tên các thí sinh nam thi tại phòng 12

SELECT Hoten
FROM Thisinh
WHERE Gioitinh=”nam” AND Phong=”12”;

5. Tìm số báo danh và tên thí sinh dự thi sinh năm 1992

SELECT Sobaodanh, Hoten
FROM Thisinh
WHERE YEAR(Ngaysinh)=”1992”;

6. Tìm thí sinh có hộ khẩu thƣờng trú ở Hà Nội sinh trƣớc năm 1992

SELECT Hoten

FROM Thisinh
WHERE Hokhau=”hanoi” AND YEAR(Ngaysinh)<1992;
7.Tìm tên các thí sinh thi môn lý có giới tính là nữ thuộc đối tƣợng 5B

SELECT Thisinh.Hoten
FROM Thisinh, Monthi
WHERE Monthi.Tenmonthi=”ly” AND Thisinh.Gioitinh=”nu” AND
Thisinh.Doituong=”5B” AND
Thisinh.Mamonthi=Monthi.Mamonthi;

Query 8: Tìm tên những cán bộ làm điểm trƣởng thuộc đơn vị PTTH Nguyễn Trãi

SELECT Canbo.Tencanbo
FROM Canbo, Donvi
WHERE Donvi.Chucvu=”diemtruong” AND Donvi.Tendonvi=”PTTH
nguyentrai” AND Canbo.Madonvi=Donvi.Madonvi;

Query 9: Tìm thí sinh có hộ khẩu thƣờng trú ở Hà Nội hoặc ở Nam Định

SELECT Hoten
FROM Thisinh
WHERE Hokhau=”hanoi” OR Hokhau=”namdinh”;

10.Tìm tên tất cả các địa chỉ điểm thi tại địa bàn quận Hà Đông hoặc quận Đống
Đa.

SELECT Diachidiemthi
FROM Diadiemthi
WHERE Diachidiemthi=”hadong” OR Diachidiemthi=”dongda”;









×