Đại học Công nghệ Thông tin – Khoa Hệ thống Thông tin
BÀI THỰC HÀNH BUỔI 5
Bài 1: Sử dụng công cụ Query Analyzer để tạo các quan hệ CSDL sau:
a. Dùng lệnh CREATE DATABASE để tạo CSDL QUANLIGIAOVU_2008
b. Tạo các quan hệ sau cho CSDL QUANLIGIAOVU_2008:
HOCVIEN (MAHV, HO, TEN, NGSINH, GIOITINH, NOISINH, MALOP)
Tân từ: mỗi học viên phân biệt với nhau bằng mã học viên, lưu trữ họ tên, ngày sinh, giới tính, nơi sinh,
thuộc lớp nào.
LOP (MALOP, TENLOP, TRGLOP, SISO, MAGVCN)
Tân từ: mỗi lớp gồm có mã lớp, tên lớp, học viên làm lớp trưởng của lớp, sỉ số lớp và giáo viên chủ nhiệm.
KHOA (MAKHOA, TENKHOA, NGTLAP, TRGKHOA)
Tân từ: mỗi khoa cần lưu trữ mã khoa, tên khoa, ngày thành lập khoa và trưởng khoa (cũng là một giáo viên
thuộc khoa).
MONHOC (MAMH, TENMH, TCLT, TCTH, MAKHOA)
Tân từ: mỗi môn học cần lưu trữ tên môn học, số tín chỉ lý thuyết, số tín chỉ thực hành và khoa nào phụ
trách.
DIEUKIEN (MAMH, MAMH_TRUOC)
Tân từ: có những môn học học viên phải có kiến thức từ một số môn học trước.
GIAOVIEN (MAGV, HOTEN, HOCVI, HOCHAM,GIOITINH, NGSINH, NGVL, HESO, MUCLUONG,
MAKHOA)
Tân từ: mã giáo viên để phân biệt giữa các giáo viên, cần lưu trữ họ tên, học vị, học hàm, giới tính, ngày
sinh, ngày vào làm, hệ số, mức lương và thuộc một khoa.
GIANGDAY (MALOP, MAMH, MAGV, HOCKY, NAM, TUNGAY, DENNGAY)
Tân từ: mỗi học kỳ của năm học sẽ phân công giảng dạy: lớp nào học môn gì do giáo viên nào phụ trách.
KETQUATHI (MAHV, MAMH, LANTHI, NGTHI, DIEM, KQUA)
Tân từ: lưu trữ kết quả thi của học viên: học viên nào thi môn học gì, lần thi thứ mấy, ngày thi là ngày nào,
điểm thi bao nhiêu và kết quả là đạt hay không đạt.
1
Bài thực hành buổi 5
Đại học Công nghệ Thông tin – Khoa Hệ thống Thông tin
BẢNG THUỘC TÍNH
Quan hệ
KHOA
MONHOC
DIEUKIEN
GIAOVIEN
LOP
HOCVIEN
GIANGDAY
KETQUATHI
Thuộc tính
Diễn giải
Kiểu dữ liệu
MAKHOA
Mã khoa (khóa chính)
varchar(4)
TENKHOA
Tên khoa
varchar(40)
NGTLAP
Ngày thành lập khoa
smalldatetime
TRGKHOA
Trưởng khoa (mã giáo viên)
char(4)
MAMH
Mã môn học (khóa chính)
varchar(10)
TENMH
Tên môn học
varchar(40)
TCLT
Số tín chỉ lý thuyết
tinyint
TCTH
Số tín chỉ thực hành
tinyint
MAKHOA
Môn học thuộc khoa nào
varchar(4)
MAMH
Mã môn học (thuộc tính khóa)
varchar(10)
MAMH_TRUOC
Mã môn học phải học trước (thuộc tính khóa)
varchar(10)
MAGV
Mã giáo viên (khóa chính)
char(4)
HOTEN
Họ tên
varchar(40)
HOCVI, HOCHAM
Học vị, học hàm
varchar(10)
GIOITINH
Giới tính
varchar(3)
NGSINH, NGVL
Ngày sinh, ngày vào làm việc
smalldatetime
HESO
Hệ số lương
numeric(4,2)
MUCLUONG
Mức lương
money
MAKHOA
Thuộc khoa nào
varchar(4)
MALOP
Mã lớp (khóa chính)
char(3)
TENLOP
Tên lớp
varchar(40)
TRGLOP
Lớp trưởng (mã học viên)
char(5)
SISO
Sỉ số lớp
tinyint
MAGVCN
Mã giáo viên chủ nhiệm
char(4)
MAHV
Mã học viên (khóa chính)
char(5)
HO
Họ và tên lót
varchar(40)
TEN
Tên
varchar(10)
NGSINH
Ngày sinh
smalldatetime
GIOITINH
Giới tính
varchar(3)
NOISINH
Nơi sinh
varchar(40)
MALOP
Mã lớp
char(3)
MALOP
Mã lớp (thuộc tính khóa)
char(3)
MAMH
Mã môn học (thuộc tính khóa)
varchar(10)
MAGV
Mã giáo viên
char(4)
HOCKY
Học kỳ
tinyint
NAM
Năm học
smallint
TUNGAY, DENNGAY
Ngày bắt đầu và ngày kết thúc môn học
smalldatetime
MAHV
Mã học viên (thuộc tính khóa)
char(5)
MAMH
Mã môn học (thuộc tính khóa)
varchar(10)
LANTHI
Lần thi (thuộc tính khóa)
tinyint
NGTHI
Ngày thi
smalldatetime
DIEM
Điểm thi
numeric(4,2)
KQUA
Kết quả thi
2
varchar(10)
Bài thực hành buổi 5
Đại học Công nghệ Thông tin – Khoa Hệ thống Thông tin
Bài 2: Thực hiện các yêu cầu sau cho CSDL trên
1. Xác định khoá chính, khoá ngoại cho CSDL trên
LOP
KHOA
GIANGDAY
GIAOVIEN
HOCVIEN
MONHOC
KETQUATHI
Hình 1: Sơ đồ mô tả mối quan hệ khoá ngoại
2. Xác định các RBTV miền giá trị sau:
a. Mã học viên là một chuỗi 7 ký số
b. Thuộc tính GIOITINH chỉ có giá trị là “Nam” hoặc “Nữ”.
c. Điểm số của một lần thi có giá trị từ 1 đến 10 và cần lưu đến 2 số lẽ (VD: 6.22).
d. Học vị của giáo viên chỉ có thể là “CN”, “KS”, “Ths”, ”TS”, ”PTS”.
e. Học viên ít nhất là 18 tuổi.
f. Kết quả thi là “Đạt” nếu điểm từ 5 đến 10 và “Không đạt” nếu điểm nhỏ hơn 5.
g. Giảng dạy một môn học ngày bắt đầu (TUNGAY) phải nhỏ hơn ngày kết thúc (DENNGAY).
h. Giáo viên khi vào làm ít nhất là 22 tuổi.
i. Tất cả các môn học đều có số tín chỉ lý thuyết và tín chỉ thực hành chênh lệch nhau không quá 3.
3
Bài thực hành buổi 5
Đại học Công nghệ Thông tin – Khoa Hệ thống Thông tin
Bài 3: Thực hiện thêm dữ liệu cho CSDL trên :
Lưu ý :
• Thứ tự nhập liệu cho các quan hệ,
•
Mối liên hệ dữ liệu giữa các quan hệ, trường hợp dữ liệu chưa có thì để NULL (Ví dụ : khi
thêm học viên K1101mà Malop chưa có ta có thể để NULL sau khi có Malop thì dùng lệnh
Update để cập nhật lại). Tương tự cho các quan hệ khác.
HOCVIEN
MAHV
HO
TEN
NGSINH
GIOITINH
NOISINH
MALOP
K1101
Nguyen Van
A
27/1/1986
Nam
TpHCM
K11
K1102
Tran Ngoc
Han
14/3/1986
Nu
Kien Giang
K11
K1103
Ha Duy
Lap
18/4/1986
Nam
Nghe An
K11
NGSINH
NGVL
KHOA
MAKHOA
TENKHOA
NGTLAP
TRGKHOA
KHMT
Khoa hoc may tinh
7/6/2005
GV01
HTTT
He thong thong tin
7/6/2005
GV02
LOP
MALOP
TENLOP
TRGLOP
SISO
MAGVCN
K11
Lop 1 khoa 1
K1108
11 GV07
K12
Lop 2 khoa 1
K1205
12 GV09
MONHOC
MAMH
TENMH
THDC
Tin hoc dai cuong
TCLT
4
TCTH
1 KHMT
MAKHOA
CTRR
Cau truc roi rac
5
0 KHMT
CSDL
Co so du lieu
3
1 HTTT
GIAOVIEN
MAGV
HOTEN
HOCVI
HOCHAM
GIOITINH
GV01
Ho Thanh Son
PTS
GS
Nam
2/5/1950
11/1/2004
HESO
5.00
MUCLUONG
2,250,000 KHMT
MAKHOA
GV02
Tran Tam Thanh
TS
PGS
Nam
17/12/1965
20/4/2004
4.50
2,025,000 HTTT
GV03
Do Nghiem Phung
TS
GS
Nu
1/8/1950
23/9/2004
4.00
1,800,000 CNPM
GIANGDAY
MALOP
MAMH
MAGV
K11
THDC
GV07
HOCKY
1
NAM
2006
TUNGAY
2/1/2006
DENNGAY
12/5/2006
K12
THDC
GV06
1
2006
2/1/2006
12/5/2006
DIEUKIEN
MAMH
CSDL
MAMH_TRUOC
CTRR
CSDL
CTDLGT
CTDLGT
THDC
KETQUATHI
MAHV
MAMH
LT
NGTHI
DIEM
KQUA
K1101
CSDL
1
20/7/2006
10.00 Dat
K1101
CTDLGT
1
28/12/2006
9.00 Dat
K1101
THDC
1
20/5/2006
9.00 Dat
4
Bài thực hành buổi 5