当前位置:文档之家› 数据库第四次实验报告

数据库第四次实验报告

数据库第四次实验报告
数据库第四次实验报告

南昌航空大学实验报告

二0一年月日

课程名称:数据库概论实验名称:存储过程及触发器

班级:姓名:同组人:

指导教师评定:签名:

一、实验参考代码及结果

存储过程:

(1)创建存储过程

9.11

CREATE PROCEDURE Select_S AS SELECT*FROM S WHERE sex='女'

GO

Execute Select_S

9.12

CREATE PROCEDURE InsRecToS(@sno char(5),@sn varchar(8),@sex char(2)='男',@age int,@dept varchar(20))

AS INSERT INTO S VALUES(@sno,@sn,@sex,@age,@dept)

GO

Execute InsRecToS@sno='S8',@sn='罗兵',@age='18',@dept='信息'

执行前:

执行后:

9.13

CREATE PROCEDURE Query_S(@Sno char(5),@SN VARCHAR(8)OUTPUT,@Age SMALLINT OUTPUT)

AS

SELECT@sn=sn,@age=age

FROM S

WHERE Sno=@Sno

(2)执行存储过程

Declare@SN VARCHAR(8),@AGE SMALLINT

execute Query_S'98010',@SN OUTPUT,@AGE OUTPUT

SELECT@SN,@AGE

(3)查看和修改存储过程

9.14

ALTER PROCEDURE[dbo].[InsRecTos](@sno char(5),@sn varchar(8),@sex char(2)='女',@age smallint,@dept varchar(20))

AS

INSERT

INTO S

VALUES(@sno,@sn,@sex,@age,@dept)

(4)查看、重命名和删除存储过程

9.15

exec sp_helptext Select_S

9.16

sp_rename Select_S,Select_Student

执行后:

9.17

DROP PROCEDURE Select_Student

执行后:

(5)在DingBao数据库中创建存储过程C_P_Proc,实现参数化查询顾客订阅信息,查询参数为顾客姓名,要求能查询出参数指定顾客的顾客编号、顾客名、订阅报纸名及订阅报纸份数等信息。

CREATE PROCEDURE C_P_Proc(@ccna varchar(10),@cno char(4)OUTPUT,@cna varchar(10)OUTPUT,@pna varchar(20)OUTPUT,@num int OUTPUT)

AS

SELECT@cna=cna,@cno=https://www.doczj.com/doc/00169968.html,o,@pna=pna,@num=num

FROM cp,customer,paper

WHERE https://www.doczj.com/doc/00169968.html,o=https://www.doczj.com/doc/00169968.html,o AND paper.pno=cp.pno AND cna=@ccna;

(6)执行存储过程C_P_Proc,实现对“李涛”等不同顾客的订阅信息的查询。

Declare@cno char(4),@cna varchar(10),@pna varchar(20),@num int execute C_P_Proc'李涛',@cno OUTPUT,@cna OUTPUT,@pna OUTPUT,@num OUTPUT SELECT@cno,@cna,@pna,@num

(7)删除储过程C_P_Proc

DROP PROCEDURE C_P_Proc

执行前:

执行后:

触发器:

(1)创建触发器

10.19

CREATE TRIGGER TR_S_Age_update on S

for update as

declare@iAge int;

select@iAge=age

from inserted

if@iAge<8 or@iAge>45

begin

raiserror('学生年龄应该大于等于,并小于等于',16,1)

rollback transaction

end

执行:

UPDATE s

SET age=48

WHERE sno='98010'

10.20

CREATE TRIGGER Change_S_Sel ON S

FOR INSERT,UPDATE,DELETE

AS

SELECT*

FROM S

执行:

(2)触发器的引用

INSERT

if exists(select name from sysobjects where name='TR_C_insert'and type='TR')

DROP TRIGGER TR_C_insert

go

CREATE TRIGGER TR_C_insert ON c

for insert as

declare@iCT int;

SELECT@iCT=CT

FROM inserted

if@iCT<1 or@iCT>10

begin

raiserror('课程学分应大于等于,小于等于.',16,1)

rollback transaction

end

执行:

INSERT

INTO c(cno,cn,ct)

VALUES ('C8','运筹学',0.5)

DELETE

CREATE TRIGGER TR_S_delete ON s

for delete

as

declare@icount int

select@icount=count(*)

from deleted,sc

where deleted.sno=sc.sno

if@icount>=1

begin

raiserror('该学生在表SC中北引用,展示不能被删除!',16,1) rollback transaction

end

执行:

DELETE

FROM s

WHERE sno='98010'

(3)查看、修改和删除触发器

修改触发器

ALTER trigger[TR_S_Age_update]on[dbo].[s]

for update as

declare@iAge int;

select@iAge=age

from inserted

if@iAge<8 or@iAge>45

begin

raiserror('学生年龄应该大于等于,并小于等于',16,1) rollback transaction

end

使用系统存储过程查看触发器

sp_depends'Change_S_Sel'

sp_helptext'Change_S_Sel'

Exec sp_help'Change_S_Sel'

删除触发器

10.24

DROP TRIGGER TR_S_Age_update

执行前:

执行后:

(4)

1.

CREATE TRIGGER TR_PAPER_I ON paper for insert as

declare@ippr money,@ipno char(6) select@ippr=ppr,@ipno=pno

from inserted

if@ippr<0 or@ippr is NULL

begin

update paper

set ppr=10

where pno=@ipno

end

执行:

INSERT

INTO paper(pno,pna,ppr)

VALUES('000006','江西日报',-9)

2.

CREATE TRIGGER TR_PAPER_D ON paper for delete

as

declare@ipno char(6)

select@ipno=cp.pno

from deleted,cp

where deleted.pno=cp.pno

begin

delete

from cp

where pno=@ipno

end

执行:

delete

from paper

where pno='000001'

3.

CREATE TRIGGER TR_PAPER_U ON paper

for update

as

declare@ippr money

select@ippr=ppr

from inserted

if@ippr<0 or@ippr is NULL

begin

raiserror('输入单价不正确!',16,1)

rollback transaction

end

执行:

UPDATE paper

SET ppr=-8

WHERE pno='000002'

5.

CREATE TRIGGER safety ON DATABASE

FOR ALTER_TABLE,DROP_TABLE

AS

PRINT'你必须失效DDL触发器"safety"后,才能删除或修改数据库表!' ROLLBACK;

执行:

DROP TABLE cp

二、实验总结

通过本次实验,我基本了解掌握了存储过程及触发器的基本操作及相关语法。

数据库和数据结构实验报告

. 西华大学实验报告(计算机类) 开课学院及实验室:实验时间:年月日 一、实验目的 通过练习让学生对数据库、数据库和表的关系、数据词典、参照完整性和视图有较好的理解和掌握。 二、内容与设计思想 实验内容: 1.数据库设计器 2.数据库的创建 3.设定数据词典 4.参照完整性的设置 5.视图的创建和修改 三、使用环境 Windos XP操作系统;Visual ProFox 6.0 四、核心代码及调试过程 例3-27创建项目管理器SBGL,要求添入数据库sbsj,并查看该数据库。 图一 图二、“项目管理器”的数据选项卡 图三、“项目管理器”中的数据库与数据库表 例3-28从sbsj数据库所属的sb和zz两个表中抽取编号、名称和增值3个字段。,组成名称 为“我的视图”的SQL视图。 open database sbsj create sql view 我的视图; as select sb.编号,sb.名称,zz.增值from sb,zz where sb.编号=zz.编号

如有你有帮助,请购买下载,谢谢! 例3-29根据例3-28的查询要求,用视图设计器建立视图1,然后修改其中车床的增值来更新zz表原来的增值 图一、视图设计器-视图1 图二、视图设计器-视图1 图三、增值表 图四 图五、视图设计器更新源表数据 19.根据图3.30所示数据库sbsj的永久关系,若利用参照完整性生成器来删除sb。dbf的第一个记录,对其他3个表会否产生影响,是分级、限制和忽略3中情况来说明。 图一、数据库设计器 图二、sbsj.dbc“永久关系的参照完整性生成器” 级联:相关子表中的记录将自动删除 限制:子表有相关记录,在父表中删除记录就会产生“触发器失败”的提示信息 忽略:父表删除记录,与子表记录无关 五、总结 (自己写一些收获和体会) 通过这次上机练习让我学会了怎样在数据库中添加项目管理器、表的数据完整性的概念以及视图的各种操作,让我更容易的掌握理论知识的难点和一些基本命令的使用方法,以及一些平时在课堂上不注意的问题。在上机练习的过程中需要对每个细节都要留心,认真做好每一步这样才不至于出错,这就加强了平时不注意的问题得到回应,从而加深了细节问题的处理方式。在上机的学习之后更加了解了数据库表及其数据完整性是vfp重要的一个对象,命令熟练操作直接关系到数据库的成败。 第三次的上机操作,我了解了命令的使用方式对于建立数据库表及其数据完整性很重要,要学好各种命令以及数据库表及其数据完整性的使用方法,还需在多做习题加强学习。 六、附录

网络数据库实训报告(一)

网络数据库应用实训报告 日期:2016年3月18日班级:物联1411 一、实训目的和要求 1、掌握采用界面方式创建、修改、删除数据库; 2、掌握采用T-SQL 语句创建、修改、删除数据库; 二、实训所需仪器、设备 硬件:计算机软件:操作系统Windows7、SQLServer2008 三、实训内容 1)在管理平台中管理数据库。 (1)创建数据库“studentsdb”。 (2)查看studentsdb数据库的属性。 (3)修改数据文件大小为2MB,指定“最大文件大小”为5MB。日志文件的大小在每次填满时自动递增5%。 (4)将studentsdb数据库的名称更改为student_db。 2)使用T-SQL 语句管理数据库 (1)使用CREATE DATABASE 创建studb数据库,然后通过系统存储过程sp_helpdb查看系统中的数据库信息。 (2)使用ALTER DATABASE 修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。(3)

为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。 (4)将studb数据库的名称更改为my_studb。 (5)使用DROP DATABASE 删除my_studb数据库。 四、实训步骤 (内容说明:1.大致的操作步骤;2.参数设置) 1)在管理平台中管理数据库。 (1)数据库右击→新建数据库→数据库名称“studentsdb”; (2)数据文件→初始大小→2MB (3)数据文件→点击自动增长下的→最大文件大小→限制文件大小→5MB; (4)日志文件→点击自动增长下的→文件增长→按百分比→5% (5) studentsdb右击→属性; (6) studentsdb右击→重命名→student_db; 2)使用T-SQL 语句管理数据库 命令如下: CREATEDATABASE studb on PRIMARY ( NAME='student_db', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA', size=4MB, MAXSIZE=20MB, FILEGROWTH=1 ) log on ( NAME='stusb_log2', FILENAME='C:\Program Files\Microsoft SQL

山东大学数据库第四次实验实验报告

實驗4 視圖操作 實驗目の:掌握創建、刪除視圖のSQL語句の用法,掌握使用企業管理器創建、視圖の方法。 實驗准備: 1)了解創建視圖方法。 2)了解修改視圖のSQL 語句の語法格式。 實驗內容: 1)使用企業管理器創建視圖 a)在pubs數據庫中以authors表為基礎,建立一個名為CA_authorの視圖, 使用該視圖時,將顯示所有state為CAの作者の基本信息。 2)使用SQL語句創建視圖 a)在查詢分析器中利用author表建立一個每個作者のID,lname,fname, phone,addressの視圖S_author。 b)建立一個employee_date視圖,利用employee表中信息,顯示1991年 1月1日之後雇傭の雇員のid,name,minit,job_id。 3)刪除視圖 a)使用企業管理器S_author視圖 b)使用SQL語句刪除CA_author、employee_date視圖 實驗要求: 用不同の方法創建視圖。 實驗步驟如下: 一、使用企業管理器創建視圖 a )在pubs數據庫中以authors表為基礎,建立一個名為CA_author の視圖,使用該視圖時,將顯示所有state為CAの作者の基本信息。

①右鍵點擊pubs數據庫文件下の視圖,選擇“新建視圖”,在彈出來の“添加表”中添加表authors。 ②在“添加表”一欄中添加表authors後點擊“關閉”,並全選author表中所有項目。 ③點擊保存,從彈出來の“選擇名稱”框中輸入視圖名稱“CA_author”。

④添加名為CA_author の視圖成功。 ⑤顯示所有state為CAの作者の基本信息。

数据库实验报告

合肥工业大学实验报告一 课程名称:数据库系统原理及应用学号: 20095382 姓名:魏泽民 专业班级:电子商务09-1班 指导教师:马华伟 二零一一年十月

一、实验目的: (1)熟练掌握数据更新语句,灵活地操作插入数据、修改数据和删除数据; (2)熟练掌握关系数据库中的完整性概念的应用; (3)了解数据录入的方法和过程。 (4)掌握单表查询的基本方法; (5)掌握连接查询的基本方法; (6)熟练掌握以下练习,并进行以下各类查询: ①选择表中的若干列、查询全部列、查询经过计算的值; ②选择表中的若干元组,即消除取值重复的行与查询满足指定条件的元组(包 括:比较大小、确定范围、确定集合、字符匹配、涉及空值和多种条件查询); ③对查询结果排序; ④使用集函数; ⑤对查询结果分组 (7)熟练掌握以下练习,并进行下列各类连接查询: ①等值与非等值连接查询; ②自身连接; ③外连接; ④复合条件连接; (8)掌握嵌套查询的基本方法; (9)掌握集合查询的基本方法; (10)熟练掌握查询视图操作 (11)熟练掌握更新视图操作 (12)熟练关系的完整性概念,领会视图的用途 (13)练习以下各类查询: ①带有IN谓词的子查询; ②带有比较运算符的子查询; ③带有ANY或ALL谓词的子查询; ④带有EXISTS谓词的子查询; ⑤视图查询与更新操作; 二、实验要求: (1)为了便于程序正确性测试,需要对自己建立起来的数据表录入一些模拟数据(模拟数据是指符合数据格式要求的假数据),然后按照教材中结构化查询语言SQL章节例题和习题自己组织SQL语句:

(2)设计的SQL程序应该涵盖数据更新操作的全部内容不,包括插入、修改、删除; (3)综合运用SQL语句实现数据插入、修改、删除等操作的综合运用能力。 (4)按照SQL语言编程要求,实现各类查询和检索操作; (5)利用后台的SQL平台环境,编程验证数据库的控制保护功能。 (6)将查询视图命令等价改写为对数据表的查询操作命令,利用SQL编程设计完成并进行效率分析。 三、实验内容: (1)根据以下给定的数据表信息分别对student, course, score, teacher, teching 表进行数据插入和修改,以完成给定的数据录入,同时要求输入班级同学名录模拟客观真实情况,给student、score表添加30条以上记录,以便以后查询应用方便。 Student表:

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

《数据库系统概论》实验报告 题目:实验三数据控制(安全性) 班级姓名学号日期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);

网上购物系统实训总结

实训总结

工作成果: 1、技术上,感觉大体功能都已实现完善,前台主要用于显示。总体做下来, 可能由于个人的技术原因,喜欢哪种可以实现就用哪种方式实现,有时 可能会忽略整体的把握效果,还有就是另一方面感觉因为学习的技术较 为浅显,所以实现的代码看起来很重复很庞大,其实个人认为代码达到 最高的可重用性才成为最标准的代码,这个以后也会更加改进。知道了 很多原来在课本上没有学到的东西:学会了如何划分模块、网站的颜色 要搭配协调、数据库中的类型要与代码中的类型一致。 2、学习成果上来说,还算可以,毕竟自己喜好倾向于这些,也做过很多例 子。每做一个实例就多积累一些经验,成果显著。所以也才能完成这个 作业。感觉学习技术没什么难,关键在于思想,而思想是通过各种实战 演练而自然产生的,也就是说:做的多了,遇到问题,解决问题,思想 自然也就形成了。制作网站首先要有一个明确的模块这样才能进行下一 步的工作。有了模块在一步一步的将这些模块的功能实现。学习完整个 课程,总体来说也受益匪浅,在以后的道路上,我会努力,越走越远。 3、经过两个月是实训我对网站设计有了更深的了解,也更加的感兴趣了。 看着经过自己一点点的修改调整而出现的越来越好的网站感觉很有成就 感。在调整网站时需要有极大的耐心和细心再这次实训中充分培养了我 的耐心和细心。有时一个不经意的代码错误就会影响的整个网站。 工作中遇到的困难以及如何解决: 1.用到很多的模块要把各模块的比例算好使整体更美观。方法:通过调整所占比 例使图像更加美观大方。 正常比例: 2.有时会出现图片不显示的情况,有可能是图片的名字不对应,或找不到图片。 正确: 错误:

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期: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.完成用户界面的设计,对重要数据进行加密。

数据库实验第三次

南昌航空大学实验报告 2016 年月日 课程名称:数据库原理及应用实验名称:SQL-更新操作 学号:姓名:同组人: 指导教师评定:签名: 实验目的: 利用INSERT、UPDA TE和DELETE命令(或语句)实现对表(或试图)数据的添加、修改与删除等更新操作,这里主要介绍对表的操作。 实验内如与要求: 建表和数据库的代码: Create database jxgl USE jxgl GO Create Table Student (Sno CHAR(5) not null primary key(Sno), Sname varchar(20), Sage smallint check(Sage>=15 AND Sage<=45), Ssex char(2) default'男'check(Ssex='男' OR Ssex='女' ), Sdept char(2)); Create Table Course (Cno char(2)NOT NULL primary key(Cno), Cname VARCHAR(20), Cpno char(2), Ccredit SMALLINT); Create Table SC (Sno char(5) NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES Student(Sno), Cno CHAR(2) NOT NULL, Grade smallint check ((Grade IS NULL)OR(Grade between 0 and 100)), Primary key(Sno,Cno), foreign key(Cno) references Course(Cno)); insert into Student values('98001','钱横',18,'男','CS'); insert into Student values('98002','王林',19,'女','CS'); insert into Student values('98003','李民',20,'男','IS'); insert into Student values('98004','赵三',16,'女','MA'); insert into Course values('1','数据库系统','5',4); insert into Course values('2','数学分析',null,2); insert into Course values('3','信息系统导论','1',3); insert into Course values('4','操作系统_原理','6',3); insert into Course values('5','数据结构','7',4); insert into Course values('6','数据处理基础',null,4); insert into Course values('7','C语言','6',3); insert into SC values('98001','1',87);

数据库实训报告

数据库 实训报告 专业:计算机科学与技术班级:计091 姓名:xxx 任课教师:xxx 2012年11月5日

目录 第一章概述 (3) 1.1引言 (3) 1.2摘要 (3) 第二章需求分析 (3) 2.1功能分析 (3) 2.2性能分析 (4) 2.3可靠性和可用性需求 (4) 2.4出错处理要求 (4) 2.5约束 (4) 2.6逆向需求 (4) 2.7将来可能提出的要求 (4) 第三章数据库设计 (4) 3.1数据字典 (4) 3.2E-R图 (5) 3.3数据库设计 (6) 第四章详细设计 (7) 4.1登录主界面开发 (7) 4.2登录后学生信息界面的开发 (8) 4.3登录后教师信息界面的开发 (8) 4.4登录后学生选课界面的开发 (9) 4.5登录后教师发布选课界面的开发 (9) 总结 (10) 参考文献 (10)

第一章概述 引言 由于信息科技化的越来越多的被应用在商业、工业等领域。管理信息系统的实施在技术上已逐步成熟。任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。那么作为高等教育组织的学校也不例外。 所以在顺应形势的前提下我们做了此实训,本文介绍了以Oracle11g和JAV A为开发环境而实现的学生教务管理系统的完全运行。自下而上地应用开发”的策略开发一个学校教务管理信息系统的过程。 摘要 学生选课管理系统是一个非常通用的信息管理系统,本课题主要设计一个简单的选课管理系统,进行简单的课程查询及管理。主要实现的功能有:学生基本信息的导入/导出;学生课程信息的录入、修改、添加、删除、查询;在课程设计中,系统开发平台为Windows7,程序设计语言采用Java,数据库采用MYSQL,程序运行平台为Windows7。系统的实现可以极大地方便教师和学生对课程的使用,查询和管理。之所以选择Java作为开发工具,不仅仅因为它好用,更是它的功能强大和使用方便。系统设计部分主要介绍了系统功能设计和数据库设计及JAVA代码设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。 第一章需求分析 2.1功能需求 “学生选课系统”服务于两种客户,一种是:教师,主要实现的功能包括自己信息管理,公布课程信息,选择学生。另一是:学生,主要实现功能包括管理自己信息,选择课程,查看各种信息。

数据库上机实验报告

数据库实验 (第三次) 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数 量QTY降序排列。

1 select jname from j where jno in (select jno from spj where sno in (select sno from s where city ='上海' ) ); 2 select sno from spj where jno ='j1'and pno ='p1' 3

selectdistinct sno from spj where pno in (select pno from p where color='红'and pno in (select pno from spj where jno ='j1' ) ); 4 selectdistinct jno from spj where pno notin (select pno from p where color ='红'and pno in (select pno from spj where sno in (select sno from s where city ='天津' ) ) )

5 select jno from spj where sno ='s1' 6 select jno,qty from spj where pno ='p1' orderby qty desc 四﹑思考题 1.如何提高数据查询和连接速度。 建立视图 2. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

数据库管理员实习报告范文.doc

数据库管理员实习报告范文 亲爱的朋友,您好,时光飞逝,又到了我们见面的时候,面对着即将结束的实习期,相信您一定有很多感触以及心得,以下是我为您整理的“数据库管理员实习报告范文”,欢迎大家阅读,仅供大家参考,希望对您的生活有所帮助。 数据库管理员实习报告范文(一) 通过这次在xx的实习,学到了很多东西。也了解到了软件开发的真正价值。这次的实践让我真切体会到了我们前面所学知识的用处所在。以前总认为所学的知识只是理论上的知识,根本就没有任何作用,但通过这次实习,让我学有所用。而且学到了很多在学校学不到的东西,受益匪浅。 在这个信息时代,信息都是电子化。很多方面根本不在是一些手把手的管理,而是在电脑面前操作一下即可,让我们真正享受到高科技的待遇。在软件开发领域,做一个项目的出发点是提高办事效率。而在项目制作的过程中我们要使一个软件简洁实用,人性化,快捷方便。 这次实习的主要任务是图书管理系统的开发。项目运行的平台是windowsxp,运用系统主要是microsoft visual studioxx,microsoft sql server xx,运用的知识主要有我们学习过的知识数据库技术,以及实习过程中所提及的知识。在软件开发果过程中首先要了解三层结构的的含义及其设计模式思想部署企业级数据库业务系统开发。 三层结构是一种成熟、简单并得到普遍应用的应用程序架构,它将应用程序结构划分三层独立的包,包括用户表示层、业务逻辑层、数据访问层。其中将实现人机界面的所有表单和组件放在表示层,将所有业务规则和逻辑的实现封装在负责业务逻辑组件中,将所有和数据库的交互封装在数据访问组件中。 三层结构示意图 三层结构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。 下面介绍图书管理系统开发技术 一、系统的功能设计 首先对系统进行需求分析,我们必须要知道要做一个系统“用来干什么”,这需要在对用户需求进行充分调研的基础上,深入理解并描述出软件的功能、性能、接口等方面的需求,可以使用uml建模作为需求分析和系统设计的有效方法。图(1)给出了本图书管理系统的功能结构图,其

数据库实验报告4

数据库-实验报告4 学号:11122604 姓名:陆亮 第4周(第四章:数据更新、视图、嵌入式SQL部分自学) 一、实验课: 1.建立计算机学院总评不及格成绩学生的视图,包括学生学号、姓名、性别、手机、所选 课程和成绩。 2.在E表中插入记录,把每个学生没学过的课程都插入到E表中,使得每个学生都选修每 门课。 3.求年龄大于所有女同学年龄的男学生姓名和年龄。 4.在E表中修改08305001课程的平时成绩,若成绩小于等于75分时提高5%,若成绩大于 75分时提高4%。 5.删除没有开课的学院。//删除记录而不是表。删除表要用其他。 6.查询优、良、中、及格、不及格学生人数 二,代码: create view student_fail(xh,xm,xb,sjhm,kh,zpcj)as(select distinct S.xh,S.xm,S.xb,S.sjhm,E.kh,E.zpcj from S,E where S.xh=E.xh and E.zpcj<'60'); insert into E select distinct S.xh,O.xq,O.kh,O.gh ,null,null,null from S,O where not exists(select*from E where E.xh =S.xh and E.kh =O.kh ); select S.xm,S.csrq from S where S.csrq<(select min(csrq)from S group by S.xb having xb ='女') update E set pscj = pscj*1.04 where pscj>75; update E set pscj = pscj*1.05 where pscj<75; delete from D where yxh not in(select yxh from T ,O where T.gh = O.gh)

数据库实验报告

数据库实验报告

武汉理工大学 学 生 实 验 报 告 书 实验课程名称 数据库系统概论 开 课 学 院 计算机科学与技术学院 指导老师姓名 学 生 姓 名 学生专业班级 学生学号 实验课成绩

2013 — 2014 学年第二学期实验课程名称:数据库系统概论 实验项目名称SQL SEVER 2000的系 统工具及用户管理 实验 成绩 实验者专业班 级 组别 同组者实验 日期 2014年4 月24日

第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000工具创建数据库、表、索引和修改表结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束条件的操作。 二、实验基本原理与设计(包括实验方案设计,实 验手段的确定,试验步骤等,用硬件逻辑或者算法描述) 实验内容和步骤: (1)熟悉SQL SEVER 2000的界面和操作。 (2)创建数据库和查看数据库属性。 (3)创建表、确定表的主码和约束条件。 (4)查看和修改表的结构。 (5)向数据库输入数据,观察违反列级约束时出现的情况。 (6)修改数据。 (7)删除数据,观察违反表级约束时出现的情况。 三、主要仪器设备及耗材 Windows XP SQL SERVER 2000

第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录, 实验现象记录,实验过程发现的问题等) 没有错误 错误:未能建立与WORKEPLACE\XUMENGXING的链接SQL Server 不存在或访问被拒绝 原因:未启动数据库服务 二、实验结果及分析(包括结果描述、实验现象分 析、影响因素讨论、综合分析和结论等) 实验结果部分截图:

数据库实训报告

数据库实训报告 目的:熟练掌握与应用数据库操作应用技术。 时间:2012.2.20 ~ ~2012.2.26 地点:学校机房 实训人:网络1001班 32号马长旺 指导老师:孔庆月王彦新 实训任务:运用Microsoft SQL Server 2005和Microsoft Visual Studio 2008软件制作一个学生成绩管理系统。 一:实训的内容:1.项目目标:具体规划模块如下, 1)课程信息管理:包括对课程信息管理、浏览等功能。 2)学生信息管理:包括学生信息的浏览、管理、查询等功能。 3)成绩管理:包括对学生所学课程浏览、管理、查询功能。功能结构图如下: 成绩信息的查询 成绩信息的增减删 学生信息的查询 学生信息的增减删 课程信息的增减删 学生成绩管理系统 课程信息管理 学生信息管理 学生成绩管理 2.数据库结构设计与实现 学生成绩管理系统数据库的名称设置为“JDXS”,其中包括3个数据表:课程信息表、学生信息表、成绩表。 a. 课程信息表:用于保存所有的课程信息; b. 学生信息表:包括用于保存说有学生的基本信息; c. 成绩表:用于保存学生所学课程及成绩;

3.创建项目 启动程序“Microsoft Visual Studio 2008”,选择“文件”-----“新建”----“项目”命令,打开“新建项目”对话框,输入项目名称“StudentInfoSystem”,文件位置设置为“E:/学生成绩管理系统”文件夹。单击“确定”按钮后,出现创建项目的开发环境 4.设计与实现主窗体 将刚才创建的窗体Form1作为主窗体:右击主窗体,设置主窗体的属性。添加各个控件。 5.设计与实现课程设置窗体 选中项目中的解决方案名称(StudentInfoSystem)右击,选中“添加”---“新建项”---“Windows窗体”,在“新添加项”对话框中,输入窗体名 称“FrmCourseManage”,单击“添加”按钮。然后,对改窗体进行界面设计和代码设计。 6.设计与实现学生信息管理窗体

数据库原理实验报告四(有答案)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验四查询设计实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解查询的目的,掌握SELECT语句的基本语法和查询条件的表示方法。 (2)掌握数据排序和数据联接查询的方法。 (3)掌握SQL Server查询分析器的使用方法。 2.实验要求 (1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下单表查询 操作,并将将调试成功的T-SQL命令,填入实验报告中。 a)查询所有课程的详细情况。 b)查询来自江苏或山东的学生学号和姓名,并以中文名称显示输出的列名。 c)查询选修了课程的学生学号(一人选了多门课程的话,学号只显示一次)。 d)查询选修课程号为07253001的学号和成绩,并要求对查询结果按成绩降 序排列,如果成绩相同则按学号升序排列。 e)查询所有学生的学号、姓名和年龄。 f)查询选修课程号为07253001的成绩在85-95之间的学生学号和成绩,并 将成绩乘以0.7输出。 g)查询数学与信息技术学院(DEPT_ID为07)或物理与电子工程学院 (DEPT_ID为09)姓张的学生的信息。。 h)查询所有核心课程(课程名中带*的)的情况。 i)查询缺少了成绩的学生的学号和课程号,查询结果按课程号升序排列。 (2)在SQL Server查询分析器中,用T-SQL语句实现下列数据联接查询操作: a)查询每个学生的情况以及他(她)所选修的课程。 b)查询学生的学号、姓名、选修的课程名及成绩。 c)查询选修C语言程序设计且成绩为85分以上的学生学号、姓名及成绩。 d)查询和学生柏文楠是同一个民族的学生(用自身联接实现)。 e)分别用等值联接和内联接查询有授课记录的老师的姓名。 f)用外联接查询所有老师的授课情况,输出老师的工号、姓名、职称、院 系、担任的课程号和授课的学期,结果按院系和职称升序排列。如果该 老师没有授课历史,在课程号和授课的学期中显示空值 (3)在SQL Server Management Studio中新建查询,完成以上查询命令的同时,熟悉SQL编 辑器工具栏中各快捷按钮的作用。 (4)按要求完成实验报告。

数据库第三次实验

南昌航空大学实验报告 2018年5月30日 课程名称:数据库原理实验名称:数据库安全性 学号: 16206127 姓名:周良 指导教师评定:签名: 一,实验目的 ○1熟悉不同数据库中的保护措施——安全性控制,重点实践SQL SEVER 的安全性机制,掌握SQL Sever中有关用户、角色及操作权限等的管理方法。 二,实验内容 1,SQL Server的安全模式 (1)利用T-SQL添加SQL Sever账号。 (2)利用T-SQL修改SQL Sever登陆账号属性。 (3)利用T-SQL删除SQL Sever登陆账号。 2,管理数据库用户 (1)利用T-SQL添加SQL Sever用户。 (2)利用T-SQL删除SQL Sever用户。 3,管理数据库角色 (1)利用T-SQL删除用户自定义角色,可以使用系统存储过程sp_droprole删除用户自定义角色。 4,权限管理 (1)利用T-SQL管理权限 ○1语句授权。 ○2对象授权。 ○3收回授权。 三,实验步骤

exec sp_addlogin'qh','qh','jxgl','english' 四,exec sp_password'qh','qhqxzsly','qh' 五, 六,alter login qh with password='123456' 七, 八,exec sp_droplogin qh 九, 十,drop login qh 十一, 十二,use jxgl 十三,exec sp_grantdbaccess'DESKTOP-7M8SQ9T','qh' 十四,exec sp_revokedbaccess qh 十五, 十六,use jxgl; 十七,exec sp_addrole'newrole' 十八,exec sp_addrolemember'newrole','qh' 十九, 二十,exec sp_droprole'newrole' 二十一, 二十二,use master 二十三,grant create database to qh 二十四, 二十五, 二十六,grant create table,create view to qh 二十七, 二十八,grant select on s to qh,qxz,sly 二十九, 三十,grant insert,delete on s to shen 三十一, 三十二,grant update on s(age,dept)to shen 三十三, 三十四,grant execute on sp_ins_s to shen 三十五, 三十六,revoke create table,create view form sly 三十七, 三十八,revoke select on s from qxz ,sly 四,实验心得 通过此次实验我了解了SQL Sever中有关用户、角色及操作权限等的管理方法,同时也更加注重数据库安全性方面的问题,我们创建的每一个数据库都应该考虑安全性问题,应该为数据库创建一些必要的角色,同时也要管理数据库的权限方面,防止数据向外流失,或者被黑客盗用。

数据库实训报告实训

这次实训,总的下来,感觉不易。在数据库这门课程一开始,感觉学的云里雾里,觉得记代码很麻烦,也会担心这门课程期末考过不了。许多同学也有这样的感受,但相信通过这次的实训大家应该有了更多的信心。这次实训还综合应用数据库、SQLServer2005、学生管理等知识。使我们所学知识得到延伸与拓展,也提高了我们的综合实践能力。 在这一周的实训当中,我们做了一个学校综合管理数据库系统,我们实训的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败。另一个内容是数据库的约束、视图、查询。从中我们了解到查询语句的基本结构,和简单SELECT语句的使用,多表连接查询。而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。虽然只是一个比较和我们有关的数据库,但是在这一周的实训过程中,做的也不是很顺利,其中也遇到了许多问题,通过反反复复的看书,并且向同学请教,把相关的知识复习了一遍,这也是一种很大的收获。至少我们在做的过程中学会了思考,就像在做这个数据库系统的时候,我们在做之前就要有一个方案,设计一个步骤,先开始进行需求分析,接着进行概念模型设计,其次进行逻辑结构设计,最后我们在创建数据库脚步文件。在创建的过程中,是我们问题最多的步骤,通过做题,我们发现了自己的不足,这也与我们平时上课有关,许多学过的知识,转眼就忘,而且也没有在空余时间去复习,并且对于一些重点的知识,我们也掌握的不好,许多的语法知识和基本语句都会出错。对于这种情况,我们就得好好反省自己,在以后的学习当中,我们就要补其不足,掌握更好的学习方法。 其实,不管我们做什么事情,我们都应该想清楚,首先干什么,其次干什么,有了一个合理的规划,我们做起来也就比较的有了方向,有了目标,再向目标去奋斗,这样我们才能更好的把握自己,使自己更好的发展。

数据库实验三实验报告

数据库___课程实验报告实验名称:交互式SQL(二) 姓名班级学号 实验台 编号 同组学生 实验课表现出勤、表现得分25% 实验报告 得分50% 实验总分操作结果得分25% 实验目的: 1.学会熟练使用INSERT语句对数据表进行数据插入操作。 2.学会使用UPDATE语句对数据表中的数据进行修改操作。 3.学会使用DELETE语句对数据表中的数据进行删除操作。 4.了解使用视图的目的与好处,掌握视图与基本表的关系,掌握如何使用SQL语句创建、修改、删除和查询视图。 实验内容: 一、数据的插入、删除和修改 创建表XS1(包括学号、姓名、性别和出生日期字段,各个字段属性自定),然后使用SELECT子句向表XS1中插入多行数据(专业为“电子”的学生数据)。 create view xs1() as select学号,姓名,性别,出生日期from xs where专业='电子'; 修改XS1表的结构,增加1个“平均成绩”字段,并根据XS_KC表修改每个学生的“平均成绩”。 alter table xs1 add平均成绩int; update xs1 set平均成绩=( select avg(成绩)from xs_kc where xs_kc.学号=xs1.学号group by学号); 将XS表中计算机专业的学生的总学分增加10分。 update xs set总学分=总学分+10 where专业='计算机'; 将XS表中学号为“4102101”的同学的总学分增加4分,备注改为“提前修完一门课程”。 update xs set总学分=总学分+4,备注='提前修完一门课程' where学号='4102101'; 将XS_KC表中学号为“4102101”的同学的“计算机基础”课程的成绩增加10分。 update xs_kc set成绩=成绩+10 where学号='4102101'and课程号= (select课程号from kc where kc.课程名='计算机基础'); 修改XS1表的结构,增加1个“总学分”字段,并使其值为该学生所学各门功课的学分之和。 alter table xs1 add总学分tinyint; update xs1 set总学分= (select sum(学分)from kc,xs_kc where xs_kc.学号=xs1.学号and xs_kc.课程号= kc.课程号

(完整版)数据库实验报告

数据库实验报告姓名学号

目录 一.实验标题:2 二.实验目的:2 三.实验内容:2 四.上机软件:3 五.实验步骤:3 (一)SQL Server 2016简介3(二)创建数据库 4 (三)创建数据库表 7(四)添加数据17 六.分析与讨论: 19

一.实验标题: 创建数据库和数据表 二.实验目的: 1.理解数据库、数据表、约束等相关概念; 2.掌握创建数据库的T-SQL命令; 3.掌握创建和修改数据表的T-SQL命令; 4.掌握创建数据表中约束的T-SQL命令和方法; 5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容: 1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹; 2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义; 3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度; 4.添加具体数据;

四.上机软件: SQL Server 2016 五.实验步骤: (一)SQL Server 2016简介 1.SQL Server 2016的界面 2.启动和退出SQL Server 2016 1)双击图标,即出现SQL Server2016的初始界 2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可 注意事项: 1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存, 2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作

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