数据库系统原理实验3

数据库系统原理实验3
数据库系统原理实验3

数据库系统原理实验报告

姓名成长锦

班级统计1702

学号 17271119

日期:2020/06/01

自我评价

教师评语

成绩

一、实验目的

本实验通过对DBMS 软件的操作,使学生掌握数据库触发器的设计和使用方法,以及存储过程的创建和执行方法。

二、实验环境

SQL Server,主要使用SQL Server Management Studio.

采用操作系统(windows)用户登录方式登录SQL Server.

三、实验内容及要求

请按照实验内容及实验要求,认真完成各项实验,并完成实验报告(包括涉及到的SQL 脚本、实验结果(截图)、实验中出现的问题、解决方法说明以及实验体会)。

实验内容一、数据库完整性之触发器实验

[实验目的]

理解不同类型触发器的作用和执行原理,验证触发器的有效性。

[实验内容及要求]

1)在Student 表上定义一个UPDATE 触发器,将对Student 表的修改记录到表StudentUpdateLog 中

先创建表:

●触发器:

ALTER TRIGGER [dbo].[Student_U] ON [dbo].[Student]

AFTER UPDATE

AS

INSERT INTO StudentUpdateLog(sno,sname,ssex,sage,sdept)

select*from deleted

●测试:

update Student

set sname='李大勇'

where sname='李小勇'

update Student

set sname='李大小勇'

where sname='李大勇'

查看studentupdatelog表:

2)在Student 表上定义一个DELETE 触发器,当删除一个学生记录时,自动删除SC 表上这个学生的所有选课记录

●定义触发器:

CREATE TRIGGER Student_D on Student

AFTER delete

AS

DECLARE @oldsno char(10)

SELECT @oldsno=sno from deleted

DELETE FROM SC

WHERE sno=@oldsno

●测试:

--查看测试删除的学号

select*from Student

where sname='李勇'

--删除

delete

from Student

where sname='李勇'

3)在Course 表上定义一个UPDATE 触发器,当更新一门课程的课程号时,自动修改SC 表上这门课程的课程号

●触发器:

create trigger Courese_U on Course

after update

as

declare @newcno char(5)

declare @oldcno char(5)

select @newcno=cno from inserted

select @oldcno=cno from deleted

update SC

set cno=@newcno

where cno=@oldcno

●测试:将课程cno=1修改为10,并查看SC表

4)在SC 表上定义一个DELETE 触发器,当删除一条选课记录时,若这条记录是这门课程的唯一被选记录,则同时删除Course 表中的这门课程

触发器:

create trigger SC_D on SC

after delete

as

declare @oldcno char

declare @numcno int

select @oldcno=cno from deleted

select @numcno=COUNT(*)from SC

where cno=@oldcno

if(@numcno=0)

delete

from Course

where cno=@oldcno

●测试:cno=7在SC表中只有一行,查看Course表发现cno=7的课程已经删除

5)以上触发器均为AFTER 类型的触发器,请在已有数据库上自己设计并定义一个BEFORE 类型的触发器

●触发器:当插入SC表成绩小于60时,默认成绩为60

ALTER trigger [dbo].[SC_grade] on [dbo].[SC]

for insert

as

declare @oldgrade int

declare @oldcno char(5)

select @oldgrade=grade from inserted select @oldcno=cno from inserted

if(@oldgrade<60 )

update SC

set grade=60

where grade=@oldgrade and cno=@oldcno

测试:

实验内容二、给定要求的存储过程及DBMS 中执行

[实验目的]

学会在SQL Server 中创建存储过程,并通过脚本在SQL Server 中调用执行该存储过程。[实验内容及要求]

1. 对学生-课程数据库编写两个存储过程,完成下述功能:

1)统计任意一门课的平均成绩

执行存储过程:

输出’C3’ 课程的平均成绩

存储过程:

create procedure avggrade

@newcno char(5),

@score float output

AS

declare @search_cno char(5)

set @search_cno=0

select @search_cno=cno from SC

if(@search_cno=0)

begin

set @score=0

print'课程不存在'

end

else

begin

select @score=AVG(grade)from SC

where cno=@search_cno

end

declare @score float

exec avggrade4,@score output

print @score

declare @score float

exec avggrade100,@score output

print @score

2)把某位同学选修课程1 的成绩和课程2 的成绩互换(假定成绩都不为空)

执行存储过程:

把同学‘S1’ 的’C2’ 课程和‘C4’ 课程成绩互换

把同学’S7’ 的’C2’ 课程和‘C4’ 课程成绩互换

●执行存储过程前:SC表,红色框分别是刘晨、王敏准备交换的课程对应成绩。

ALTER procedure [dbo].[change]

@cno1 char(5),

@cno2 char(5),

@sname char(20)

AS

declare @search_sno char(10)

declare @grade1 int,@grade2 int,@num int

select @search_sno=sno from Student where sname=@sname

if(@search_sno is null)

begin

print'该学生不存在'

end

else

begin

select @num=COUNT(*)from SC

where sno=@search_sno and(cno=@cno1 or cno=@cno2)

if(@num<>2)

begin

print'该学生某课程不存在,无法交换'

end

else

begin

select @grade1=grade from SC where sno=@search_sno and cno=@cno1;

select @grade2=grade from SC where sno=@search_sno and cno=@cno2;

update SC

set grade=@grade2

where sno=@search_sno and cno=@cno1;

update SC

set grade=@grade1

where sno=@search_sno and cno=@cno2;

end

end

●测试1:交换刘晨课程2和3成绩

交换后SC 表:

●测试2:交换王敏同学的课程5和8成绩

交换后SC 表:

●测试3:特殊情况一,学生姓名查找为空

测试4:特殊情况二:学生对应课程不存在

数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”与“值”之分;○2数据受数据类型与取值范围的约束;○3数据有定性表示与定量之分;○4数据应具有载体与多种表现形式。 3、(1)数据管理的功能: ○1组织与保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存; ○2数据维护功能,即根据需要随时进行插入新数据,修改原数据与删除失效数据的操作; ○3数据查询与数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全与完整性控制功能,即能保护数据的安全与完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全与完整性。 4、(1)数据库:就是数据管理的新方法与技术,她就是一个按数据结构来存储与管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它就是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询与统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:就是数据存储、数据操作与数据控制功能。其数据存储与数据操作就是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除与修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询与统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露与破坏,也就就是避免数据被人偷瞧、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效与相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件与用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统就是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法与汉字信息的处理方法。②数据库管理系统与主语言系统:数据库管理系统就是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统就是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具就是DBMS系统为应用开发人员与最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询与视图设计器等,它们为数据库系统的开发与使用提供了良好的环境与帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们就是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理与处理操作。(3)关系:

数据库系统原理实验报告-基本操作

计算机学院 数据库系统原理实验报告 课程名称:数据库系统原理 开课学期:2015-2016学年第1学期 班级: 指导老师: 实验题目:SQLServer系统基本操作 学号: 姓名: 提交时间:第n周

一.实验目的 (一)通过实验了解大型数据库管理系统SQL SERVER2000基本架构,并且掌握验证SQL SERVER2000是否正确安装和基本的配置方法。 (二)通过实验,掌握SQL SERVER数据库与ACCESS数据库、EXCEL 表和文本文件的数据之间的导入-导出方法。 二.实验原理 大型数据库管理系统是数据库管理的基本平台。SQL SERVER2000数据存储在数据库中。在数据库中,数据被组织到用户可以看见的逻辑组件中。数据库还可以按物理方式,在磁盘上作为两个或更多的文件实现。使用数据库时使用的主要是逻辑组件,例如表、视图、过程和用户。文件的物理实现在很大程度上是透明的。一般只有数据库管理员需要处理物理实现。每个SQL Server 实例有四个系统数据库(master、model、tempdb 和msdb)以及一个或多个用户数据库。 三.实验内容和方法 (一)基本操作 1.启动和停止SQLServer服务 可以通过以下4种方法停止和启动SQLServer服务 (1)SQLServer服务管理器

(2)SQLServer企业管理器

(3)控制面板中的服务对话框

(4)NT服务器命令行 (二)数据的导入导出 1.奖SQL Server 数据库转移到access的数据库(1)启动office的access,建立一个空的数据库 (2)导出数据库

数据库系统实验报告 实验三 数据控制(安全性)..

《数据库系统概论》实验报告 题目:实验三数据控制(安全性) 班级姓名学号日期2014年6月6日 一、实验目的 1.通过SQL对数据库进行安全性控制 2.完成教材中例题的上机练习 二、实验平台 微软SQL Server 2000或以上版本。 对于SQL Server 2000,使用查询分析器运行SQL语句,对于SQL Server 2005以上的版本,使用SQL Server Management Studio运行SQL语句。 三、实验内容和要求 使用SQL对数据进行安全性控制,包括授权和权力回收。 操作完成后,查看授权用户是否真正具有所授予的数据操作权利,在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。 在前几次实验中已经建立了实验数据库,继续在此数据库上进行实验所要求的各项操作。认真填写实验报告,记录所有的实验用例。 四、实验步骤 1.以管理员sa登录数据库,新建DB数据库,然后运行如下SQL语句,创建 我们前几次实验所建立的表。 CREATE TABLE course ( Cno char(4) NOT NULL, Cname char(40) DEFAULT NULL, Cpno char(4) DEFAULT NULL, Ccredit smallint DEFAULT NULL, PRIMARY KEY (Cno) ) ; -- -- 转存表中的数据'course' -- INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('1', '数据库', '5', 4); INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('2', '数学', NULL, 2);

专科《数据库原理与应用》_试卷_答案

专科《数据库原理与应用》 一、(共66题,共150分) 1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中在( ),程序员可能需要设计数据在内存中的物理地址。(2分) A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 .标准答案:C 2. 在关系模式中,如果属性A和B存在1对1的联系,则存在( ) 依赖关系。(2分) A. B. C. D.以上都不是 .标准答案:C 3. 关系模型支持( ) 的数据结构。(2分) A.线性结构 B.树结构 C.图结构 D.集合结构 .标准答案:D 4. 在数据库三级模式结构中,内模式是( ) 的视图。(2分) A.计算机世界 B.信息世界 C.现实世界终端用户 D.数据库管理员 .标准答案:A 5. 关系模型的参照完整性要求( ) 。(2分) A.一个关系必须有外码 B.外码必须是父关系的主属性 C.外码所在的关系即子关系必须和父关系是不同关系 D.外码或为空或为父关系对应主码的值 .标准答案:B 6. SQL语言中的DELETE命令属于( ) 。(2分) A.数据定义语言 B.数据操作语言 C.数据控制语言 D.数据查询语言 .标准答案:B 7. ( ) 是数据库系统概论的直接先导课程之一。(2分) A.大学物理 B.汇编语言 C.数据结构 D.模拟电路 .标准答案:C 8. 数据库管理系统简称DBMS,下列系统软件中,( ) 是具有DBMS功能的软件。(2分) A.Microsoft Office Word B.Microsoft Office PowerPoint C.Microsoft Office Outlook D.Microsoft Office Access .标准答案:D 9. SQL语言的数据查询语言SELECT命令语法接近自然语言,下列子句中( ) 是SELECT命令语法规定必须有的部分。(2分) A.FROM子句 B.GROUP BY子句 C.ORDER BY子句 D.INTO子句 .标准答案:A 10. 下面术语中( ) 是数据库系统原理与应用课程的关键词。(2分) A.数据模型 B.编程语言 C.软件体系结构 D.数据转换 .标准答案:A 11. 因为关系数据库的查询优化技术,用户程序员不用了解数据库中数据的物理存储结构,也能编写高效率的程序。(2分) ( ) .标准答案:正确 12. 关系操作中的投影运算必须有两个关系同时参与运算才能得到正确的结果。(2分) ( ) .标准答案:错误 13. DBTG中的系是一棵二级树,表示的是系主记录型(Owner)和成员记录型(member)之间一对多的关系,但两个记录之间可以定义多个系。(2分) ( ) .标准答案:正确 14. DBMS作为一种大型的系统软件,可以通过相关技术绕过操作系统,直接管理存储在硬盘上的数据。(2分) ( ) .标准答案:错误 15. 数据模型的是三要素指,数据结构、数据操作和完整性约束条件。其中数据结构是描述系统的静态特性的,数据操作是描述系统动态特性的。(2分) ( ) .标准答案:正确 16. 在数据库中,数据独立性是指数据之间相互独立,互不依赖。(2分) ( ) .标准答案:错误 17. SQL语言的视图对应三级模式的外模式,表对应模式,所以用户程序只能使用视图而不能直接使用表来查询和操作数据库中的数据。(2分) ( )

(完整word版)数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”和“值”之分;○2数据受数据类型和取值范围的约束;○3数据有定性表示和定量之分;○4数据应具有载体和多种表现形式。 3、(1)数据管理的功能:○1组织和保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存;○2数据维护功能,即根据需要随时进行插入新数据,修改原数据和删除失效数据的操作;○3数据查询和数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全和完整性控制功能,即能保护数据的安全和完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。 4、(1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。其数据存储和数据操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露和破坏,也就是避免数据被人偷看、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效和相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件和用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。②数据库管理系统和主语言系统:数据库管理系统是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具是DBMS系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系统的开发和使用提供了良好的环境和帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。(3)关系:

《数据库系统原理及应用》习题集及参考答案要点

《数据库系统原理及应用》习题集及参考答案 一、简答题 1、什么是数据库管理系统? 一种负责数据库的建立、操作、管理和维护的软件系统。 2、数据库系统有哪几种模式?分别用来描述什么? (1)外模式 是用户的数据视图,用来描述数据的局部逻辑结构,是模式的子集。 (2)模式 是所有用户的公共数据视图,用来描述数据库中全体数据的全局逻辑结构和特征。(3)内模式 又称存储模式,描述数据的物理结构及存储方式 3、什么是事务?事务有哪些特征? 答:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务的特征:原子性、一致性、隔离性、持续性。 4、POWER BUILDER中事务对象有何作用? 答:PowerBuider的事务对象是应用程序与数据库之间进行通信的桥梁,在应用程序初启时,系统自动创一个为SQLCA(SQL Communication Area, SQL通讯区)的全局事务对象,该对象在应用程序的任何地方都可以访问 应用程序与数据库的所有通信都需要通过事务对象来完成,除了直接使用系统的缺省事务对SQLCA外,开发人员也可以创建自己的事务对象。 5、SQL SERVER中INSERTED表和DELETED表有何用? 答:触发器中用到两种特殊的表:删除表和插入表触发器中使用名为“deleted"和“inserted"来参照这些表;删除表存储受DELTE和UPDATE语句影响的行的副本当执行DELETE或UPDA TE语句时,行从触发器表中删除并传递到删除表中。删除表和触发器表通常没有共有的行。 插入表存储受INSERT和UPDA TE语句影响的行的副本当执行一NSERT或UPDA T语句时,新行同时增加到插入表和触发器表中。插入表中的行是触发器表中新行的副本可使用删除表和插入表中的行来参照相关表中的行, 或测试被删除或插入行中的值。 6、数据库系统由哪几部分构成? 答:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 7、什么是候选码?什么是主码?主码只能有一个属性吗? 答:能唯一标识实体的属性或属性组称为超码,其任意真子集都不能成为超码的最小超码称为候选码;

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据库系统设计实验报告

数据库系统设计实验报告 ――教务管理系统 学院:计算机科学与技术 专业:软件工程 班级: 学号: 姓名: 指导老师:

一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008 二、需求分析 1、系统的概述 ?一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或 者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身 份证号、入学时间等属性。 ?每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这 个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置 有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都 有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言, 虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课 程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机 学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相 同的。 ?教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容 根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2 学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程 安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点 (理工楼234),有的课程是单周上,有的双周,也有是每周都上的。 ?在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择 的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能 给任何学生选择了。 ?学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户 名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多 个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考 试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。 ?为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而 是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成 绩表中。

《数据库系统原理》实验报告

《数据库系统原理》实验 实验1 表和表数据的操作 一、实验目的 掌握在SQL Server 2000环境下,利用SQL语言创建和管理表的方法。 二、实验要求 1、学会利用SQL语句建立自定义数据类型; 2、掌握使用SQL语句建立数据表的方法; 3、掌握数据表的修改及删除方法(界面方式及语句方式); 4、掌握T-SQL中的INSERT、UPDATE及DELETE语句的使用方法; 三、实验内容 1、创建数据库 利用“查询分析器”创建“stuscore”数据库。 CREATE DATABASE stuscore 2、创建数据表 (1)用“查询分析器”建立stuscore数据库中的学生表(Student)、班级表(Class)、课程表(Course)及成绩表(Grade),结构如下: create table student (sno char(8) primary key, sname varchar(10), sex char(2), clsno char(6), stuaddr varchar(20), birthday char(20), height DEC(4,2), foreign key(clsno) references class(clsno) );

create table class (clsno char(6) primary key, clsname varchar(16), dorector varchar(10), specialty varchar(30) ); create table course (cno char(4) primary key, cname varchar(16), pcno char(4), credit tinyint ); create table grade (sno char(8), cno char(4), scorce int, primary key(sno,cno) );

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

数据库系统实验

实验指导书 班级:090402 姓名:郑锦坤

序言 数据库是数据管理的最新技术,是计算机科学的重要分支。通过学习重点让大家掌握数据库技术的程序设计思想和方法,学习开发管理系统的技术,并结合PB8.0以上版本和SQL SERVER 2000以上版本上机环境编程测试。 为了达到这个目的,这里安排五个实验单元。 实验报告的内容 1.题目 描述每个实验的内容是什么。 2.需求分析 用E-R图描述数据库的模式设计及每个关系模式的建立;描述数据字典及程序数据流;每个事件、函数或过程 的头和规格说明; 3.源程序清单和结果 源程序要加注释,要有测试数据及结果。

实验1:学习SQL 语句与SQL SERVER的数据库环境(4学时) 本次实验的主要目的在于学会使用SQL SERVER环境建 库的方法,学会SQL SERVER企业管理器和查询分析器的使用,通过数据库操纵环境,了解库的建立、表的建立、数据库 的查询实现方法。实验数据如下: Student SC

实验报告 1 日期: 一.SQL语句实验题目: 1.建立课程表 2.建立学生表 3.建立选课表 4.查询所有学生的详细信息

SELECT Student.SCLASS, Student.SNO,Student.SNAME, Student.SSEX, Student.SAGE , Student.SDEPT,https://www.360docs.net/doc/ea9200131.html,O,SC.GRADE,https://www.360docs.net/doc/ea9200131.html,AME,Course.CPNO,Course. CCREDIT FROM Course,Student,SC WHERE SC.SCLASS=Student.SCLASS AND SC.SNO=Student.SNO AND https://www.360docs.net/doc/ea9200131.html,O=https://www.360docs.net/doc/ea9200131.html,O 5.查询1班的学生号学及姓名 SELECT SNO,SNAME FROM Student WHERE SCLASS='1' 6.查询‘刘晨’的出生年 7.查询姓‘刘’的学生的详细情况

数据库系统原理及应用实验全套

数据库系统原理及应用实验指导书 (本科) 福建工程学院计算机与信息科学系计算机软件与理论教研室 浅诺制作 2012年5月

目录 实验一数据定义语言 (1) 实验二 SQL Sever中的单表查询 (5) 实验三 SQL Serve中的连接查询 (8) 实验四 SQL Serve的数据更新、视图 (12) 实验五数据控制(完整性与安全性) (17) 实验六语法元素与流程控制 (22) 实验七存储过程与用户自定义函数 (28) 实验八触发器 (34)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10%

2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S: S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录;

数据库系统原理实验一参考题答案

姓名:专业:班级:学号:科目:数据库系统原理实验日期: 实验题目:实验1 SQL SERVER 的安装及使用,数据库的建立

MAXSIZE=50, FILEGROWTH=5 ) LOG ON ( NAME='Students_Log', FILENAME='E:\ SQL_DATEBASE \Students_Mis_log.ldf', SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB ) GO (2)调用(USE)数据库:Students_Mis_2018 use Students_Mis_2018 GO (3)分别建立4个数据表的表结构(CREATE TABLE):系(Depts),学生(Students),课程(Courses),选课(Reports) CREATE TABLE Depts ( Dno CHAR(5)PRIMARY KEY, Dname CHAR(20)NOT NULL ) GO

CREATE TABLE Students ( Sno CHAR(5)PRIMARY KEY, Sname CHAR(20)NOT NULL, Ssex CHAR(2), Sage INT, Dno CHAR(5), CONSTRAINT FK_Dno FOREIGN KEY(Dno)REFERENCES Depts ) GO CREATE TABLE Courses ( Cno CHAR(6)PRIMARY KEY, Cname CHAR(20), Pre_Cno CHAR(6), Credits INT ) GO

数据库系统-实验3

实验九触发器的创建与使用 一、实验目的 本实验的目的是使学生进一步掌握SQL Server触发器的创建及使用方法,加深SQL触发器的理解。通过对数据的更新操作体会其触发器的作用。 二、实验准备 结合课堂教学内容,了解触发器的相关知识,掌握触发器的定义,理解触发器的使用方法及其特点。 三、实验要求 1. 掌握T-SQL创建触发器语句Create trigger的使用。 2. 完成所规定的触发器定义要求。 3. 通过数据查询检查触发器的使用效果。 4. 注意操作结果的截图与保存,供撰写实验报告使用。 四、实验内容 1. 在班级表class中增加班级人数(c_total)字段。 2. 为学生表(student)创建INSERT触发器t_inst_stu:新增一名学生时,若其班级编号非空,则将班级表(class)中相应班级的人数(c_total)自动加1。 3. 为学生表(student)创建DELETE触发器t_dele_stu:删除一名学生时,若其班级编号非空,则将班级表(class)中相应班级的人数(c_total)自动减1。 4. 为学生表(student)创建UPDATE触发器t_update_stu: 当某学生所在班号发生变化时(即调到另一班级后),将其原先所在班级的人数(c_total)减1,将新调入的班级班级的人数(c_total)加1。 5. 体会触发器的作用。 五、实验步骤 在查询分析器中完成实验内容。 1. 使用alter table语句在班级表class中增加班级人数(c_total)字段,默认值(DEFAULT)是0; 2. 为学生表(student)分别创建:

数据库系统原理实验

《数据库系统原理》实验指导 信息管理系 2010.9

背景知识介绍 学籍管理是学校管理中一项繁琐的工作,管理人员需要建立学生的学籍,汇总每学期没有拿到规定学分的学生以及这些学生的详细情况;学生完成一门课程的学习后,教师需要录入学生的考试成绩,计算平均成绩、汇总各分数段的人数,学生需要查询已结业的各门课程的成绩;班主任需要查询本班学生学习情况,包括各门课程的平均成绩和每个学生的考试通过情况,为此,设计一套实用的学籍管理系统就可以大大简化管理人员、班主任和任课教师的工作,方便学生查询自己的学习情况。该系统主要实现的功能如表1所示。 表1 学籍管理主要功能表 学籍管理基本情况:一个学院包含多个班级和多名教师,每个班级包括多名学生,根据学校规定,一个班级只有一个班主任,一个老师也只担任一个班级的班主任,一个学院有多名班主任,学院的属性有学院编号和学院名称,班级的属性有班级编号和班级名称,学生的属性有学号、姓名、性别和出生日期;每个学生可以选修多门课程,每门课程也可以被多个学生选修,学生选修课程后参加考试会有考试成绩,一个教师可以讲授多门课程,每一门课程也可以有多个教师讲授,教师授课要考虑授课地点以及授课的学期,一个教师可以受聘一种职称,一个职称可以聘任多个教师,每门课程属于一种课程类型,而每种课程类型可以包含很多门课程,每门课程最多只有一门先修课程。课程的属性包括课程编号、课程名称、课程介绍、开设学期、总学时、学分以及先修课程,教师的属性有教师编号、姓名、性别、出生日期、参加工作时间,职称的属性有职称编号和职称名称,课程类型的属性有课程类型编号和课程类型说明。

实验一学籍管理概念结构设计 1、实验目的 1)熟练掌握概念结构设计的方法 2)熟练掌握PowerDesigner进行CDM设计及检测CDM模型的方法 2、实验内容 PowerDesigner CDM可以描述概念结构,根据前面对学籍管理基本情况的描述,使用PowerDesigner进行学籍管理CDM设计。 3、实验步骤 1)选择file→new model→Conceptual Data Model,建立CDM模型(即概念数据模型)。 2)创建实体,在CDM的图形窗口中,单击设计元素面板上Entity工具(实体),再单击图形窗口的空白处,在单击的位置就出现一个实体符号。点击Pointer工具或右击鼠标,释放Entitiy工具。如图1-1所示。 图1-1 3)双击创建的实体符号,打开图1-2所示窗口,在此窗口“General”标签中可以输入实体的名称、代码、描述等信息。

数据库系统原理实验报告_SQL查询语句

数据库系统原理 实验报告 :xxx 学号:xxxxxxxx 专业:xxxxx 日期:xxxxx

Lab2 一、实验目的 进一步熟悉关系数据库标准语言SQL。 二、实验环境 1)Windows 10 2)SQL Server 2017 三、实验容 给定如学生表、课程表和学生作业表所示的信息。 表1 学生表 表2 课程表 表3 学生作业表

K001 0433 60 75 75 K001 0529 70 70 60 K001 0531 70 80 80 K001 0591 80 90 90 K002 0496 80 80 90 K002 0529 70 70 85 K002 0531 80 80 80 K002 0538 65 75 85 K002 0592 75 85 85 K006 0531 80 80 90 K006 0591 80 80 80 M001 0496 70 70 80 M001 0591 65 75 75 S001 0531 80 80 80 S001 0538 60 80 写出如下SQL语句: 1.查询数据库中有哪些专业班级。(5分) Sql语句: SELECT专业班级 FROM学生表; 查询结果截图: 2.查询在1986年出生的学生的学号、和出生日期。(5分) Sql语句: SELECT学号,,出生日期 FROM学生表 WHERE出生日期LIKE'1986%'; 查询结果截图:

3.查询05级的男生信息。(5分) Sql语句: SELECT* FROM学生表 WHERE学号LIKE'05%'AND性别='男'; 查询结果截图: 4.查询没有作业成绩的学号和课程号。(5分) Sql语句: SELECT学号,课程号 FROM学生作业表 WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL; 查询结果截图: 5.查询选修了K001课程的学生人数。(5分) Sql语句: SELECT COUNT(DISTINCT学号) FROM学生作业表 WHERE课程号='K001'; 查询结果截图:

数据库系统及应用 上机实验报告

数据库系统及应用上机实验报告 实验1 一、实验目的:理解SQL Server数据库的存储结构,掌握SQL Server数据库的建立方法和维护方法。 二、实验内容:在SQL Server环境下建立数据库和维护数据库。 三、程序源代码: --1 CREATE DATABASE test1 ON (NAME=test1_dat, FILENAME='f:\DB\data\test1dat.mdf', SIZE= 10, MAXSIZE= 50, FILEGROWTH= 5 ) LOG ON (NAME=order_log, FILENAME='f:\DB\data\test1log.ldf', SIZE= 5MB, MAXSIZE= 25MB, FILEGROWTH= 5MB) --2 create database test2 on

primary (name=test2_dat1, filename='f:\DB\data\test2dat1.mdf'), (name=test2_dat2, filename='f:\DB\data\test2dat2.ndf'), (name=test2_dat3, filename='f:\DB\data\test2dat3.ndf') log on (name=test2_log1, filename='f:\DB\data\test2log1.ldf'), (name=test2_log2, filename='f:\DB\data\test2log2.ldf') --3 create database test3 on primary (name=test3_dat1, filename='f:\DB\data\test3dat1.mdf'), (name=test3_dat2, filename='f:\DB\data\test3dat2.mdf'), filegroupg2 (name=test3_dat3, filename='d:\DB\data\test3dat3.ndf'), (name=test3_dat4,

《数据库系统原理》实验一剖析

实验一认识DBMS 一、实验目的 1、通过对某个DBMS的安装与使用,初步了解DBMS的工作环境和系统够架。在此推荐SQL Server 2005。 2、了解DBMS的安装。 3、搭建今后的实验平台。 二、实验环境 1、实验仪器设备 至少具有如下配置的计算机:计算机主频至少166MHZ;计算机内存至少64MB以上;至少1G以上的硬盘空间;VGA或更高分辨率的显示器。 2、软件环境 操作系统:Windows 7或Windows XP。 DBMS: SQL Server 2005。 三、实验内容 1、安装SQL Server2005,并在安装时将等录身份验证模式设置为SQL Server和Windows 验证,其他可选默认设置,一定要记住SA帐户和密码; 2、利用服务管理器启动服务; 3、利用客户端网络实用工具、服务器端网络实用工具,正确配置客户端和服务器端的网络连接; 4、熟悉和学习使用SQL Server2005对象资源管理器; 5、熟悉和学习SQL Server2005的其它实用工具。 四、实验步骤 1、安装过程 SQL Server 2005可以方便地安装到Windows 2000 Professional/ Server或 Windows NT Server 4.0上,不管安装在哪种操作系统上,整个过程、方式都很相似。且与其它微软的系列产品也很类似。我们仅以安装SQL Server 2005开发版为例说明其安装过程。 (1)将SQL Server 2005开发版安装光盘放入光驱,如果操作系统启用了自动运行功能,安装程序将自动运行,打开如图1-1所示的版本信息封面,短暂时间后自动进入安装环境选择,如图1-2所示。如果没有自动运行,则打开光盘根目录,然后双击“splash.hta”文件,打开SQL Server 2005的安装界面。 图1-1

数据库系统实验指导书(计算机学院2008级使用)

实验一 创建数据库和表 一、实验目的及要求: 1.了解SQL SERVER 数据库的逻辑结构和物理结构 2.了解表的结构特点 3.了解SQL SERVER 的基本数据结构 二、实验任务: 1.学会在企业管理器中创建数据库和表 2.学会在T-SQL 语句创建数据库和表 三、操作要点: 1.启动企业管理器,并创建数据库和表 2.启动SQL 查询分析器 3.掌握创建数据库和表分别是CREATE DATABASE 和CREATE TABLE 四、注意事项: 1.在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL 语句,其末尾不需要分号“;”作为命令结尾标记。 2.通常,SQL Server 2000对大多数末尾带有分号的SQL 命令都能顺利执行,但对少数的SQL 命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。 五、实验学时:2学时 六、实验重点及难点: 1.列级完整性约束条件 2.空值的概念 3.CREATE DA TABASE 和CREATE TABLE 的用法 七、实验步骤: (一) 企业管理器创建数据库和表 1.启动企业管理器; 2.创建数据库Company ,并创建一个主数据文件Company_Data1,一个二级数据 文件Company_Data2,一个日志文件Company_Log ,以及一个自定义文件组Company_Group ,该组中有数据文件Company_Data3,设置各文件属性。 (二) T-SQL 语句创建数据库和表 1.启动SQL 查询分析器; 2.创建数据库University ,并创建一个主数据文件University_Data 和一个日志文件University_Log ; 3. 建立表5.3所示的学生表Students ,各属性为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。要求Sno 和Sname 不能为空值,且取值唯一,Sno 为键码。 表5.3 关系Students 表5.4 关系Courses 表5.5 关系Reports

相关文档
最新文档