11春数据库实验3 表的创建、管理和数据操纵(4学时)

上传人:世*** 文档编号:171504405 上传时间:2021-03-05 格式:DOC 页数:9 大小:221.50KB
返回 下载 相关 举报
11春数据库实验3 表的创建、管理和数据操纵(4学时)_第1页
第1页 / 共9页
11春数据库实验3 表的创建、管理和数据操纵(4学时)_第2页
第2页 / 共9页
11春数据库实验3 表的创建、管理和数据操纵(4学时)_第3页
第3页 / 共9页
11春数据库实验3 表的创建、管理和数据操纵(4学时)_第4页
第4页 / 共9页
11春数据库实验3 表的创建、管理和数据操纵(4学时)_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《11春数据库实验3 表的创建、管理和数据操纵(4学时)》由会员分享,可在线阅读,更多相关《11春数据库实验3 表的创建、管理和数据操纵(4学时)(9页珍藏版)》请在金锄头文库上搜索。

1、实验三 表的创建、管理和数据操纵(4学时)【实验目的】了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识。【实验要求】利用SQL语言进行数据库表的各种操作:1数据库表的创建、修改和删除操作。2向表中进行数据的插入、删除和修改操作。【实验内容】 1. 利用数据定义语句在实验一创建的stu_DB库中建立学生管理系统的三个表:Student、Course、SC。 2利用INSERT、UPDATE和DELETE语句对上述三张表的数据进行插入、更新和删除操作。3在stu_DB库中添加Teacher和TC表,对已建立的学生管理系统中的表添加充足的数据(每个表不少于20条),以便完成本实验的后继

2、操作。【实验步骤】一、数据定义(一)表的创建在实验一创建的数据库stu_DB中分别用企业管理器和查询分析器,按下面的表结构创建学生管理系统的表。表3-1 Student表结构 列名说明数据类型约束Sno学号字符串,长度为8主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2男或 女Sage年龄整数1545Sdept所在系字符串,长度为20默认为计算机系表3-2 Course表结构列名说明数据类型约束Cno课程号字符串,长度为8主码Cname课程名字符串,长度为20非空Cpno先修课程号字符串,长度为8Ccredit学分整数取值:16Semster学期整数取值:18Period学

3、时整数取值:0表3-3 SC表结构列名说明数据类型约束Sno学号字符串,长度为8主码,引用student的外码Cno课程号字符串,长度为8主码,引用course的外码Grade成绩整数取值:01001利用企业管理器创建表 (1)打开企业管理器。(2)选中实验一创建好的数据库stu_DB,单击数据库中的表对象,然后右击窗口右侧选择新建表,弹出如图所示窗体。图3-1 新建表窗体(3)在这个窗体中,列名列就示表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。(4)在此处可以为表选择文件组,在表中单击右键,选择属性,如果已经为数据库创建了一个次要组,可以在属性窗体的表文件组中为此

4、表选择文件组。应该把一些竞争使用的表放于不同的文件组中,并且让文件组属于不同磁盘,这样可以在表竞争读写时提高并发性能。(5)创建完成后,单击磁盘图标,并为表取一个名字。注意,应该为表取一个有意义的名字。2用Transact_SQL语句创建表 语法为: CREATE TABLE database_name.owner. table_name ( column_name data_type DEFAULT default_value| CONSTRAINT CONSTRAINT_name , n IDENTITY (seed, increment ) ) ON filegroup | DEFAUL

5、T TEXTIMAGE_ON filegroup | DEFAULT 【例1】生成一个表名为student的表create table student( sno CHAR(8) primary key, sname CHAR(10) not null, ssex CHAR (2) check (ssex=男or ssex=女), sage smallint, sdept CHAR (20) default (计算机系),)图3-2查询分析器窗体创建表【例2】 创建一张名为Ta1的表,此表中有3列,第一列Pid定义为主键,并且自动增长。第二列Name默认值为Unknown,第三列定义一个约束(日

6、期不能大于输入当天的日期),插入一条记录并进行查询,显示如下图。CREATE TABLE ta1 ( pid int identity(1,1) primary key, name CHAR(10) default (unknow),birthday datetime CHECK( birthday getdate() )注意该列有什么特殊性?图3-3 查询分析器窗体创建表 请参考例1和例2,完成以下操作:(1)按前面所给的表结构创建表Course和SC。(2)自行设计表的结构,用SQL语句建立第二章习题5中的4个表。 (二)表的修改1 用企业管理器修改表 右键点击所要修改的学生表,选择“设计

7、表”,会弹出如图3-4所示的窗体,在这个窗体中可以更改数据表的字段。在空白处点右键,选择“属性”,弹出另一窗体,在此可以更改约束,也可以增加约束。图3-4 修改表窗体(2)利用Transact-SQL语句修改表l 向表中添加新的字段:在学生表中添加一个“班级”字段,数据类型为字符型。ALTER TABLE student ADD class CHAR(6) l 删除表中的旧列:将学生表中的“Sdept”字段删除。ALTER TABLE student DROP COLUMN Sdeptl 更改表以添加具有约束的列。给学生表的增加“grade”字段并加上CHECK约束,让其不可以大于100。AL

8、TER TABLE student ADD grade int CONSTRAINT ch_grade CHECK(grade100)EXEC sp_help ch_grade给学生表中添加“birthday”字段,并且这个日期不能在录入当天的日期之后。ALTER TABLE student ADD birthday DATETIME NULLCONSTRAINT ch_birthday CHECK(birthdaygetdate()l 添加具有默认值的可为空的列:在学生表中加入“matriculationday”字段,并且这一字段的默认值为录入当天的日期。ALTER TABLE studen

9、t ADD matriculationday smalldatetime NULLCONSTRAINT adddateflt DEFAULT getdate() 请参考上面所给的例子:(1) 自行设计表结构修改操作(不少于8个语句),并进行实验验证。(2) 修改表student,结果如表3-4。(3) 创建表3-5、表3-6,为后续实验建立基础。表3-4 更新后的student表结构 列名说明数据类型约束Sno学号字符串,长度为8主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2男或 女Sdept所在系字符串,长度为20默认为计算机系Sbirth出生日期日期自定义sclass

10、班级字符串,长度为20sremark评语变长字符串,长度为100saddress家庭住址变长字符串,长度为40szipcode邮编字符串,长度为6sphone 电话字符串,长度为15semail电子邮箱变长字符串,长度为40表3-5 Teacher表结构 列名说明数据类型约束tno工号字符串,长度为8主码tname姓名字符串,长度为10非空tsex性别字符串,长度为2男或 女tdept所在系字符串,长度为20默认为计算机系tbirth出生日期日期自定义tposition职称字符串,长度为12tsalary工资整数取值:010000texperience简历变长字符串,长度为200tamount

11、工作量整数取值:01000tphone 电话字符串,长度为15temail电子邮箱变长字符串,长度为40taddress家庭住址变长字符串,长度为40表3-6 TC表结构列名说明数据类型约束Tno工号字符串,长度为8主码,引用Teacher的外码Cno课程号字符串,长度为8主码,引用Course的外码Classroom教室变长字符串,长度为30(三)表的删除可以在企业管理器中选择要删除的表直接删除,也可以通过Transact-SQL语句DROP 删除表的定义及表中的所有数据、索引、出发器、约束和权限规范。如要删除ta1表,语句如下: DROP TABLE ta1请参考上面的例子完成对表Stud

12、ent 、Course 、SC的删除操作,它们删除的次序如何?并进行实验验证。二、数据操纵(一)查看、重命名及删除用户定义的数据类型1使用企业管理器创建一个名为newtype1、长度为6、可变长字符、允许为空的自定义数据类型。进入企业管理器,进入stu_DB数据库,用鼠标右键单击“用户定义的数据类型”后选择“操作”菜单中的“新建用户定义数据类型”或点击“新建”按扭,将弹出下图所示窗体:图3-4 数据类型定义窗体输入要定义的数据名称newtype1,选择数据类型varCHAR,输入长度为6,在“允许NULL值”复选框中打个“”,单击“确定”按钮即可。2.使用T-SQL语句创建一个名为newtyp

13、e2,数据长度为6,定长字符型,不允许为空的自定义数据类型。USE stu_DBEXEC sp_addtype newtype2, CHAR(6), not null3.命名用户自定义的数据类型 使用系统存储过程sp_rename将自定义数据类型newtype1重新命名为a1。 EXEC sp_rename newtype1, a1 使用企业管理器再将自定义数据类型a1重新命名为newtype1。4删除用户自定义数据类型 使用系统存储过程sp_droptype来删除用户自定义的数据类型。 EXEC sp_droptype newtype1 使用企业管理器删除用户自定义数据类型进入企业管理器,进

14、入stu_DB数据库,单击“用户定义的数据类型”后,右边窗口将出现所有用户定义的数据类型,再用鼠标右键单击newtype2,在弹出的快捷菜单上单击“删除”按钮即可。注意:正在被表或其他数据库对象使用的用户定义类型能不能删除?请进行实验验证。(二)数据的更新1. 利用企业管理器更新数据打开企业管理器,右键点击所要修改的表,选择“打开表”,单击“返回所有行”,会弹出如图3-5所示的窗体,在该窗体中可以修改表中的数据内容。这里的修改内容是自动存储的,修改完之后,直接关闭该窗体,数据内容即修改成功。图3-5数据修改窗体2.利用查询分析器更新数据在关系数据库中,常见的数据更新的语句有三条:INSERT、UPDATE和D

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号