实验三 创建和修改数据表
实验三添加修改和删除

任务一:
1.启动DBMS服务器,视情况决定是否附加实验用数据库。
2.利用对象资源管理器,对指定数据库中的表进行数据的添加、修改和删除。
尝试去做一些违反数据库定义中的约束的操作,分析反馈操作信息,并回答思考问题。
3.在查询编辑器中,利用INSERT、DELETE、UPDA TE语句在指定的数据库的相关表中进行如下数据的添加、修改和删除。
对操作中出现的问题进行分析,并加以解决。
在已经创建好的学生选课数据库中的各表中添加样例数据,并更新“学生—课程”数据库。
(1)向学生表S中插入一行数据。
(分析插入数据的学号与已有学号相同或不同时的反馈信息)。
学号相同时:
学号不同时:
(2)根据学生表和课程表生成一个“计算机”系学生的成绩临时表CGRADE,表中包括SN、CNO、GRADE三个属性。
(3)将王玲所学的高等数学成绩改为86.0.
(4)删除成绩低于所有课程平均成绩的选课元组。
(5)设置数据修改和删除的处理策略。
(要求选课表中有S04的选课信息)a.将学生表中学号为S04的学生学号修改为S28。
b.删除学生表中学号为S28的学生信息。
查看执行操作后表SC的变化情况或不能执行操作的反馈信息,并加以分析。
数据库课后习题答案(第四版)

数据库课后习题答案(第四版)数据库原理实验⼿册实验⼀实验名称:熟悉SQL SERVER 2000环境⼀、实验⽬的熟悉SQL SERVER 2000提供的服务管理器、企业管理器、查询分析器、客户端和服务器端⽹络实⽤⼯具等常⽤管理⼯具的使⽤。
了解Windows⾝份验证和SQL Server⾝份验证这两种连接数据库服务器⽅式的不同,并能够使⽤某种连接⽅式登陆上SQL SERVER数据库服务器。
学会使⽤SQL SERVER的联机丛中寻求帮助。
⼆、实验原理使⽤SQL SERVER 2000提供的各种常⽤管理⼯具进⾏有关的操作。
三、实验设备安装有SQL SERVER 2000的计算机。
四、实验内容1.启动SQL SERVER 服务。
2.打开SQL SERVER的企业管理器,连接上SQL SERVER服务器。
展开左边树状窗⼝的各级结点,观察右边内容窗⼝的变化。
3.在SQL SERVER的企业管理器的树状窗⼝或内容窗⼝中选择某⼀项,点击⿏标右键,了解快捷菜单中的有关功能。
4.使⽤Windows⾝份验证的连接⽅式打开SQL SERVER的查询分析器,在查询窗⼝⽤USE命令打开样例数据库pubs(也可以从⼯具栏中的数据库下拉列表中选择pubs数据库)。
5.在查询窗⼝输⼊exec sp_help,运⾏后察看结果。
6.在查询窗⼝输⼊select * from authors ,运⾏后察看结果。
7.在SQL SERVER的查询分析器的“帮助”菜单中点击“⽬录与索引”,然后在SQL SERVER的联机丛中选“索引”,输⼊要查找的关键字“sp_help”、“exec”、“select”,了解它们的含义。
8.在SQL SERVER的企业管理器中创建数据库S_T,并在该数据库中创建表student、course和sc,在创建表的同时可以创建各种约束。
这三个表的结构可以参考书上85页的例5、例6和例7。
9.向各个表输⼊数据,各个表的数据可参考书56页的图2.4。
数据库实验3

实验三:创建及管理数据表一、实验目的1.熟悉数据表的特点;2.熟悉在Management Stuio中创建、编辑及删除数据表;3.熟悉使用T-SQL创建、编辑及删除数据表;二、实验学时2学时三、实验要求1.了解表的结构特点;2.了解SQL Server的基本数据类型;3.熟悉使用T-SQL语法;4.完成实验报告。
四、实验准备知识创建数据表的命令CREATE TABLE[ database_name . [ schema_name ] . | schema_name . ] table_name( { <column_definition> | <computed_column_definition>| <column_set_definition> }[ <table_constraint> ] [ ,...n ] )FEDERATED ON ( distribution_name = column_name)[ ; ]<column_definition> ::=column_name <data_type>[ COLLATE collation_name ][ NULL | NOT NULL ][[ CONSTRAINT constraint_name ] DEFAULT constant_expression ]| [ IDENTITY [ ( seed ,increment ) ]][ <column_constraint> [ ...n ] ]五、实验内容请分别使用Management Stuio及T-SQL完成以下内容:1.界面方式下创建数据表利用界面方式创建教师授课管理数据库JSSK,并在数据库JSSK中创建下列三张表;表名:teachers表名:lessons表名:shouke2.命令方式下创建数据表1)使用T-SQL语句,在实验二中创建的数据库student中创建模式XSKC。
实验三 数据库和数据表的创建

实验三创建数据库和数据表一、实验目的1. 掌握使用SQL Server Management Studio创建数据库的方法与步骤2. 掌握创建数据库的SQL 语句3、掌握使用SQL Server Management Studio创建数据表的方法与步骤4、掌握创建数据表的SQL 语句背景知识在SQL Server中,数据库是由数据库文件和事务日志文件组成的。
一个数据库至少应包含一个数据库文件和一个事务日志文件。
数据库文件是存放数据库数据和数据库对象的文件。
一个数据库可以有一个或多个数据库文件,当有多个数据库文件时,有一个文件被定义为主数据库文件,扩展名为.mdf,它用来存储数据库的启动信息和部分或全部数据,一个数据库只能有一个主数据库文件。
其它数据库文件被称为次数据库文件,扩展名为.ndf,它主要用来存储除主数据文件外的所有数据文件。
一个数据库可以没有次数据库文件,但也可以同时拥有多个次数据库文件。
事务日志文件是用来记录数据库更新情况的文件,扩展名为.ldf。
它包含恢复数据库所需的所有日志信息。
每个数据库必须至少有一个日志文件。
文件组是将多个数据库文件集合起来形成的一个整体。
每个文件组有一个组名。
文件组分为主文件组和用户定义文件组。
一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。
注:事务日志文件不属于任何文件组。
二、实验内容与步骤2.1 操作内容:●创建一个名为“testdb”数据库:(1)包含一个数据文件,逻辑文件名“testdb_data”,磁盘文件名‘d:\testdb-data.mdf’,文件初始容量为5MB,最大容量为15MB,文件容量递增值为1MB;(2)包含一个事务日志文件,逻辑文件名为‘d:\testdb_log’, 磁盘文件名“testdb_log.ldf”,文件初始容量为5MB,最大容量为10MB,文件容量递增值为1MB;●对数据库作如下修改:(1)添加一个数据文件,逻辑文件“testdb2_data”,磁盘文件名“d;\testdb2_data.ndf”,文件初始容量为1MB,最大容量为6MB,文件容量递增值为1MB;(2)将事务日志文件的最大容量增加为15MB,递增值改为2MB;在testdb数据库下创建一个members(会员表),表结构如下:表1 表Members(会员表)2.2 实验步骤:方式一:使用SQL Server Management Studio创建和修改数据库1、创建数据库1. 单击“开始”,指向“程序”,指向“Microsoft SQL Server 2005”,然后单击“SQL Serv erManagement Studio”。
实验三、四创建表及输入数据及完整性约束

实验三、四 创建表及输入数据及完整性约束本实验需要4学时。
一、实验目的要求学生熟练掌握和使用Transact-SQL、SQL Server企业管理器创建表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。
学生熟练掌握使用 SQL、Transact-SQL和SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。
二、实验内容1 创建表、确定表的主码和约束条件。
为主码建索引。
2 查看和修改表结构。
3 输入数据、修改数据和删除数据三、实验步骤(1)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为;图书(书号,类别,出版社,作者,书名,定价,作者).读者(编号,姓名,单位,性别,电话).借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。
(2)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。
(3)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。
要求记录不仅满足数据约束要求.还要有表间关联的记录。
(4)通过企业管理器实现对图书借阅数据库的图书、读者和借阅3个表中数据的插入。
删除和修改操作。
(5)通过企业管理器实现对学生选课库的数据增加、数据删除和数据修改操作、要求学生、课程和选课表中各有10条以上的记录。
四、实验方法1 新建表在 SQL Serve 2000的数据库中,文件夹是按数据库对象的类型建立的.文件夹名是该数据库对象名。
当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的图书.读者数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。
数据库原理 实验三 数据定义

《数据库原理及应用》上机实验实验三数据定义一、学时2学时二、实验类型设计三、实验目的1.巩固数据库的基础知识;2.熟悉SQL Server2012中常用的数据类型;3.熟悉和掌握利用查询分析器进行数据表的建立、修改和删除的方法;4.利用查询分析器用SQL语言定义索引并进行相关操作。
四、实验准备1.熟悉SQL Server 2012的工作环境;2.复习有关表的建立、修改和删除的SQL语言命令和方法;3.复习有关索引的建立、修改和删除的SQL语言命令和方法。
五、实验方法及步骤1.登陆企业管理器/查询分析器;2.创建数据库或连接已建立的数据库;3.在当前数据库上建立新表,并注意定义表的主码,外码;4.修改表的结构;5.在表上建立索引;6.删除表的定义。
六、实验内容使用企业管理器完成以下操作:1.创建学生课程数据库SCDB,并在SCDB中完成以下操作。
CREATE DATABASE SCDB2.创建附录中的学生关系表student:(学号为主码,姓名要求唯一值,各属性数据类型根据实际情况设置);CREATE TABLE student(sno CHAR(11)PRIMARY KEY,sname VARCHAR(12)UNIQUE,ssex VARCHAR(6),sage INT,sdept VARCHAR(50))3.创建附录中的课程关系表course:(课程号为主码,各属性数据类型根据实际情况设置);CREATE TABLE course(cno CHAR(3)PRIMARY KEY,cname VARCHAR(12),cpo VARCHAR(12),credit INT)4.创建附录中的选课关系表sc:(sno和cno共同作为主码,sno和cno分别为外码,各属性数据类型根据实际情况设置);CREATE TABLE sc(sno CHAR(11)FOREIGN KEY REFERENCES student(sno),cno CHAR(3)FOREIGN KEY REFERENCES course(cno),grade int,PRIMARY KEY (sno,cno))5.在表student上增加“出生日期”属性列sbirth,数据类型为日期型。
北邮数据库实验三

实验三完整性及视图、索引视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已。
索引能够提供一种以一列或多列的值为基础迅速查找数据表(或视图)中行的能力,用来快速访问数据表(或视图)中的数据。
触发器是一种特殊的存储过程,它在特定语言事件发生时自动执行,通常用于实现强制业务规则和数据完整性。
【实验目的】掌握MySQL视图、索引的使用,理解什么是数据库的完整性。
【实验要求】1、每完成一个任务,截取全屏幕快照1~3张作为中间步骤和结果的贴图,粘贴在最后的实验报告中。
2、除了使用我们提供的数据外还要自己向表中添加些新数据,以保证每个查询结果不为空集,或计数结果不为0。
3、思考题可以选做,作为优秀加分的依据。
【实验任务】1、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。
2、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号、课程名及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。
3、为院系代码表(dept_code)创建基于“院系代码”列的索引。
条room_id列与表中已有的值重复的数据,观察系统的反馈。
5、重新修改表stud_info 、lesson_info 及stud_grade ,修改的内容为:①为三张表增加主码约束,stud_info 的主码为stud_id ,lesson_info 的主码为course_id ,stud_grade 的主码为stud_id 、course_id 。
②为表stud_grade增加外码,其中stud_id参照stud_info的stud_id,course_id参照lesson_info的course_id。
5、使用SQL语句向上题的3张表中插入新的数据,要求分别违反刚刚增加的主码约束、外码约束及原有的非空约束并观察系统的反馈。
实验三++工作表的建立

实验二工作表的建立一、实验目的1.掌握工作表中数据的输入方法;2.掌握单元格数据的编辑和修改;3.掌握公式和函数的使用;4.掌握数据的移动、复制和选择性粘贴;5.掌握单元格及区域的插入和删除。
二、预备知识熟悉实验单元格数据的基本输入方法及有规律数据的输入方法,如通过选定相应的单元格并拖动填充柄,或者将鼠标指向“编辑”菜单中的“填充”,再单击“序列”命令,可以填充等差序列、等比序列等多种类型的序列。
此外,还可自动填充其他非数值型数据如日期、星期等序列。
单元格中的数据有两种不同类型:常量或公式。
公式是用户自己定义的计算式子,前面一定以“=”开头。
系统提供若干个常用函数,函数有两种输入方法。
在插入单元格或单元格区域,以及对单元格或单元格区域中的数据做删除、复制等处理时,一定要先选中单元格或单元格区域。
三、实验内容对如表3-2所示的数据,求出每门课程的最高分、平均分和标准差;求出每人的总分,将总分>=360分的学生评为“优秀”;将90分以上的考试成绩用兰色显示,单元格底纹设置为灰色,结果如图3-14所示。
图3-14 “学生成绩”表操作结果一对考试成绩的对每门课程的成绩进行分段统计,结果如图3-15所示。
图3-15 “学生成绩”表操作结果二最后,建立各科成绩分段统计结果的图表如图3-16所示。
成绩分段统计图123456>=9080~9070~7960~69人数图3-16 各科成绩分段统计结果四、实验步骤1.启动Excel 2003,出现缺省的空白工作簿Book1,其中有三张空白工作表Sheet1、Sheet2、Sheet3。
Sheet1为当前工作表,在A1单元格中输入标题“2008级1班部分学生成绩”;在第二行的A列—H列中分别输入“学号”、“姓名”、“数学”“英语”、“计算机”、“政治”、“总分”、“总评”等列标题。
⑴ A列中数据用自动填充法:在A3、A4单元格中分别输入“200813100001”、“200813100002”,由于输入的数字多于11位,系统自动用科学计数法显示数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三创建和修改数据表[目的和意义]熟悉有关数据表的创建和修改等工作,并了解主键、外键以及约束的创建和应用,熟练掌握使用企业管理器和CREATE TABLE、ALTER TABLE等Transact-SQL语句对数据表的操作方法。
[实验内容]分别使用企业管理器和Transact-SQL语旬按下列要求创建两个数据表: 表B1项目数据表,表B2员工数据表,并按照步骤完成对表的相关修改和约束设置。
项目表(Project)[实现步骤]方法一:使用企业管理器创建数据表并添加约束1.打开企业管理器,在树状目录窗口中找到数据库节点TestDB,并选中下一级节点"表"。
2.单击鼠标右键,从弹出菜单中选择命令"新建表",打开表设计窗口,在窗口中按照"上机任务"中所列的"项目数据表"的字段及要求键入列名、数据类型、长度等属性,并将"项目编号"设置为主键。
如图2-l 所示。
图2-l 创建"项目数据表"3. 单击"保存"按钮,在弹出的对话框中输入表名称"项目数据表",关闭表设计窗口,完成表"项目数据表"的刨建。
4. 重复1-3步,创建另一个数据表"员工数据表",表设计窗口如图2-2所示。
图2-2创建"员工数据表"5. 添加外键约束:在"项目数据表"的"负责人"字段上添加外键约束,参照字 段为"员工数据表"中的字段"编号",约束名为FK_pm 。
实现方法为:首先在企业管理器中选中"项目数据表"并单击鼠标右键,在弹出菜单中选择命令"设计表"打开设计表窗口。
然后在该窗口中单击按钮"表和索引属性"按钮,打开表的"属性"对话框。
最后选择"关系"选项卡,在改选项卡中做如下的操作。
单击"新建"按钮;从"主键表"中选择"员工数据表",并选择字段"编号"; 从"外键表"中选择"项目数据表",并选择字段"负责人"; 在"关系名"中输入FK_pm 。
单击"关闭"按钮,完成外键约束的设置。
6. 添加检查约束:将"员工数据表"中的字段"工资"的值限定在1000-10000,约束名CK_Salary 。
操作方法为:首先在企业管理器中选中"员工数据表"并单击鼠标右键,在弹出菜单中选择命令"设计表"打开设计表窗口。
然后在该窗口中单击按钮"表和索引属性"按钮,打开表的"属性"对话框。
最后选择"CHECK 约束"选项卡,在改选项卡中做如下的操作:单击标签中"新建"按钮;在"约束表达式"文本框中输入一个条件表达式; (工资>=1000 AND 工资<=10000)在"约束名"对话框中输入所建核查约束名"CK_Salary"。
如图2-3所示。
图2-3方法二:使用Transact-SQL 语句创建数据表并添加约束1. 创建项目数据表 USE TestDB GOCREATE TABLE 项目数据表 (项目编号int PRIMARY KEY,名称varchar(50),负责人int,客户int,开始日期datatime,结束日期datatime)2.创建员工数据表USE TestDBGO(编号int PRIMARY KEY,姓名varchar(50),性别varchar(50),所属部门varchar(50)工资money(8)3.添加外键约束ALTER TABLE 项目数据表ADD CONSTRAINT PK_pmFOREIGN KEY(负责人)REFERENCES 员工数据表(编号)添加检查约束ALTER TABLE 员工数据表ADD CONSTRAINT CK_pmCHECK(工资>=1000 AND 工资<=10000)[习题]在SM数据库中,建立学生的基本信息表student、班级class表、课程表course和选修课成绩表sc。
Course表SC[思考题]什么是临时表?什么是数据完整性?关系数据库有几类完整性?怎么通过SQL Server来实现?实验四表的维护[目的与意义]熟练掌握用企业管理器修改表;能够运用T-SQL语句对表结构进行修改;熟练掌握用企业管理器编辑表中的数据;能够运用T-SQL语句对表中的数据进行插入、修改和删除操作。
[实验内容]1.使用企业管理器为表Student增加一列。
2. 用SQL语句修改表course的列属性,将Cname的长度改为40,且不允许空。
Use SMAlter table course alter column cname varchar(40) not null3. 用SQL语句向表Student中增加列Email,且要求输入的电子邮件地址必须包括“@”字符Use smAlter table student add email varchar(40) null constraint ck_ea check(email like ‘%@%’)4. 用SQL语句删除表Student中的列AddressUse smAlter table student drop column address5. 用SQL语句给表student中的sname添加主键约束Use smAlter table student add constraint pk_name primary key(sname)6. 删除Sname列上的主键约束Use smAlter table student drop constraint pk_name7. 使用with nocheck子句对表student的Sage列添加约束,使学生的年龄为18-25岁。
Alter table student with nocheck add constraint ck_age check(sage>=18 and Sage<=25)With nocheck只对以后改变或插入的行发生作用,而不检查已存在的行。
8. 使约束无效或重新有效Alter table student nocheck constraint ck_eaAlter table student check constraint ck_ea9. 使用企业管理器编辑表Student中的数据(1)启动企业管理器,展开sm数据库,选择“表”,用鼠标右键单击右侧窗口中要编辑的表节点“student”,在弹出的快捷菜单中选择“打开表”----“返回所有行”命令,打开“表中数据”对话框。
(2)插入一条记录(‘03007’,’030002’,’梁栋’,’男’,’1984-10-10’);如果要删除记录,可以单击记录第一列前的按钮,按delete键;如果要修改数据,可以将光标移至需要修改的地方,直接修改。
(3)编辑完毕,单击“关闭”按钮,保存编辑结果。
10. 用SQL语句向表中插入数据(1)将学号为06001、姓名为王立、性别为男的学生记录插入表student中。
insert into student(sno,sname,ssex) values(‘06001’,’王立’,’男’)(2)将一条选课记录插入表sc中Insert inot sc values(‘06001’,’00001’,null)(3)在表student中插入一条学生记录,省略insert into后的列名,查看插入结果Insert into student values(‘06002’,’060001’,’要强’,’男’,’1986-12-12’)(4)新建一个表ss,且结构与表student的结构完全相同,把表student中学号为06001的记录插入到表ss中,再把表student中所有男生的记录插入到表ss 中,查看执行结果Insert into ss select * from student where sno=’06001’Insert into ss select * from student where ssex=’男’11. 用SQL语句修改表中的记录(1)将学生06002的年龄改为20岁Update student set sage=20 where sno=’06002’(2)将所有男生的年龄增加一岁Update student set sage=sage+1 where ssex=’男’(3)将所有选修了数字逻辑课程的学生的成绩加5分Update sc set score=score+5 where cno=(select cno from course where cname=’数字逻辑’12. 用SQL语句删除表中的记录(1)删除学号为06001的记录Delete from student where sno=’06001’(2)删除所有学生的选课记录Deleter from sc[思考题]如果一个表被其他表通过外码约束引用,应该怎样删除?对于表student,分别执行drop table student和delete student两条命令,结果有什么不同?。