数据库实验2 创建数据库表与索引.docx
- 文档编号:5888781
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:14
- 大小:809.63KB
数据库实验2 创建数据库表与索引.docx
《数据库实验2 创建数据库表与索引.docx》由会员分享,可在线阅读,更多相关《数据库实验2 创建数据库表与索引.docx(14页珍藏版)》请在冰豆网上搜索。
数据库实验2创建数据库表与索引
实验2:
创建数据库表与索引----表的创建与管理
1.实验目的与要求:
1.1在已建立的数据库中创建表:
掌握表的建立方法,运用企业管理器和Transact-SQL语句两种方法建立“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”。
1.2了解表与表之间的逻辑依赖关系:
学会在企业管理器中,创建表之间的关联关系。
通过外键的拖曳建立表的基本依赖关系,从而直白地表达整个数据库的表间联系,但是,注意:
建立过程中,主键和外键对应的源数据表,并实践数据库管理系统提供的数据完整性功能,加深对数据完成的理解,进行数据完整性描述。
1.3修改表结构
掌握表结构的修改方法,修改数据类型,为表增加新字段,增加约束条件。
1.4建立索引
掌握索引的建立方法,学会使用Transact-SQL命令创建索引和使用SQL企业管理器创建索引。
2.实验环境与实验器材:
计算机,网络环境,投影设备。
实验相关软件:
Windowxp、SQLServer2000。
2*.实验预备知识
2.1.1关系模型的完整性约束
2.1.2索引
2.1.3表的创建与修改
3.实验内容与步骤
使用企业管理器和Transact-SQL语句创建“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”6张表,各表的逻辑结构如P36表3.1、表3.2、表3.3、表3.4、表3.5、表3.6。
且各表之间的逻辑依赖关系如图3.1。
并对关系表进行管理。
具体内容如下。
3.1在“教学管理”数据库中使用Transact-SQL命令创建表
使用Transact-SQL命令创建“学生档案表”、“课程信息表”、“教学任务表”。
1)学生档案表
编程代码:
createtable学生档案表
(学号char(8)primarykey
check(学号like('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')),
姓名varchar(8)notnull,
性别char(8),
出生日期datetimecheck(出生日期>='1970'),
籍贯char(8),
专业char(8),
班级char(8))
实验结果:
2)课程信息表:
编程代码:
createtable课程信息表
(课程IDchar(6)primarykey
check(课程IDlike('[JZXR][BX][0-9][0-9][0-9][0-9]')),
课程名称varchar(40),
课程类别char(8)check(课程类别IN('基础必修','专业必修','限选','任选')),
学分realcheck(0.5<=学分and学分<=5.0),
学时intcheck(学时%8=0))
实验结果:
实验情况调试分析:
在编写信息课程表代码的过程中,我把“R”错写成“B”,如截图所示,然后在企业管理器中修改回来。
3)教学任务表:
编程代码:
createtable教学任务表
(课程IDchar(6)check(课程IDlike('[JZXB][BX][0-9][0-9][0-9][0-9]')),
任课教师IDchar(8)foreignkeyreferences教师档案表
check(任课教师IDlike('[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])')),
学期intcheck(学期IN('1','2')),
年度char(10)check(1990<=年度and年度<=2010),
primarykey(课程ID,年度,学期))
实验结果:
3.2在“教学管理”数据库中使用企业管理器创建表
使用SQL企业管理器创建“学生成绩表”、“教师档案表”、“学生选课表”。
1)学生成绩表:
2)教师档案表:
3)学生选课表:
3.3修改表的结构
3.3.1修改数据类型
1)将“学生档案表”中的“姓名”字段的数据类型改为varchar(8)。
编程代码:
altertable学生档案表
altercolumn姓名varchar(8)
实验结果:
2)将“课程信息表”中的“课程名称”字段的数据类型改为varchar(50)。
编程代码:
altertable课程信息表
altercolumn课程名称varchar(50)
实验结果:
3.3.2增加一个新字段
1)为“学生成绩表”增加一个新字段“总成绩”,类型为real,默认是空值。
编程代码:
altertable学生成绩表
add总成绩realdefaultnull
实验结果:
2)为“教学任务表”增加一个新字段“教师姓名”,类型为varchar(8),默认是空值。
编程代码:
altertable教学任务表
add教师姓名varchar(8)
实验结果:
3.3.3增加约束条件
1)为“学生成绩表”增加一个约束,“平时成绩”字段的取值为大于等于0小于等于100的正数。
编程代码:
altertable学生成绩表
addconstraintshuliang1check(平时成绩>=0and平时成绩<=100)
实验结果:
2)为“教学任务表”中的“年度”添加约束条件,使得年度大于2000年。
编程代码:
altertable教学任务表
addconstraint年度1check(年度>2000)
实验结果:
3.4使用Transact-SQL命令创建索引
3.4.1在“学生档案表”的“姓名”字段上建立普通升序索引;
3.4.2在“学生档案表”的“学号”字段上建立唯一索引;
3.4.3在“学生档案表”的“学号”(升序)、“姓名”(升序)、和“籍贯”(降序)三个字段上建立普通索引;
3.4.4在“学生成绩表”的“学号”字段上建立聚集索引;
编程代码:
createindex姓名索引on学生档案表(姓名)
createuniqueindex学号索引on学生档案表(学号)
createindex多列索引on学生档案表(学号,姓名,籍贯desc)
createclusteredindex学号索引on学生成绩表(学号)
实验结果:
3.4.5在“教学任务表”的“任课教师ID”字段上创建名为“任课教师ID索引”的唯一索引;在“教师档案表”中的“教师ID”(降序)、“姓名”(升序)、“职称”(升序)三个字段上建立一个普通索引。
编程代码:
createuniqueindex任课教师ID索引on教学任务表(任课教师ID)
createindex教师ID索引on教师档案表(教师IDdesc)
createindex姓名索引on教师档案表(姓名)
createindex职称索引on教师档案表(职称)
实验结果:
3.5使用SQL企业管理器创建索引
3.5.1使用SQL企业管理器在“学生档案表”中的“籍贯”字段上创建普通升序索引。
3.5.2使用SQL企业管理器在“课程信息表”上创建“课程ID”唯一索引。
3.6创建数据库表之间的关系图
创建上述6张表之间的关系图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库实验2 创建数据库表与索引 数据库 实验 创建 索引