0% found this document useful (0 votes)
6 views

create database QuanLyGiaoVu

SQL

Uploaded by

ply58509
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

create database QuanLyGiaoVu

SQL

Uploaded by

ply58509
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

create database QuanLyGiaoVu

use QuanLyGiaoVu

create table KHOA


(
MAKHOA varchar(4) PRIMARY KEY,
TENKHOA varchar(40),
NGTLAP smalldatetime,
TRGKHOA char(4)
);

create table MONHOC


(
MAMH varchar(10) PRIMARY KEY,
TENMH varchar(40),
TCLT tinyint,
TCTH tinyint,
MAKHOA varchar(4),
CONSTRAINT FK_makhoa FOREIGN KEY(MAKHOA) REFERENCES KHOA(MAKHOA)
);

create table DIEUKIEN


(
MAMH varchar(10),
MAMH_TRUOC varchar(10),
CONSTRAINT PK PRIMARY KEY (MAMH, MAMH_TRUOC),
CONSTRAINT FK_mamh FOREIGN KEY (MAMH) REFERENCES MONHOC(MAMH)
);

create table GIAOVIEN


(
MAGV CHAR(4) PRIMARY KEY,
HOTEN VARCHAR(40),
HOCVI VARCHAR(10),
HOCHAM VARCHAR(10),
GIOITINH VARCHAR(3),
NGSINH SMALLDATETIME,
NGVL SMALLDATETIME,
HESO NUMERIC(4,2),
MUCLUONG MONEY,
MAKHOA VARCHAR(4),
CONSTRAINT FK_makhoa_GV FOREIGN KEY (MAKHOA) REFERENCES KHOA (MAKHOA)
);

create table LOP


(
MALOP CHAR(3) PRIMARY KEY,
TENLOP VARCHAR(40),
TRGLOP CHAR(5),
SISO TINYINT,
MAGVCN CHAR(4),
CONSTRAINT FK_magvcn FOREIGN KEY (MAGVCN) REFERENCES GIAOVIEN(MAGV),
);

create table HOCVIEN


(
MAHV CHAR(5) PRIMARY KEY,
HO VARCHAR(40),
TEN VARCHAR(10),
NGSINH SMALLDATETIME,
GIOITINH VARCHAR(3),
NOISINH VARCHAR(40),
MALOP CHAR(3),
CONSTRAINT FK_malop FOREIGN KEY (MALOP) REFERENCES LOP(MALOP)
);

ALTER TABLE LOP


ADD CONSTRAINT FK_trglop FOREIGN KEY (TRGLOP) REFERENCES HOCVIEN(MAHV);

create table GIANGDAY


(
MALOP CHAR(3),
MAMH VARCHAR(10),
MAGV CHAR(4),
HOCKY TINYINT,
NAM SMALLINT,
TUNGAY SMALLDATETIME,
DENNGAY SMALLDATETIME,
CONSTRAINT pk_GiangDay PRIMARY KEY(MALOP, MAMH),
CONSTRAINT FK_lop FOREIGN KEY (MALOP) REFERENCES LOP(MALOP),
CONSTRAINT FK_mon FOREIGN KEY (MAMH) REFERENCES MONHOC(MAMH),
CONSTRAINT FK_gv FOREIGN KEY (MAGV) REFERENCES GIAOVIEN(MAGV),
);

create table KETQUATHI


(
MAHV CHAR(5),
MAMH VARCHAR(10),
LANTHI TINYINT,
NGTHI SMALLDATETIME,
DIEM NUMERIC(4, 2),
KQUA VARCHAR(10),
CONSTRAINT PK_lop_mh PRIMARY KEY(MAHV, MAMH, LANTHI),
CONSTRAINT FK_lop_KQT FOREIGN KEY (MAHV) REFERENCES HOCVIEN(MAHV),
);

-- I. Ngôn ngữ định nghĩa dữ liệu (Data Definition Language):


-- Cau 2:
ALTER TABLE HOCVIEN
ADD CONSTRAINT CHECK_MAHV CHECK(
LEN(MAHV)=5
AND LEFT(MAHV, 3) IN (SELECT MALOP FROM LOP)
AND ISNUMERIC(RIGHT(MAHV, 2)) = 1
);
-- Cau 3:
ALTER TABLE GIAOVIEN
ADD CONSTRAINT CHECK_gtGV CHECK(GIOITINH = 'Nam' OR GIOITINH = 'Nu');
ALTER TABLE HOCVIEN
ADD CONSTRAINT CHECK_gtHV CHECK(GIOITINH = 'Nam' OR GIOITINH = 'Nu');
-- Cau 4:
ALTER TABLE KETQUATHI
ADD CONSTRAINT CHECK_kqt CHECK(DIEM >= 0 AND DIEM <= 0);
ALTER TABLE KETQUATHI
ALTER COLUMN DIEM NUMERIC(4, 2);
-- Cau 5:
UPDATE KETQUATHI
SET KQUA = CASE
WHEN DIEM >= 5 THEN 'Dat'
ELSE 'Khong dat'
END;
-- Cau 6:
ALTER TABLE KETQUATHI
ADD CONSTRAINT CHECK_kqt_lanthi CHECK(LANTHI >= 1 AND LANTHI <= 3);
-- Cau 7:
ALTER TABLE GIANGDAY
ADD CONSTRAINT CHECK_GD_HK CHECK(HOCKY BETWEEN 1 AND 3);
-- Cau 8:
ALTER TABLE GIAOVIEN
ADD CONSTRAINT CHECK_GV_HV CHECK(HOCVI IN ('CN', 'KS', 'Ths', 'TS', 'PTS'));

You might also like