教师teachar(教师号tno,教师名tname,性别tsex,出生年月tbirth,联系方式ttel,职称tprof) 教师号 教师名 性别 出生年月 联系方式 职称 (自己创建) 9、
日期时间类型
T03 杨林 男 1960-1-30 13890873456 教授 Char(6) Varchar(10) Char(2) Datetime Varchar(18) Varchar(20) Datetime 长度为8,
yyyy-mm-dd hh:mm:ss.mms mm-dd-yyyy hh:mm:ss.mms
日期表示方法:
年-月-日,月-日-年,日-月-年 年/月/日 默认日期时间:
1905-06-07 00:00:00.000
Smalldatetime 长度为4 10、
查看日期时间类型
通过获取操作系统当前日期时间
Select Getdate() 2012-03-26 10:53:01.568 例:学生实体关系模式表示
学生student(学号sno,姓名sname,年龄sage,性别ssex,联系
方式stel,专业sprof)
学号 Not null 11321101 姓名 Not null 李阳 20 女 1394248 7690 Y110303 林海 25 -24 11321101 Varchar (10) 杨丽 Varchar (8) 20 Smallint tinyint 9 Char (2) 男 0242397 8860 23456 Varchar (16) 计算机网络技术 计算机应用技术 弹药工程 Varchar (20) 年龄 性别 联系方式 专业 学号列的值不可以为空 学号列的值不重复 11、
约束
非空的约束
(1)
表示方法:not null
适用范围:限制某列为非空,列级约束 建立表时默认可以取空值,表示为Null 创建方法:通过修改表结构完成 Alter table 表名
Alter column 列名 类型(长度) not null 例1:修改学生表中学号列为非空 Alter table student
Alter column sno varchar(10) not null 验证非空约束 Insert into student
Values(null,’杨丽’,20,’女’,’3456’,’弹药工程’)
(2)
检查约束check
表示方式:check(列名取值范围) 语句:在修改表时进行约束的添加
Alter table 表名
Add constraint 用户自定义的约束名 Check(列的取值范围) 取值范围:
列名=‘值1’Or列名=‘值2’ 列名 in(‘值1’, ‘值2’) 列名>=值1 and 列名<=值2
例2:为学生表的性别列增加检查约束
Alter table student Add constraint ck1 check(ssex=’男’ or ssex=’女’) 方法二:(可以在教师表中练习) Alter table student Add constraint ck2 Check(ssex in (‘男’,’女’))
例3 :为选课表的成绩列增加检查约束0—100
Alter table sc Add constraint ck3
Check(grade>=0 and grade<=100)
(3)
数据类型
整型bigint int smallint tinyint 字符型 char(n) varchar(n) 数值 decimal(p,s) numeric(p,s) 日期时间 datetime smalldatetime Bit 取值只有1或者0 逻辑判断 (4) (5)
75页有关表结构修改的例子 唯一值约束
表示方法:unique
作用范围:列级约束,表级约束 语句使用:
Alter table 表名 Add constraint 约束名 Unique(列1,列2)
例4:修改学生表,为学号列增加唯一值约束 Alter table student Add constraint uq1 Unique(sno)
(6)
主键,主码
表示方法:primary key
使用范围:列级约束(单个列),
表级约束(多个列)
描述:表中的一列或者多个列的组合,可以唯一确定表中的一行记录,这一列
或者多个列的组合称为主键或者主码
判断:
学生(学号,姓名,年龄,性别,联系方式,专业) 课程(课程号,课程名,学时,学分)
选课(学号,课程号,教师号,学年学期,周数,节数,教室号,成绩) (1)
查找成绩
学号,课程号,教师号,学年学期 (2)
查找上课情况
学号,课程号,教师号,学年学期,周数,节数,教室号
例5:给选课表定义主键 为以下的列增加非空约束
Alter table sc
Alter column sno varchar(10) not null
Alter table sc Add constraint pk1
Primary key(sno,cno,tno,scxq,scz,scj,clno) 1、 唯一值约束 修改表时创建 Alter table 表名
Add constraint 约束名 unique(列)