文档库 最新最全的文档下载
当前位置:文档库 › 西北工业大学数据库实验报告4

西北工业大学数据库实验报告4

西北工业大学数据库实验报告4
西北工业大学数据库实验报告4

1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5分)

2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。

1).

create view v_spj

as

select sno,pno,qty

from J,SPJ

where j.jno=spj.jno and jname='三建'

2).

create view view_2

as

select sno,pno,qty

from SPJ

where jno =(select jno from j

where jname ='三建')

3.用SQL语句完成第五版教材第三章第9题中的视图查询(10分,每小题5分)。

1).

select pno,sum(qty) as sum_qty

from v_spj

group by pno

结果:

2).

select pno,qty

from v_spj

where sno='S1'

4.用SQL语句完成视图的数据更新。(15分,每题5分)

(1)给视图V_SPJ中增加一条数据。

提示:

-SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO 为NULL,所以视图中没有该条数据。

-SPJ表中JNO不能为空时,可以使用instead of触发器实现。

①:jno允许为空时:

insert

into v_spj

values('S4','P3',100)

结果改变:

select * from v_spj

没有出现刚刚插入的那条数据

②:jno不能为空时:

Jno不能为NULL

设立触发器:

create trigger instead_of_insert on v_spj

instead of insert

as

begin

declare @sno char(10)

declare @pno char (10)

declare @qty int

select @sno=sno,@pno=pno,@qty=qty

from inserted

insert into SPJ values(@sno,@pno,'J1',@qty)

end

执行语句:

insert into v_spj

values ('S5','P4',100)

结果:

(2)修改视图V_SPJ中的任意一条数据的供应数量。

update v_spj

set qty=300

where sno='S1'and pno='P1'

修改前:

修改后:

(3)删除视图V_SPJ中的任意一条数据(注意所创建视图可以视图消解时,才能正常删

除,否则会删除失败;也可以考虑用instead of触发器实现)。

创建instead of触发器:

create trigger instead_of_delete

on v_spj

instead of delete

as

begin

declare @sno char(10)

declare @pno char(10)

declare @qty int

select @sno=sno,@pno =pno,@qty=qty

from deleted

delete SPJ where sno=@sno and pno=@pno and jno='J1' and qty =@qty

end

删除前:

删除第一条数据:

delete from v_spj

where sno='S1' and pno='P1'

5.用图形用户界面对Student数据库中C表的Cno字段创建一个降序排列的唯一索引,索引名称IX_CNo。(5分)

6.使用SQL语句对Student数据库完成以下的索引操作。(15分,每题5分)

(1)在C表的CName属性上创建一个非唯一性的聚簇索引,索引名IX_CName。

(提示:创建这个聚簇索引之前,需要首先删除C表的主键约束。SQL Server中,给某张表指定主键时,会自动创建为主属性一个聚簇索引。)

先删除原主键:

alter table C

drop constraint pk_cno

create clustered index IX_Cname on C (cname)

(2)在SC表上创建一个名为IX_Cnosno的非聚簇复合索引,该索引是针对sno,cno属

性集建立的升序索引。

create nonclustered index IX_cnosno on SC(cno asc ,sno asc)

(3)删除C表的索引IX_CName。

drop index C.IX_Cname

7.自己设计一个实验验证索引对数据库查询效率的提升作用。(40分)(提示:需要数据量比较大的情况下才容易进行对比)

1).利用随机数生成8585个数据来进行查询

2)未建立索引之前:

查询选修了1课程的学生的学号和成绩:

select sno,grade

from SC

where cno='1'

此时可以通过建立索引来减少查询开销

3).建立索引

GO

CREATE NONCLUSTERED INDEX []

ON [dbo].[SC] ([cno])

INCLUDE ([sno],[grade])

GO

再进行查询:

二. 实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)

除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。

通过创建合适的索引,可以令问题简单化,减少查询开支,加快查询速度

批阅者:

批阅日期:实验成绩:批注:

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

實驗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表:

数据库实验报告

. . 《数据库原理与技术》实验报告 实验一、数据定义及更新语句练习 一、实验容 建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(《数据库系统概论》第二章习题5中的四个表),要现关系的三类完整性。 S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 二、完成情况

附上按照实验容编写的程序代码。(小四号字,宋体) 三、实验结果 1、插入一条记录 2、①将p表中的所有红色零件的重量增加5。 ②将spj表中所有供应商的QTY属性值减少10。用子查询。

3.利用Delete语句删除p表中的所有红色零件的记录。 附上各个步骤所用的实验用例与结果显示(小四号字,宋体) 四、问题与解决 (小四号字,宋体) 1 .实验中遇到的问题及解决过程 2 .实验中产生的错误及原因分析 首先写出执行语句不成功的时候系统报告的错误信息。然后分析错误原因,并给出解决办法。

实验二简单查询和连接查询 一、实验容 (一)完成下面的简单查询: ①查询所有“”的供应商明细; ②查询所有“红色”的14公斤以上的零件。 ③查询工程名称中含有“厂”字的工程明细。 (二)完成下面的连接查询: ①等值连接:求s表和j表的相同城市的等值连接。 ②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。 ③笛卡尔积:求s和p表的笛卡尔积。 ④左连接:求j表和spj表的左连接。 ⑤右连接:求spj表和j表的右连接。 二、完成情况 (一)完成下面的简单查询: ①查询所有“”的供应商明细; ②查询所有“红色”的14公斤以上的零件。

数据库实验报告完整

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

DB1-西工大数据库实验一数据库及表的创建和管理

《数据库原理》实验报告 题目:实验一 学号姓名班级日期数据库和表的创建与管理 一.实验内容、步骤以及结果 1.利用图形用户界面创建,备份,删除和还原数据库和数据表(50分,每小题5分) 数据库和表的要求(第四版教材第二章习题5要求的数据库) 数据库名:SPJ,其中包含四张表:S表, P表, J表, SPJ表 图2.1 S表(供货商表) 图2.2 P表(零件表) 图2.4 SPJ表(供应情况表) 图2.3 J表(工程项目表)

完成以下具体操作: (1)创建SPJ数据库,初始大小为10MB,最大为50MB,数据库自动增长,增长 方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB 增长。数据库的逻辑文件名和物理文件名均采用默认值。 (2)在SPJ数据库中创建如图2.1-图2.4的四张表(只输入一部分数据示意即可)。 (3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。(提示:最 好先删除系统默认的备份文件名,然后添加自己指定的备份文件名) (4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为 mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。 (5)删除已经创建的工程项目表(J表)。 (6)删除SPJ数据库。(可以在系统默认的数据存储文件夹下查看此时SPJ数据库 对应的mdf,ldf文件是否存在) (7)利用备份过的bak备份文件还原刚才删除的SPJ数据库。(还原数据库) (8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。(附加) (9)将SPJ数据库的文件大小修改为100MB。 (10)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。 实验具体步骤: (1)创建SPJ数据库:右击数据库-->新建数据库-->填写相应参数-->点击确定。如下图: (2)在SPJ数据库中创建四张表:单击数据库SPJ-->右击‘表’-->新建表-->填写参数-->确定。如下图:

数据库实验报告4

数据库实验报告4

《数据库原理》实验报告 题目:实验四视图与索引学号姓名班级日期Xxxx Xx xxxxx 2016.10.20 一. 实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是 1986年出生的学生的视图,视图中包括学号,性别,成绩三个信息。 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ) 方法一: create view V_SP as select sno,pno,qty from spj where spj.jno in (select jno from j where j.jname='

三建') 方法二: create view V_SPJ as select sno,pno,qty from spj,j where j.jno=spj.jno and j.jname='三建'

INTO V_SPJ(SNO,PNO,QTY) VALUES( 's5','p3',900) 提示: -SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由 于JNO为NULL,所以视图中没有该 条数据。 -SPJ表中JNO不能为空时,可以使用instead of触发器实现。 (1)修改视图V_SPJ中的任意一条数据的供 应数量。 update V_SPJ set qty=111 where sno='s1' and pno='p1'

(2)删除视图V_SPJ中的任意一条数据(注意 所创建视图可以视图消解时,才能正常删除,否则会删除失败;也可以考虑用 instead of触发器实现)。 DELETE V_SPJ where sno='s1' and pno='p1' and qty=111 用instead of触发器实现 CREATE TRIGGER trdV_SPJ ON V_SPJ INSTEAD OF DELETE AS BEGIN Delete from V_SPJ WHERE sno='s1' and pno='p1' and qty=111 END

数据库实验报告1

一. 实验内容、步骤以及结果: 1.利用图形用户界面创建,备份,删除和还原数据库和数据表(30分,每小题5分) ●数据库和表的要求 (1)依据课本P127(第四版教材,下同)的第三题,创建一个名为SPJ的数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5% 比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库 的逻辑文件名和物理文件名均采用默认值。 (2)数据库SPJ包含供应商表,零件表,工程项目表,供应情况表。具体每张表的定义以及数据参看课本P74页的第五题。 ● 完成以下具体操作: (1)创建的SPJ数据库。 (2)在SPJ数据库中分别创建上述的四张表(只输入一部分数据示意即可)。 (3)备份SPJ数据库。 (4)删除已经创建的工程项目表(J表)。 (5)删除SPJ数据库。 还原刚才删除的SPJ数据库。 实验具体步骤: (1)创建SPJ数据库:右击数据库-->新建数据库-->填写相应参数-->点击确定。(2)创建表:单击数据库SPJ-->右击‘表’-->新建表-->填写参数-->确定。

(3)备份数据库:右击数据库SPJ-->任务-->备份-->填参数-->确定。 (4)删除表:单击数据库SPJ--》单击表--》右击J--》选择删除。 (5)删除数据库:右击数据库SPJ--》选择删除命令。 (6)还原数据库。右击数据库--》选择还原数据库命令--》填写参数--》确定。 2. 利用SQL语言创建和删除数据库和数据表(30分,每小题5分) 数据库和表的要求 (1)创建用于学生信息的数据库,数据库名为Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初 始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文 件名,日志文件名请自定义。 (2)数据库Student包含学生信息,课程信息和学生选课的信息。包含下列3个表:S:学生基本信息表;C:课程基本信息表;SC:学生选课信息表。各表的结 构以及数据如下所示: 表 2.1 学生基本信息表(表名:S)

数据库系统概论实验指导(第七版)

数据库系统概论实验指导 (第七版) 计算机学院 2013/09

改版履历

目录 目录 (3) 1.实验概要 (4) 1.1.实验说明 (4) 1.2.实验环境和配置 (4) 1.3.上机要求 (5) 2.实验1:数据库/表的基本操作和表级约束 (5) 2.1.目的和要求 (5) 2.2.实验准备 (5) 2.3.实验内容 (5) 3.实验2:库级约束和基本表的数据操作 (8) 3.1.目的和要求 (8) 3.2.实验准备 (8) 3.3.实验内容 (8) 4.实验3:视图操作和安全性控制 (10) 4.1.目的和要求 (10) 4.2.实验准备 (10) 4.3.实验内容 (10) 5.实验4:存储过程/触发器/ODBC数据库编程 (12) 5.1.目的与要求 (12) 5.2.实验准备 (12) 5.3.实验内容 (12) 6.实验5:数据库综合实验 (14) 6.1.目的与要求 (14) 6.2.实验准备 (14) 6.3.实验内容 (15) 5.3.1.题目一:零件交易中心管理系统 (15) 5.3.2.题目二:图书管理系统 (15) 5.3.3.题目三:民航订票管理系统 (15) 5.3.4.题目四:学生学籍管理系统 (16) 5.3.5.题目五:车站售票管理系统 (16) 5.3.6.题目六:企业人事管理系统 (16)

5.3.7.题目七:电话交费管理系统 (16) 5.3.8.题目八:医药销售管理系统 (17) 7.附录:实验报告格式 (18) 1.实验概要 1.1.实验说明 内容:本课程实验分5次完成,每次完成一部分。具体内容参考本指导的后半部分。 成绩:每次实验100分,最后取5次实验的加权平均分作为实验的总成绩,其中第五次实验占40%,其余各次占15%。每次实验中各个环节的评分标准如下: 上述每一项按照百分制给出分值,最后按照比率计算每次实验的最终成绩。 实验报告 每次实验需提交电子版的实验报告(最后一次实验需提交设计文档,源程序等相关资料)。每次实验结束时,将写好的实验报告,提交给各班辅导老师。如果确有困难没有完成的情况下,课后自己完成之后提交到辅导老师的邮箱里。由辅导老师根据课堂上机实验检查状况和实验报告的内容给出每次实验的成绩。 实验报告的内容包括:实验内容、实验步骤、程序源码、运行结果(可以是程序的输出,也可以是运行画面的抓屏,抓屏图片要尽可能的小,否则文件太大)。每份实验报告是一个WORD文档。实验报告命名规则如下:DBx(实验次数)_XXXXXX(学号)_姓名例如:20052978的学生的第一次实验报告文件名: DB1_20052978_李宁注意:请每个人保存好自己的实验报告的电子版,直到该门课考试成绩公布之后。 1.2.实验环境和配置 SQL Server 2008(Microsoft SQL Server 2008 Express With Advance Service)

数据库实验报告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)

数据库实验报告

实验内容与要求 请有选择地实践以下各题。 (1)基于“教学管理”数据库 jxgl,使用SQL的查询语句表达下列查询: ①检索年龄大于23岁的男学生的学号和姓名; SELECT Sn o,S name FROM Stude nt WHERE Ssex=男’AND Sage>23; ②检索至少选修一门课程的女生姓名; SELECT Sn ame FROM Stude nt WHERE Ssex=女’AND Sno IN ( SELECT Sno FROM SC GROUP BY Sno HAVING cou nt(*)>=1; ); ③检索王同学不学的课程的课程号; SELECT Cno; FROM Course WHERE Cno NOT IN ( SELECT Cno FROM Stude nt,SC WHERE Sname like '王 % AND Student.Sno=SC.Sno ); ④检索至少选修两门课程的学生学号; SELECT DISTINCT Sno FROM SC GROUP BY Sno HAVING cou nt(*)>=2; ⑤检索全部学生都选修的课程的课程号与课程名; SELECT Cn o,C name FROM Course WHERE NOT EXISTS ( SELECT * FROM Stude nt WHERE NOT EXISTS ( SELECT * FROM SC WHERE SC.S no=Stude nt.S no AND SC.C no=Course.C no

) ); ⑥检索选修了所有 3学分课程的学生学号; SELECT DISTINCT Sno FROM SC X WHERE NOT EXISTS ( SELECT * FROM Course WHERE Ccredit=3 AND NOT EXISTS ( SELECT * FROM SC Y WHERE X.S no=Y.S no AND Course.C no=Y.C no ) ); (2)基于“教学管理”数据库 jxgl,使用SQL的查询语句表达下列查询: ①统计有学生选修的课程门数; SELECT coun t(DISTINCT Cno) FROM SC; ②求选修4号课程的学生的平均年龄; SELECT AVG(Sage) FROM Stude nt,SC WHERE Cn o=4 AND Stude nt.S no=SC.S no; ③求学分为3的每门课程的学生平均成绩; SELECT AVG(Grade) FROM Course,SC WHERE Ccredit=3 AND Course.C no=SC.C no GROUP BY SC.C no; ④统计每门课程的学生选修人数,要求超过3人的课程才统计,要求输出课程号和选修人数查询结果按人数降序排列,若人数相同,按课程号升序排列; SELECT Cn o,cou nt(S no) FROM SC GROUP BY Cno HAVING cou nt(S no )>3 ORDER BY cou nt(S no) DESC,C no ASC; ⑤检索学号比“王菲”同学大而年龄比他小的学生姓名; SELECT Sn ame FROM Stude nt X WHERE Sno>

数据库实验报告

数据库实验报告

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

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 不存在或访问被拒绝 原因:未启动数据库服务 二、实验结果及分析(包括结果描述、实验现象分 析、影响因素讨论、综合分析和结论等) 实验结果部分截图:

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

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

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)按要求完成实验报告。

数据库实验报告

实验一创建数据库及关系表 一、实验目的 1. 掌握SQL Server数据库管理系统的使用,能够中该环境中进行日常数据库操作; 2. 掌握在SQL Server中使用图形化工具创建数据库的方法; 3.掌握建立关系表的语句,掌握定义主码约束及外码约束的语句; 4.掌握修改表结构的语句。 二、实验要求 1.了解SQL Server数据库的组成,会使用图形化工具创建数据库。 2.编写建立表及主、外码约束的T-SQL语句,并执行这些语句,在数据库中建立符合要求的关系表。 3.编写修改表结构的语句。 三、实验内容和步骤 1.创建符合如下条件的数据库: 数据库的名字为:Students 数据文件的逻辑文件名为:Students_dat,存放在D:\Test录下(若D:盘中无此子目录,可先建立此目录,然后再创建数据库。); 文件的初始大小为:5MB;

增长方式为自动增长,每次增加1MB。 日志文件的逻辑文件名字为:Students_log,也存放在D:\Test目录下; 日志文件的初始大小为:2MB; 日志文件的增长方式为自动增长,每次增加10%。 2.在已建立的Students数据库中,写出创建满足下述条件的四张表的SQL 语句,并查看执行结果。 Teacher表结构

Create table student ( Sno char(7)primary key, Sname nchar(10)not null, Ssex nchar(2), Sage tinyint, Sdept nvarchar(20), Spec char(10) ) create table course( Cno char(10), Cname nvarchar(20)not null, Credit int, Semester tinyint, Primary key(Cno) ) create table sc( Sno char(7)not null, Cno char(10)not null, Grade tinyint, primary key(Sno,Cno), foreign key(Sno )references Student(Sno), foreign key(Cno )references Course(Cno), ) create table teacher( Tno char(8)not null, Tname char(10)not null, Dept nvarchar(20), Salary numeric(6,2), Birthery smalldatetime ) 执行结果:

数据库实验三实验报告

数据库___课程实验报告实验名称:交互式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.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作

数据库实验报告5

1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分) exec sp_rename v_spj, v_spj_三建; 2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分) (1)创建一个带参数的存储过程—jsearch。该存储过程的作用是:当任意输入一个工 程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME) 以及工程的名称(JNAME)。执行jsearch存储过程,查询“J1”对应的信息。(10 分) create proc jsearch @jno char(2) as select sname, pname, jname from s,p,j,spj where s.sno=spj.sno and p.pno=spj.pno and j.jno=spj.jno and spj.jno=@jno; 执行: exec jsearch 'J1'

(2)使用S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执 行该存储过程时,将返回北京供应商的所有信息。(10分) 创建加密存储过程: create proc jmsearch with encryption as select * from s where s.city='北京'; sp_helptext jmsearch; (3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。(5分) 用系统存储过程sp_helptext查看jsearch: exec sp_help jsearch; exec sp_helptext jsearch;

数据库第一次实验报告

《数据库系统概论》实验报告 题目:实验一 数据库和表的基本操作和约束条件姓名班级学号日期 刘凯10031201 2012302606 2014.10 一、实验内容、步骤以及结果 1.利用图形用户界面创建,备份,删除和还原数据库和数据表 创建初始数据库信息如下 备份数据库

删除表 2.利用SQL语言创建和删除数据库和数据表创建数据库 CREATE DATABASE studentdata ( FILENAME = 'D:\studentdata.mdf' , SIZE = 20480KB , MAXSIZE = 102400KB , FILEGROWTH = 10240KB ) LOG ON ( FILENAME = 'D:\studentdata_1.ldf' , SIZE = 2048KB , MAXSIZE = 5120KB , FILEGROWTH = 1024KB ) GO 创建三张表

CREATE TABLE dbo.C( Cno char(4)PRIMARY KEY , Cname char(40) , Cpno int , Ccredit int,) GO CREATE TABLE dbo.S( Sno char(4)PRIMARY KEY , Sname char(40) , Ssex char(4) , Sbirth] char(40) , Sdept char(4) , ) CREATE TABLE [dbo].[SC]( Sno char(4) , Cno char(4) , Grade int ) GO 备份数据库 Backup database studentdata to disk = ‘D:\studentdata.db.bak’ 删除数据库 Deleta database studentdata.db 还原数据库 Restore database studentdata from disk = ‘D:\studentdata.db.bak’ 3.利用图形用户界面对上题中创建的Student库的S表中,增加以下的约束和索引 主键 Sname唯一键

数据库原理实验报告-实验四-视图与索引

《数据库原理》实验报告 题目:实验四视图与索引学号班级日期 2016.10.20 一、实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5分) 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。 --第一种方法 CREATEVIEW V_SPJ AS SELECT sno,pno,qty FROM SPJ WHERE jno=( SELECT jno FROM J WHERE jname ='' ); GO --删除建好的视图 DROPVIEW V_SPJ;

GO --第二种方法 CREATEVIEW V_SPJ AS SELECT sno,pno,qty FROM SPJ,J WHERE J.jno=SPJ.jno AND J.jname=''; 3.用SQL语句完成第五版教材第三章第11题中的视图查询(10分,每小题5分)。 11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码 (PNO)、供应数量(QTY)。 针对该视图VSP完成下列查询: (1)找出三建工程项目使用的各种零件代码及其数量。 (2)找出供应商S1的供应情况。

4.用SQL语句完成视图的数据更新。(15分,每题5分) (1)给视图V_SPJ中增加一条数据。 提示: -SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO 为NULL,所以视图中没有该条数据。 -SPJ表中JNO不能为空时,可以使用instead of触发器实现。 (2)修改视图V_SPJ中的任意一条数据的供应数量。

数据库实验报告一

实验成绩 《数据库系统原理及应用》实验报告 实验一 SQL Server数据库和表 专业班级:软件1402 姓名魏振方学号201416920306 完成时间:2016.10.17_ 一、实验目的 熟悉SQL Server Management Studio(SSMS)的工作环境;掌握图形化和命令建立数据库的两种方法;熟练掌握T-SQL语句创建、修改和删除表;熟练掌握T-SQL语句插入、修改和删除表数据 二、实验内容及要求 1. 采用图形化方式创建学生—课程数据库,要求: 1) 使用SSMS创建测试数据库test,数据文件初始大小为5MB,最大大小50MB,按5MB增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值。 2.以下操作全部采用命令即T-SQL语句进行 1)用T-SQL语句删除创建的数据库test。 2) 用T-SQL语句创建数据库stu,所有选项取默认值。 3)在stu数据库中创建三个表,关系模式如下所示: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit),其中Cpno为外码 学生选课表:SC(Sno,Cno,Grade),其中Sno为外码,Cno为外码 3.用图形化的方式向student、course和sc表添加记录,每个表至少5条记录 4.用T-SQL语句分别对三张表执行增删改操作,操作例子自己设计 三、实验步骤和结果

1、使用SSMS创建测试数据库test,数据文件初始大小为5MB,最大大小50MB,按5MB 增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值 图 1 2、用T-SQL语句删除创建的数据库test。 T-SQL语句: USE master GO drop database test; 图 2 3、用T-SQL语句创建数据库stu,所有选项取默认值。 T-SQL语句:create database stu;

数据库实验报告

数据库实验报告 班级:计算机科学与技术0904 学号:0909091627 姓名:惠苗壮 指导教师:陈再良

目录 一.实验目的 (1) 二.实验要求 (1) 三.实验内容 (1) 四.运行结果 (6) 五.实验总结 (20)

一.实验目的 1.了解DBMS的工作环境和系统框架; 2.通过SQL语言对数据库进行操作; 3.熟悉SQL语句。 二.实验要求 1.所有的SQL语句和源代码; 2.要求有适当的注释; 3.性约束实施、实验三、实验四和实验五要求给出相应的测试用例。 三.实验内容 实验一:创建表、更新表和实施数据完整性 1.运行给定的SQL Script,建立数据库GlobalToyz。 2.创建所有表的关系图。 3.列出所有表中出现的约束(包括Primary key, Foreign key, check constraint, default, unique) 4.对Recipient表和Country表中的cCountryId属性定义一个用户自定义数据类型,并将该属性的类型定义为这个自定义数 据类型。 5.把价格在$20以上的所有玩具的材料拷贝到称为PremiumToys

的新表中。 6.对表Toys实施下面数据完整性规则:(1)玩具的现有数量应在0到200之间;(2)玩具适宜的最低年龄缺省为1。 7.不修改已创建的Toys表,利用规则实现以下数据完整性:(1)玩具的价格应大于0;(2)玩具的重量应缺省为1。 8.给id为‘000001’玩具的价格增加$1。 实验二:查询数据库 1.显示属于California和Illinoi州的顾客的名、姓和emailID。 2.显示定单号码、商店ID,定单的总价值,并以定单的总价值 的升序排列。 3.显示在orderDetail表中vMessage为空值的行。 4.显示玩具名字中有“Racer”字样的所有玩具的材料。 5.根据2000年的玩具销售总数,显示“Pick of the Month”玩 具的前五名玩具的ID。 6.根据OrderDetail表,显示玩具总价值大于¥50的定单的号 码和玩具总价值。 7.显示一份包含所有装运信息的报表,包括:Order Number, Shipment Date, Actual Delivery Date, Days in Transit. (提 示:Days in Transit = Actual Delivery Date – Shipment Date) 8.显示所有玩具的名称、商标和种类(Toy Name, Brand,

相关文档
相关文档 最新文档