资源描述:
《数据库实验2 创建数据库表与索引》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验2:创建数据库表与索引----表的创建与管理1.实验目的与要求:1.1在已建立的数据库中创建表:掌握表的建立方法,运用企业管理器和Transact-SQL语句两种方法建立“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”。1.2了解表与表之间的逻辑依赖关系:学会在企业管理器中,创建表之间的关联关系。通过外键的拖曳建立表的基本依赖关系,从而直白地表达整个数据库的表间联系,但是,注意:建立过程中,主键和外键对应的源数据表,并实践数据库管理系统提供的数据完整性功能
2、,加深对数据完成的理解,进行数据完整性描述。1.3修改表结构掌握表结构的修改方法,修改数据类型,为表增加新字段,增加约束条件。1.4建立索引掌握索引的建立方法,学会使用Transact-SQL命令创建索引和使用SQL企业管理器创建索引。2.实验环境与实验器材:计算机,网络环境,投影设备。实验相关软件:Windowxp、SQLServer2000。2*.实验预备知识2.1.1关系模型的完整性约束2.1.2索引2.1.3表的创建与修改3.实验内容与步骤使用企业管理器和Transact-SQL语句创建“课程信息
3、表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”6张表,各表的逻辑结构如P36表3.1、表3.2、表3.3、表3.4、表3.5、表3.6。且各表之间的逻辑依赖关系如图3.1。并对关系表进行管理。具体内容如下。3.1在“教学管理”数据库中使用Transact-SQL命令创建表使用Transact-SQL命令创建“学生档案表”、“课程信息表”、“教学任务表”。1)学生档案表13编程代码:createtable学生档案表(学号char(8)primarykeycheck(学号
4、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))实验结果:1)课程信息表:编程代码:createtable课程信息表(课程IDchar(6)primarykeycheck(课程IDlike('[JZXR][BX][0-9][0-9][0-9][0-9]')),课程名称var
5、char(40),课程类别char(8)check(课程类别IN('基础必修','专业必修','限选','任选')),学分realcheck(0.5<=学分and学分<=5.0),学时intcheck(学时%8=0))实验结果:13实验情况调试分析:在编写信息课程表代码的过程中,我把“R”错写成“B”,如截图所示,然后在企业管理器中修改回来。1)教学任务表:编程代码:createtable教学任务表(课程IDchar(6)check(课程IDlike('[JZXB][BX][0-9][0-9][0-9][
6、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企业管理器创建“学生成绩表”、“教师档案表”、“学生
7、选课表”。1)学生成绩表:131)教师档案表:2)学生选课表:133.3修改表的结构3.3.1修改数据类型1)将“学生档案表”中的“姓名”字段的数据类型改为varchar(8)。编程代码:altertable学生档案表altercolumn姓名varchar(8)实验结果:2)将“课程信息表”中的“课程名称”字段的数据类型改为varchar(50)。编程代码:altertable课程信息表altercolumn课程名称varchar(50)实验结果:133.3.2增加一个新字段1)为“学生成绩表”增加一个
8、新字段“总成绩”,类型为real,默认是空值。编程代码:altertable学生成绩表add总成绩realdefaultnull实验结果:2)为“教学任务表”增加一个新字段“教师姓名”,类型为varchar(8),默认是空值。编程代码:altertable教学任务表add教师姓名varchar(8)实验结果:3.3.3增加约束条件1)为“学生成绩表”增加一个约束,“平时成绩”字段的取值为大于等于0小于等于100的正数。13编程