?
上次课程回顾:
在上一次课程中,我们熟悉了如下操作
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 数据库第二次课
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!