use master
--建库,dbtime,名称time
create database dbtime on primary
(name = 'Time.mdf',fileName = 'E:\Time.mdf',size = 4mb,maxsize = 20mb,filegrowth = 2mb
)
log on
(name = 'Time_log.ldf',filename = 'E:\Time_log.ldf',size = 4mb,maxsize =20mb,filegrowth = 2mb
)
-- 删库,也可删表,最好不要用,删掉time(master 表)
--if exists (select * from sysdatabases where name = 'dbTime')
-- drop database dbTime--建表
create table Teacher
(ID int identity(1,1) primary key,--主键,自动增长,1,1,intTName varchar(20) not null,--老师名字,非空--Sex varchar(2) not null,CID int not null --老师表的外键
)
use dbTime--增加列
alter table Teacher add Sex varchar(2) not null
--检查约束
alter table Teacher add constraint ck_Sex check (Sex = '男' or Sex = '女')
--唯一约束
alter table Teacheradd constraint uq_TName unique (TName)--默认约束
alter table Teacher add constraint df_Sex default '男' for Sex--加一个班级表,做外键约束 ,老师引用班级表的数据,班级id要主键
create table classinfo
(ID int identity(1,1) primary key,Class varchar(20) not null
)select * from classinfo
--insert into classinfo values ('330')
select * from Teacher
update Teacher set cid = 1 where id = 1
--外键约束
alter table Teacher add constraint fk_CID foreign key (CID)references classinfo (ID)--测试
insert into teacher values ('bb',4,default)--外键冲突,要引用classinfo有的id
insert into teacher values ('bb',1,default)--true
设计数据库
数据库设计
1,第一范式,列的原子性
2,第二范式,表的原子性
3,第三范式,去依赖引用,多个ID的引用,有些表通过关系列连接在一起也未必有直接关系。