




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理与应用实验指导书信息管理与信息系统教研室辽宁工业大学2013年3月目 录实验1 数据库管理工具的使用及数据库的管理1实验2 数据表的管理4实验3 数据查询6实验4 索引和视图及数据完整性9实验5 Transact-SQL程序设计15实验6 存储过程和触发器18实验7 数据库的安全管理、备份恢复、导入导出22 25-25-实验1 数据库管理工具的使用及数据库的管理项目1 数据库管理工具的使用一、实验目的1了解 SQL Server 2000安装对软、硬件的要求,学会安装方法。 2了解 SQL Server的注册和配置方法。 3了解SQL Server 2000包含的主要组件及其功能。 4熟悉企业管理器和查询分析器的界面及基本使用方法。 5对数据库及其对象有一个基本了解。二、实验准备 1了解安装 SQL Server 2000的软、硬件要求。 2了解 SQL Server 2000支持的身份验证模式。Windows的两种服务账户:本地系统账户和域用户账户。 3了解 SQL Server各组件的主要功能。 4对数据库、表和数据库对象有一个基本了解。 5了解在查询分析器中执行SQL语句的方法。三、实验内容及步骤 1根据软、硬件环境的要求,安装 SQL Server 2000。 2通过“开始”“程序”Microsoft SQL Server“服务管理器”,打开“SQL Server 服务管理器”窗口,选择 SQL Server服务。并且通过该窗口“启动”和“停止”SQL Server 服务。 3通过“开始”“程序”Microsoft SQL Server“企业管理器”打开企业管理器窗口。 4在企业管理器中、使用“注册向导”注册服务器。查看本地已住册的 SQL Server。 搜索网络上另一台计算机,并且注册该机上的 SQL Server,注册时使用“Windows认证模 式”或“用我的 SQL Server账户信息自动登录”的连接方式。 5从 SQL企业管理器中注销网络 SQL Server。 6打开本地服务器的属性对话框,查看以下信息:产品名称、主机操作系统、产品的版本、操作平台、主机内存等。 7利用企业管理器访问系统自带的pubs数据库。 (1)以系统管理员身份登录到企业管理器。(2)在企业管理器的树形目录中找到pubs数据库并展开,查看该数据库的所有对象,如表、视图、存储过程、默认和规则等。 (3)选择pubs数据库的“表”选项,在右窗格中将列出pubs数据库的所有表(包括系统表和用户表),选择用户表titles,右击,弹出快捷菜单,从中选择“打开表”“返回所有行”菜单项,打开titles表,查看其内容。 8利用查询分析器访问pubs数据库的表。 (l)通过“开始”“程序”Microsoft SQL Server“查询分析器”方式运行SQL Server查询分析器,或者在企业管理器中,选择“工具”“SQL查询分析器”菜单项,运行SQL Server查询分析器。 (2)在查询分析器窗口中,选择“查询”“更改数据库”菜单项,或者单击常用工具栏中的更改数据库下拉框的下拉按钮,选择要操作的pubs数据库。 (3)在查询分析器的编辑窗口中,输入以下代码: SELECT type,avg(price) FROM titles WHERE royalty10 GROUP BY type (4)选择查询分析器的“查询”“分析”菜单项,或者单击常用工具栏上“分析查询”按钮,查询分析器将对输入的代码进行语法分析,并由消息窗格给出分析结果报告。(5)选择查询分析器的“查询”“执行”菜单项,或者单击常用工具栏上“执行查询”按钮,SQL Server将编译窗口中的代码,并在结果窗格中显示查询结果,如图1所示。图1 查询分析器的编辑窗口四、实验思考 1查询分析器的作用是什么?可以有几种启动查询分析器的方法?2改变查询分析器的当前数据库,使用什么方法?项目2 数据库的管理一、实验目的 1了解SQL Server数据库的逻辑结构和物理结构的特点。 2学会使用企业管理器对数据库进行管理。 3学会使用TransactSQL 语句对数据库进行管理。二、实验准备 1确定能够创建数据库的用户是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2确定要创建的数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长的方式)和存储数据的文件。 3了解常用的创建数据库方法。三、实验内容及步骤 1在企业管理器中创建studentsdb数据库。 (1)运行SQL Server管理器,启动企业管理器,展开服务器“(LOCAL)(Windows NT)”。 (2)右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。在新建数据库对话框的名称文本框中输入学生管理数据库名studentsdb。 2选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“数据文件”、“事务日志”、“文件组”、“选项”和“权限”页面。3打开studentsdb数据库的“属性”对话框,在“数据文件”选项卡中修改studentsdb数据文件的“分配的空间”大小为2MB。指定“最大文件大小”为5MB。在“事务日志”选项卡中修改studentsdb数据库的日志文件的大小在每次填满时自动递增5。4在企业管理器中删除studentsdb数据库。5启动查询分析器,在查询分析器中使用Transact-SQL语句CREATE DATABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。 6在查询分析器中使用 Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。 7在查询分析器中为Studb数据库增加一个日志文件,命名为Studb_Log2,大小为5MB,最大文件大小为10MB。 8使用企业管理器将studb数据库的名称更改为student_db。9使用 TransactSQL语句 DROP DATABASE删除student_db数据库。10创建一个Company数据库,所有文件存放到D盘的SQL目录下。该数据库的主数据文件逻辑名称为Company_data,物理文件名为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。11添加一个包含两个数据文件的文件组和一个事务日志文件到Company数据库中。12删除Company数据库中的一个数据文件,然后删除此数据库。(做到实验报告上)四、实验思考新数据库是否包含SQL Server在主设备中生成的模型数据库内的所有对象?实验2 数据表的管理一、实验目的1学会使用企业管理器和TransactSQL语句 CREATE TABLE和ALTER TABLE创建和修改表。2学会在企业管理器中对表进行插入、修改和删除数据操作。3学会使用TransactSQL语句对表进行插入、修改和删除数据操作。4了解SQL Server的常用数据类型。二、实验准备1了解在企业管理器中实现表数据的操作,如插入、修改和删除等。2掌握用TransactSQL语句对表数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE或 TRANCATE TABLE)操作。三、实验内容1启动企业管理器,展开studentsdb数据库文件夹。2在 studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1、图2和图3所示。 图1学生基本情况表student_info 图2课程信息表curriculum 图3学生成绩表 grade3在企业管理器中创建 student_info、curriculum表。4在企业管理器中,将student_info表的学号列设置为主键,非空。5使用 TransactSQL 语句 CREATE TABLE在 studentsdb数据库中创建grade表。6student_info、curriculum、grade表中的数据如图4、图5和图6所示。图4 student_info的数据图5 curriculum的数据 图6 grade的数据 7在企业管理器中为student_info、curriculum、grade表添加数据。 8使用 TransactSQL 语句INSERT INTOVALUES向studentsdb数据库的grade表插入以下数据: 学号 课程编号 分数 0004 0001 80 9使用 TransactSQL 语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。 10使用 TransactSQ L语句ALTER TABLE修改grade表的“分数”列,使其数据类型为real。11使用 TransactSQL语句ALTER TABLE修改student_info表的“姓名”列,使其列名为“学生姓名”,数据类型为varchar(10),非空。sp_rename student_info.姓名,学生姓名 ALTER TABLE student_infoALTER column 学生姓名 varchar(10) not null 12分别使用企业管理器和TransactSQL语句DELETE删除studentsdb数据库的grade表中学号为0004的成绩记录。 DELETE grade WHERE学号=0004 13使用TransactSQL语句UPDATE修改studentsdb数据库的grade表中学号为0003、课程编号为0005、分数为90的成绩记录。 UPDATE grade SET分数=90 WHERE学号=0003 and课程编号= 0005 14使用Transact-SQL语句ALTERADD为studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。 ALTER TABLE grade ADD备注 VARCHAR(20)NULL 15分别使用企业管理器和TransactSQL语句 DROP TABLE删除studentsdb数据库中grade表。四、实验思考 1使用TSQL语句删除在studentsdb数据库的grade表添加的“备注”数据列。 2在企业管理器中,studentsdb数据库的student_info表的数据输入时,如果输入相同学号有什么现象?怎样避免该情况的发生?实验3 数据查询一、实验目的 1掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 2掌握使用SELECT语句进行条件查询的方法。 3掌握嵌套查询的方法。 4掌握多表查询的方法。 5掌握SELECT语句的GROUP BY和ORDER BY子句的作用和使用方法; 6掌握联合查询的操作方法。 7掌握数据更新语句 INSERT INTO、UPDATE、DELETE的使用方法。二、实验准备 1了解SELECT语句的基本语法格式和执行方法。 2了解嵌套查询的表示方法。 3了解UNION运算符的用法。 4了解SELECT语句的GROUP BY和ORDER BY子句的作用。 5了解IN、JOIN等子查询的格式。 6了解 INSERT INTO、UPDATE、DELETE的格式与作用。三、实验内容和步骤 1在studentsdb数据库中,使用下列SQL语句将输出什么? (1) SELECT COUNT(*)FROM grade (2)SELECT SUBSTRING(姓名,1,2)FROM student_info (3)SELECT UPPER(kelly) (4)SELECT Replicate(kelly,3) (5)SELECT SQRT(分数)FROM grade WHERE分数=85 (6)SELECT 2,3,POWER(2,3) (7)SELECT YEAR(GETDATE(),MONTH(GETDATE(),DAY(GETDATE() 2在studentsdb数据库中使用SELECT语句进行基本查询。 (1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。 (2)查询学号为0002的学生的姓名和家庭住址。(3)找出所有男同学的学号和姓名。3使用SELECT语句进行条件查询(1)在grade表中查找分数在8090范围内的学生的学号和分数。(2)在grade表中查询课程编号为0003的学生的平均分。(3)在grade表中查询学习各门课程的人数。(4)将学生按出生日期由大到小排序。(5)查询所有姓“张”的学生的学号和姓名。SELECT学号,姓名 FROM student_lnfo WHERE姓名LIKE张4嵌套查询(1)在student_lnfo表中查找与“刘卫平”性别相同的所有学生的姓名、出生日期。 SELECT 姓名,出生日期 FROM student_lnfo WHERE性别= (SELECT性别 FROM student_lnfo WHERE姓名=刘卫平)(2)使用IN子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。 SELECT学号,姓名,性别 FROM student_info WHERE student_info学号 IN (SELECT学号 FROM grade WHERE课程编号IN(0002,0005)(3)列出学号为0001的学生的分数比0002的学生的最低分数高的课程编号和分数。 SELECT 课程编号,分数 FROM grade WHERE学号=0001AND分数ANY (SELECT分数 FROM grade WHERE学号=0002)(4)列出学号为0001的学生的分数比学号为0002的学生的最高成绩还要高的课程编号和分数。5多表查询(1)查询分数在8090范围内的学生的学号、姓名、分数。 SELECT student_info学号,姓名,分数 FROM student_info,grade WHERE student_info学号=grade学号 AND分数 BETWEEN 80 AND 90(2)查询学习“ C语言程序设计”课程的学生的学号、姓名、分数。 SELECT student_info学号,姓名,分数 FROM student_info INNER JOIN grade ON student_info学号=grade学号 INNER JOIN curriculum ON课程名称=C语言程序设计(3)查询所有男同学的选课情况,要求列出学号、姓名、课程名称、分数。(4)查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程编号、分数。(5)查询所有学生的总成绩,要求列出学号、总成绩,没有选修课程的学生的总成绩为空。提示:使用左外连接。(6)为grade表添加数据行:学号0004、课程编号为0006、分数为76。查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum 表中没有的课程列值为空。提示:使用右外连接。6、使用UNION运算符将student_lnfo表中姓“张”的学生的学号、姓名与curriculum 表的课程编号、课程名称返回在一个表中,且列名为u_编号、u_名称。7数据更新(1)创建totalgrade表,具有数据列:学号、姓名、总成绩。 CREATE TABLE totalgrade (学号 char(4)NOT NULL, 姓名 varchar(8)Null, 总成绩 decimal(5,2)NULL)(2)使用INSERT INTO语句通过student_lnfo表更新totalgrade表的学号、姓名列数据。 INSERT INTO totalgrade SELECT学号,姓名,总成绩=0 FROM student_info(3)使用UPDATE语句通过grade表更新totalgrade表的总成绩列数据,使totalgrade表中每个学生的总成绩为grade表中该学生各成绩之和。UPDATE totalgrade SET总成绩=(SELECT SUM(分数)FROM grade WHERE totalgrade学号=grade学号)FROM grade(4)删除totalgrade表中没有总成绩的学生记录。四、实验思考1查询所有没有选修课程的学生信息,返回结果包括学号、姓名、性别。2在student_lnfo表和grade表之间实现交叉连接。3查询每个学生的所选课程的成绩,并列出学号生成分组汇总行(总成绩)和明细行(各课成绩)。提示:使用 SELECT语句的 COMPUTE选项。实验4 索引和视图及数据完整性项目1 索引和视图一、实验目的1学会使用企业管理器和 Transact-SQL语句CREATE INDEX创建索引。 2学会使用企业管理器查看索引。3学会使用企业管理器和Transact-SQL语句DROP INDEX删除索引。4掌握使用企业管理器、向导等创建、管理和删除全文索引,并使用全文索引查询信息的方法。5掌握使用企业管理器和Transact-SQL语句CREATE VIEW创建视图的用法。6掌握系统存储过程sp_rename的用法。7掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。二、实验准备1了解聚集索引和非聚集索引的概念。2了解使用Transact-SQL语句CREATE INDEX创建索引的语法。3了解使用企业管理器创建索引的步骤。4了解Transact-SQL语句 DROP INDEX删除索引的用法。5了解创建视图的Transact-SQL语句CREATE VIEW的语法格式及用法。6了解修改视图的Transact-SQL语句ALTER VIEW的语法格式。7了解视图更名的系统存储过程sp_rename的用法。8了解删除视图的Transact-SQL语句DROP VIEW的用法。三、实验内容l分别使用企业管理器和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。2使用企业管理器按curriculum表的课程编号列创建唯一性索引。3分别使用企业管理器和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 CREATE INDEX grade_lndex ON grade(分数)4为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 CREATE UNIQUE INDEX grade_id_c_ind ON grade(学号,课程编号)5分别使用企业管理器和系统存储过程sp_helpindex查看grade表和student_info表上的索引信息。 sp_helpindex grade6使用企业管理器的向导”工具对grade表创建一个聚集索引和唯一索引。7使用系统存储过程sp_rename将索引grade_index更名为grade_ind。 sp_rename gradegrade_index, grade_ind,INDEX 8分别使用企业管理器和Transact-SQL语句 DROP INDEX删除索引grade_ind。再次使用系统存储过程sp_helpindex查看grade表上的索引信息。 DROP INDEX gradegrade_ind 9分别使用企业管理器和系统存储过程sp_fulltext_database为studentsdb数据库启用全文检索。10分别使用企业管理器和系统存储过程sp_fulltext_catalog为studentsdb数据库建立全文目录,命名为FT_stu。为student_info表建立全文索引数据元。 execute sp_fulltext_catalog FT_stu,create exec sp_fulltext_table student_info,create,FT_stu,PK_ student_info 在建立全文索引数据元之前保证已为student_info表建立了PK_ student_info索引。11为student_info表设置全文索引列名为家庭住址。在全文目录中注册该表,激活表的全文检索能力。 column student_info,家庭住址,add execute sp_fulltext_ table student_info,activate12填充全文目录,检查全文目录填充情况。 execute sp_fulltext_catalogFT_stu,start_full While(fulltextcatalogproperty(FT_stu,populateStatus)0) BEGIN waitfor delay,0:0:30如果全文目录正处于填充状态,则等待30s后再检测一次 END13在student_info表中,分别使用CONTAINS和FREETEXT函数通过全文目录检索家庭住址包含25号的记录。 SELECT姓名,家庭住址 FROM student_info WHERE CONTAINS(家庭住址,25号)14使用系统存储过程从studentsdb数据库中禁用全文检索。15在studentsdb数据库中,以student_info表为基础,使用企业管理器建立名为v_stu_i的视图,使视图显示学生姓名、性别、家庭住址。16在 studentsdb数据库中,使用Transact-SQL语句 CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。17基于student_info表、curriculum表和grade表,建立一个名为v_stu_g的视图,视图中具有所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g查询学号为0001的学生的所有课程与成绩。 18分别使用企业管理器和Transact-SQL语句修改视图v_stu_c,使之显示学号、姓名、每个学生所学课程数目。19使用Transact-SQL语句 ALTER VIEW修改视图v_stu_i,使其具有列名学号、姓名、性别。 ALTER VIEW v_stu_i(学号,姓名,性别) AS SELECT学号,姓名,性别 FROM student_info 20使用系统存储过程sp_rename将视图v_stu_i更名为v_stu_info。 sp_rename v_stu_i,v_stu_info21利用视图v_stu_i为student_info表添加一行数据:学号为0015、姓名为陈婷、性别为女。22利用视图v_stu_i删除学号为0015的学生记录。23利用视图v_stu_g修改姓名为刘卫平的学生的高等数学的分数为84。24使用Transact-SQL语句 DROP VIEW删除视图v_stu_c和v_stu_g。四、实验思考1是否可以通过视图v_stu_g修改grade表中学号列数据?2通过对视图上的操作,比较通过视图和基表操作数据的异同。项目2 数据完整性一、实验目的1掌握企业管理器和Transact-SQL语句(CREATE RULE、DROP RULE)创建和删除规则的方法。2掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_help、sp_helptext查询规则信息、sp_rename更名规则的方法。3掌握企业管理器和Transact-SQL语句(CREATE DEFAULT、DROP DEFAULT)创建和删除默认对象的方法。4掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_help、sp_helptext查询规则信息、sp_rename更名规则的方法。5掌握企业管理器和Transact-SQL语句(CREATE TABLE、ALTER TABLE)定义和删除约束的方法,并了解约束的类型。二、实验准备1了解数据完整性概念。2了解创建规则和删除规则的语法,了解绑定规则和解除绑定规则的语法。3了解创建默认对象和删除默认对象的语法,了解绑定和解除绑定默认对象的语法。4了解约束的类型、创建约束和删除约束的语法。三、实验内容和步骤1为studentdb数据库创建一个规则,限制所输入的数据为7位09的数字。 (1)复制student_info表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。完成以下代码实现该操作。 SELECT * INTO stu_phone FROM student_info ALTER TABLE stu_phone ADD_ CHAR(7)NULL stu_phone表结构如图1所示。 图1 stu_phone表结构(2)创建一个规则phone_rule,限制所输入的数据为7位09的数字。实现该规则的代码为 CREATE_ phone_rule AS Phone LIKE 0-90-90-90-90-90-90-9 (3)使用系统存储过程sp_bindrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。实现该操作的代码为 sp_bindrule_,stu_phone电话号码 (4)输入以下代码,进行一次插入操作: INSERT INTO stu_phone(学号,姓名,电话号码)VALUES(0009,王国强,1234yyy) 产生以下出错信息: 服务器:消息513,级别16,状态1,行1列的插入或更新与先前的 CREATE RULE语句所强制的规则冲突。该语句己终止。冲突发生于数据库studentsdb。表stu_phone,列电话号码试分析:为什么会产生该出错信息?如果要实现插入操作,应修改INSERT INTO语句中的哪个值?phone_rule规则能否对其他操作(如 DELETE)进行规则检查?2使用企业管理器实现实验内容1的每个操作。3创建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。4使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext查询stusex_rule规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。5删除stu_s_rule规则。 注意:stu_s_rule为stusex_rule更名后规则名,是否仍然绑定在stu_phone表的“性别”列上,应如何操作才能删除它。6在 studentdb数据库中,建立日期、货币和字符等数据类型的默认对象。 (1)在查询分析器中,完成以下代码,创建默认对象df_date、df_char、df_money。 一创建日期型默认对象df_date CREATE_df_date AS2006-4-12 GO 一创建字符型默认对象df_char CREATE DEFAULT df_char _unknown GO 一创建货币型默认对象df_money CREATE DEFAULT_ AS 100 GO(2)输人以下代码,在studentsdb数据库中创建stu_fee数据表。 CREATE TABLE stu_fee (学号 char(10)NOT NULL, 姓名 char(8) NOT NULL, 学费money , 交费日期 datetime, 电话号码 char(7)(3)使用系统存储过程sp_bindefault将默认对象df_date、df_char、df_money分别绑定在stu_fee表的“学费”、“交费日期”、“电话号码”列上。 _df_money,stu_fee学费 GO sp_bindefault_,stu_fee交费日期 GO sp_bindefault df_char, stu_fee电话号码 GO (4)输人以下代码,在stu_fee表进行插入操作: INSERT INTO stu_fee(学号,姓名)values(0001,刘卫平) INSERT INTO stu_fee(学号,姓名,学费)values(0001,张卫民,120) INSERT INTO stu_fee(学号,姓名,学费,交费日期) VALUES(0001,马东,110,2006-5-12) 分析stu_fee表中插入记录的各列的值是什么? (5)完成以下代码解除默认对象 df_char的绑定,并删除之。 _stu_fee电话号码 _DEFAULT df _Char 按同样的方式,删除默认对象df_date、df_money。7使用企业管理器创建默认对象df_date、df_money,并将它们分别绑定到stu_fee表的“学费”、“交费日期”、“电话号码”列上,在插入操作中观察stu_fee表的数据变化情况,操作完成后,删除这些默认对象。8为student_info表添加一列,命名为“院系”,创建一个默认对象stu_d_df,将其绑定到student_info表的“院系”列上,使其默认值为“信息院”,对student_info表进行插入操作,操作完成后,删除该默认对象。分别使用企业管理器和查询分析器实现。9在studentsdb数据库中用CREATE TABLE语句创建表stu_con,并同时创建约束。 (l)创建表的同时创建约束。 表结构如图2所示。 约束要求如下:将学号设置为主键(PRIMARY KEY), 图2 要创建的表的结构主键名为pk_sid. 为姓名添加唯一约束(UNIQUE),约束名为uk_name. 为性别添加默认约束(DEFAULT),默认名称为df_sex,其值为“男”。 为出生日期添加属性值约束(CHECK,约束名为ck_bday,其检查条件为:出生日期1988-1-l(2)在stu_con表中插入如表1-1所示的数据记录。表1-1在stu_con表中插入的数据 学号 姓名 性别 出生日期 家庭住址 0009 张小东 1989-4-6 0010 李梅 女 1983-8-5 0011 王强 1988-9-10 0012 王强 1989-6 -3 分析各约束在插入记录时所起的作用,查看插入记录后表中数据与所插入的数据是否一致?(3)使用ALTER TABLE语句的DROP CONSTRAINT参数项在查询分析器中删除为stu_con表所建的约束。10用企业管理器完成实验内容9的所有设置。11在查询分析器中,为studentsdb数据库的grade表添加外键约束(FOREIGNKEY),要求将“学号”设置为外键,参照表为studentinfo,外键名称为fk_sid。 使用系统存储过程sp_help查看grade表的外键信息。 在grade表中插入以下记录,观察SQL Server会做何处理,为什么?如何解决所产生的问题? 学号课程编号分数 0100000178 使用查询分析器删除grade表的外键fk_sid。四、实验思考 1在SQL Server 2000中。可采用哪些方法实现数据完整性? 2比较默认对象和默认约束的异同。实验5 Transact-SQL程序设计一、实验目的1掌握Transact-SQL的数据类型、常量变量、表达式等概念。2掌握程序中注释的基本概念和使用方法。3掌握程序中的流程控制语句。4掌握SQL Server 2000中常用函数的用法。5掌握游标的概念和声明方法,以及使用游标进行数据的查询、修改、删除操作等。二、实验准备1了解程序中注释的语法格式。2了解程序中的流程控制语句:IFELSE、CASE、WHILE等控制流语句。3了解系统提供的常用数学函数、日期和时间函数、字符串函数和数据类型转换函数的用法。4了解函数的使用方法。5了解游标的使用方法。三、实验内容和步骤1在查询分析器中,选择studentsdb数据库,输入以下代码。 DECLARE stu_ name varchar(l0) SELECTstu_ name =姓名 FROM student_ info WHERE姓名 LIKE张 SELECT stu_ name 观察显示的结果,与student_ info表中数据进行比较,stu_ name赋值的是SELECT结果集中的哪个数据?2定义int型局部变量grademax、grademin、gradesum,在 grade表中查找最高分、最低分和总分,分别赋给grademax、grademin、gradesum,并显示。DECLAREgrademax int,grademin int,gradesum intSELECTgrademax=max(分数),grademin=min(分数),gradesum=sum(分数)FROM gradeSELECT grademax,grademin ,gradesum 3使用SET命令将查询的结果数目赋值给int型局部变量row。给下面代码中的划线处填上适当的内容,以完成上述操作。 DECLARE rows SET_(SELECT COUNT(*)FROM grade) _rows 一显示rows的值4以下代码在 curriculum表中插入新记录: DECLARE intCId int,intErrorCode int INSERT INTO curriculum(课程编号,课程名称,学分) VALUES(0006,VB程序设计,2) SELECT intCId=identity,intErrorCode=error SELECT intCId,intErrorCode将该代码段连续执行两次,观察两次显示的信息及curriculum表中数据的变化,为什么前后两次执行时显示的信息会不同?5在 studentsdb数据库的student_info表中,以“性别”为分组条件,分别统计男生和女生人数。6在grade表中,使用适当函数找出“高等数学”课程的最高分、最低分和平均分。7定义一个 datetime型局部变量studate,以存储当前日期。计算 student_info表中的学生的年龄,并显示学生的姓名、年龄。在以下代码的划线部分填入适当内容,以实现上述功能。 DECLARE_datetime SETstudate=_ 一给studate赋值为当前日期 SELECT姓名,_(studate)year(出生日期)AS年龄 FROM student_info8运行以下代码,写出运行结果。 DECLARE a ni
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 有关安全的施工规范
- 静脉血气操作技巧
- 学校危房加固方案范本
- 临泽硅pu跑道施工方案
- 宁夏葡萄酒与防沙治沙职业技术学院《医学显微形态学(一)》2023-2024学年第一学期期末试卷
- 重庆资源与环境保护职业学院《电脑辅助设计一(AutoCAD)》2023-2024学年第二学期期末试卷
- 新疆轻工职业技术学院《临床医学概要2》2023-2024学年第二学期期末试卷
- 山西卫生健康职业学院《网球》2023-2024学年第二学期期末试卷
- 《全球文化交流盛宴》课件
- 四川师范大学《医学科研方法入门及设计》2023-2024学年第二学期期末试卷
- 骆驼祥子考点单选题100道及答案解析
- 新教科版小学1-6年级科学需做实验目录
- 挖机大中斗油封资料,液压泵资料
- 技术开发部个人技能矩阵图
- 住院患者探视登记表
- 废气处理工程施工方案模板
- 境外所得个税新政解析PPT课件
- 工程网络计划技术概述
- 《不定期船营运管理模拟系统》实验指导书
- 华上集团基本法讲述
- s参数定义、矢量网络分析仪基础知识和s参数测量义讲
评论
0/150
提交评论