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

ĐỀ tài môn cơ sở dữ LIỆU xây DỰNG CHƯƠNG TRÌNH QUẢN lý ĐIỂMSINH VIÊN THEO hệ tín CHỈ

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 (639.56 KB, 33 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THÔNG TIN


BÁO CÁO
ĐỀ TÀI MÔN CƠ SỞ DỮ LIỆU
XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ ĐIỂM
SINH VIÊN THEO HỆ TÍN CHỈ
GIẢNG VIÊN HƯỚNG DẪN : LƯU NGUYỄN KỲ THƯ
Thực hiện đề tài :
 Nguyễn Thái Hải

– N15DCCN033 – D15CQCN01-N

TPHCM - Tháng 10, 2017


MỤC LỤC
MỤC LỤC.............................................................................................................................................. 2
I.

Yêu cầu đề tài:................................................................................................................................................. 3

II.

Xác định thực thể:........................................................................................................................................... 5

III.

ERD:................................................................................................................................................................ 6


IV.

Mơ hình dữ liệu quan hệ - chuẩn hóa dạng chuẩn 3......................................................................................... 7

V.

Diagram.......................................................................................................................................................... 8

VI.

Bảng, kiểu dữ liệu và rang buộc....................................................................................................................... 9

VII.

Thiết lập các rang buộc toàn vẹn............................................................................................................... 14

1.

Ràng buộc toàn vẹn miền giá trị:.........................................................................................................................14

2.

Ràng buộc toàn vẹn liên thuộc tính:....................................................................................................................18

3.

Ràng buộc tồn vẹn liên bộ:................................................................................................................................19

4.


Ràng buộc tồn vẹn liên thuộc tính - liên quan hê:............................................................................................25

5.

Ràng buộc tồn vẹn khóa ngoại..........................................................................................................................25

6.

Ràng buộc tồn vẹn liên bơ - liên quan hê:........................................................................................................29

VIII.

TRUY VẤN................................................................................................................................................. 32


I. Yêu cầu đề tài:
- Trường có nhiều khoa, mỗi khoa có mã khoa để phân biệt các khoa với nhau và tên khoa.
Mỗi khoa được quản lý bởi 1 trưởng khoa tại 1 thời điểm nhất định.
- Mỗi khoa quản lý nhiều lớp, mỗi lớp chỉ thuộc 1 khoa. Trong một khoa có nhiều chuyên
ngành. Mỗi sinh viên chỉ thuộc 1 chuyên ngành, trong 1 chuyên ngành có nhiều sinh viên.
- Mỗi chuyên ngành có kế hoạch giãng xác định, học kỳ nào sẽ học những môn nào đã được
lên kế hoạch trước.
- Mỗi lớp có mã lớp dùng để phân biệt các lớp và tên lớp. Một sinh viên thì ở 1 lớp
- Thông tin về sinh viên gồm có mã sinh viên để phân biệt các sinh viên, họ tên sinh viên,
phái, địa chỉ, ngày sinh, khóa học.
- Lớp tín chỉ là lớp do trường đã lên kế hoạch mở trong 1 học kỳ thuộc 1 năm. Lớp này có
các thông tin học buổi nào, thứ mấy, môn gì, giảng viên nào giảng để cho sinh viên có thể
đăng ký học. Số sv đăng ký phải từ số sv tối thiểu trở lên thì mới tổ chức dạy, ngược lại nhà
trường sẽ hủy. Thông tin về lớp tín chỉ : mă lớp tín chỉ, số sv tối thiểu.
- Thông tin về giảng viên gồm mã giảng viên dùng để phân biệt các giảng viên, họ tên giảng

viên, học vị, học hàm, chuyên môn. Một giảng viên chỉ thuộc duy nhất 1 khoa.
- Thông tin về môn học gồm mã môn học dùng để phân biệt các môn học, tên môn học, số
tiết lý thuyết, số tiết thực hành. Một giảng viên có thể giảng được nhiều môn và 1 môn có
thể được giảng dạy bởi nhiều giảng viên
- Sinh viên thi môn học nào thì có 1 kết quả. Số lần thi cho 1 môn tối đa 1 lần.
- Nếu sinh viên thi không đạt, thì sinh viên đăng ký học lại với lớp khóa sau và thi cùng với
lớp đó.
- Sau khi thi và có điểm của các môn thi. Điểm của các môn thi được chuyển tới phòng giáo
vụ của từng khoa, nhiệm vụ của phịng là nhập điểm của từng mơn học đó vào cơ sở dữ liệu.
Thang điểm tối đa của mỗi môn học là thang điểm 10. Sau mỗi kỳ học thì giáo vụ
khoa sẽ tiến hành sắp xếp phân loại sinh viên.


- Cuối khóa, trường sẽ lọc ra các sv làm đồ án tốt nghiệp hoặc học 2 môn thay thế. SV làm
ĐATN sẽ nhận luận văn, GVHD, và sẽ ra Hội đồng báo cáo. Điểm chấm LVTN có 7 cột
điểm : điểm HD, điểm PB, điểm 5 thành viên trong hội đồng.
Yêu cầu:
1. Thiết kế sơ đồ ERD cho cơ sở dữ liệu quản lý điểm sinh viên.
2. Chuyển sơ đồ ERD trên thành mô hình dữ liệu quan hệ sao cho đạt dạng chuẩn 3
3. Thiết lập các ràng buộc toàn vẹn của cơ sở dữ liệu .
4. Viết các Stored Procedure thực hiện các việc sau :
a/ Liệt kê danh sách sinh viên đã đăng ký học của lớp tín chỉ @malopTC
(tên mơn,họ tên GV, mã SV, họ tên SV, mã lớp)
b/ Liệt kê điểm thi lớn nhất các môn của sinh viên có mã @masv
(họ tên, tên lớp, học kỳ, tên môn, số lần thi, điểm). Danh sách in theo thứ tự học kỳ, tên
môn.
c/ Liệt kê kế hoạch giảng của chuyên ngành @machuyennganh đang áp dụng trong
năm @nam. Kết x́t: học kỳ, tên mơn, số tín chỉ



II. Xác định thực thể:
- Môn học (+ID, +TenMH, +SoTietLyThuyet, +SoTietThucHanh, +SoTinChi,
+ThiTotNghiep)
- Giảng viên (+ID, +Ho, +Ten, +HocVi, +HocHam, +ChuyenMon)
- Khoa ( +ID, +Ten)
- Lớp ( +ID, +Ten)
- Chuyên ngành ( +ID, +Ten)
- Sinh viên ( +ID, +Ho, +Ten, +Phai, +DiaChi, +NgaySinh, + KhoaHoc, +XetLVTN)
- Lớp tín chi ( +ID, +Nhom, +NienKhoa, +HocKy, +SoSVToiTieu, +SoSVToiDa,
+NgayBatDau, +NgayKetThuc )
- Hội đồng báo cáo ( +ID, +Ten, Nam)
- Luận văn tốt nghiệp ( +ID, +DiemHuongDan, +DiemPhanBien, +DiemThanhVien1,
+DiemThanhVien2, +DiemThanhVien3, +DiemThanhVien4, +DiemThanhVien5)
- Tiểu ban ( +ID, +Ten)
- Loại điểm ( +ID, +Ten)


III. ERD:


IV. Mơ hình dữ liệu quan hệ - chuẩn hóa
dạng chuẩn 3
Khóa Chính: in đậm và gạch chân
Khóa Ngoại: in đậm và màu vàng
Khóa Ngoại và Khóa Chính: in đậm, màu đỏ và gạch chân
Khóa tương đương với khóa chính: in đậm và in nghiêng
CHUYÊN NGÀNH
(MãCN, TênCN, Mã khoa )
KHOA
(MãKhoa, TênKhoa, MãTrKhoa)

TRƯỞNG KHOA
(MãTrKhoa,Ngày )
GIẢNG VIÊN
(MãGV, TênGV, MãKhoa, Học Vị, Học hàm,
Chun mơn)
MƠN HỌC
(MãMH, TênMH, Số tiết LT, Số tiết TH, Số tín
chỉ, Thay thế tốt nghiệp)
LỚP
(MãLớp, TênLớp, Mã Khoa )
KẾ HOẠCH GIẢNG
(MãNgành, MãMôn,Ngày áp dụng, Học kỳ,
Năm )
LỚP TÍN CHI
( MãLớpTC, MãGV, MãMH, Nhóm, Niên
khóa, Học ky, Số lượng SV TT, Số lượng SV
TĐ, Ngày bắt đầu, Ngày kết thúc)
LOẠI ĐIỂM
(Mã loại, Tên,%)
CHI TIẾT % ĐIỂM
(MãLoạiĐiểm, LopTinChiID),
CT Lịch học
(LopTinChiID, buổi, thứ, phòng, tiết bắt đầu,
số tiết)
KHẢ NĂNG DẠY HỌC (MãMH, MãGV )
ĐĂNG KÝ MÔN
(MãSV, MãLớpTC)
Chi tiết điểmSV
(MãLoạiĐiểm,SinhViênID, LopTinChiID điểm)
SINH VIÊN

(MãSV, MãCN, MãLớp, Họ, Tên, Phái, Địa chỉ,
Ngày sinh, Khóa học, Xet_LV_TT )
LUẬN VĂN TN
(MãLV, MãSV, MãGVHD, Mã GVPB, điểm
HD, điểm PB, nợi dung )
HỢI ĐỜNG BÁO CÁO (MãHĐ, Tên, Năm, MãKhoa )
CHI TIẾT TIỂU BAN
(MãChiTiếtTB, MãGV, MãTB)
CHẤM
(MãChiTiếtTB, MãLV, điểm )
TIỂU BAN
(MãTB, TênTB, MãHĐ,Mã chuyên ngành)


V. Diagram


VI.Bảng, kiểu dữ liệu và rang buộc
1. Table MonHoc
Field Name
ID
TenMH
SoTietLyThuyet

Type
varchar(10)
Nvarchar(50)
int

SoTietThucHanh


int

SoTinChi

int

ThiTotNghiep

Bit

Constraint
Primary Key
Not null, Unique key
Default SoTietLyThuyet=0,
check( SoTietLyThuyet >=0 )
Default SoTietThucHanh =0,
check(SoTietThucHanh >=0 )
Check (SoTinChi between 1
and 10), default: SoTinChi=2
Default 0

2. Table GiangVien
Field Name
ID
Ho
Ten
KhoaID
HocVi
HocHam

ChuyenMon

Type
varchar(10)
Nvarchar(50)
Nvarchar(50)
varchar(50)
Nvarchar(50)
Nvarchar(50)
Nvarchar(50)

Constraint
Primary Key
Not null
Not null
Not null, Foreign key
Default N'Thạc sĩ'
Default N'Phó giáo sư'
Not null

3. Table TruongKhoa
Field Name
ID
NgayNhanChuc

Type
varchar(10)
Date

Constraint

Primary Key
Primary Key, DEFAULT
GETDATE()

4. Table Khoa
Field Name
ID
Ten

Type
varchar(10)
Nvarchar(50)

Constraint
Primary Key
Not null, Unique

Type
varchar(10)
Nvarchar(50)
varchar(10)

Constraint
Primary Key
Not null, Unique
Not null, Foreign key

5. Table ChuyenNganh
Field Name
ID

Ten
KhoaID


6. Table Lop
Field Name
ID
Ten
KhoaID

Type
varchar(10)
Nvarchar(50)
varchar(10)

Constraint
Primary Key
Not null, Unique
Not null, Foreign key

Field Name
MonHocID
ChuyenNganhID
Ngay

Type
varchar(10)
varchar(10)
Date


HocKy

int

Nam

int

Constraint
Primary Key ,Foreign key
Primary Key,Foreign key
Primary Key ,Default
GETDATE(),
Defautl 1, Check(HocKy
between 1 and 2)
Not null

Type
varchar(10)
varchar(10)

Constraint
Primary Key, Foreign key
Primary Key, Foreign key

Field Name
ID
Ho
Ten
Phai


Type
varchar(10)
Nvarchar(50)
Nvarchar(50)
Nvarchar(3)

Constraint
Primary Key
Not null
Not null
Default N“NỮ”,
check( Phai =“NAM” or
Phai =“NỮ”)

Diachi
NgaySinh
KhoaHoc

Ntext
Date
Int

XetLVTN

Int

LopID
ChuyenNganhID


varchar(10)
varchar(10)

7. Table KeHoachGiang

8. Table KhaNangDayHoc
Field Name
MonHocID
GiangVienID
9. Table SinhVien

Not null
Default
YEAR(GETDATE())
DEFAULT NULL, CHECK
(XetLVTN IS NULL OR
XetLVTN = 0 OR
XetLVTN =1)
Not null, Foreign key
Not null, Foreign key


10. Table LopTinChi
Field Name
ID
GiangVienID
MonHocID
Nhom

Type

int
varchar(10)
varchar(10)
Int

NienKhoa

Int

HocKy

int

SoSVToiTieu

Int

SoSVToiDa

Int

NgayBatDau

Date

NgayKetThuc

Date

Constraint

IDENTITY, Primary Key
Not null, Foreign key
Not null, Foreign key
Not null, CHECK(Nhom
>=1 AND Nhom <= 20)
Default
YEAR(GETDATE())
Default 1, Check(HocKy
BETWEEN 1 AND 3),
Default 10. Check
(SoSVToiTieu >0)
Default 70, Check
(SoSVToiDa >=
SoSVToiTieu)
Default GETDATE(),
Check (NgayBatDau >
GETDATE())
Not null, Check
(NgayKetThuc >
NgayBatDau)

11. Table ChiTietLichHoc
Field Name
LopTinChiID
Buoi

Type
INT
char(1)


Thu

int

Phong
TietBatDau

int
int

SoTiet

Int

Constraint
Primary Key, Foreign key
Primary Key , Default 'S',
Check (Buoi = 'S' OR Buoi
= 'C')
Primary Key, Check (Thu
>=2 AND Thu <= 7)
Not null
Default 1,
Check( TietBatDau >=1 and
TietBatDau <= 10)
NOT NULL DEFAULT 4
CHECK (SoTiet
BETWEEN 1 AND 5)



12. Table DangKy
Field Name
ID
SinhVienID
LopTinChiID

Type
Int
varchar(10)
int

Constraint
Foreign key, Identity
Not null, Foreign key
Not null, Foreign key
13.

Table HoiDongBaoCao

Field Name
ID
Ten
Nam

Type
varchar(10)
nvarchar(50)
Int

KhoaID


varchar(10)

Constraint
Primary Key
Not null, Unique
Unique, DEFAULT
YEAR(GETDATE())
Not null, Foreign key

14. Table LuanVanTN
Field Name
ID
DiemHuongDan

Type
varchar(10)
Int

DiemPhanBien

int

SinhVienID
GVHD_ID
GVPB_ID

varchar(10)
varchar(10)
varchar(10)


Constraint
Primary Key
Check (DiemHuongDan IS
NULL OR DiemHuongDan
BETWEEN 0 AND 10)
Check (DiemPhanBien IS
NULL OR DiemPhanBien
BETWEEN 0 AND 10)
Not null, Foreign key
Not null, Foreign key
Not null, Foreign key

Type
varchar(10)
nvarchar(50)
varchar(10)
varchar(10)

Constraint
Primary Key
Not null, Unique
Not null, Foreign key
Not null, Foreign key

15. Table TieuBan
Field Name
ID
Ten
HoiDongID

ChuyenNganhID


16. Table CTTieuBan
Field Name
ID
GiangVienID
TieuBanID

Type
Int
varchar(10)
varchar(10)

Constraint
Primary Key, Identity
Not null, Foreign key
Not null, Foreign key

Type
int
varchar(10)
Type
Int
varchar(10)
nvarchar(50)

Constraint
Primary Key, Foreign key
Primary Key , Foreign key

Constraint
Check (Diem BETWEEN 0
Primary Key
AND 10)
Not null

17. Table ChamLVTN
Field Name
CTTieuBanID
LuanVanID
Field Name
Diem
ID
Ten
18. Table LoaiDiem
19. Table CTPhanTramDiemLopTC
Field Name
LoaiDiemID
LopTC_ID
PhanTram

Type
varchar(10)
int
float

Constraint
Primary Key
Primary Key
Not null


Type
varchar(10)
varchar(10)
int
Float

Constraint
Primary Key
Primary Key
Primary Key
Not null

20. Table CTDiemSv
Field Name
LoaiDiemID
SinhVienID
LopTC_ID
Diem

VII. Thiết lập các rang ḅc tồn vẹn
1. Ràng buộc toàn vẹn miền giá trị:
 Ràng buộc 1:
-

Bối cảnh: MonHoc

-

Mô tả:


Số tiết lý thuyết, thực hành phải lớn hơn hoặc bằng 0
Số tín chỉ nằm trong khoảng từ 1 đến 10

-

Nội dung:

d  MonHoc / d.SoTietLyThuyet >= 0


d  MonHoc / d.SoTietThucHanh >= 0
d  MonHoc / d.SoTinChi  [1,10]
-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

DIEM

+

-


+( SoTietLyThuyet)

DIEM

+

-

+( SoTietThucHanh)

DIEM

+

-

+( SoTinChi)

 Ràng buộc 2:
-

Bối cảnh: TruongKhoa

-

Mô tả:

Ngày nhận chức phải lớn hơn hoặc bằng ngày hiện tại

-


Nội dung:

d  TruongKhoa / d.Ngay >= Ngày hiện tại

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

+

-

+( Ngay)

TruongKhoa
 Ràng buộc 3:
-

Bối cảnh: KeHoachGiang

-


Mô tả:

Ngày thực hiện phải lớn hơn hoặc bằng ngày hiện tại
1 năm chỉ có học kì 1,2

-

Nội dung:

d  KeHoachGiang / d.Ngay >= 0
d  KeHoachGiang / d.HocKy  [1,2]

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

KeHoachGiang

+

-

-


KeHoachGiang

+

-

+( HocKy)

 Ràng buộc 4:
-

Bới cảnh: SinhVien

-

Mô tả:

Phái có 2 trị là Nam và Nữ
Xét LVTN chỉ có chưa xác định,không có luận văn và có

-

Nội dung:

d  SinhVien / d.Phai  {‘Nam’,’Nữ’}
d  SinhVien / d.XetLVTN  {0,1,NULL}

-


Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa


SinhVien

+

-

+(Phai)

SinhVien

+

-

+( XetLVTN)

 Ràng buộc 5:
-

Bối cảnh: LopTinChi


-

Mô tả:

1 năm chỉ có học kì 1,2,3
Nhóm phải lớn hơn 0
Số sinh viên tối thiểu, tối đa lớn hơn 0
Ngày bắt đầu phải hơn hơn ngày hiện tại
Phần trăm chuyên cần, bài tập lớn hơn hoặc bằng 0 và bé hơn hoặc
bằng 30
Phần trăm cuối kỳ phải lớn hơn hoặc bằng 30 và bé hơn hoặc bằng 100
Khóa học phải lớn hơn năm sinh của sinh viên

-

Nội dung:

d  LopTinChi / d.HocKy  [1,3]
d  LopTinChi / d.Nhom  [1,20]
d  LopTinChi / d.SoSVToiThieu >0
d  LopTinChi / d.SoSVToiDa >0
d  LopTinChi / d.NgayBatDau >NgayHienTai
d  LopTinChi / d.PhanTramChuyenCan > [0,30]
d  LopTinChi / d.PhanTramBaiTap  [0,30]
d  LopTinChi / d.PhanTramGiuaKy  [0,30]
d  LopTinChi / d.PhanTramCuoiKy  [30,100]
d  LopTinChi / d. KhoaHoc > Year(NgaySinh)

-


Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

LopTinChi

+

-

+(HocKy)

LopTinChi

+

-

+( Nhom)

LopTinChi

+


-

+( SoSVToiThieu)

LopTinChi

+

-

+( SoSVToiDa)

LopTinChi

+

-

+( NgayBatDau)

LopTinChi

+

-

+( PhanTramChuyenCan)

LopTinChi


+

-

+( PhanTramBaiTap)


LopTinChi

+

-

+( PhanTramGiuaKy)

LopTinChi

+

-

+( PhanTramCuoiKy)

LopTinChi

+

-

+( KhoaHoc)


 Ràng buộc 6:
-

Bối cảnh: ChiTietLichHoc

-

Mô tả:

Buổi có 2 buổi Sáng hoặc Chiều
Ngày học chỉ có thứ 2 tới thứ 7
Tiết bắt đầu từ 1 tới 10
Số tiết học trong 1 buổi từ 1 đến 5

-

Nội dung:

d  ChiTietLichHoc / d.Buoi  {‘S’,’C’}
d  ChiTietLichHoc / d.Thu  [2,7]
d  ChiTietLichHoc / d.TietBatDau  [1,10]
d  ChiTietLichHoc / d.SoTiet  [1,5]

-

Tầm ảnh hưởng:
Quan hệ

Thêm


Xóa

Sửa

ChiTietLichHoc

+

-

+(Buoi)

ChiTietLichHoc

+

-

+( Thu)

ChiTietLichHoc

+

-

+( TietBatDau)

ChiTietLichHoc


+

-

+( SoTiet)

ChiTietLichHoc

+

-

+( SoTiet)

 Ràng buộc 7:
-

Bối cảnh:

HoiDongBaoCao

-

Mô tả:

Năm thành lập hội đồng báo cáo phải lớn hơn hoặc bằng năm hiện tại

-


Nội dung:

d  HoiDongBaoCao / d.Nam >= YEAR(GETDATE())

-

Tầm ảnh hưởng:
Quan hệ

LuanVanTotNghiep

Thêm

Xóa

Sửa

+

-

+( Nam)

 Ràng buộc 8:
-

Bối cảnh: LuanVanTN

-


Mô tả:

Điểm hướng dẫn phải nằm trong khoảng từ 0 đến 10
Điểm phản biện phải nằm trong khoảng từ 0 đến 10

-

Nội dung:

d  LuanVanTN / d.DiemHuongDan  [0,10]


d  LuanVanTN / d. DiemPhanBien [0,10]
-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

HoiDong_GiangVien

+

-


+( DiemHuongDan)

HoiDong_GiangVien

+

-

+( DiemPhanBien)

 Ràng buộc 9:
-

Bối cảnh: ChamLVTN

-

Mô tả:

Điểm nằm trong đoạn từ 0 đến 10

-

Nội dung:

d  ChamLVTN / d.Diem  [0,10]

-

Tầm ảnh hưởng:

Quan hệ

Thêm

Xóa

Sửa

+

-

+(Diem)

KeHoachGiang
 Ràng buộc 10:
-

Bới cảnh: LoaiDiem

-

Mơ tả:

Phần trăm điểm của cột diểm phải lớn hơn 0% và nhỏ hơn 100%

-

Nội dung:


d LopTinChi/ d.PhanTram  [0,100]

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

+

-

+(PhanTram)

LopTinChi
 Ràng buộc 11:
-

Bới cảnh: CTDiemSv

-

Mơ tả:

Điểm số của mỗi điểm phải nằm trong khoảng từ 0 đến 10

-

-

Nội dung:

d  CTDiemSv / d. Diem  [0,10]

Tầm ảnh hưởng:
Quan hệ

CTDiemSv

Thêm

Xóa

Sửa

+

-

+( Diem)

2. Ràng buộc tồn vẹn liên thuộc tính:
 Ràng buộc 12:
-

Bối cảnh: SinhVien


-

Mô tả:

-

Nội dung:  sv  SinhVien / sv. KhoaHoc > sv. YEAR(NgaySinh)
Tầm ảnh hưởng:

Khóa học của sinh viên phải lớn hơn năm sinh của sinh viên đó


Quan hệ

Thêm

Xóa

Sửa

+

-

+( KhoaHoc, NgaySinh)

SinhVien

 Ràng buộc 13:

-

Bới cảnh: LopTinChi

-

Mơ tả:
Ngày kết thúc phải sau ngày bắt đầu học.
Số sinh viên tối đa nhiều hơn hoặc bẳng số sinh viên tối thiểu

-

Nội dung:

d  LopTinChi/ d.NgayBatDau < d.NgayKetThuc
d  LopTinChi/ d.SoSVToiThieu < d. SoSVToiDa

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

LopTinChi


+

-

+(NgayBatDau,
NgayKetThuc)

LopTinChi

+

-

+(SoSVToiThieu,
SoSVToiDa)

 Ràng buộc 14:
-

Bới cảnh: ChiTietLichHoc

-

Mô tả:
Nếu buổi học là Sáng thì tiết bắt đầu từ 1 đến 5 và số tiết học phải bé
hơn 5 trừ đi tiết bắt đầu.
Nếu buổi học là Chiều thì tiết bắt đầu từ 5 đến 10 và số tiết học phải bé
hơn 10 trừ đi tiết bắt đầu.

-


Nội dung: d  ChiTietLichHoc / d.Buoi =’S’ And d.TietBatDau  [1,5] And
d.SoTiet < 5 – d.TietBatDau
d  ChiTietLichHoc / d.Buoi =’C’ And d.TietBatDau  [6,10] And
d.SoTiet < 10 – d.TietBatDau

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

+

-

+(Buoi,SoTiet,TietBatDau)

ChiTietLichHoc
 Ràng buộc 15:
-

Bới cảnh: LuanVanTN

-


Mơ tả:

Giáo viên hướng dẫn và phản biện phải khác nhau

-

Nội dung:

d  LuanVanTN / d. GVHD_ID <> d.GVPB_ID


-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

+

-

+(GVHD_ID, GVPB_ID)

LuanVanTN


3. Ràng buộc tồn vẹn liên bộ:
 Ràng buộc 16:
-

Bối cảnh: MonHoc

-

Mô tả:

Các môn học có mã và tên môn học khác nhau

-

Nội dung:

mh1,mh2  MonHoc / mh1.ID <> mh2.ID
mh1,mh2  MonHoc / mh1.Ten <> mh2.Ten

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa


MonHoc

+

-

*(ID)

MonHoc

+

-

+(Ten)

 Ràng buộc 17:
-

Bới cảnh: GiangVien

-

Mơ tả:

Cac giảng viên có mã để phân biệt

-


Nội dung:

gv1,gv2  GiangVien / gv1.ID <> gv2.ID

-

Tầm ảnh hưởng:
Quan hệ

GiangVien

Thêm

Xóa

Sửa

+

-

*(ID)

 Ràng buộc 18:
-

Bới cảnh: TruongKhoa

-


Mô tả:

-

Nội dung: gv1,gv2  TruongKhoa / gv1.ID <> gv2.ID or gv1. NgayNhanChuc
<> gv2. NgayNhanChuc

-

Tầm ảnh hưởng:

1 giảng viên có thể có nhiều ngày nhậm chức khác nhau

Quan hệ

Thêm

Xóa

Sửa

TruongKhoa

+

-

*(ID)

TruongKhoa


+

-

+( NgayNhanChuc)

 Ràng buộc 19:
-

Bối cảnh: Khoa


-

Mô tả:

Các khoa có mã và tên khác nhau

-

Nội dung:

k1,k2  Khoa / k1.ID <> k2.ID
k1,k2  Khoa / k1.Ten <> k2.Ten

-

Tầm ảnh hưởng:
Quan hệ


Thêm

Xóa

Sửa

Khoa

+

-

*(ID)

Khoa

+

-

+(Ten)

 Ràng buộc 20:
-

Bới cảnh: ChuyenNganh

-


Mơ tả:

Các chuyên ngành có mã và tên khác nhau

-

Nội dung:

k1,k2  ChuyenNganh / k1.ID <> k2.ID
k1,k2  ChuyenNganh / k1.Ten <> k2.Ten

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

ChuyenNganh

+

-

*(ID)


ChuyenNganh

+

-

+(Ten)

 Ràng buộc 21:
-

Bới cảnh: Lop

-

Mơ tả:

Các chuyên ngành có mã và tên khác nhau

-

Nội dung:

k1,k2  Lop / k1.ID <> k2.ID
k1,k2  Lop / k1.Ten <> k2.Ten

-

Tầm ảnh hưởng:
Quan hệ


Thêm

Xóa

Sửa

Lop

+

-

*(ID)

Lop

+

-

+(Ten)

 Ràng buộc 22:
-

Bới cảnh: KeHoachGiang

-


Mơ tả:
Ngày áp dụng kế hoạch giảng của 1 môn học trong cùng 1 chuyên
ngành không được trùng nhau.

-

Nội dung: k1,k2  KeHoachGiang / k1.MonHocID <> k2.MonHocID or
k1.ChuyenNganhID <> k2.ChuyenNganhID or k1.Ngay <> k2.Ngay

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa


KeHoachGiang

+

-

*( MonHocID,
ChuyenNganhID)


KeHoachGiang

+

-

+(Ngay)

 Ràng buộc 23:
-

Bối cảnh: KhaNangDayHoc

-

Mô tả:

-

Nội dung: k1,k2  KhaNangDayHoc / k1.MonHocID <> k2.MonHocID OR
k1.GiangVienID <> k2. GiangVienID

-

Tầm ảnh hưởng:

1 giảng viên dạy các môn học khác nhau

Quan hệ
KhaNangDayHoc


Thêm

Xóa

Sửa

+

-

+(GiangVienID,
MonHocId)

 Ràng buộc 24:
-

Bới cảnh: SinhVien

-

Mơ tả:

Sinh viên khác nhau có mã sinh viên khác nhau

-

Nội dung:

sv1,sv2  SinhVien / sv1.ID <> sv2.ID


-

Tầm ảnh hưởng:
Quan hệ

SinhVien

Thêm

Xóa

Sửa

+

-

*(ID)

 Ràng buộc 25:
-

Bới cảnh: LopTinChi

-

Mơ tả:

Lớp tín chỉ khác nhau sẽ có mã lớp tín chỉ khác nhau

Giảng viên dạy mợt mơn học cho một nhóm tại một học kỳ trong một
niên khóa chỉ được phép dạy ở mợt lớp tín chỉ

-

Nợi dung:

tc1,tc2  LopTinChi / tc1.ID <> tc2.ID
tc1,tc2  LopTinChi / tc1. GiangVienID<> tc2. GiangVienID or tc1.
MonHocID <> tc2. MonHocID or tc1. Nhom <> tc2. Nhom or tc1.
NienKhoa <> tc2. HocKy or tc1. NienKhoa <> tc2. HocKy

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

LopTinChi

+

-

*(ID)


LopTinChi

+

-

+( GiangVienID,
MonHocID, Nhom,
NienKhoa, HocKy)


 Ràng buộc 26:
-

Bối cảnh: ChiTietLichHoc

-

Mô tả: Các chi tiết lịch học không được phép đồng thời có cùng Mã lớp tín chỉ, buổi
học và thứ.

-

Nợi dung:
ct1,ct2  ChiTietLichHoc /ct1. GiangVienID<> ct2. GiangVienID
or ct1. MonHocID <> ct2. MonHocID or ct1. Nhom <> ct2. Nhom or ct1. NienKhoa
<> ct2. HocKy or ct1. NienKhoa <> ct2. HocKy

-


Tầm ảnh hưởng:
Quan hệ

ChiTietLichHoc

Thêm

Xóa

Sửa

+

-

+(LopTinChiID,Buoi,Thu)

 Ràng buộc 27:
-

Bối cảnh: DangKy

-

Mô tả:

Mỗi sinh viên chỉ được phép đăng ký mợt lớp tín chỉ 1 lần duy nhất
Mỡi sinh viên chỉ được đăng ký tối đa 2 môn thay thế tốt nghiệp


-

Nội dung:
 dk1,dk2  DangKy / dk1. SinhVienID <>
dk1. LopTinChiID <> dk2. LopTinChiID

dk2.SinhVienID

or

 dk  DangKy (card {d} <=2) với (d  DangKy and d. SinhVienID =
dk.SinhVienID and d. LaMonThayThe=1 )

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

DangKy

+

-


+(SinhVienID,LopTinChiID)

DangKy

+

-

+(LaMonThayThe)

 Ràng buộc 28:
-

Bới cảnh:

LuanVanTN

-

Mơ tả:

Mỗi LVTN có 1 mã số riêng biệt dùng để phân biệt với các LVTN khác
Mỗi sinh viên chỉ phép làm 1 LVTN

-

Nội dung:

 lv1,lv2  LuanVanTN / lv1.ID <> lv2.ID
 lv1,lv2  LuanVanTN / lv1. SinhVienID <> lv2. SinhVienID


-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

DangKy

+

-

+( ID)

DangKy

+

-

+( SinhVienID)


 Ràng buộc 29:

-

Bối cảnh: HoiDongBaoCao

-

Mô tả:
Mỗi hội đồng báo cáo có 1 mã số riêng biệt để phân biệt với các hội
đồng báo cáo khác, đồng thời tên của mỗi hội đồng báo cáo là duy nhất

-

Nội dung:

 hd1,hd2  HoiDongBaoCao / hd1.ID <> hd2.ID
 hd1,hd2 HoiDongBaoCao / hd1.Ten <> hd2. Ten

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

DangKy


+

-

+( ID)

DangKy

+

-

+( Ten)

 Ràng buộc 30:
-

Bối cảnh: TieuBan

-

Mô tả:
Mỗi tiểu ban có 1 mã số riêng biệt để phân biệt với các tiểu ban khác,
đồng thời tên của mỗi tiểu ban là duy nhất

-

Nội dung:

 tb1,tb2  TieuBan / tb1.ID <> tb2.ID

 tb1,tb2 TieuBan / tb1.Ten <> tb2. Ten

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

DangKy

+

-

+( ID)

DangKy

+

-

+( Ten)

 Ràng buộc 31:

-

Bối cảnh: CTTieuBan

-

Mô tả:

-

Nội dung:

-

1 giảng viên chỉ được phép xuất hiện trong 1 tiểu ban duy nhất 1 lần

 tb1,tb2  CTTieuBan / tb1. GiangVienID <> tb2. GiangVienID OR tb1.
TieuBanID <> tb2. TieuBanID
Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

+

-


+( GiangVienID, TieuBanID)

DangKy
 Ràng buộc 32:
-

Bối cảnh: ChamLVTN

-

Mô tả:

-

Nội dung:

1 luận văn tốt nghiệp chỉ được chấm bởi 1 tiểu ban

 lv1, lv2  ChamLVTN / lv1. LuanVanID <> lv2. LuanVanID OR tb1.
CTTieuBanID <> tb2. CTTieuBanID


-

Tầm ảnh hưởng:
Quan hệ

DangKy


Thêm

Xóa

Sửa

+

-

+( GiangVienID, TieuBanID)

 Ràng buộc 33:
-

Bới cảnh: LoaiDiem

-

Mô tả:

-

Nội dung:

-

Mỗi điểm có mã và tên riêng biệt

 lv1, lv2  LoaiDiem / lv1. ID <> lv2. ID

 lv1, lv2  LoaiDiem / lv1. Ten <> lv2. Ten
Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

LoaiDiem

+

-

+( ID)

LoaiDiem

+

-

+(Ten)

 Ràng buộc 34:
-

Bới cảnh: CTPhanTramDiemLopTC


-

Mơ tả:

Các loại điểm trong cùng 1 lớp tín chỉ phải khác nhau
Tổng phần trăm các cợt điểm cùng 1 lớp tín chỉ phải = 100

-

 lv1, lv2  CTPhanTramDiemLopTC / lv1. LoaiDiemID <> lv2.
LoaiDiemID OR lv1. LopTC_ID <> lv2.LopTC_ID
 lv1, lv2  CTPhanTramDiemLopTC / sum( lv1.
Nội dung:

PhanTram,lv2.PhanTram) = 100

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

CTPhanTramDiemLopTC


+

-

+(CTPhanTramDiemLopTC,
LoaiDiemID)

CTPhanTramDiemLopTC

+

-

+(PhanTram)

 Ràng buộc 35:
-

Bới cảnh: CTDiemSv

-

Mơ tả:
nhau

-

Nợi dung:

-


Tầm ảnh hưởng:

Các loại điểm trong cùng mợt lớp tín chỉ của 1 sinh viên phải khác

 lv1, lv2  CTDiemSv / lv1. LoaiDiemID <> lv2. LoaiDiemID OR lv1.
DangKyID <> lv2. DangKyID
Quan hệ

CTDiemSv

Thêm

Xóa

Sửa

+

-

+( LoaiDiemID, DangKyID)


4. Ràng buộc tồn vẹn liên thuộc tính - liên quan hệ:
 Ràng buộc 36:
-

Bối cảnh:
Mô tả:

LVTN

LVTN, SinhVien
Sinh viên sau khi được xét được làm LVTN thì mới có tên trong bảng
lv  LVTN
(sv  SinhVien ( sv. XetLVTN =1 and lv. SinhVienID =
sv. ID ))

-

Nợi dung:

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

LVTN

+

-

*( SinhVienID)


SinhVien

-

+

+(XetLVTN)

5.

Ràng buộc tồn vẹn khóa ngoại

 Ràng buộc37 :
-

Bới cảnh:

GiangVien, Khoa

-

Mô tả:

Mỗi giảng viên chỉ thuộc một khoa

-

Nội dung:


g  GiangVien, k  Khoa / g.KhoaID = k.ID

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

GiangVien

+

-

+(KhoaID)

Khoa

-

+

*

 Ràng buộc 38:

-

Bới cảnh:

Lop, Khoa

-

Mơ tả:

Mỡi lớp chỉ tḥc một khoa.

-

Nội dung:

l  Lop,k  Khoa / l.KhoaID = k.ID

-

Tầm ảnh hưởng:
Quan hệ

Thêm

Xóa

Sửa

Lop


+

-

+(KhoaID)

Khoa

-

+

*

 Ràng buộc 39:


×