当前位置:文档之家› 数据库技术与应用实验八

数据库技术与应用实验八

数据库技术与应用实验八
数据库技术与应用实验八

实验8 存储过程和触发器

1.实验目的

(1)掌握通过SQL Server管理平台和Transact-SQL语句CREATE PROCEDURE 创建存储过程的方法和步骤。

(2)掌握使用Transact-SQL语句EXECUTE执行存储过程的方法。

(3)掌握通过SQL Server管理平台和Transact-SQL语句ALTER PROCEDURE 修改存储过程的方法。

(4)掌握通过SQL Server管理平台和Transact-SQL语句DROP PROCEDURE

删除存储过程的方法。

(5)掌握通过SQL Server管理平台和Transact-SQL语句CREATE TRIGGER

创建触发器的方法和步骤。

(6)掌握引发触发器的方法。

(7)掌握使用SQL Server管理平台或Transact-SQL语句修改和删除触发器。(8)掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。2.实验内容及步骤

(1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print,该存储过程能够显示26个小写字母。

CREATE PROCEDURE letters_print

AS

DECLARE @count int

SET @count=0

WHILE @count<26

BEGIN

PRINT CHAR(ASCII('a')+ @count)

SET @count=@count +1

END

单击查询分析器的“执行查询”按钮,查看studentsdb数据库的存储过程是否有letters_print。

使用EXECUTE命令执行letters_print存储过程。

(2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。

CREATE PROCEDURE stu_info @name varchar(40)

AS

SELECT a.学号,姓名,课程编号,分数

FROM student_info a INNER JOIN grade ta

ON a.学号= ta.学号

WHERE 姓名= @name

使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。

如果存储过程stu_info执行时没有提供参数,要求能按默认值查询(设姓名为“刘卫平”),如何修改该过程的定义?

(3)使用studentsdb数据库中的student_info表、curriculum表、grade表。

①创建一个存储过程stu_grade,查询学号为0001的学生的姓名、课程名称、分数。

②执行存储过程stu_grade,查询0001学生的姓名、课程名称、分数。

③使用系统存储过程sp_rename将存储过程stu_grade更名为stu_g。

(4)使用student_info表、curriculum表、grade表。

①创建一个带参数的存储过程stu_g_p,当任意输入一个学生的姓名时,将从3个表中返回该学生的学号、选修的课程名称和课程成绩。

②执行存储过程stu_g_p,查询“刘卫平”的学号、选修课程和课程成绩。

③使用系统存储过程sp_helptext,查看存储过程stu_g_p的文本信息。(5)使用student_info表。

①创建一个加密的存储过程stu_en,查询所有男学生的信息。

②执行存储过程stu_en,查看返回学生的情况。

③使用Transact-SQL语句DROP PROCEDURE删除存储过程stu_en。

(6)使用grade表。

①创建一个存储过程stu_g_r,当输入一个学生的学号时,通过返回输出参数获取该学生各门课程的平均成绩。

②执行存储过程stu_g_r,输入学号0002。

③显示0002号学生的平均成绩。

(7)输入以下代码,复制student_info表命名为stu2,为stu2表创建一个触发器stu_tr,当stu2表插入一条记录时,为该记录生成一个学号,该学号为学号列数据的最大值加1。

--复制student_info表命名为stu2

SELECT * INTO stu2 FROM student_info

GO

--为stu2表创建一个INSERT型触发器stu_tr

CREATE TRIGGER stu_tr

ON stu2 FOR INSERT

AS

DECLARE @max char(4)

SET @max=(SELECT MAX(学号) FROM stu2)

SET @max=@max+1

UPDATE stu2 SET 学号=REPLICATE('0',4-len(@max))+@max

FROM stu2 INNER JOIN inserted on stu2.学号=inserted.学号

执行以上代码,查看studentsdb数据库中是否有stu2表,展开stu2,查看其触发器项中是否有stu_str触发器。

在查询设计器的编辑窗口输入以下代码:

INSERT INTO stu2(学号,姓名,性别) VALUES('0001','张主','女')

运行以上代码,查看stu2表的变化情况,为什么插入记录的学号值发生了改变?(8)为grade表建立一个名为insert_g_tr 的INSERT触发器,当用户向grade 表中插入记录时,如果插入的是在curriculum表中没有的课程编号,则提示用户不能插入记录,否则提示记录插入成功。在进行插入测试时,分别输入以下数据:

学号课程编号分数

0004 0003 76

0005 0007 69

观察插入数据时的运行情况,说明为什么?

(9)为curriculum表创建一个名为del_c_tr的DELETE触发器,该触发器的作用是禁止删除curriculum表中的记录。

(10)为student_info表创建一个名为update_s_tr的UPDATE触发器,该触发器的作用是禁止更新student_info表中的“姓名”字段的内容。

(11)使用Transact-SQL语句DROP TRIGGER删除update_s_tr触发器。(12)为student_info表建立删除触发器del_s_tr,要求当student_info表的记录被删除后,grade表中相应的记录也能自动删除。

(13)在studentsdb数据库中,执行以下事务处理过程,说明这些事务属于哪一种事务类型(隐性事务、显性事务或自动式事务)。

BEGIN TRANSACTION

INSERT INTO student_info(学号,姓名) VALUES('0009','李青') COMMIT TRANSACTION

SET IMPLICIT_TRANSACTIONS ON

GO

INSERT INTO grade(学号,课程编号) VALUES('0005','0007')

GO

IF ((SELECT count(*) FROM curriculum WHERE 课程编号='0007')=0)

实验:数据库综合查询

实验六:数据库综合查询 一、实验目的 1.掌握SELECT语句的基本语法和查询条件表示方法; 2.掌握查询条件种类和表示方法; 3.掌握连接查询的表示及使用; 4.掌握嵌套查询的表示及使用; 5.了解集合查询的表示及使用。 二、实验环境 已安装SQL Server 2005 企业版的计算机(13台); 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解SELECT语句的基本语法格式和执行方法; 2.了解连接查询的表示及使用; 3.了解嵌套查询的表示及使用; 4.了解集合查询的表示及使用; 5.完成实验报告; 五、实验内容及步骤 以数据库原理实验5数据为基础,请使用T-SQL 语句实现进行以下操作:1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况; USE student SELECT'课程号'=Cno,'课程名'=Cname,'先行课号'=Cpno,'学分'=Ccredit FROM course WHERE SUBSTRING(Cname,1,3)='DB_'AND SUBSTRING(RIGHT(RTRIM(Cname),3),1,1)='s' 2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;USE student SELECT'姓名'=student.Sname,'学号'=student.Sno,'课程号'=https://www.doczj.com/doc/451048383.html,o,'课程名'=https://www.doczj.com/doc/451048383.html,ame FROM student,course,sc

student.Sno=sc.Sno AND https://www.doczj.com/doc/451048383.html,o=https://www.doczj.com/doc/451048383.html,o AND SUBSTRING(LTRIM(student.Sname),2,1)='阳' 3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号 及成绩; USE student SELECT '学号'=student.Sno, '姓名'=student.Sname, '所在院系'=student.Sdept, '课程号'=https://www.doczj.com/doc/451048383.html,o, '成绩'=sc.Grade FROM student,course,sc WHERE student.Sno=sc.Sno AND https://www.doczj.com/doc/451048383.html,o=https://www.doczj.com/doc/451048383.html,o AND (https://www.doczj.com/doc/451048383.html,ame='数学'OR https://www.doczj.com/doc/451048383.html,ame='大学英语') 4.查询缺少成绩的所有学生的详细情况; USE student SELECT student.* FROM student,sc

《数据库技术与应用 》实验报告

《数据库技术与应用》上机实验报告 目录: 一、概述 二、主要上机实验内容 1.数据库的创建 2.表的创建 3.查询的创建 4.窗体的创建 5.报表的创建 6.宏的创建 三、总结 一、概述 (一)上机内容: 第七周:熟悉Access界面,数据库和表的创建,维护与操作 1. 熟悉Access的启动,推出,界面,菜单,工具栏等; 2. 练习使用向导创建数据库、创建空数据库; 3. 练习创建表结构的三种方法(向导、表设计器、数据表)、表中字段属性设置; 4. 练习向表中输入不同类型的数据; 5. 练习创建和编辑表之间的关系; 6. 练习表的维护(表结构、表内容、表外观) 7. 练习表的操作(查找、替换、排序、筛选等) 第八周:练习创建各种查询 1.选择查询(单表、多表、各种查询表达式) 2.参数查询 3.交叉表查询 4.操作查询(生成查询、删除查询、更新查询、追加查询) 第十周:练习创建各种类型的窗体 1.自动创建纵栏式窗体和表格式窗体; 2.向导创建主|子窗体

3.图表窗体的创建 4.练习通过设计器创建窗体 5.练习美化窗体 第十三周:练习创建各种类型的报表 1.自动创建纵栏式报表和表格式报表; 2.向导创建报表(多表报表、图表报表、标签报表) 3.练习通过设计视图创建报表(主|子报表、自定义报表) 4.练习在报表中添加计算字段和分组汇总数据 第十五周:综合应用 1.了解Access数据库系统开发的一般方法; 2.课程内容的综合练习; 3.编写上机实验报告、答疑 (二)上机完成情况 第七周:熟悉Access界面,数据库和表的创建,维护与操作 完成了创建表,向表中输入不同类型的数据,创建和编辑表之间的关系,进行了表的维护,修改了表的结构、内容、外观,最后进行了表的操作,查找、替换、排序、筛选等。 已完成 第八周:练习创建各种查询 练习选择查询、参数查询、交叉表查询,然后练习并操作查询,生成查询、删除查询、更新查询、追加查询等。 已完成 第十周:练习创建各种类型的窗体 自动创建纵栏式窗体和表格式窗体,向导创建主|子窗体和图表窗体,练习通过设计器创建窗体,美化窗体。 基本完成 第十三周:练习创建各种类型的报表 自动创建纵栏式报表和表格式报表,向导创建报表,练习通过设计视图创建报表,在报表中添加计算字段和分组汇总数据。 已完成 第十五周:综合应用

数据库 教务管理系统 综合实验报告

华北科技学院计算机系综合性实验 实验报告 课程名称《数据库系统A》 实验学期2011 至2012 学年第 2 学期学生所在系部计算机学院 年级2010 专业班级网络B101班 学生姓名学号 任课教师 实验成绩 计算机系制

《数据库系统A》课程综合性实验报告 一、实验目的 利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。 二、设备与环境 (1) 硬件设备:PC机一台 (2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2008等。 三、实验内容 1.需求分析 首先,通过调查,教务管理系统中主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。对应这些用户,其处理要求的主要的功能就是进行一系列的查询和各类数据的管理及维护。其具体的处理要求如下: 1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销等功能。 2)教务管理:实现教务管理人员对系统的管理,包括课程安排,成绩审核,学生成绩管理,学生学籍管理等功能。 3)基本信息:实现显示学生和老师以及课程、班级、系别的基本信息(包括学生基本信息,教师基本信息,课程基本信息等)。 4)查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带班的学生,自己的课表以及学生成绩等。 5)教师对成绩的录入以及自己信息的查询与维护。 其次,该教务管理系统中,结合以上用户种类以及其具体的处理功能要求,教务管理系统要具备以下信息要求: 教务管理系统涉及的实体有: 教师——工作证号、姓名、电话、工资、邮箱; 学生——学号、姓名、性别、年龄、系代号等; 班级——班号、最低总学分等; 系——系代号、系名和系办公室电话等; 课程——课序号、课名、学分、最大人数等; 其中,这些实体之间的联系如下: 每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。 每个班的班主任都由一名教师担任 一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一

数据库原理与应用实

数据库原理与应用实验2-3

实验2.3 视图的定义和操作 一、实验目的: 理解视图的概念,掌握视图的使用方法。 二、实验过程 1.对应HRM 数据库,参照前面实验中完成的查询,按如下要求自行设计视图: 1)基于单个表按投影操作定义视图。举例:定义一个视图用以查看所有员工的编号、姓名和出生日期。 CREATE VIEW Departments_View AS SELECT* FROM Departments 2)基于单个表按选择操作定义视图。举例:定义一个满足sex=’true’的员工的所有信息的视图。 CREATE VIEW Employee_view AS SELECT * FROM Employee WHERE Sex = 'TRUE'

3)基于单个表按选择和投影操作定义视图。举例:定义一个视图用以查看部门号码为‘2’的所有员工的姓名、电话和邮件地址。 CREATE VIEW Employee_view1 AS SELECT Name, PhoneNumber, EmailAddress FROM Employee WHERE DepartmentID = '2' 4)基于多个表根据连接操作定义视图。举例:定义一个视图用以查看所有员工的姓名、部门名及工资。 CREATE VIEW Employee_Departments_Salary_View(Name, Department, Salary) AS SELECT https://www.doczj.com/doc/451048383.html,,b.DepartmentName,c.Income-c.OutCome FROM Employee a, Departments b, Salary c WHERE a.EmployeeID = c.EmployeeID AND a.DepartmentID = b.DepartmentID;

《数据库技术与应用》

《数据库技术与应用》 课程教学大纲(及实验教学大纲) 第一部分课程教学大纲 课程名称:数据库技术与应用(Application of Database Technology) 授课教师: 答疑时间: 办公室:信息管理与工程学院 课程类别:限定选修课(模块V、挂牌、财经类专业学生计算机应用基础选修课) 课程时间安排:2012年2月—2012年6月 授课时间: 授课地点:教育技术中心 授课安排调整:节日放假,课程内容顺延 期末考试时间:第17周(随堂闭卷笔试) 教学课时数: 2 × 17 = 34课时(课后课程实验8课时) 课程网址:上财教学网 指定教材: 崔敬东于长锐崔丽丽编著。数据库技术与应用——面向业务分析的Access 2003。清华大学出版社,2011 参考书目: 亚历山大著梁普选刘玉芬等译。Access数据分析宝典。电子工业出版社,2006 布鲁特曼等著,付宇光等译。Access Cookbook中文版:数据分析详解。清华大学出版社,2008 预备知识: 本课程为财经类专业学生的计算机应用基础选修课,假设学生已经掌握计算机应用的基本技能和关于计算机的基础知识,主要着重于计算机基本概念、基本原理、基础知识和基本操作。 教学目的: 本课程教学目的在于向学生较全面地介绍关系数据库技术的基本知识和一般原理,使学生在理解数据在关系数据库中的组织形式、数据彼此的逻辑联系及联系方式等基本范畴的基础上,掌握基于关系数据库技术的数据分析方法,并能够熟练地应用Microsoft Access关系数据库管理系统软件提取数据、加工数据和对数据进行组织输出。同时,通过上机操作、练习和实验,使学生加深对关系数据库理论的理解和认识,提高综合分析问题和解决问题的能力,并掌握利用Microsoft Access工具从数据库中查询数据和设计业务报表的方法。 课堂练习: 由于本课程的重点是数据库理论和技术的实际应用,因此具有很强的操作实验性质,所以要求学生一

数据库技术与应用(第二版)课后答案

第1章习题参考答案 1.思考题 (1)什么是数据库、数据库管理系统、数据库系统?它们之间有什么联系? 答:数据库是存贮在计算机的有结构的数据集合;数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;数据库系统指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。 (2)当前,主要有哪几种新型数据库系统?它们各有什么特点?用于什么领域,试举例说明?答:主要有:分布式数据库、面向对象数据库、多媒体数据库、数据仓库技术、空间数据库。 (3)什么是数据模型?目前数据库主要有哪几种数据模型?它们各有什么特点? 答:数据模型是一组描述数据库的概念。这些概念精确地描述数据、数据之间的关系、数据的语义和完整性约束。很多数据模型还包括一个操作集合。这些操作用来说明对数据库的存取和更新。数据模型应满足3方面要求:一是能真实地模拟现实世界;二是容易为人们理解;三是便于在计算机上实现。目前在数据库领域,常用的数据模型有:层次模型、网络模型、关系模型以及最近兴起的面向对象的模型。 (4)关系数据库中选择、投影、连接运算的含义是什么? 答: 1)选择运算:从关系中筛选出满足给定条件的元组(记录)。选择是从行的角度进行运算,选择出的记录是原关系的子集。 2)投影运算:从关系中指定若干个属性(字段)组成新的关系。投影是从列的角度进行运算,得到的新关系中的字段个数往往比原关系少。 3)连接运算:将两个关系按照给定的条件横向拼接成新的关系。连接过程是通过两个关系中公有的字段名进行的。 (5)关键字段的含义是什么?它的作用是什么? 答:一个关系中可以确定一个字段为关键字段,该字段的值在各条记录中不能有相同的值。(如:门牌);关键字段的作用主要是为建立多个表的关联和进行快速查询。 (6)什么是E-R图?E-R 图是由哪几种基本要素组成?这些要素如何表示? 答:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素有3种,即实体、属性和联系。其表示方法为:用矩形框表示现实世界中的实体,用菱形框表示实体间的联系,用椭圆形框表示实体和联系的属性,实体名、属性名和联系名分别写在相应框。 ABAAC ABCAA 第2章习题解答 1. 思考题 (1)在SQL Server 2008中的数据库中包含哪些对象?其中什么对象是必不可少的?其作用又是什么? 答:SQL Server 2008中的数据库对象主要包括数据库关系图、表、视图、同义词、可编程性、Service Broker、存储和安全性等。其中表对象是必不可少的。表是由行和列构成的集合,用来存储数据。 (2)SQL Server提供的系统数据库master它的作用是什么?用户可以删除和修改吗?为什么?答:master 数据库记录SQL Server 系统的所有系统级信息。主要包括实例围的元数据、端点、服务器和系统配置设置以及记录了所有其他数据库的存在、数据库文件的

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 4.完成用户界面的设计,对重要数据进行加密。

数据库技术与应用实验五

实验5 索引和视图 1.实验目的 (1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建 索引的方法。 (2)掌握使用SQL Server管理平台查看索引的方法。 (3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索 引的方法。 (4)掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建 视图的用法。 (5)了解索引和视图更名的系统存储过程sp_rename的用法。 (6)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 (7)了解删除视图的Transact-SQL语句DROP VIEW的用法。 2.实验内容及步骤 (1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 (2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 CREATE INDEX grade_index ON grade(分数) (4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 CREATE UNIQUE INDEX grade_id_c_ind ON grade(学号,课程编号) (5)分别使用SQL Server管理平台和系统存储过程sp_helpindex查看grade 表和student_info表上的索引信息。 sp_helpindex grade (6)使用SQL Server管理平台对grade表创建一个聚集索引和唯一索引。(7)使用系统存储过程sp_rename将索引grade_index更名为grade_ind。 sp_rename 'grade.grade_index','grade_ind','INDEX' (8)分别使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引grade_ind。再次使用系统存储过程sp_helpindex查看grade表上的索引信 息。 DROP INDEX grade.grade_ind (9)在studentsdb数据库中,以student_info表为基础,使用SQL Server 管理平台建立名为v_stu_i的视图,使视图显示学生姓名、性别、家庭住址。(10)在studentsdb数据库中,使用Transact-SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用 视图查询学号为0003的学生情况。 (11)基于student_info表、curriculum表和grade表,建立一个名为v_stu_g 的视图,视图中具有所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g 查询学号为0001的学生的所有课程与成绩,如图1-9所示。 图1-9 学号为0001的学生的视图信息 (12)分别使用SQL Server管理平台和Transact-SQL语句修改视图v_stu_c,

《数据库原理与应用》实验报告一

课程名称:数据库原理与应用 实验编号 实验一SQL Server基本操作系别计科系 及实验名称 姓名学号班级 实验地点实验日期2011年4月5日实验时数8 指导教师同组其他成员无成绩 一、实验目的及要求 1、掌握SQL Server2000系统的数据库创建方式。 2、掌握SQL Server2000系统的数据表的创建方式。 3、掌握SQL Server2000系统的数据编辑的基本方式。 二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等) 1、计算机操作系统要求在windows XP以上。 2、并要求SQL Server软件2000以后版本。 三、实验内容及要求 1、数据库创建 使用对象管理器创建一个数据库Student,具体要求如下: (1)数据库文件: a)逻辑名:学生信息;b)操作系统名称:d:\学生数据\Student_data.mdf; c)起始大小:10MB;d)最大文件大小:50MB;e)每次递增大小:5MB (2)日志文件: a)逻辑名:学生信息日志;b)操作系统名称:d:\学生数据\Student_log.ldf;c)起始大小:5MB; d)最大文件大小:20MB;)每次递增大小:2MB 2、表的创建 假设有如下一个教学信息关系模型 stu(SNo,SName,Sex,Age,Nation,Native) course(CNo,CName,Pubcompany,TName,Period) grade(SNo,CNo,Grade) 请根据下面的表中字段类型(即域)的定义,在student数据库中使用对象管理器来创建各个表。 stu表

四、实验步骤及结果(包含简要的实验步骤流程(分步书写各步的SQL语句)、结论陈述) 1、关系图 2、分步书写各步的SQL语句 数据库的创建: create database student on ( name=student_data, filename='d:\学生数据\Student_data.mdf', size=10mb, maxsize=50mb, filegrowth=5mb) log on ( name=student_log, filename='d:\学生数据\Student_log.ldf', size=5mb, maxsize=20mb, filegrowth=2mb) 表的创建: create table stu ( SNo char(8)not null constraint SNo_key primary key(SNo), SName char(24)not null, Sex char(1)not null, Age int, Nation char(20), Native char(20), ) create table course ( CNo char(3)not null constraint CNo_key primary key(CNo), CName char(20)not null, Pubcompany char(20), TName char(24)not null,

数据库综合实验报告(学生成绩管理系统)

数据库综合实验报告 班级:计科*** 班 学号: **** 姓名: *** 2011年12月

数据库应用系统的初步开发 一、实验类别:综合型实验 二、实验目的 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握基于C/S 的数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 三、实验内容 在SQL Server2000数据库管理系统上,利用 Microsoft Visual C++ 6.0开发工具开发一个学生成绩管理系统的数据库应用系统。 四、实验过程 (一.)系统需求说明 1 系统功能要求设计:此系统实现如下系统功能: (1)使得学生的成绩管理工作更加清晰、条理化、自动化。 (2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。 容易地完成学生信息的查询操作。 (3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。 2 系统模块设计 成绩管理系统大体可以分成二大模块如, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图: 登陆失败 退出系统 用户 验证 登陆成功

3 数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下: 数据库中用到的表: 数据库表名关系模式名称备注 Student 学生学生学籍信息表 Course 课程课程基本信息表 Score 成绩选课成绩信息表 Student基本情况数据表,结构如下: 字段名字段类型Not Null 说明 Student _sno Char Primary key 学号 Student _sn char Not Null 学生姓名 Student _sex char ‘男’或‘女’性别 Student _dept char 系别 Student_age char 年龄 Student_address char 地址 course数据表,结构如下: 字段名字段类型约束控制说明 course_cno char 主键(primary key)课程号 char not null 课程名称course_cnam e course_hour int not null 课时 course_score numeric(2,1) not null 学分 score情况数据表,结构如下: 字段名字段类型约束控制说明 score_id int not null 成绩记录号 course_cno char 外部键课程号 student_sno char 外部键学号 score int 成绩 (二)数据库结构设计 1.概念结构设计 由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别,地址,年龄,专业。 (2)课程基本信息:课程名,课程号,分数,学时,学分。

数据库原理实验报告(2)

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验二数据库的创建、管理、备份及还原实验 所在院(系):数学与信息技术学院 班级:11软工转本2 学号: 1130708 11130710 姓名:马琦乔凌杰

1.实验目的 (1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改 数据库的基本方法; (2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。 (3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方 法。 2.实验要求 (1)使用SQL Server Management Studio创建“教学管理”数据库。 (2)使用SQL Server Management Studio修改和删除“教学管理”数据库。 (3)使用Transact-SQL语句创建“教学管理”数据库。 (4)使用Transact-SQL语句修改和删除“教学管理”数据库。 (5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server Management Studio对数据库“教学管理”进行备份和还原。 (6)SQL Server 2005数据库文件的分离与附加。 (7)按要求完成实验报告 3.实验步骤、结果和总结实验步骤/结果 (1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。 新建数据库如下图所示: 进入sql server management studio 主界面,选择数据库右击新建数据库。 如何修改数据库 进入sql server management studio 主界面,选择数据库右击属性即可看到数据库信息,可更改数据库基本信息。

数据库技术与应用-复习题答案

一、填空题 1.在关系模型中,实体及实体之间的联系都用二维表来表示。在数据库的物理组织中,它 以文件形式存储。 2.数据库中的选择、投影、连接等操作均可由数据库管理系统实现。 3.在关系数据库模型中,二维表的列称为字段,行称为记录。 4.在Access中,查询可作为窗体、报表和数据访问页的数据源。 5.子查询“包含于”对应的谓词是In。 6.参数查询中的参数要用[]中括号括起来,并且设置条件提示。 7.绑定文本框可以从表、查询或SQL语言中获取所需的内容。 8.在创建主/子窗体之前,必须设置主窗体和子窗体(主表和子表)之间的关系。 9.表A中的一条记录可以与表B中的多条记录匹配,但是表B中的一条记录至多只能与表 A中的一条记录匹配,这样的关系是“一对多”。 10.两个实体之间的联系有3种,分别是一对一、一对多和多对多。 11.在关系数据库中,唯一标识一条记录的一个或多个字段称为主键。 12.参照完整性是一个准则系统,Access使用这个系统用来确保相关表中记录之间的关系 有效性,并且不会因意外删除或更改相关数据。 13.在数据表中,记录是由一个或多个字段组成的。 14.在关系数据库的基本操作中,把由一个关系中相同属性值的元组连接到一起形成新的二 维表的操作称为连接。 15.关系规范化是指关系模型中的每一个关系模式都必须满足一定的要求。 16.数据表之间的联系常通过不同表的共同字段名来体现。 17.表是Access数据库的基础,是存储数据的地方,是查询、窗体、报表等其他数据库对 象的基础。 18.在Access中数据表结构的设计是在设计器中完成的。 19.在查询中,写在“条件”行同一行的条件之间是并的逻辑关系,写在“条件”行不同行 的条件之间是或的逻辑关系。 20.窗体的数据来源主要包括表和查询。 21.计算型控件一般来说用表达式/公式作为数据源。 22.主窗体和子窗体通常用多个表或查询的数据,这些表或查询中的数据具有一对一/一对 多的关系。 23.在报表中可以根据字段、表达式对记录进行排序或分组。 24.DBMS/数据库管理系统软件具有数据的安全性控制、数据的完整性控制、并发控制和故 障恢复功能。 25.数据库系统体系结构中三级模式是模式、外模式、内模式。 26.实体完整性是对关系中元组的唯一性约束,也就是对关系的主码的约束。 27.若想设计一个性能良好的数据库,就要尽量满足关系规范化原则。

数据库实验八综合性实验报告

华南农业大学综合性设计性 实验报告 实验名称:数据库设计 项目性质:综合性设计性实验 所属课程:数据库系统概念 开设时间:2015-2016学年第1学期学生班级: 指导教师: 2015年12月12日

华南农业大学数学与信息学院 综合性、设计性实验成绩单 开设时间:2015-2016学第一学期

一、设计部分 1.需求分析 1.1 用户需求概述 本系统为图书管理系统数据库,该系统开发的主要目的是对大学图书馆的图书信息进行记录统计管理。具体完成录入图书信息,录入借还书记录,录入读者信息等功能。需要完成的主要功能有: 1)学生信息录入 该功能供图书馆管理员使用,学生首次借阅图书前,必须登记并录入个人身份信息,内容包括:学号、姓名、联系电话。 2)图书信息录入 该功能供图书馆管理员使用,对于首次入库的新书,必须录入图书目录资料,内容包括:图书编号、书名、作者、出版社、简介。 3)借书记录录入 该功能供图书馆管理员使用,读者凭校园卡到柜台办理借书手续,由图书馆管理人员录入借书记录,内容包括:日期、学号、图书编号。 对读者借阅图书的限制条件包括: ①读者一次可借阅1-3本图书, ②借出未还的图书,累计不得超出5本; ③没有逾期未归还的图书,从借出之日开始计算,超过90天尚未归还则视为逾期。 4)还书记录录入 该功能供图书馆管理员使用,读者凭校园卡到柜台办理归还借书手续,由图书馆管理人员录入还书记录,内容包括:日期、学号、图书编号。学生可以一次归还1至多册所借阅的图书。 5)图书信息查询 该功能供学生使用,学生自行输入书名、作者、出版社等信息作为查询条件,

系统列出满足查询条件的图书目录。 6)学生信息查询 该功能供图书馆管理人员使用,操作人员输入学生学号,系统列出该学生的个人信息、以及历次的借阅/归还图书记录。 1.2 数据需求

《数据库原理与应用》实验报告书修改版(1)答案

《数据库原理与应用》 实验报告书 (2011—2012学年第二学期) 班级: 学号: 姓名: 教师:郑先容 医药信息工程学院·数据决策 2012年2月

目录 实验一利用ACCESS创建数据库及熟悉SQL Server开发环境 (2) 实验三数据库、表的创建 (6) 实验五连接查询和嵌套查询 (12) 实验七数据的插入、修改、删除 (18) 实验九SQL Server数据库的安全性控制 (21) 实验十一熟悉Power Designer数据库设计软件 (24) 实验十三Transact-SQL编程 (27) 实验十五存储过程的使用 (30) 第十章数据库的恢复技术作业 (33)

实验一利用ACCESS创建数据库及熟悉SQL Server开发环境 一、实验目的 1、熟知机房用机安全规则和实验报告的书写。 2、掌握SQL Server 2005的安装,卸载以及相关服务的启动、退出。 3、熟悉SQL Server Management Studio环境。 4、掌握创建服务器组合注册服务器。 5、初步了解数据库的概念; 6、初步了解SQL Server联机丛书的使用。 7、用ACCESS创建数据库,体会数据库的功能。 注意:每次实验的指导视频,上课所需要的软件、数据库还有ppt。都可以在ftp://10.81.40.222的“数 据决策”->“数据库”->“2011-2012(2)”文件夹下找到,以后每次实验相关的文件和数据库,老师上课的课 件,sql2005安装环境,都可以在这个ftp上寻找。 二、实验内容 1、上网搜索能够正常安装的SQL Server2005的软件。或者在ftp上下载,有条件的同学,课后可在个人电脑上安装SQL Server2005,建议XP操作系统安装个人版,Server操作系统安装企业版。SQL Server2005的安装说明见《SQL Server 2005精简版的安装》或上网搜索相应电子教程。安装过程请参看实验指导或者相关视频。 2、观看视频“数据库概念.swf”,了解数据库的相关概念。 3、参看实验指导或者视频“使用SQL Server Management Studio.swf”,通过实践初步了解使用SQL Server Management的使用。 4、观看视频“SQL Server联机丛书.swf”,了解如何通过系统本身来学习使用SQL Server。 请根据联机丛书查询如何“创建数据库”,查询内容包括创建数据库前的准备工作,创建数据库的命令,以及数据库文件的组成。请把你的结果写在下面。

数据库综合实验

数据库原理及应用 -- SQL Server 2000 陈学进于 2010年三月 实验指导书

实验一用E-R图设计数据库 1.实验目的 1)熟悉E-R模型的基本概念和图形的表示方法。 2)掌握将现实世界的事物转化成E-R图的基本技巧。 3)熟悉关系数据模型的基本概念。 4)掌握将E-R图转化成关系表的基本技巧。 2.实验内容 1)根据需求确定实体,属性和联系。 2)将实体,属性和联系转化为E-R图。 3)将E-R图转化为表。 3.实验步骤 1)设计能够表示出班级与学生关系的数据库。 ①确定班级实体和学生实体的属性。 ②确定班级和学生之间的联系,给联系命名并指出联系的类型。 ③确定联系本身的属性。 ④画出班级与学生关系的E-R图。 ⑤将E-R图转化为关系模式,写出各关系模式并标明各自的主码或外码。 2)设计能够表示出顾客与商品关系的数据库。 ①确定顾客实体和商品实体的属性。 ②确定顾客和商品之间的联系,给联系命名并指出联系的类型。 ③确定联系本身的属性。 ④画出顾客与商品关系的E-R图。 ⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的主码或外码。 3)设计能够表示学校与校长关系的数据库。 ①确定学校实体和校长实体的属性。 ②确定学校和校长之间的联系,给联系命名并指出联系的类型。 ③确定联系本身的属性。 ④画出学校与校长关系的E-R图。 ⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的主码或外码。 4)设计能够表示出房地产交易中客户,业务员和合同三者之间关系的数据库。 ①确定客户实体,业务员实体和合同实体的属性。 ②确定客户,业务员和合同三者之间的联系,给联系命名并指出联系的类型。 ③确定联系本身的属性。 ④画出客户,业务员和合同三者关系E-R图。 ⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的主码或外码。 5)学生之间相互交流各自设计的数据库。

数据库技术与应用第二版第1章习题参考答案

第1章习题参考答案 1.选择题 (1)数据库系统与文件系统的主要区别是()。D A.数据库系统复杂,而文件系统简单 B.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 C.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决(2)在关系数据库系统中,当关系的模型改变时,用户程序也可以不变,这是()。B A.数据的物理独立性B.数据的逻辑独立性 C.数据的位置独立性D.数据的存储独立性 (3)在数据库三级模式中,对用户所用到的那部分数据的逻辑描述是()。A A.外模式B.概念模式C.内模式D.逻辑模式(4)E-R图用于描述数据库的()。A A.概念模型B.数据模型 C.存储模型D.逻辑模型 (5)以下对关系模型性质的描述,不正确的是()。C A.在一个关系中,每个数据项不可再分,是最基本的数据单位 B.在一个关系中,同一列数据具有相同的数据类型 C.在一个关系中,各列的顺序不可以任意排列 D.在一个关系中,不允许有相同的字段名 (6)已知两个关系: 职工(职工号,职工名,性别,职务,工资) 设备(设备号,职工号,设备名,数量) 其中“职工号”和“设备号”分别为职工关系和设备关系的关键字,则两个关系的属性中,存在一个外部关键字为()。A A.设备关系的“职工号”B.职工关系的“职工号” C.设备号D.设备号和职工号 (7)在建立表时,将年龄字段值限制在18~40之间,这种约束属于()。B A.实体完整性约束B.用户定义完整性约束 C.参照完整性约束D.视图完整性约束 (8)下列标识符可以作为局部变量使用的是()。C A.[@Myvar] B.My var C.@Myvar D.@My var (9)Transact-SQL支持的一种程序结构语句是()。A A.BEGIN…E ND B.IF…T HEN…ELSE C.DO CASE D.DO WHILE (10)字符串常量使用()作为定界符。A A.单引号B.双引号 C.方括号D.花括号 2.填空题 (1)数据库是在计算机系统中按照一定的方式组织、存储和应用的。支持数据库各种操作的软件系统叫。由计算机、操作系统、DBMS、数据库、应用程序及有

数据库原理与应用答案

《数据库原理与应用》(第三版)习题参考答案 第 1 章数据库概述 1.试说明数据、数据库、数据库管理系统和数据库系统的概念。 答:数据是描述事物的符号记录。 数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。 数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。 数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。 2.数据管理技术的发展主要经历了哪几个阶段? 答:文件管理和数据库管理。 3.与文件管理相比,数据库管理有哪些优点? 答:与文件系统管理数据相比,数据库系统管理数据带来了如下好处:将相互关联的数据集成在一起,较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。 4.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么? 答:不需要。因为数据库管理系统提供了逻辑独立性和物理独立性。 5.在数据库系统中,数据库的作用是什么? 答:数据库是数据的汇集,它以一定的组织形式保存在存储介质上。 6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗? 答:不能 7.数据独立性指的是什么?它能带来哪些好处? 答:数据独立性是指应用程序不会因数据的物理表示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术,它包含两个方面:逻辑独立性和物理独立性。 物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性; 逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。 8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么? 答:数据库系统一般包括数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员四个部分。数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序,数据库管理员负责整个数据库系统的正常运行。 第2章数据模型与数据库结构 1.解释数据模型的概念,为什么要将数据模型分成两个层次? 答:答:数据模型是对现实世界数据特征的抽象。数据模型一般要满足三个条件:第一是数

数据库课程实验报告

课程实验报告课程名称:数据库系统原理 专业班级:CS1110 学号:U201114468 姓名:梅超 指导教师:杨茂林 报告日期:2014年6月23日 计算机科学与技术学院

目录 1实验目的与内容 (1) 1.1实验目的 (1) 1.2实验内容 (1) 2系统分析与设计 (2) 2.1系统分析 (2) 2.2系统设计 (3) 2.2.1数据库设计 (3) 2.2.2功能模块设计 (4) 3系统实现 (5) 3.1数据库的实现 (5) 3.2模块功能实现 (6) 3.2.1开发环境 (6) 3.2.2模块实现 (6) 3.2.2.1系统登录模块设计 (6) 3.2.2.2系统注册模块设计 (9) 3.2.2.3数据库主界面设计 (11) 3.2.2.4学生信息查询模块设计 (16) 3.2.2.5学生信息插入模块设计 (19) 3.2.2.6学生信息删除模块设计 (22) 3.2.2.7学生信息修改模块设计 (26) 3.2.2.8课程信息查询模块设计 (29) 3.2.2.9课程信息插入模块设计 (30) 3.2.2.10课程信息删除模块设计 (31) 3.2.2.11课程信息修改模块设计 (32) 3.2.2.12选课信息查询模块设计 (33) 3.2.2.13选课信息插入模块设计 (34) 3.2.2.14选课信息删除模块设计 (35) 3.2.2.15选课信息修改模块设计 (36) 3.2.2.16SQL复杂操作模块设计 (37) 4总结 (40) 参考文献 (41)

1实验目的与内容 1.1实验目的 本综合实验的目的主要是通过理论联系实际,巩固课堂所学理论知识,如关系数据库规范化理论与数据库设计的方法,同时提高实践能力和创新能力,培养数据库应用系统开发的能力,以及技术总结和撰写实验报告的基本技能。 1.2实验内容 设计一个学生-课程信息管理系统,实现以下功能: 1.实现对学生信息的查询、插入、删除、修改 2.实现对课程信息的查询、插入、删除、修改 3.实现对学生选课信息的查询、插入、删除、修改 4.通过SQL语句实现多表连接复杂查询 5.实现新建用户功能

相关主题
文本预览
相关文档 最新文档