天天看點

Sql Server快速建表

use MyDatabase

create table 學生表

(

學号 varchar(16) primary key,

姓名 varchar(8),

性别 char(2) check (性别 IN ('男','女')),

出生日期 date,

所在系 varchar(20),

專業  varchar(20),

班号 varchar(10),

聯系号碼 varchar(20),

QQ号碼 varchar(15),

通訊位址 varchar(20)

)

create table 課程表

課程号 varchar(16) primary key,

課程名 varchar(30) NOT NULL,

學分   tinyint check(學分 between 1 and 8),

開課學期 tinyint check(開課學期 between 1 and 12),

課程性質 varchar(4) check(課程性質 in ('必修','選修')),

考試性質 varchar(4) check(考試性質 in ('考試','考查')),

授課時數 tinyint check(授課時數 <=68),

實踐時數 tinyint check(實踐時數 <=68),

平時成績比例 numeric(1,1)

create table 教師表

教師号 varchar(16) primary key,

教師名 varchar(8) not null,

性别 char(2) check(性别 in ('男','女')),

職稱 varchar(6) check(職稱 in ('助教','講師','副教授','教授')),

學曆 varchar(6) check(學曆 in('大學','碩士','博士','博士後')),

所在部門 varchar(30),

create table 選課表

學号 varchar(16) not null,

課程号 varchar(16) not null,

選課學年 varchar(4),

選課學期 char(1) check(選課學期 like '[12]'),

primary key (學号,課程号,選課學年,選課學期),

foreign key(學号) REFERENCES 學生表(學号),

foreign key(課程号) REFERENCES 課程表(課程号)

create table 成績表

學号 varchar(16),

課程号 varchar(16),

考試次數 tinyint check(考試次數 between 1 and 3),

平時成績 tinyint,

考試成績 tinyint,

總評成績 tinyint,

primary key (學号,課程号),

foreign key(課程号) references 課程表(課程号)

create table 授課表

教師号 varchar(16) not null,

學年 varchar(4),

學期 tinyint,

主講時數 tinyint,

輔導時數 tinyint,

帶實驗時數 tinyint,

primary key (課程号,教師号,學年,學期),

foreign key(課程号) REFERENCES 課程表(課程号),

foreign key(教師号) REFERENCES 教師表(教師号)