数据库原理及应用实验指导书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

14.新建表(1)使用企业管理器建立student、course和SC三个表,其结构为:Student(学生)列名描述数据类型允许空值说明Sno学号Varchar(20)No主键Sname姓名Varchar(50)NoAge年龄IntYESSex性别char(2)YESDept所在系Varchar(50)YESCourse(课程)列描述数据类型允许空值说明cno课程号Varchar(20)No主键cname课程名Varchar(50)Nocredit学分FloatYESpcno先行课Varchar(20)YESdescribe课程描述varchar(100)YESSC(选课)列描述数据类型允许空值说明sno学号Varchar(20)No主键(同时都是外键)cno课程号Varchar(20)Nograde成绩FloatYES在SQLServer2000的数据库中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。当在企业管理器中选择服务器和数据库文件夹,并打开己定义好的学生选课数据库后。会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。要建立“student”表,先选中学生选课数据库中的表文件夹,单击鼠标右键,在弹出的菜单中选择“新建表”,随后的输入表结构对话框。输入表结构对话框是一张表,它的列属性有列名、数据类型、长度和是否允许空4项。用户把新建表的结构填入对话框的表中,表中的每一行定义新建表(Course)的一列,每一列定义新建表的一个列属性。当光标移到表中的某一行时,下面的列描述就会对应当前行显示输入项,用户可在其中对关系的属性进行进一步说明。列描述包括数据的精度、小数位数、默认值、是否标识等项。(2)使用T-SQL语句建立student,course,SC三个表CreateTablestudent(snovarchar(20)primarykey,2Snamevarchar(50)notnull,Ageint,Sexchar(2),Deptvarchar(50));Createtablecourse(cnovarchar(20)primarykey,Cnamevarchar(50)notnull,Creditfloatnotnull,Pcnovarchar(20)notnull,Describevarchar(100)notnull);CreatetableSC(snovarchar(20),Cnovarchar(20),Gradefloat,primarykey(sno,cno),foreignkey(sno)REFERENCESstudent(sno),foreignkey(cno)REFERENCEScourse(cno));5.定义表的完整性约束和索引表的约束包括码(主键)约束、外键约束(关联或关系约束)、惟一性约束、Check(检查)约束4种。这些约束可以在表属性对话框中定义。(l)定义索引和键选择“索引/键”页面,其界面如图10所示。l)查看、修改或删除索引时,先要在“选定的索引”下拉列表框中选择索引名,其索引内容就显示在表中。需要时,可以直接在表中修改索引内容。如改变索引列名、改变排序方法等。对于不需要的索引可以单击“删除”按钮,直接删除此索引。2)新建一个索引时,单击“新建”按钮,并在下面的表中输入索引名、索引列名及排列顺序;3)设置UNIQUE复选框,确定是否为惟一索引约束。设置CLUSTERED复选框,确定是否为群集索引(CLUSTERED)。(2)定义表间关联选择表页面,其界面如图12所示。l)查看、修改或删除表关联时,先要在“选定的关系”下拉列表框中选择关联名(即关系名),其关联内容就显示在表中。需要时,可以直接在表中修改关联内容,例如改变主键、改变外键键等。对于不需要的关联可以单击“删除”按钮,直接删除此关联。32)新建一个关联时,单击“新建”按钮,选择库中的关联表(参照表)后,在表中输入关联名、主键和外键。3)设置“创建中检查现存数据”复选框,确定新建关联时是否对数据进行检查,要求符合外键约束;设置“对复制强制关系”复选框。确定在进行数据复制时是否要符合外键约束:设置“对INSERT和UPDATE强制关系”复选框,确认在对数据插入和更新时,是否符合外键约束:设置“级联更新相关的字段”复选框和“级联删除相关的记录”复选框,确认被参照关系的主键位被修改时,是否也将参照表中的对应的外键值修改,而被参照关系的上码值被删除时,是否也将参照表中对应外键的记录删除。(3)定义CHECK约束选择CHECK约束页面。其界面如图13所示。图12表属性对话框中的表关联页面图13表属性对话框中的约束页面1)查看、修改或删除CHECK约束时,先要在“选定的约束”下拉列表框中选择约束名,其约束内容就显示在约束表达式框中。需要时,可以直接在框中修改约束表达式。对于不需要的CHECK约束可以按“删除”按钮,直接删除此约束。2)新建一个CHECK约束时,单击“新建”按钮,并在表中输入约束名和约束表达式。3)设置“创建中检查现存数据”,确认在创建约束时是否对表中数据进行检查,要求符合约束要求;设置“对复制强制约束”复合框,确认对数据复制时是否要求符合约束条件;设置“对INSERT和UPDATE强制约束”,确认在进行数据插入和数据修改时,是否要求符合约束条件。6.修改表结构(1)使用企业管理器修改表结构当需要对建好的表修改结构时,首先要在企业管理器中找到该表,用鼠标右击该表名,就会弹出一个菜单,如图14所示。随后,在弹出的菜单中选择“设计表”项,企业管理器会调出如图9所示的建表对话框,用户可对原有内容进行修改。4图14在弹出菜单中选择“设计表”项(2)使用T-SQL语句修改表结构可以使用Alter语句增加、删除或修改字段信息。例如为学生表中增年龄字段增加约束,限制年龄至少要15岁:ALTERTABLEstudentADDCONSTRAINTAGECHECK(AGE15)例如在学生表中增加班集字段为字符型,长度为50:ALTERTABLEstudentADDClassvarchar(50)NULL例如修改学生表中的班集字段的长度为20:AlterTablestudentALTERCOLUMNClassvarchar(20)例如删除学生表中的班集字段:ALTERTABLEstudentDROPCOLUMNClass四、注意事项1.建表中如果出现错误,应采用相应的修改结构或删除结构的方法。2.注意数据库的主键、外键和数据约束的定义。五、思考题51.数据库中一般不允许更改主键数据。如果需要更改主键数据时,怎样处理?2.为什么不能随意删除被参照表中的主键。6实验三数据库的建立和维护实验本实验需要2学时。一、实验目的要求学生熟练掌握使用Transact-SQL和SQLServer企业管理器向数据库输入数据、修改数据和删除数据的操作。二、实验内容(1)通过企业管理器,在数据库的student、course和SC三个表中各输入10条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。(2)通过企业管理器实现对学生选课数据库的student、course和SC三个表中数据的插入、删除和修改操作。(3)通过企业管理器实现对学生选课库的数据增加、数据删除和数据修改操作。要求学生、课程和选课表中各有10条以上的记录。snosnameAgesexdept001101张林18男计算机系001102程明18男计算机系001103王艳19女计算机系001104严平平20男计算机系001201王敏19女数学系001202王林20女数学系001203李计21男数学系001204孙祥欣17男数学系001205孙研18男数学系001206孙小18男数学系cnocnameCreditpcnodescribe1310101计算机基础5可自学1310102C++程序设计41310101可自学1310206离散数学4可自学1310208数据结构41310102可自学1310209操作系统41310101可自学1310210微机原理51310101可自学1310212数据库原理41310102可自学1310301计算机网络31310102可自学1310302软件工程31310102可自学1310211图形学31310101可自学snocnoGrade7001203131010188001203131020676001103131010162001103131010270001104131010191001104131010284001104131020695001201131010278001201131020678001201131010191三、实验步骤(1)使用企业管理器更新数据在MicrosoftSQLserver2000的企业管理器中,对表进行数据增、删、改操作非常简便。其操作方法是:1)选中服务器,展开数据库文件夹,进一步展开指定的数据库。单击表文件夹,找到需要更新数据的基本表。2)用鼠标右击要更新数据的表,会出现与表相关操作的弹出菜单,如图15所示。在弹出菜单中选择“打开表”→“返回所有行”。图15基本表的弹出菜单在该对话框中,数据以表格形式组织,每个字段就是表中的一列,每条记录是表中的一行。8原有的记录已经在表格中,通过移动右边的滑块可查阅所有的记录。3)需要数据插入时,就在最后一条记录后输入一条记录。当鼠标点击其他行时,输入的记录会自动保存在表中。4)需要修改记录时,直接对表中已有记录的数据进行改动,用新值替换原有值。5)需要删除记录时,先用鼠标单击要删除行的左边灰色方块,使该记录成为当前行,然后按(Delete)键。为了防止误操作,SQLserver2000将弹出一个警告框,要求用户确认删除操作,单击“确认”按钮即可删除记录,也可通过先选中一行或多行记录,然后再按(Delete)键的方法一次删除多条记录。(2)使用T-SQL语句更新数据请给每个学生选修三门课,在期未时给每门课一个成绩。如张林同学选修了计算机基础这门课,期未的考试成绩为95分,SQL语句如下:InsertintoSC(sno,cno)values('001101','1310101')UpdateSCsetgrade=95wheresno='001101'andcno='1310101'四、注意事项1.输入数据时要注意数据类型、主键和数据约束的限制。2.数据更改和数据删除时要注意外键约束。五、思考题1.数据库中一般不允许更改主键数据。如果需要更改主键数据时,怎样处理?2.为什么不能随意删除被参照表中的主键。实验四数据库的简单查询和连接查询实验一、实验目的使学生掌握SQLServer查询分析器的使用方法,加深对Transact-SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据联结查询的操作方法。二、实验内容1.简单查询操作该实验包括投影、选择条件表达、数据排序、使用临时表等。2.连接查询操作该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。三、实验步骤(1)简单查询实验91)用Transact-SQL语句表示下列操作,在学生选课库中实现其数据查询操作:①求数学系学生的学号和姓名。②求选修了课程的学生学号。③求选修课程号为1310101的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。④求选修课程号为1310101的成绩在80-90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。⑤求数学系或计算机系姓张的学生的信息。⑥求缺少了成绩的学生的学号和课程号。(2)连接查询实验用Transact-SQL语句表示,并在学生选课库中实现下列数据连接查询操作:①查询每个学生的情况以及他(她)所选修的课程。②求学生的学号、姓名、选修的课程名及成绩。③求选修离散数学课程且成绩为90分以上的学生学号、姓名及成绩。④查询每一门课的间接先行课(即先行课的先行课)。

1 / 48
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功