文档库 最新最全的文档下载
当前位置:文档库 › 数据库实验报告二.

数据库实验报告二.

数据库实验报告二.
数据库实验报告二.

《数据库原理》实验报告

实验三: 数据库完整性与安全性控

实验四: 视图与索引

学号 姓名 班级 日期

2013302534

杨添文

10011303

2015.10.1

7

实验三:数据完整性与安全性控制

一、实验内容

1. 利用图形用户界面对实验一中所创建的Student 库的S 表中,增加以下的约束和索引。

(18分,每小题3分)

(1) 非空约束:为出生日期添加非空约束。

(2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno 。

(3) 唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname 。

(4) 缺省约束:为性别(ssex)添加默认值,其值为“男”。

(5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck_grade ,其检查

条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表为分别是S

表和C表,外键名称分别为fk_sno,fk_cno。

2.在图形用户界面中删除上小题中已经创建的各种约束,用SQL语言分别重新创建第1小题中的(2)-(6)小题。(15分,每小题3分,提示:alter table add constraint)(2)alter table s

add constraint pk_sno primary key(sno)

(3)alter table s

add constraint uk_sname unique(sname)

(4)alter table s

add constraint a default('男')for ssex

(5) alter table sc

add constraint ck_grade check(grade between 0 and 100)

(6) alter table sc

add constraint fk_sno foreign key(sno)references s(sno)

alter table sc

add constraint fk_cno foreign key(cno)references c(cno)

3.利用图形用户界面根据上述SC表中的外键定义画出由S,C,SC表构成的数据库关系图。(5分,提示:选中student -> 数据关系图)

4.用SQL语言删除S表中所创建的缺省约束和外键约束。(6分,每小题3分)

(1)缺省约束:

alter table s

drop constraint a

(2)外键约束:

alter table sc

drop constraint fk_sno,fk_cno

5.在图形用户界面中创建新登录名以及用户。(16分)

(3)根据第四版教材P148页第 8题,创建数据库company和其中的基本表,并创建该

题中所需要用到的各个用户以及相关的登录名。(10分)

(4)用图形用户界面完成以下的权限赋予:(每小题3分)

a)用户王明对两个表均有Select和Insert的权力。

b)用户李勇对职工表具有Select权力,对工资字段具有更新权力。

6.用SQL语句授权和收回权限并对权限加以验证。(40分,每题4分)

(1)第四版教材P148页第8题b),c),d),f),g)。

(b)grant insert,delete

on职工

to李勇

grant insert,delete

on部门

to李勇

(c) grant select

on职工

to public

(d)grant select,update(工资)

on职工

to刘星

(f)grant all privileges

on职工

to周平

with grant option

grant all privileges

on部门

to周平

with grant option

(g)create view wage(a,b,c,d)

as

select职工.部门号,max(工资),min(工资),avg(工资)

from职工,部门

where职工.部门号=部门.部门号

group by职工.部门号

grant select

on wage

to杨兰

(2)第四版教材P148页第9题的b),c),d),f),g)。

(提示:(c)和(g)小题可创建合适的视图,针对视图进行授权,

(c)小题用CURRENT_USER)

(b)revoke delete,insert on部门

from李勇;

revoke delete,insert on职工

from李勇;

(c)revoke select

on职工

from public

(d)revoke select,update

on职工

from刘星

(f)revoke all privileges

on职工

from周平cascade

(g)revoke select on wage

from杨兰;

drop view wage;

选做实验(选做第一题)

1.利用SQL语言创建,验证和删除规则。

(1)创建一个ssex_rule规则(create rule),将其绑定(sp_bindrule)到S表的ssex

性别字段上(请验证该规则生效,保证了输入的性别只能是“男”或者“女”)。

1、建立规则ssex_rule:

create rule ssex_rule

as @ssex in('男','女')

2、绑定:

exec sp_bindrule'ssex_rule','S.ssex'

3、验证:

insert into

s

values('95111','张伟','男人','1994-12-25','CS','3436330')

结果为:

(2)删除ssex_rule规则(注意:规则已绑定到ssex表的性别字段上,需要先解除原

有的绑定sp_unbindrule, drop rule)。

1、解除绑定:

exec

sp_unbindrule's.ssex'

2、删除:

drop rule ssex_rule

二、实验反思

创建合适的视图,可以令查询简单,效率更高,视图对重构数据库提供了一定程度的逻辑独立性。

实验四:视图与索引

一、实验内容

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

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

第一种方法:

create view V_SPJ

as

select SNO,PNO,QTY

from SPJ,J

where J.JNO=SPJ.JNO

and J.JNAME='三建'

第二种方法:

create view V_SPJ

as

select SNO,PNO,QTY

from SPJ

where SPJ.JNO in

(

select JNO

from J

where J.JNAME='三建'

)

3.用SQL语句完成第四版教材128页第11题中的视图查询(10分,每小题5分)。

(1)

select PNO,sum(QTY) total

from V_SPJ

group by PNO

(2)select*

from V_SPJ

where SNO='S1'

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

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

1、先建立instead of触发器insert_spj:

create trigger insert_spj

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(sno,pno,jno,qty)

values(@sno,@pno,'J1',@qty)

end

2、增加数据:

insert

into V_SPJ

values('S3','P5',406)

3、结果:

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

update V_SPJ

set QTY=666

where PNO='P3'and SNO='S2'

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

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

1、视图连接有多个基表,不能正常删除,建立触发器delete_spj如下:

create trigger delete_spj

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 from SPJ

where SPJ.sno=@sno

and SPJ.PNO=@PNO

AND SPJ.JNO='J1'

AND SPJ.QTY=@QTY;

end

2、删除一条数据:

delete

from V_SPJ

where SNO='S3'

and PNO='P1'

and QTY=200

结果如下:

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

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

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

create clustered index IX_CName

on c(cname)

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

性集建立的升序索引。

create nonclustered index IX_Cnosno

on sc(sno asc,cno asc)

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

drop index c.IX_CName

7.自己设计一个实验验证索引对数据库查询效率的提升作用。(40分)

(提示:需要数据量比较大的情况下才容易进行对比)

1、创建表:

CREATE TABLE[dbo].[Article](

[Id][int]IDENTITY(1,1)NOT FOR REPLICATION NOT NULL,

[MsId][int]NOT NULL,

[Title][nvarchar](96)NOT NULL,

[TitleBak][nvarchar](96)NOT NULL,

[Summary][nvarchar](512)NOT NULL,

[SummaryImageUrl][nvarchar](256)NOT NULL,

[Tag][nvarchar](50)NOT NULL,

[ArticleChannel_Id][int]NOT NULL,

[ArticleCategory_Id][int]NOT NULL,

[IsApproved][bit]NOT NULL,

[Creator_Id][int]NOT NULL,

[CreatedDateTime][datetime]NOT NULL,

[ModifiedDateTime][datetime]NOT NULL,

[ViewCount][int]NOT NULL,

[ReplyCount][int]NOT NULL,

[DiggCount][int]NOT NULL,

[FavoriteCount][int]NOT NULL,

[LastReplyUser_Id][int]NOT NULL,

[LastReplyDateTime][datetime]NOT NULL,

[RightType][int]NOT NULL,

[IsDisplayContent][bit]NOT NULL,

[IsSensitive][bit]NOT NULL,

[Source][int]NOT NULL,

CONSTRAINT[PK_Articles]PRIMARY KEY CLUSTERED

(

[Id]ASC

)

WITH

(

PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY= OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)

ON[PRIMARY]

)

ON[PRIMARY]

2、加入测试数据:

DECLARE@number INT

SET@number= 200000

WHILE@number> 0

BEGIN

INSERT dbo.Article

(

MsId,

Title,

TitleBak,

Summary,

SummaryImageUrl,

Tag,

ArticleChannel_Id,

ArticleCategory_Id,

IsApproved,

Creator_Id,

CreatedDateTime,

ModifiedDateTime,

ViewCount,

ReplyCount,

DiggCount,

FavoriteCount,

LastReplyUser_Id,

LastReplyDateTime,

RightType,

IsDisplayContent,

IsSensitive,

Source

)

VALUES

(

@number,

'Title'+cast(@number AS VARCHAR(20)),

'TitleBak'+cast(@number AS VARCHAR(20)),

'Summary'+cast(@number AS VARCHAR(20)),

'SummaryImageUrl'+cast(@number AS VARCHAR(20)),

'Tag'+cast(@number AS VARCHAR(20)),

1,

2,

0,

@number,

GETDATE(),

GETDATE(),

100,

29,

123,

12,

@number,

GETDATE(),

1,

0,

0,

2

)

SET@number=@number-1

END

3、没建立索引前,利用语句,查询开销,看执行计划

WITH TEMP AS

(

SELECT ROW_NUMBER()OVER (ORDER BY CreatedDateTime)AS ROW,CreatedDateTime,ViewCount

FROM Article

WHERE Creator_Id=199996

)

SELECT*

FROM TEMP

WHERE ROW BETWEEN 1 AND 5

4、建立索引之后,再执行一次查询,执行计划如下:

细节内容如下:

可以看到,利用索引查询,开销明显减少。

(参考文献与博客:

https://www.wendangku.net/doc/af8711313.html,/kevinlzf/archive/2009/10/28/1591201.html)

二、实验反思

利用索引查询数据,效率明显提高;触发器可以实现表或者视图中难以删除、更改的数据。

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

1.利用图形用户界面创建,备份,删除和还原数据库和数据表(50分,每小题5分) ●数据库和表的要求(第五版教材第二章习题 6 要求的数据库) 数据库名:SPJ,其中包含四张表:S表, P表, J表, SPJ表 ●完成以下具体操作: (1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方 式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。 数据库的逻辑文件名和物理文件名均采用默认值。 (2)在SPJ数据库中创建如图2.1-图2.4的四张表(只输入一部分数据示意即可)。 S表: P表: J表: SPJ表:

(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,数据类型为字符串类 型。 2.利用SQL语言创建和删除数据库和数据表(50分,每小题5分) ●数据库和表的要求 数据库名:Student,其中包含三个表:S:学生基本信息表;C:课程基本信息表;SC:学生选课信息表。 ●完成以下具体操作: (1)用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB, 最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初

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

网络数据库应用实训报告 日期: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

数据库实验2实验报告 2

数据库第二次试验报告 PB10011020 刘思轶实验内容 本实验有两个可选题目,旅游出行和药品免疫库。本程序即为旅游出行的一个实现。 实验原题摘要如下 数据关系模式: 航班FLIGHTS( String flightNum, int price, int numSeats, int numAvail, String FromCity, StringArivCity); 宾馆房间HOTELS( String location, int price, int numRooms, int numAvail);出租车CARS( String location, int price, int numCars, int numAvail);客户CUSTOMERS( String custName); 预订情况RESERVATIONS( String resvKey, String custName, int resvType) 系统基本功能: 1.航班,出租车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。 2.预定航班,出租车,宾馆房间。 3.查询航班,出租车,宾馆房间,客户和预订信息。 4.查询某个客户的旅行线路。 5.检查预定线路的完整性。 6.其他任意你愿意加上的功能。 程序功能 本系统由旅行服务提供商运营,发布在支持PHP + MySQL 的服务器上。 系统默认有三个角色,游客、用户和管理员。它们的权限如下 1、游客 查询当前航班、旅馆和出租车的预订情况; 2、注册用户 游客的所用权限; 查询当前预订; 预订航班、旅馆和出租车; 退订航班、旅馆和出租车。 打印旅行路线 检查预定路线的完整性。 检查航班的完备性 3、管理员 注册用户的所用权限

数据库原理实验报告-实验三-数据完整性与安全性控制

一、实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命 令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’ -->保 存 (3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。 唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加--> 是否唯一改为‘是’-->名称改为‘us_sname’ -->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存

(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查 条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表 和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint) 删除约束:单击数据库Student-->表-->单击S-->展开键、约束。一一删除即可。

数据库实验报告2

理工大学信息工程与自动化学院学生实验报告 (2011 —2012 学年第 1 学期) 课程名称:数据库系统教程开课实验室:信自楼445 2011 年11月 27日 一、上机目的及容 1.上机容: SQL的数据查询,查询、插入、删除、修改 2.上机目的: 掌握数据查询语句,并能熟练应用 二、实验原理及基本技术路线图(方框原理图或程序流程图) 在SQL server 2008软件中的查询中,输入SQL代码 三、所用仪器、材料(设备名称、型号、规格等或使用软件) 1台PC及SQL server 2008软件 四、实验方法、步骤(或:程序代码或操作过程) 1)select查询 单表查询:查询全体学生的学号及: SELECT SNO,SNAME FROM S;

查询全体学生的全部信息: SELECT*FROM S; 2)查询经过计算值 (SELECT子句的<目标列表达式>为表达式,表达式可以是:算术表达式、字符串常量、函数、列别名等) 查全体学生的学号、及其出生年份: SELECT SNO,SNAME,2012-AGE FROM S;

查询全体学生的、出生年份和所属系: SELECT SNO,SNAME,2012-AGE,SDEPT FROM S; 查询选修了课程的学生学号: SELECT SNO FROM SC,C WHERE https://www.wendangku.net/doc/af8711313.html,O=https://www.wendangku.net/doc/af8711313.html,O; 为了避免这种不合题意的情况,我们用distinct用了去除重复的元组。所以上例中的执行语句为: SELECT DISTINCT SNO FROM SC;

SELECT DISTINCT SNO FROM SC,C WHERE https://www.wendangku.net/doc/af8711313.html,O=https://www.wendangku.net/doc/af8711313.html,O; 查询选修课程的各种成绩: SELECT CNO,GRADE FROM SC; SELECT DISTINCT CNO,DISTINCT GRADE FROM SC; SELECT CNO,DISTINCT GRADE FROM SC; SELECT DISTINCT CNO,GRADE FROM SC;

网上购物系统实训总结

实训总结

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

数据库实验报告

课程设计报告题目:数据库实验上机实验报告 专业班级:计算机科学与技术1210班 学号: U9 姓名:候宝峰 指导教师: 报告日期: 2015-06-04 计算机科学与技术学院

目录 一、基本SQL操作(部分选做)............. 错误!未定义书签。 1)数据定义........................... 错误!未定义书签。 2)数据更新........................... 错误!未定义书签。 3)用SQL语句完成下述查询需求:....... 错误!未定义书签。 二、DBMS综合运用(部分选做)............. 错误!未定义书签。 1)学习sqlserver的两种完全备份方式:数据和日志文件的脱机备份、系统的备份功能(选做)。......... 错误!未定义书签。 2)学习系统的身份、权限配置操作....... 错误!未定义书签。 3)了解SQLSERVER的存储过程、触发器、函数实现过程错误!未定义书签。 三、实验总结............................. 错误!未定义书签。 1)实验问题及解决..................... 错误!未定义书签。 2)实验心得........................... 错误!未定义书签。

一、基本SQL操作(部分选做) 1)数据定义 参照下面的内容建立自己实验所需的关系数据 创建三个关系: 商品表【商品名称、商品类型】 GOODS【GNAME char(20),GTYPE char(10)】 主关键字为(商品名称)。商品类型为(电器、文具、服装。。。) 商场【商场名称,所在地区】 PLAZA【PNAME char(20),PAREA char(20)】 主关键字为商场名称。所在地区为(洪山、汉口、汉阳、武昌。。。) 销售价格表【商品名称、商场名称、当前销售价格、目前举办活动类型】 SALE【GNAME char(20),PNAME char(20),PRICE FLOAT,ATYPE char(10)】主关键字为(商品名称、商场名称)。举办活动类型为(送券、打折),也可为空值,表示当前未举办任何活动。表中记录如(‘哈森皮靴’,‘亚贸广场’,200,‘打折’),同一商场针对不同的商品可能采取不同的促销活动。 create table goods(gname char(20) primary key,gtype char(10)); create table plaza(pname char(20) primary key,parea char(20)); create table sale (gname char(20), pname char(20), price FLOAT, atype char(10)check (atype in('送券','打折','')), primary key(gname,pname), foreign key(gname)references goods(gname), foreign key(pname)references plaza(pname)); 图1 goods表 图2 plaza表 图3 sale表 2)数据更新 (1)向上述表格中用sql语句完成增、删、个、改的操作;

数据库原理实验报告

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验一SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级:14软工5班 学号:14551204 14551206 姓名:花元凯罗文波 1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获得 所感兴趣的相关产品主题/技术文档。

(4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL查 询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。目前最新版本是SQL SERVER 2014。 1,SQL Server 2005学习版当保护和管理应用系统内外部的信息变得至关重要时,通过提供一套免费、易于使用和健壮的数据库,学习版帮助开发人员建立强健的和可靠的应用系统。

数据库原理实验报告二.pdf

LIAOCHENG UNIVERSITY 计算机学院实验报告 【2015 ~2016 学年第 2 学期】 【一、基本信息】 【实验课程】数据库原理与应用 【设课形式】独立□非独立【课程学分】 【实验项目】实验二、SQL数据操作及查询 【项目类型】基础综合□设计□研究创新□其它[ ]【项目学时】4【学生姓名】傅雪晨【学号】59 【系别专业】电子商务 【实验班组】 【同组学生】 【实验室名】综合实验楼 【实验日期】【报告日期】 【二、实验教师对报告的最终评价及处理意见】 实验成绩:(涂改无效) 指导教师签名:年月日注:要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案

【三、实验预习】 实验条件(实验设备、软件、材料等): 实验2 SQL数据操作及查询 实验目的: 1. 向实验1建立的表中添加数据(元组), 掌握INSERT语句的用法; 2. 修改基本表中的数据, 掌握UPDATE语句的用法; 3. 删除基本表中的数据,掌握DELETE语句的用法; 4. 体会数据完整性约束的作用, 加深对数据完整性及其约束的理解。 5. 熟练掌握SELECT语句,能够运用该语句完成各种查询。 实验内容: 1.使用INSERT语句将教材P82表中的数据添加到数据库STUDENTDB中. 2. Insert into student59 select'1','李勇','男','20','CS','',''union select'2','刘晨','女','19','CS','',''union select'3','王敏','女','18','MA','',''union select'5','张立','男','19','IS','','' select*from student59 select*from course59 select*from sc59 alter table course59NOCHECK Constraint fk_cpno Insert into course59 select'1','数据库','5','4'union select'2','数学','','2'union select'3','信息系统','1','4'union select'4','操作系统','6','3'union select'5','数据结构','7','4'union select'6','数据处理','','2'union select'7','PASCAL语言','6','4' alter table course59CHECK Constraint FK_course59_course59 Insert into sc59 select'1','1',92 union select'1','2',85 union select'1','3',88 union select'2','2',90 union select'2','3',80 alter table sc59CHECK Constraint fk_S_c alter table sc59NOCHECKConstraint fk_S_c

数据库实训报告

数据库 实训报告 专业:计算机科学与技术班级:计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功能需求 “学生选课系统”服务于两种客户,一种是:教师,主要实现的功能包括自己信息管理,公布课程信息,选择学生。另一是:学生,主要实现功能包括管理自己信息,选择课程,查看各种信息。

数据库实验报告2

数据库原理实验报告 姓名:学号:班级: 实验日期:03/30/2017 实验名称:数据库创建与管理 实验二数据库创建与管理 一、实验目的 1.熟练掌握界面方式创建和管理数据库。 2.熟练掌握查询编辑器T-SQL语句创建和管理数据库。 3.熟练掌握备份和还原数据库。 二、实验器材 1、接入Internet的计算机主机; 三、实验内容 1、界面方式创建和管理数据库 (1)创建数据库 (2)修改数据库

(3)删除数据库(使用右键) 2、利用企业管理器备份和还原数据库(1)备份数据库 (2)还原数据库(操作->右键)

(1)创建SPJ数据库:“新建查询”,输入以下语句并运行 CREATE DATABASE SPJ ON (NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' , SIZE = 3, MAXSIZE = 10, FILEGROWTH = 10%) LOG ON (NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,

SIZE = 1, FILEGROWTH = 10%) (2)修改SPJ数据库:在查询分析器中输入以下语句并运行 ALTER DATABASE SPJ MODIFY FILE (NAME='SPJ_Data', SIZE=4, MAXSIZE=UNLIMITED) ALTER DATABASE SPJ ADD FILE (NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1, MAXSIZE=10, FILEGROWTH=10%) (3)删除SPJ数据库:DROP DA TABASE SPJ

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

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

数据库原理实验报告(3)实验三数据表的创建与管理实验

数据库原理实验报告(3)实验三数据表的创建与 管理实验 南京晓庄学院 《数据库原理与应用》 课程实验报告 实验三数据表的创建与管理实验 所在院(系): 数学与信息技术学院班级: 学号: 姓名: 1.实验目的 (1) 理解SQL Server 20xx常用数据类型和表结构的设计方法。理解主键、外键含义,掌握 建立各表相关属性间参照关系的方法。 (2) 熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构,插入及更新数据的方法。 (3) 熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方 法。 2.实验要求 基本实验:

(1) 在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构: 学生信息(学号,姓名,性别,籍贯,出生日期,民族,学院/系别号,班级号) 课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时) 学习信息(学号,课程号,考试成绩,平时成绩) 院系信息(院系号,院系名称) 要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。 (2) 依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据 库中创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。 (3) 依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验 使用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。 (4) 找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。 (5) 按要求完成实验报告。 扩展实验: (1) 在“TM”数据库中补充设计以下各表结构:

数据库实验报告二

《数据库原理》实验报告 实验三: 数据库完整性与安全性控 制 实验四: 视图与索引 学号姓名 班级日期 2013302534 杨添文10011303 2015.10.1 7 实验三:数据完整性与安全性控制 一、实验内容 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 (3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。 (4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 (5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查 条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表为分别是S 表和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除上小题中已经创建的各种约束,用SQL语言分别重新创建第1小题中的(2)-(6)小题。(15分,每小题3分,提示:alter table add constraint)(2)alter table s add constraint pk_sno primary key(sno) (3)alter table s add constraint uk_sname unique(sname) (4)alter table s add constraint a default('男')for ssex (5) alter table sc add constraint ck_grade check(grade between 0 and 100) (6) alter table sc add constraint fk_sno foreign key(sno)references s(sno) alter table sc add constraint fk_cno foreign key(cno)references c(cno)

数据库原理实验报告分析

2013级数据库原理实验报告 专业:_______计算机___ 班级:________________ 学号:______________ 姓名:_______________ 2015年5月

实验一 SQL Server 2005基本操作 一、实验目的 了解SQL Server 2005组件; 了解SQL Server数据库组成; 掌握SQL Server 2005界面基本操作。 二、实验内容 (1)开始->程序->Microsoft SQL Server 2005-> SQL Server Management Studio,打开后进入到SQL Server 2005主体界面 (2)点击?数据库?前面的?+?,可以展开查看数据库,并且可以继续展开下级目录,查看数据库中的表、视图等。 (3)了解SQL Server 2005菜单栏的一些主要工具的使用。 (4)学生动手操作SQL Server 2005,打开数据库,打开表,打开查询界面;查看数据库的属性、表的属性等。 三、实验总结 进行这次实验有遇到什么问题?怎么解决的? 答:此次实验我们一步一步按照实验内容操作的,基本上没有遇到问题。

实验二数据定义 一、实验目的 掌握SQL Server 2005的数据库创建; 掌握SQL Server数据定义语言; 掌握SQL Server 2005数据定义的SQL语言定义与管理器定义两种方式。 二、实验内容 (1)创建、修改、删除数据库。 创建要求:数据库Employee中包含一个数据库文件Empdat1.mdf和一个日志文件Emplog.ldf。其中,数据文件大小为10MB,最大为50MB,以5MB速度增长;日志文件大小为5MB,最大为25MB,以5%速度增长。 修改要求:增加第二个数据库文件Empdat2.ndf,其中,数据文件大小为5MB,最 大为25MB,以2MB速度增长。 (2)利用SQL创建人员表person、月薪表salary及部门表dept。 见上页图 要求:按表2-1、表2-2及表2-3中的字段说明创建。

数据库实训报告

数据库实训报告 目的:熟练掌握与应用数据库操作应用技术。 时间: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.设计与实现学生信息管理窗体

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

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

1.实验目的 (1)掌握多表查询和子查询的方法。 (2)熟练使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 (3)理解不相关子查询和相关子查询的实现方法和过程。 2.实验要求 (1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下查询操作: a)查询选修了数据结构与算法的学生学号和姓名。 b)查询07294002课程的成绩低于孙云禄的学生学号和成绩。 c)查询和孙云禄同年出生的学生的姓名和出生年份。 d)查询其他系中年龄小于数学与信息技术学院年龄最大者的学生。 e)查询其他系中比数学与信息技术学院学生年龄都小的学生。 f)查询同孙云禄数据库原理与应用课程分数相同的学生的学号和姓名。 g)查询选修了07294002课程的学生姓名。 h)查询没有选07294002课程的学生姓名。 i)查询同时选修了07295006和07295007课程的学生的学号。 j)查询所有未授课的教师的工号、姓名和院系,结果按院系升序排列。 扩展实验: a)查询和10060101选修的全部课程相同的学生的学号、课程号、期末考试 成绩。 b)查询至少选了10060101选修的全部课程的学生的学号。 c)查询年龄比所在院系平均年龄小的学生的学号、姓名、年龄、院系,按 院系和年龄升序排列。 d)查询每门课都在80分以上的学生的学号和姓名。 (2)在SQL Server Management Studio中新建查询,尽可能用多种形式表示实验中的查询语 句,并进行比较。 (3)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 将调试成功的T-SQL语句写在下方(标明题号)。

数据库实验报告实验二

湘潭大学 数据库实验报告 实验名称SQL操作 班级软件工程一班 指导老师郭云飞(老师)学生姓名汤能武 系(院)信息工程学院实验时间2011年12月

SQL操作 一、实验目的 1.了解和掌握MS SQL Server 工具的使用; 2.熟悉掌握SQL' 3.训练学生设计与编写过程,函数与触发器的能力; 二、实验环境 1. 硬件:数据库服务器,客户机,局域网; 2.软件:MS SQL Server 2008 ,建模软件; 三、实验内容 根据给定的问题建立数据库模型,在MS SQL Management Studio 中建立该数据库,并利用SQL语句建立表格与视图,录入数据,进行查询,插入,删除,修改等操作,编写过程,函数,触发器等; 给定问题如下: 1.一个学校有若干教学楼和若干班; 2.一个教室有若干教室和若干管理人员; 3.一间教室只有一个管理人员,但一个管理人员可以管理若干个教室; 4.每周7天,每周上午,下午,晚上都可以安排上课,每周的课表都不变; 5.一间教室或班在一段时间内只能安排一堂课,但可以是合班上课;

四、实验准备 1.理论知识预习及要求 ①使用SQL语句建立数据库; ②使用SQL语句进行查询,修改等操作; ③使用SQL语句建立过程,函数,触发器等; ④使用SQL创建数据表; 2.实验指导书预习及要求 上机前先预习数据库原理指导书的实验,理解和掌握SQL语言的常用操作。 五、实验原理或操作要点简介 注意服务器要先启动,才能与服务器建立连接。 使用SQL命令,完成预定功能。 六、实验步骤 1. 分析给定问题,设计E-R 模型;

2.根据E-R图设计出该问题的关系数据模型,分析数据模型并规范之;关系模型

数据库实训报告实训

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

相关文档