You are on page 1of 2

USE [master]

GO
if exists (select name from sysdatabases where name ='QLDiem1')
drop database QLDIEM1
go
CREATE DATABASE QLDIEM1
ON PRIMARY
(
NAME = N'QLDIEM1',
FILENAME = N'D:\QLDIEM1.mdf' ,
SIZE = 10MB ,
MAXSIZE = 100MB ,
FILEGROWTH = 2MB
),
(
NAME = N'QLDIEM2',
FILENAME = N'D:\QLDIEM2.ndf' ,
SIZE = 10MB ,
MAXSIZE = 100MB ,
FILEGROWTH = 2MB
)
LOG ON
(
NAME = N'QLDIEM1_log',
FILENAME = N'D:\QLDIEM1_log.ldf' ,
SIZE = 2MB ,
MAXSIZE = Unlimited ,
FILEGROWTH = 10%
)
GO
USE QLDIEM1
GO
create table KHOA(
MAKHOA char(5) primary key,
TENKHOA NVARCHAR(50)
)
create table MONHOC(
MAMH char(5),
TENMH NVARCHAR(50),
STC INT
CONSTRAINT PK_MH PRIMARY KEY(MAMH)
)
create table LOP(
MALOP char(5) primary key,
MAKHOA char(5),
CONSTRAINT fk_lOP_KHOA FOREIGN KEY (MAKHOA) REFERENCES KHOA (MAKHOA)
)
create table HOCVIEN(
MAHV char(5),
HO NVARchar(50),
TEN NVARCHAR(50),
NGSINH DATE,
GIOITINH BIT,
MALOP CHAR(5),
CONSTRAINT PK_HV PRIMARY KEY(MAHV),
CONSTRAINT fk_HV_LOP FOREIGN KEY (MALOP) REFERENCES LOP(MALOP)
)
create table KETQUATHI(
MAHV char(5),
MAMH char(5),
DIEM DECIMAL(3,1),

CONSTRAINT PK_kqt PRIMARY KEY(MAHV,MAMH),


CONSTRAINT fk_KQT_HV FOREIGN KEY (MAHV) REFERENCES HOCVIEN (MAHV),
CONSTRAINT fk_KQT_MH FOREIGN KEY (MAMH) REFERENCES MONHOC (MAMH)
)
ALTER TABLE MONHOC ADD CONSTRAINT ck_mh CHECK (STC BETWEEN 1 AND 3)
ALTER TABLE HOCVIEN ADD CONSTRAINT ck_mahv CHECK (mahv like 'DH___')
ALTER TABLE HOCVIEN ADD CONSTRAINT CK_nS CHECK
(datediff(yy,ngsinh,getdate())>=18)
ALTER TABLE HOCVIEN ADD CONSTRAINT DF_gt DEFAULT 1 FOR GIOITINH
ALTER TABLE MONHOC ADD CONSTRAINT Un_MH UNIQUE (TENMH)

You might also like