第二章 SQLServer数据库表管理复习(上机)
扫描二维码
随时随地手机看文章
上次课程回顾:
在上一次课程中, 我们熟悉了如下操作
1> 使用服务管理器启动,暂停,停止SQLServer服务
2> 使用企业管理器来创建组,添加注册操作
3> 使用企业管理器创建数据库,修改数据库相关属性
4> 使用企业管理器删除数据库
5> 使用企业管理器分离附加数据库
上机课程准备
在上一次课程之中,我们通过使用企业管理器为学员管理系统创建了数据库,数据库保存在了STUDataBase文件夹下,数据库的名字为Student.
在课后同学们把Student数据库分离,拷贝到了各自的U盘上,在今天的课程中,我们在开始今天的上机课程之前需要先把U盘里面数据库信息拷贝到机房的F盘之中,然后在企业管理器中进行附加操作.
第二章SQLServer数据库表管理
一. 上机目标
a. 熟练使用企业管理器创建数据表
b. 为实现数据表中间数据完整性,为创建好的数据表加上约束,包括以下约束
a) 主键
b) 标识列
c) 数据类型
d) 非空约束
e) 默认值
f) 检查约束(check)
g) 外键引用约束
二. 上机步骤讲解
a. 使用企业管理器完成上次课创建的Student数据库附加操作
b. 在企业管理器中打开Student数据库,按照以下要求创建数据表
在数据库中创建4张表,表面和作用描述如下
表
表名
作用
备注
学员信息表
StudentInfo
存储学员的个人信息
学员成绩表
StudentExam
存储学员的成绩信息
班级信息表
ClassInfo
存储班级信息
班主任信息表
TeacherInfo
存储班主任信息
以上4张表的详细结构如下
表1 学员信息表
表名:StudentInfo
主键:StuID
列名
数据类型
长度
是否允许空
默认值
要求
描述
StuID
Int
4
不允许
标识列
本条记录编号
StuNumber
Varchar
10
不允许
学员学号
StuName
varchar
32
不允许
学员姓名
StuAge
Int
4
允许
年龄必须在16-35岁之间
学员年龄
StuSex
Varchar
2
不允许
‘男’
性别必须是
‘男’或者’女’中间的一个
学员性别
StuCard
Varchar
20
允许
学员身份证号码
StuJoinTime
DateTime
8
不允许
学员入学时间
StuAddress
Varchar
50
允许
学员家庭住址
RClassID
Int
4
允许
外键, 引用ClassInfo表的主键ClassID
学员所在班级ID
表2 学员成绩表
表名:StudentExam
主键: ExamID
列名
数据类型
长度
是否允许空
默认值
要求
描述
ExamID
Int
4
不允许
标识列
本条记录编号
ExamNumber
Varchar
32
不允许
本次考试代号
EStuID
Int
4
不允许
外键,引用StudentInfo表的主键StuID
学员信息ID
ExamSubject
Varchar
20
不允许
本次考试课程名称
ExamResult
Int
4
允许
成绩的取值范围在0-100分之间
学员成绩
表3 班级信息表
表名:ClassInfo
主键:ClassID
列名
数据类型
长度
是否允许空
默认值
要求
描述
ClassID
Int
4
不允许
标识列
本条记录编号
ClassNumber
Varchar
20
不允许
班级编号(名称)
CTeacherID
Int
4
不允许
外键,引用TeacherInfo表的主键
班主任ID
ClassGrade
Varchar
2
不允许
‘s1’
取值范围在’s1’,’s2’,’y2’三个值之中
班级所在年级
表4班主任信息表
表名:TeacherInfo
主键:TeacherID
列名
数据类型
长度
是否允许空
默认值
要求
描述
TeacherID
Int
4
不允许
标识列
本条记录编号
TeacherName
Varchar
20
不允许
班主任姓名
TeacherTel
Varchar
20
允许
班主任电话
TeacherEmail
Varchar
20
允许
电子邮箱含有’@’符号
班主任电子邮箱(email)
提示:电子邮箱中含有’@’符号的约束 可以采用 check约束
表达式可以写成 TeacherEmail like ‘%@%’
c. 创建以上4张表之后,为这4张表建立关系图
d. 将创建的表和关系图保存,分离数据库,拷贝STUDataBase文件夹中的文件(应该包括主数据文件.MDF和日志文件.LDF)至U盘。(数据库需要妥善保存,后续课程中需要使用)
思考:数据库中的表如何复制?
如果另一个库中没有同名的表
select * into b数据库.dbo.a表 from a数据库.dbo.a表 where 条件
如果是追加到另一个表中
inert into b数据库.dbo.a表
select * from a数据库.dbo.a表 where 条件
三.课后作业
1. 完成第二章课后习题
2. 了解论坛相关知识,完成教材第二章上机部分任务
2013.11.29 数据库第二次课