《数据库与信息系统》实验4指导解析_9-10

合集下载

数据库与信息系统实验

数据库与信息系统实验

目录实验一数据库表的创建 (1)实验二数据库表的查询 (7)实验三数据库模型设计 (12)实验四数据库设计 (15)实验一数据库表的创建1)启动SQL Server2008, “SQL Server Manange ment Studio”2)单击链接(C)打开“SQL Server Manange ment Studio”窗口,并在左边的目录树结构中选择“数据库”文件夹。

3) 单击右键,选择“新建数据库”命令,打开“新建数据库” 对话框,在“数据库名称”框内输入名称“教学管理系统”,注意数据文件和日志文件的属性设置4) 单击“确定”按钮,完成“教学管理系统”数据库的创建。

5)在左边的目录树中展开“数据库”下刚才创建的“教学管理系统” 文件夹,然后在“表”对象上单击右键,选择“新建表”,右边窗格中显示SQL Server 2008的表设计器。

学生学号char(7)学生身份证号char(18)学生姓名char(10)学生性别char(2)学生移动电话char(11)学生来自的城市char(10)学生主修专业char(20)学生院系char(20)学生累计修满的学分int6)设置主键在表设计器中选择“学生学号”,右击,选择“设置主键”,得到下图,主键设置成功7)展开表右击dbo.Student,选择编辑前200行,输入以下数据再新建查询输入语句select*from student得到结果:8)修改表可以按照展开表右击dbo.Student,选择编辑前200行,改第一行数据S060101 ******19880526*** 王东民男135***11 杭州计算机信息学院160改为:S060101 ******19880526*** 黄星星男135***11 随州电子信息信息学院160由结果知道修改成功9)删除表:再新建一个Course表在左边的资源管理器中右击Course表,选择删除单击确定,Course表删除。

《数据库与信息系统》实验4指导解析_9-10

《数据库与信息系统》实验4指导解析_9-10

实验四数据库操作语言SQL一.实验目的⚫了解使用SQL中DDL语句创建数据库和表的方法⚫熟练掌握使用SQL中DML语句对数据库进行查询、插入、修改和删除等操作的方法⚫掌握可编程对象视图和存储过程的创建与使用方法,了解触发器的创建方法二.实验环境及素材⚫MySQL和Navicat for MySQL⚫bookstore数据库的脚本文件bookstore.sql三.实验内容首先创建一个bookstore数据库,执行bookstore.sql脚本文件实现表的创建及数据记录的添加。

然后在bookstore数据库中完成以下题目(bookstore数据库设计说明参见10.1节)。

①在Navicat for MySQL中,创建数据库bookstore。

②右击数据库bookstore,选择“运行SQL文件…”,在对话框中浏览选择“bookstore.sql”文件,点击“开始”即可完成数据表定义及添加数据记录。

③在左栏连接窗口展开数据库“bookstore”/表,右击“表”选“刷新”菜单,即可看到恢复的各数据表。

9.创建和使用存储过程。

解析:存储过程是经过编译的SQL语句的集合。

用户首先创建存储过程,然后在程序中调用该存储过程执行。

创建存储过程可以在Navicat for MySQL中使用向导建立,也可以使用SQL的CREATE PROCDURE语句。

存储过程可以接受参数、也可将查询信息通过输出参数返回调用者。

常用存储过程的语法格式:CREATE PROCDURE 存储过程名( [形式参数列表])SQL语句段“形式参数列表”中多个参数之间用逗号分隔,如果没有参数,则()中为空。

每个参数由输入输出类型、参数名和参数类型三部分组成,定义规则如下:[IN|OUT|INOUT 参数名类型输入输出类型中:IN是输入参数,即把数据传递给存储过程;OUT是输出参数,即从存储过程返回值;INOUT表示输入输出,即传入也能返回值。

数据库系统概论(第四版)学习指导与习题解答

数据库系统概论(第四版)学习指导与习题解答

第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。

( l )数据(Data ) :描述事物的符号记录称为数据。

数据的种类有数字、文字、图形、图像、声音、正文等。

数据与其语义是不可分的。

解析在现代计算机系统中数据的概念是广义的。

早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。

现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。

数据与其语义是不可分的。

500 这个数字可以表示一件物品的价格是500 元,也可以表示一个学术会议参加的人数有500 人,还可以表示一袋奶粉重500 克。

( 2 )数据库(DataBase ,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。

数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

( 3 )数据库系统(DataBas 。

Sytem ,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

解析数据库系统和数据库是两个概念。

数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。

但是在日常工作中人们常常把数据库系统简称为数据库。

希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。

( 4 )数据库管理系统(DataBase Management sytem ,简称DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。

DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。

解析DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。

目前,专门研制DBMS 的厂商及其研制的DBMS 产品很多。

数据库实验指导书++数据库系统概论(第四版)++王珊、萨师煊

数据库实验指导书++数据库系统概论(第四版)++王珊、萨师煊

目录实验一熟悉POWER DESIGNER (2)实验二SQL SERVER 2000的安装与使用5实验三创建数据库、表15实验四SQL SERVER2000查询分析器26实验五SQL语言的DDL34实验六SQL语言的DML初步36实验七DML的数据查询38实验八SQL语言综合练习42实验九嵌入式SQL错误!未定义书签。

实验十数据库设计错误!未定义书签。

实验一熟悉Power Designer一、实验目的1、掌握安装并破解PD的方法。

2、通过阅读和分析应用实例“学生选课系统CDM”,了解和熟悉PowerDesigner CDM及其相关知识。

3.掌握运用Power Designer工具建立CDM的方法。

4.初步掌握从Power Designer CDM生成相应的PDM的方法。

二、实验内容及实验步骤1、PD环境的介绍Power Designer的4种模型文件:(1) 概念数据模型(CDM)CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。

一个概念模型经常包括在物理数据库中仍然不实现的数据对象。

它给运行计划或业务活动的数据一个正式表现方式。

(2)物理数据模型(PDM) :PDM 叙述数据库的物理实现。

藉由PDM ,你考虑真实的物理实现的细节。

你能修正PDM 适合你的表现或物理约束。

(3)面向对象模型(OOM)一个OOM包含一系列包,类,接口, 和他们的关系。

这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。

一个OOM本质上是软件系统的一个静态的概念模型。

(4)业务程序模型(BPM)BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。

BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用2、创建CDM(以学生选课系统为例)(1)新建一个CDM,命名为CssCdm(css,Course SelectionSystem ) (2)创建“学生”、“课程”实体和“选课”联系,并命名(3)为各实体和联系创建属性学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)(3)为各实体和联系创建属性学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)每一条属性的M\P\D 分别代表:Mandatory(是否允许为空)Primary Identifier(标识符,类似于数据库中的主键)Displayed(是否显示在实体图表符号中)Domain 相当于自定义数据类型(4)创建实体间的联系“学生”和“教师”之间为多对多(m:n)关系,可将他们转化为两个一对多(1:m)关系(5)生成CDM3、将CDM转化为PDM实验二安装SQL Server 2000一、实验目的SQL Server 2000是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。

数据库原理实验答案

数据库原理实验答案

课程结束各班学委统一收实验报告数据库原理及应用(本科)实验指导书1(报告)计算机信息教研室桂林理工大学信息科学与工程学院二○二○年八月目录实验 1 创建数据库与数据表 (2)实验2 简单查询和连接查询 (10)实验3 嵌套查询和集合查询 (12)实验4 数据完整性 (14)桂林理工大学实验报告班级学号姓名同组实验者无实验名称实验1 创建数据库与数据表日期年月日一、实验目的:1.熟悉SQL SERVER环境;2.掌握数据库和数据表的创建和删除,实践SQL的CREATE、ALTER和DROP命令;3.掌握数据表的创建和数据记录的插入方法。

二、实验环境:Sqlserve数据库管理系统三、实验内容:1. 创建教学管理“JXGL”数据库,并建立学生STUDENT、课程COURSE和选修SC 三个数据表,各表中的数据如下所示:学生STUDENT:(注:CS计算机科学,IS信息系统,MA数学)Sno Sname Ssex Sage Sdept95001李勇M20CS95002刘晨F19IS95003王敏F18MA95004张立M18IS课程COURSE:(注:Pcno 先修课课程号)Cno Cname Pcno Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27C语言64选修SC:Sno Cno Grade9500119295001285 95001388 9500229095002 950033380实验步骤:1.创建教学管理“JXGL”数据库。

(注:可采用可视窗体和SQL命令两种方法创建。

以下是SQL命令方法)(1) 创建教学管理“JXGL”数据库。

在命令窗格中输入如下命令,然后单击“运行”功能钮执行该命令。

CREATE DATABASE JXGL;(2) 在JXGL数据库中建立STUDENT表,并插入记录。

CREATE TABLE STUDENT( Sno char(5) not null unique,Sname char(20) not null unique,Ssex char(1),Sage int,Sdept char(20));INSERT INTO STUDENT V ALUES('95001','李勇','M',20,'CS');INSERT INTO STUDENT V ALUES('95002','刘晨','F',19,'IS');INSERT INTO STUDENT V ALUES('95003','王敏','F',18,'MA');INSERT INTO STUDENT V ALUES('95004','张立','M',18,'IS');1(3) JXGL数据库中建立COURSE表,并插入记录。

sqlserver实验指导第4版第九章

sqlserver实验指导第4版第九章

第一部分:介绍SQL Server实验指导第4版第九章的背景和概述1. 背景介绍SQL Server是微软公司推出的一款关系型数据库管理系统,被广泛应用于企业级数据库管理和开发领域。

SQL Server实验指导第4版是一本非常权威的教材,其中的第九章主要涉及到SQL Server的高级特性和应用实践。

本章内容包括索引优化、存储过程、视图、触发器等方面的知识,是SQL Server数据库开发和管理者的必备知识。

2. 概述第四版第九章主要介绍了SQL Server数据库的高级应用技巧和实践经验,旨在帮助读者深入了解和掌握SQL Server数据库的高级特性和优化方法。

通过本书的学习,读者可以掌握SQL Server数据库的高效管理和开发技巧,为企业级数据库的设计和实施提供全面的支持和指导。

第二部分:索引优化1. 索引概述索引是数据库中用于提高检索效率的重要数据结构,通过合理设计和使用索引,可以大大提高数据库的查询性能。

本章将详细介绍SQL Server中索引的类型、设计原则和优化方法,帮助读者充分发挥索引在数据库中的作用。

2. 索引设计原则SQL Server中常见的索引类型包括聚集索引、非聚集索引、覆盖索引等,各种类型的索引都有其适用的场景和设计原则。

本章将介绍不同类型索引的设计原则和最佳实践,帮助读者根据具体业务需求和数据库结构选择合适的索引类型,并进行有效的索引优化。

3. 索引优化方法在实际的数据库开发和管理过程中,经常会遇到索引效率低下的问题,需要针对具体情况进行索引优化。

本章将介绍针对不同情况的索引优化方法,包括索引的创建、删除、修改和重建等操作,帮助读者解决索引性能不佳的问题。

第三部分:存储过程1. 存储过程概述存储过程是在数据库中预先编译好的一组SQL语句,经过编译后存储在服务器端,可以被多次调用和执行。

存储过程可以提高数据库的性能和安全性,并且可以减少应用程序和数据库之间的通信量。

本章将详细介绍SQL Server中存储过程的定义、参数传递、执行和维护等方面的知识。

数据库与管理信息系统实验指导

数据库与管理信息系统实验指导

《数据库与管理信息系统》实验指导书中国计量学院质量与安全工程学院二○○九年10月学生实验守则1 学生必须在规定时间内参加实验,不得迟到、早退。

2 学生进入实验室后,不准随地吐痰、抽烟和乱抛杂物,保持室内清洁和安静。

3 实验前应认真阅读实验指导书,复习有关理论并接受教师提问检查,一切准备工作就绪后,须经指导教师同意后方可动用仪器设备进行实验。

4 实验中,认真执行操作规程,注意人身和设备安全。

学生要以科学的态度进行实验,细心观察实验现象、认真记录各种实验数据,不得马虎从事,不得抄袭他人实验数据。

5 如仪器发生故障,应立即报告教师进行处理,不得自行拆修。

不得动用和触摸与本次实验无关的仪器与设备。

6 凡损坏仪器设备者,应主动说明原因,书写损坏情况报告,根据具体情节进行处理。

7 实验完毕后,将设备整理好,认真填写实验报告(包括数据记录、分析与处理,以及绘制必要的图形)。

前言本实验指导书是《数据库与管理信息系统》课程的配套实验教材。

本课程的任务和教学目的是使学生掌握数据库的基本原理和建立技术,掌握对基于数据库技术的信息系统的理论和应用有较深刻的了解,系统地理解管理信息系统的概念、结构;熟悉信息技术在组织管理中的应用;掌握信息系统开发的过程和方法;初步具有正确使用、管理和组织信息系统的能力。

本课程的教学对培养学生的实践能力十分重要。

数据库与管理信息系统实验是《数据库与管理信息系统》课程教学的必须实验环节。

其目的是加深学生对本课程所涉及的重要基本原理,步骤,并且锻炼学生的动手实践能力,使学生在后面的学习和工作中能够综合运用所学知识解决实际问题。

本课程要求学生提前阅读实验指导书,在教师指导下自己动手,亲自实践,边做边想,认真记录,并写出实验报告。

本实验使用SQL-Sever为实验平台,为实际开发中小型系统实用工具,与企业中使用的其它建库和开发工具属于相同类型。

实验内容结合教材使用,希望通过实验帮助广大学生加强对书本知识的理解,并在实验的进行过程中,掌握作为一个系统开发人员应具有的基本的分析技能与动手能力。

数据库原理及应用实验指导-回复

数据库原理及应用实验指导-回复

数据库原理及应用实验指导-回复实验一:数据库的安装与初步操作实验目的:1.了解数据库的基本概念和原理;2.掌握数据库的安装与配置;3.熟悉数据库的基本操作。

实验器材:1.一台装有操作系统的计算机;2.数据库软件。

实验步骤:2.配置数据库:安装完毕后,需要进行一些基本配置,如设置数据库的根用户密码、配置数据存储路径等。

3.启动数据库服务:启动数据库服务,可以通过图形界面工具或命令行方式启动。

4.创建数据库:使用SQL语句创建一个新的数据库,指定数据库名称、字符集等信息。

5.创建数据表:使用SQL语句创建一个或多个数据表,指定表的字段、数据类型等信息。

6.插入数据:使用SQL语句向数据表中插入一些测试数据。

7.查询数据:使用SQL语句查询数据表中的数据,可以进行简单的SELECT操作。

8.更新数据:使用SQL语句更新数据表中已有的数据。

9.删除数据:使用SQL语句删除数据表中的数据。

10.关闭数据库服务:实验结束后,关闭数据库服务,释放资源。

实验要求:1.实验报告中需要包含数据库软件安装的步骤和截图;2.实验报告中需要包含创建数据库、数据表,插入数据,查询数据等SQL语句和示例数据;3.实验报告中需要包含实验过程中遇到的问题及解决方法。

实验二:数据库的基本查询操作实验目的:1.掌握使用SQL进行简单的查询操作;2.熟悉常用的查询语句。

实验器材:1.完成实验一的数据库软件和数据表。

实验步骤:1.简单查询:编写SQL语句实现对数据表中数据的查询,包括SELECT、FROM、WHERE等关键字。

2.条件查询:使用WHERE子句实现对数据的条件查询,如通过指定字段值来筛选出符合条件的数据。

3.排序查询:使用ORDERBY子句对查询结果按照一些字段进行升序或降序排序。

4.聚合查询:使用聚合函数,如SUM、AVG、MAX、MIN等,实现对数据的合计、平均值、最大值、最小值等汇总操作。

5.分组查询:使用GROUPBY子句对查询结果按照一些字段进行分组,并应用聚合函数进行统计。

数据库技术与应用课后习题答案

数据库技术与应用课后习题答案

第一章习题答案1.1 选择题1. A2. C3. C4. B5. C6. A7. C8. B9. D 10. A 11. D 12. A 13. A1.2 填空题数据数据的逻辑独立性数据的物理独立性层次数据模型,网状数据模型,关系数据模型能按照人们的要求真实地表示和模拟现实世界、容易被人们理解、容易在计算机上实现实体、记录属性、字段码域一对一、一对多、多对多E-R模型E-R模型层次模型、网状模型、关系模型数据操作、完整性约束矩形、菱形、椭圆形层次模型、一对多网状模型关系模型关系外模式、模式、内模式三级模式、两级映像外模式、模式、内模式数据、程序数据逻辑、数据物理DBMS数据库管理系统、DBA数据库管理员1.4 综合题2.注:各实体的属性省略了3.第二章习题答案1.1 单项选择题1. C2. A3. B4. C5. C6. D7. A8. B1.2 填空题集合2. 能唯一标识一个实体的属性系编号, 学号,系编号关系, 元组, 属性关系模型,关系, 实体, 实体间的联系投影1.4 综合题1. πsnoσcno=’2’SC2. πsnoσcname=’信息系统’SCCOURSE3. πsno,SNAME,SAGESTUDENT第三章习题答案1.1select from jobs1.2select emp_id,fname+'-'+lname as 'Name' from employee1.3select emp_id,fname+'-'+lname as 'Name',Yeargetdate-Yearhire_date as 'worke time' from employee order by 'worke time'2.1select from employee where fname like 'f%'2.2select from employee where job_id='11'2.3select emp_id,fname+'-'+lname as 'Name', Yeargetdate-Yearhire_date as worketime from employeewhere Yeargetdate-Yearhire_date >5order by worketime2.4select from employee where castjob_id as integer>=5 and castjob_id as integer<=8 2.5select from employee where fname='Maria'2.6select from employee where fname like '%sh%' or lname like '%sh%'3.1select from sales where ord_date <'1993-1-1'4.1select distinct bh, zyh from stu_info wherebh inselect bh from stu_infogroup by bhhaving count>30 and count<40order by bh或者是select bh,zyh from stu_infogroup by zyh,bhhaving countbh>30 and countbh<40order by bh4.2select from gbanwhere bh like '计%'4.3select from gfiedwhere zym like '%管理%'4.4select xh,xm,zym,stu_info.bh,rxsj from stu_info,gfied,gban where nl>23and stu_info.zyh=gfied.zyh and stu_info.bh=gban.bh4.5select zyh,count from gbanwhere xsh='03'group by zyh第四章习题答案4.1 单项选择题:B 2、A 3、C 4、A 5、A 6、C 7、C 8、D 9、B 10、A 11、C或B,即书上121页例题中from的写法12、A 13、C 14、C 15、C4.2 填空题:drop tablealter table add <列名或约束条件>with check option基本表基本表distinct group by roder by数据定义数据操纵数据控制distinctlike % _自含式嵌入式10、order by asc desc4.3 综合题1、SELECT XH, XM, ZYM, BH, RXSJFROM STU_INFO, GFIEDWHERE STU_INFO.ZYH = GFIED.ZYH AND NL > 23 AND XBM = '男'2、SELECT ZYM 专业名, count 人数 FROM STU_INFO, GFIEDWHERE STU_INFO.XSH = '03' AND STU_INFO.ZYH = GFIED.ZYHGROUP BY ZYM注意:该题目中给出的条件XSH = '03'中的03代表的是“控制科学与工程”学院,信息学院的代码是12,大家可根据具体情况来做该题;3、SELECT bh,count as 人数 FROM STU_INFO GROUP BY bh4、SELECT XH, XM, XBM, BH FROM STU_INFOWHERE ZYH INSELECT ZYHFROM STU_INFOWHERE XM = '李明'ORDER BY XH5、SELECT DISTINCT GCOURSE.KCH, KM FROM STU_INFO, XK, GCOURSEWHERE XK.KCH = GCOURSE.KCH AND STU_INFO.XSH = '12'AND STU_INFO.XH = XK.XH该题中设计到的课程名称只有在GCOURSE表中存在,所以在题目开始的几个表中还应填加该表;另外把信息学院的代码改为12;6、SELECT COUNTDISTINCT KCH AS 选课门数, AVGKSCJ AS 平均成绩FROM STU_INFO, XKWHERE STU_INFO.XH = XK.XH AND XSH = '12'7、SELECT DISTINCT STU_INFO.XH, XM, BH, ZYM, KMFROM STU_INFO, XK, GFIED, GCOURSEWHERE KSCJ > 85 AND STU_INFO.XH = XK.XH AND XK.KCH = GCOURSE.KCH AND STU_INFO.ZYH = GFIED.ZYHORDER BY ZYM, BH, STU_INFO.XH8、SELECT STU_INFO.XH, XM, XSM, ZYM, BH, PYCCMFROM STU_INFO, XK, GDEPT, GFIEDWHERE KKNY = '20011' AND STU_INFO.XH = XK.XH AND STU_INFO.XSH = GDEPT.XSH AND STU_INFO.ZYH = GFIED.ZYHGROUP BY STU_INFO.XH, XM, XSM, ZYM, BH, PYCCMHAVING COUNT > 109、SELECT DISTINCT bhFROM STU_INFO10、DELETE FROM STU_INFOWHERE XH LIKE '2000%'或DELETE FROM STU_INFOWHERE LEFTXH,4 = '2000'11、ALTER TABLE STU_INFOADD BYSJ varchar812、UPDATE XKSET KSCJ = 60WHERE KSCJ BETWEEN 55 AND 59 andXH inSELECT xhFROM stu_infoWHERE zyh = '0501'andKCH inSELECT kchFROM gcourseWHERE km = '大学英语'前面已经考虑到在该题目中应该加入学生课程信息表GCOURSE13、UPDATE GCOURSESET KCXF=6WHERE KCH = '090101'14、CREATE TABLE CCOURSEKCH char6,KM varchar30,KCYWM varchar3015、CREATE VIEW ISE ASSELECTFROM STU_INFOWHERE XSH=’12’第五章课后答案5.11~7 BABABCB5.21 使属性域变为简单域消除非主属性对主关键字的部分依赖消除非主属性对主关键字的传递依赖2 平凡函数依赖3 Y也相同唯一的Y值5.31 函数依赖:P136定义5.1部分函数依赖:P138定义5.4完全函数依赖:P138定义5.4传递函数依赖:P138定义5.51NF:P139定义5.62NF:P141定义5.73NF:P142定义5.8BCNF:P144定义5.9在全码关系中R〈U,F〉中若存在这样的码X,属性组Y及非主属性Z 使得X→Y, Y→Z成立,所以全码关系R〈U,F〉∈3NF;在全码关系R〈U,F〉中,对于R中的函数依赖,若X→Y且X必含有码,所以全码关系R∈BCNF 2 1 R的码是Sno,Cno,R是1NF,因为Teacher和Title属性部分函数依赖于码Sno,Cno,所以R∈1NF2SCSno,Cno,GradeCTCno,teacher TTTeacher,title3 D->B C->A4 需求分析需求分析是数据库设计的第一个阶段,从数据库设计的角度来看,需求分析的任务是对现实世界要处理的对象组织、部门、企业等进行详细的调查了解,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能;概念结构设计阶段将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计;简单地说数据库概念结构设计的任务就是根据需求分析所确定的信息需求,建立信息模型;如E-R模型;逻辑结构设计阶段数据库逻辑结构设计的任务是把概念结构设计阶段所得到的与DBMS无关的数据模式,转换成某一个DBMS所支持的数据模型表示的逻辑结构;数据库物理设计阶段数据库物理设计是对给定的关系数据库模式,根据计算机系统所提供的手段和施加的限制确定一个最适合应用环境的物理存储结构和存取方法数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行;在数据库系统运行过程中必须不断地对其进行评价、调整与修改;包括:数据库的转储和恢复、数据库的安全性和完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造;P149最后一段ER图是用来描述某一组织单位的概念模型,提供了表示实体、属性和联系的方法;构成ER图的基本要素是实体、属性和关系;实体是指客观存在并可相互区分的事特;属性指指实体所具有的每一个特性;商店商店编号,商店名,地址,电话码:商店编号顾客顾客编号,姓名,性别,家庭住址,出生年月码:顾客编号消费商店编号,顾客编号,消费金额码:商店编号,顾客编号第六章习题答案6.1 单项选择题1、A2、D3、D4、D5、B6、D7、C6.2 填空题1、原子性一致性隔离性持续性 ACID2、软故障硬故障3、静态动态4、丢失修改不可重复读读“脏”数据5、自主存取控制强制存取控制6、实体完整性约束参照完整性约束用户自定义完整性约束6.4 综合题create table 读者借书证号 char10 primary key,姓名 varchar10 not null,年龄 tinyint not null,所在院系 varchar20 not nullcreate 图书图书号 char8 primary key,书名 varchar20 not null,作者 varchar10 not null,出版社 varchar30 not null,价格 real not null check价格>0 and 价格<=120create 借阅借书证号 char10 not null,图书号 char8 not null,借阅日期 datetime not null,primary key借书证号, 图书号,foreign key借书证号 references 读者借书证号,foreign key图书号 references 图书图书号实验4 答案Select xh,xm,xbm from stu_info,gdept where stu_info.xsh=gdept.xsh and gdept.xsm=’信息科学与工程’或 Select xh,xm,xbm from stu_info where xsh=select xsh from gdept where xsm=’信息科学与工程’Select stu_info.xh,xm,km from stu_info,xk,gcourse where stu_info.xh=xk.xh and xk.kch=gcourse.kch and kscj>85Select xh,xm,xsm from stu_info,gdept where stu_info.xsh=gdept.xsh and xh like ‘2000%’Select xh, xm from stu_info where xh in select xh from xk where kch=’090101’ and kscj<60或 select stu_info.xh,xm from stu_info,xk where stu_info.xh=xk.xh and kch=’090101’ and kscj<605. select stu_info.xh,xm,km from stu_info,xk,gcourse where stu_info.xh=xk.xh and xk.kch=gcourse.kch and xsh=’12’ and kscj<606. select stu_info.xh,xm,xsm from stu_info,xk,gdept where stu_info.xsh=gdept.xsh and stu_info.xh=xk.xh and kkny=’20011’ group by stu_info.xh,xm,xsm having count>=10实验5 答案1、2题参考实验4答案3. Select xh,xm,xbm,bh from stu_info where zyh in select zyh from stu_info where xm=’李明’ order by xh实验6答案Create view num_ban as select countdistinct bh from stu_infoCreate view ban as select distinct bh from stu_infoCreate view is_stu as select xm,xbm,bh from stu_info where xsh=’01’ orxsh=’02’Create view zhang_stu as select from stu_info where xsh=’01’ and xm like ‘张%’或 Create view zhang_stu as select from stu_info,gdept where xsm=’材料科学与工程’ and xm like ‘张%’ and stu_info.xsh=gdept.xsh8. Create view 材0168 as select stu_info.,xk. from stu_info,xk where bh=’材0168’ and stu_info.xh=xk.xhCreate view gaoshu _stu as select xm from stu_info,xk,gcourse where stu_info.xh=xk.xh and gcourse.kch=xk.kch and km=’高等数学’或 Create view gaoshu _stu as select xm from stu_info where xh inselect xh from xk where kch =select kch from gcourse where km=’高等数学’。

信息系统和数据库技术全书实验参考答案解析

信息系统和数据库技术全书实验参考答案解析
T_Publisher.PublisherCode IN ('10','02','31')
或:
SELECT T_BookInfo.BookName,T_BookInfo.Author,T_BookInfo.Price,
T_BookInfo.StockNum,T_Publisher.PublisherCode,T_Publisher.Publisher
实验参考步骤:
在企业管理器中展开Book数据库表文件夹,右击T-teacher表,选择“打开表/返回所有行”,进入T-teacher表数据行显示界面,进行数据的添加、删除和更新操作。
7.在企业管理器中练习索引的创建和删除。在“TeacherName”(降序)和“AcadCode”(升序)上建立一个名称为“Name_Code”的普通索引。删除“Name_Code”索引。
5)在“数据库属性”对话框中选择“事务日志”选项卡,设置事务日志文件的位置、大小、最大值和文件增量等属性。
2.在上题所建数据库Book中建立5张数据表结构并分别向数据表插入记录。
实验参考步骤:
在企业管理器中展开Book数据库。右击数据库文件夹下的“表”项,从弹出的快捷菜单中选择“新建表”命令,弹出“表设计”界面,分别建立5张表的结构,并且为各个表建立主关键字。
WHERE BookName='VB程序设计'
10)显示教材的最高价、最低价、平均价、最高价与最低价之间的差值。
SELECT str(Max(Price),5,2) AS最高价,str(Min(Price),5,2)AS最低价,
str(AVG(Price),5,2) AS平均价, str((Max( AS差值

数据库系统与应用实验报告

数据库系统与应用实验报告

数据库系统与应用实验报告数据库系统与应用实验报告概述:数据库系统是现代信息技术领域中的重要组成部分,它通过存储、管理和操纵数据,为各种应用程序提供数据支持。

本实验报告将介绍数据库系统的基本概念、应用场景以及实验过程和结果。

第一部分:数据库系统的基本概念数据库系统是指由数据、数据库管理系统(DBMS)和应用程序组成的系统。

数据是数据库系统的核心,它以结构化的方式存储在数据库中。

DBMS是管理和操作数据库的软件,它提供了数据的安全性、完整性和一致性。

应用程序则通过DBMS与数据库进行交互,实现各种功能。

第二部分:数据库系统的应用场景数据库系统广泛应用于各个领域,如企业管理、电子商务、金融、医疗等。

在企业管理中,数据库系统可以用于存储和管理员工信息、销售数据、财务数据等。

在电子商务中,数据库系统可以存储和管理商品信息、用户信息、订单信息等。

在金融领域,数据库系统可以用于存储和管理客户账户信息、交易记录等。

在医疗领域,数据库系统可以存储和管理患者信息、病历数据等。

第三部分:实验过程和结果本次实验的目标是设计一个简单的学生信息管理系统。

首先,我们创建了一个名为"student"的数据库,并在其中创建了一个名为"student_info"的表,用于存储学生信息。

表中包含学生的学号、姓名、性别、年龄等字段。

然后,我们使用SQL语句向表中插入了几条学生信息。

接下来,我们编写了一个简单的应用程序,通过DBMS连接到数据库,并实现了查询、插入、删除等功能。

最后,我们对程序进行了测试,并验证了功能的正确性。

实验结果显示,我们成功地创建了数据库和表,并能够通过应用程序对其进行操作。

查询功能可以根据学号或姓名等条件查询学生信息,并将结果返回。

插入功能可以向表中插入新的学生信息。

删除功能可以根据学号删除指定的学生信息。

通过实验,我们深入了解了数据库系统的原理和应用,提高了对数据库的操作能力。

计算机10级数据库实验

计算机10级数据库实验

数据库原理及应用实验指导书陕西理工学院数计学院1.实验目的与要求数据库原理及应用是计算机科学与技术专业和信息管理与信息系统专业的课程之一,是一门理论与实践相结合的课程,上机实验环节是本课程的重要组成部分。

(1)实验的目的是为了配合课堂教学,进一步强化、加深对数据库原理理论知识的理解。

实验的任务是要结合数据库原理和SQL Server 2000或SQL Server 2005数据库管理系统,熟练掌握和深入理解课堂教学内容,实现从理论到实践的统一,以提高动手能力以及分析问题和解决问题的能力。

(2)实验教学的要求:学生每次实验前必须根据实验指导书,设计出实验方案(代码和实验步骤);在实验过程中要求独立进行程序调试和排错,必须学会使用在线帮助解决实验中遇到的问题,必须应用理论知识分析问题、解决问题。

上机结束后写出实验报告,对实验过程进行分析和总结。

2.实验方式与基本要求(1)第一次实验前,任课教师需要向学生讲清实验的整体要求及实验的目标任务;讲清实验安排和进度、平时考核内容、期末考试办法、实验守则及实验室安全制度;讲清上机操作的基本方法。

(2)《数据库原理及应用》课程是以理论课为主、实验为辅的课程。

每次实验前:教师需要向学生讲清实验目的和基本要求,讲清实验对应的理论内容;学生应当先弄清相关的理论知识,再预习实验内容、方法和步骤,避免出现盲目上机的行为。

(3)实验1人1组,在规定的时间内,由学生独立完成,出现问题时,教师要引导学生独立分析、解决,不得包办代替。

(4)该课程实验是一个整体,需要有延续性。

机房应有安全措施,避免前面的实验数据、程序和环境被清除、改动或盗用的事件发生。

(5)任课教师要认真上好每一堂课,实验前清点学生人数,实验中按要求做好学生实验情况及结果记录,实验后认真填写实验记录。

(6)学生最好能自备计算机,课下能通过Email进行联系,以便能够熟悉和精通实验方法。

如果能结合实际课题进行训练,会达到更好的效果。

数据库原理及应用第四版第4章钱雪忠课后解析

数据库原理及应用第四版第4章钱雪忠课后解析

数据库原理及应用第四版第4章钱雪忠课后解析数据库是现代信息化时代的重要组成部分,其在许多领域中扮演着重要的角色。

因此,在现代开发中,数据库技术得到了广泛应用。

但是,对于数据库的原理和应用,对于一些初学者而言还是有些困难的。

《数据库原理及应用》一书是一份专业且实用的教材,其中第四章解析为本篇文章的讨论重点。

本文将根据这一章节的内容介绍数据库系统的概念和基本结构,以及SQL命令的定义和应用。

第一步,概述数据库系统的概念数据库系统是一种管理数据的信息系统,其目的是在实现数据的共享、存储、处理、安全性控制等方面提高工作效率、提高服务水平。

基于这一目的,数据库系统需要实现多个功能,因而它的组成结构十分复杂。

本章讲稿使用了统一的结构模型来描述各种不同类型的数据库。

第二步,详述数据库系统组成结构数据库系统主要由以下组成部分构成:用户接口、数据库管理系统(DBMS)、数据库、操作系统及硬件五部分构成。

其中,DBMS是系统的核心,是支持数据管理的软件系统。

数据库是保存数据和其他维护信息的集合。

操作系统是DBMS和硬件之间的接口,提供与物理存储及内存管理有关的服务。

第三步,从SQL命令入手SQL是结构化查询语言,是一种用来管理、操作和访问数据库的计算机语言。

SQL命令是SQL语句的语法结构,可实现数据库中表的创建、修改、删除等操作。

本章指令讲究SQL命令的详细使用方法。

第四步,阐述SQL命令的使用SQL命令包括数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)和事务控制语言(TCL)等多种语言。

其中,DDL用于定义操作对象,比如创建表、修改表结构等;DML用于实现数据的增加、修改、删除操作;DQL用于实现数据查询功能;TCL用于控制事务操作。

总之,数据库系统的核心是DBMS,而SQL命令是数据库系统的基础。

因此,要想深入理解数据库系统的原理和应用,需要深入学习SQL 命令的应用。

学生需要结合实际情况,参考真实的代码进行练习,加深对SQL语言的理解,从而更好地掌握数据库系统的原理和应用。

国开学习网电大数据库应用技术第四次形考作业实验结果

国开学习网电大数据库应用技术第四次形考作业实验结果

国开学习网电大数据库应用技术第四次形
考作业实验结果
实验目的
本次实验旨在通过应用数据库技术,对国开学习网电大的数据库进行操作和分析,以实现特定的功能需求。

实验步骤
1. 确定数据库需求:根据实验要求,确定需要实现的功能和操作。

2. 数据库设计:根据功能需求,设计数据库的表结构和关系。

3. 数据库创建:使用合适的数据库管理系统,创建相应的数据库。

4. 数据导入:将实验所需的数据导入数据库中。

5. 数据操作:根据功能需求,进行数据的增删改查等操作。

6. 数据分析:对数据库中的数据进行分析,获取所需的统计结果。

7. 结果验证:根据实验要求,验证实现的功能是否符合预期。

实验结果
通过以上步骤,完成了对国开学习网电大数据库的应用技术实验。

实验结果如下:
1. 成功创建了数据库,并按照设计的表结构进行了数据导入。

2. 实现了对数据库的增删改查等基本操作,并验证了其正确性。

3. 进行了一定的数据分析,得到了所需的统计结果。

4. 所有功能需求均得到了满足,并通过验证确保了其准确性和
完整性。

总结
本次实验通过应用数据库技术,成功完成了对国开学习网电大
数据库的操作和分析。

实验结果表明所实现的功能满足了预期,并
且数据库的设计和操作都没有出现法律上的复杂问题。

在今后的学
习和工作中,可以继续发挥数据库应用技术的优势,追求简单的策略,避免引入无法确认的内容,以独立决策为原则。

《数据库与信息系统》系统分析与设计

《数据库与信息系统》系统分析与设计
课程编号 课程名称 课程学分
授课时长 上课的教室
封面图
课程简介 任课教师
课程封面图
课程情况 教师号
类型
字符型 字符型
字符型 字符型 小数 正整数 字符型
字符型 文本型 字符型
长度
取值范围
取值含义 与其他数据关系 其他说明
学科记录
3
主关键字
<=10 非空
课程记录
4
主关键字
<=16 非空
3
非空,0~100,保 留1位小数
②个人信息维护(包括增加、修改和删除);密码的修改。 ③教务员查看查询和汇总学生信息。 处理过程名:教师管理 输入数据:选课单、学生信息表、课程信息表 输出数据:选课表 处理过程:①选课:查询课程信息及授课教师信息,选择多门课程,提交选择课程的编号,检测所选 课程是否重复,如不重复向选课表添加选课记录,否则提示冲突回到选课页面。 ②退课:查询选课表,选择退课课程,从选课表删除课程。 处理过程名:学习管理 输入数据:选课表、课件表、测试题表 输出数据:测试答案表 处理过程:①课件播放:根据用户选择的课件播放课件视频。 ②测试:根据用户选择引导测试,并记录答案。 ③查看选课情况、成绩情况。 处理过程名:成绩管理 输入数据:成绩、选课表、测试成绩 输出数据:成绩表、毕业证表 处理过程:①组班管理:生成选课学生名单报表(点名册)。 ②成绩计算:根据测试答案计算课程的成绩,如果有多次测试,选择成绩最高的作为最终成绩。 ③证书处理:根据选课表及其中的成绩信息判断,对满足条件的学生发放毕业证书。发放证书条件是:选 课并获得60分以上课程的总表学分达到4。 ④成绩分析:对一门课的所有选课学生成绩进行分析汇总。
e学习系统数据字典实体说明实体名含义说明输入数据流输出数据流学生在系统中注册的用户课件测试成绩单毕业证个人信息选课单测试答案教师在系统中开设课程的用户选课名单成绩单课件测试题教务员在系统中的课程管理人员学生信息成绩分析报告教师信息学科信息课程信息数据流说明数据流含义说明数据来源数据去向组成学生信息学生基本信息学生学生信息表姓名性别生日照片电话电子信箱地点个人简介密码教师信息教师基本信息教务员教师信息表教师号姓名性别照片电子信箱个人简介密码是否管理员课程信息一门课程的基本信息教务员课程信息表课程号课程名学时学分所属学科封面图课程简介仸课教师选课单一个学生选一门学生信息表课程信息表选课表学号课程号测试题测试题目教师课件管理测试答案测试题的答案及评分信息学习管理测试答案表学号问题号学生答案测试时间成绩一个学生选一门课的成绩成绩管理成绩表学号课程号成绩测试时间课件学习单元课件教师课件管理所属课程号课件标题视频地址文档地址収布时间二维码图毕业证毕业证成绩管理毕业证表学号证书号总学分収证日期成绩分析报告课程成绩分析成绩管理教务员课程号选课人数平均分最高分最低分及格人数数据记录说明记录名含义说明数据项组成学生一个学生的有关信息学号姓名性别生日照片电话电子信箱地点个人简介密码教师一个教师的有关信息教师号姓名性别照片电子信箱个人简介密码是否管学科一个学科的有关信息学科号学科名课程一门课程的有关信息课程号课程名学时学分所属学科封面图课程简介仸课教师选课一个学生选一门课的有关信息学号课程号成绩测试时间课件一个课件的有关信息课件号所属课程号课件标题视频地址文档地址収布时间测试题一个测试题的有关信息问题号课程号题干选顷a选顷b选顷c选顷d正确答案测试答案一个学生完成一题的答案信息学号问题号学生答案测试时间毕业证一个学生毕业证的有关信息学号证书号总学分数収证时间数据顷说明学生实体数据项含义说明类型长度取值范围取值含义与其他数据关系其他说明学科记录学科号唯一标识一个学科字符型主关键字学科名学科名称字符型10课程记录课程号课程编号字符型主关键字课程名课程名称字符型16学分课程学分小数非空0100保留1位小数学时授课时长正整数学科号上课的教室字符型学科表记录的学科号存在值封面图课程封面图字符型30图片文件存放的路径和文件名课程简介课程情冴文本型010000一段文字介绉仸课教师教师号字符型教师记录的教师号存在值不教师记录的教师号相同处理过程说明学生

信息系统与数据库技术实践课程指导

信息系统与数据库技术实践课程指导

前言本书使用对象为本科非计算机专业的学生,课程实践的时间为24学时。

设计环境为学校计算机中心,每一人一题,每人一台计算机。

软件环境要求:windows操作系统,SQL-Server,,Word(用于编写设计报告)。

2016.3目录第一篇实践课程说明 (1)第二篇课程设计题目 (3)题目一网上书店信息系统 (3)附录1: (1)题目二. 学生管理系统 (5)附录2: (9)题目三. 宿舍管理 (13)题目四. 作业提交系统 (15)第一篇实践课程说明一. 实践课程目的本课程是信息系统设计的实践性环节之一,是在学生学习《信息系统与数据库》课程时进行的一次全面的综合技术实践。

二. 实践课程要求1. 分析实践课程设计题目的要求;2. 写出详细设计说明;3. 编写程序代码,调试程序使其能正确运行;4. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5. 设计完成后提交课程设计报告(按学校要求装订)和源代码文件的电子文档。

三. 实践课程的内容1.在指导书提供的设计题目中选择一题,每个题目限1人完成,题目选定后不可更换;2.用户提供的主操作界面应该方便用户的操作。

3.最后提交的设计成果包括:a)课程设计报告打印稿;b)课程设计报告电子稿;c)源程序文件;d)可执行程序文件。

四. 课程设计报告的内容:1. 课程设计题目名称、班级号、学号、学生姓名和课程设计起止日期(封面);2. 上海应用技术学院课程设计任务书(下发)3. 系统目标;4. 需求分析;5. 数据库设计;6. 系统开发设计;7. 课程设计总结;8. 附录:1 参考文献2 程序清单。

五. 评分标准:1. 根据平时出勤情况和设计时的工作情况;20%2. 根据课程设计程序的完成情况,必须有可运行的程序文件。

50%3. 根据课程设计报告的质量。

(课程设计报告不能雷同,雷同的所有人判为不及格)20%。

4. 在题目要求之外附加具有实用性的功能。

10%六. 进度安排:1 选择课程设计题目,分析系统目标,设计数据库;2 按功能模块编写详细设计说明;3 系统开发设计;4写课程设计报告;5交课程设计报告(打印稿及电子稿);第二篇课程设计题目题目一网上书店信息系统一、客户信息管理1. 设计要求:设计网上书店信息系统中的客户信息管理模块,要求有客户和店员两个方面的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四数据库操作语言SQL一.实验目的⚫了解使用SQL中DDL语句创建数据库和表的方法⚫熟练掌握使用SQL中DML语句对数据库进行查询、插入、修改和删除等操作的方法⚫掌握可编程对象视图和存储过程的创建与使用方法,了解触发器的创建方法二.实验环境及素材⚫MySQL和Navicat for MySQL⚫bookstore数据库的脚本文件bookstore.sql三.实验内容首先创建一个bookstore数据库,执行bookstore.sql脚本文件实现表的创建及数据记录的添加。

然后在bookstore数据库中完成以下题目(bookstore数据库设计说明参见10.1节)。

①在Navicat for MySQL中,创建数据库bookstore。

②右击数据库bookstore,选择“运行SQL文件…”,在对话框中浏览选择“bookstore.sql”文件,点击“开始”即可完成数据表定义及添加数据记录。

③在左栏连接窗口展开数据库“bookstore”/表,右击“表”选“刷新”菜单,即可看到恢复的各数据表。

9.创建和使用存储过程。

解析:存储过程是经过编译的SQL语句的集合。

用户首先创建存储过程,然后在程序中调用该存储过程执行。

创建存储过程可以在Navicat for MySQL中使用向导建立,也可以使用SQL的CREATE PROCDURE语句。

存储过程可以接受参数、也可将查询信息通过输出参数返回调用者。

常用存储过程的语法格式:CREATE PROCDURE 存储过程名( [形式参数列表])SQL语句段“形式参数列表”中多个参数之间用逗号分隔,如果没有参数,则()中为空。

每个参数由输入输出类型、参数名和参数类型三部分组成,定义规则如下:[IN|OUT|INOUT 参数名类型输入输出类型中:IN是输入参数,即把数据传递给存储过程;OUT是输出参数,即从存储过程返回值;INOUT表示输入输出,即传入也能返回值。

默认为IN类型;参数名必须符合标识符规则;参数类型可以是MySQL支持的任意数据类型。

存储过程创建后,可以通过CALL语句调用执行存储过程。

语法格式如下:CALL 存储过程名(实参值|@变量)其中:“实参值”是输入参数的值;“@变量”表示用来保存参数或者返回参数的变量。

多个参数可依次按以上参数定义规则列出,用逗号分隔。

(1)创建存储过程proc_SearchBook ,查询指定图书名称的图书信息,并调用查看结果。

解析:本题以图书名称作为存储过程的输入参数。

参考步骤(Navicat for MySQL 中使用向导创建存储过程):① 打开Navicat for MySQL ,展开数据库bookstore ,右击“函数”,选择“+新建函数”,出现创建f()函数向导对话框,点击类型“过程”。

② 输入存储过程参数。

依次设置参数模式“IN ”、参数名“bkname ”和类型“varchar(50)”,如图4.34(a )所示,点击“完成”,进入存储过程SQL 代码输入窗口,如图4.34(b )所示,在BEGIN 和END 之间输入SQL 语句:SELECT * FROM book WHERE bookname=bkname; -- 按bkname 查询图书信息③ 点击工具栏中的“”或“ ”按钮,在“过程名”对话框输入存储过程名称 “proc_SearchBook ”,点击“确定”按钮。

在“bookstore/f()函数”下可看到该存储过程。

调用查看结果(在SQL 查询编辑窗口中调用):运行proc_SearchBook ,查询图书“西游记”的信息。

点击“ ”按钮,在“参数”对话框中输入参数'西游记'(字符串需加单引号),点击“确定”按钮,执行结果如图4.35。

或在查询编辑窗口执行调用存储过程proc_SearchBook 的语句获取查询结果。

CALL proc_SearchBook ('西游记') 或者:SET @nbook='西游记';CALL proc_SearchBook (@nbook);(a )存储过程参数设置 (b )SQL 语句输入图4.34 使用向导创建存储过程调用有参数的存储过程时,注意括号里面要带参数。

图4.35 proc_SearchBook的执行结果该存储过程可直接运行下面SQL语句创建:CREATE PROCEDURE proc_SearchBook (IN bkname varchar(50)) -- bkname 是IN类型参数SELECT * FROM book WHERE bookname=bkname; -- 按bkname查询图书信息(2)创建存储过程proc_FuzzySearchBook,按不完整图书名称模糊查询图书信息,调用查看结果。

在SQL查询编辑窗口直接输入代码执行:CREATE PROCEDURE proc_FuzzySearchBook(IN btname varchar(50))SELECT BookName, Author, BookSort, ISBNFROM BookWHERE BookName LIKE btname;调用查看结果(在SQL查询编辑窗口中调用):proc_FuzzySearchBook存储过程可以按多种组合调用执行。

①CALL proc_FuzzySearchBook('%') --查询所有图书(如图4.36)②CALL proc_FuzzySearchBook('%程序设计%') --查书名中含“程序设计”的图书(如图4.37)③CALL proc_FuzzySearchBook('VB程序设计') --查询“VB程序设计”的图书(如图4.38)图4.36 查询所有图书图4.37 查询书名中含“程序设计”的图书图4.38 查询“VB程序设计”的图书(3)创建存储过程proc_SearchCustomerMoney,查询指定客户在某年之前的购书总金额(已知客户号和年份,输出总金额),并调用查看结果。

解析:本实验的存储过程不但有输入参数,还需要有输出参数来存放“总金额”值。

参考步骤(Navicat for MySQL中使用向导创建存储过程):①打开Navicat for MySQL,展开数据库bookstore,右击“函数”,选择“+新建函数”,出现创建f()函数向导对话框,点击类型“过程”。

②输入存储过程参数。

输入参数ccode:选择参数模式IN、参数名”ccode”和类型int;点击“+”添加参数:yyear:选择参数模式IN、参数名”yyear”和类型int;再次点击“+”添加参数totalfee:选择参数模式OUT、参数名”totalfee”和类型decimal(8,2);如图4.39(a)所示,点击“完成”,进入存储过程SQL代码输入窗口,如图4.39(b)所示,在BEGIN和END之间输入SQL语句:SELECT sum(TotalPrice) INTO totalfeeFROM `orders`WHERE CustomerCode=ccode AND year(OrderTime)<=yyearGroup by CustomerCode;③点击工具栏中的“”或“”按钮,在“过程名”对话框输入存储过程名称“proc_SearchCustomerMoney”,点击“确定”按钮。

在“bookstore/f()函数”下可看到该存储过程。

(a)存储过程参数设置(b)SQL语句输入图4.39使用向导创建存储过程调用查看结果(在SQL查询编辑窗口中调用):调用存储过程,结果如图4.40。

CALL proc_SearchCustomerMoney('2401', 2018, @total );SELECT @total As 总金额;图4.40查询“2401”客户2018年前的购书总金额(4)创建存储过程proc_UpdateVIPClass,修改指定客户(CustomerCode)的VIPClass和EvaluateDate,EvaluateDate取当前时间,调用查看结果。

解析:本存储过程的功能用于修改数据表CustomerEvaluation中的记录。

参考答案(使用CREATE PROCEDURE语句在查询命令窗口创建存储过程):注意out参数的使用方法,使用INTO关键字。

调用有参数的存储过程时,注意括号里面要带参数。

CREATE PROCEDURE proc_UpdateVIPClass(IN ccode char(4),IN cclass char(1))UPDATE CustomerEvaluation SET VIPClass=cclass, EvaluateDate=CURDATE()WHERE CustomerCode=ccode;调用查看结果:调用存储过程,可在调用的前后分别打开表或使用Select语句检查客户等级。

如图4.41所示。

CALL proc_UpdateVIPClass('2401', 'A');Select * From CustomerEvaluation Where CustomerCode='2401';图4.41 修改“2401”客户的等级和评价时间(5)创建存储过程proc_InsertOrderDetail,向orderdetail表中添加一条记录,调用查看结果。

参考答案(使用CREATE PROCEDURE语句在查询命令窗口创建存储过程):CREATE PROCEDURE proc_InsertOrderDetail(IN ordcode char(8), IN bookcode char(4), IN count int)INSERT INTO OrderDetail VALUES(ordcode,bookcode,count);验证步骤(在SQL查询编辑窗口中验证):调用存储过程,可在调用的前后分别打开表或使用Select语句检查客户等级。

如图4.42所示。

CALL proc_InsertOrderDetail('10120701', '0202', 5);Select * From OrderDetail Where BookCode='0202';图4.42 调用存储过程插入一条记录10.创建触发器和检验触发器执行效果。

解析:触发器定义在表上,是一个数据库对象。

当在表上发生某种影响表中数据的操作时将触发触发器的执行。

相关文档
最新文档