数据库实验报告.docx

上传人:b****6 文档编号:4177153 上传时间:2022-11-28 格式:DOCX 页数:23 大小:468.61KB
下载 相关 举报
数据库实验报告.docx_第1页
第1页 / 共23页
数据库实验报告.docx_第2页
第2页 / 共23页
数据库实验报告.docx_第3页
第3页 / 共23页
数据库实验报告.docx_第4页
第4页 / 共23页
数据库实验报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

数据库实验报告.docx

《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(23页珍藏版)》请在冰豆网上搜索。

数据库实验报告.docx

数据库实验报告

学生学号

0120910680421

实验课成绩

武汉理工大学

学生实验报告书

 

实验课程名称数据库系统原理

开课学院计算机科学与技术学院

指导老师姓名凌咏红

学生姓名朱鹏

学生专业班级软件0904班

 

2011—2012学年第二学期

 

实验课程名称:

数据库系统原理

实验项目名称

关系数据库的创建

实验成绩

实验者

朱鹏

专业班级

软件0904

组别

同组者

实验日期

年月日

第一部分:

实验分析与设计(可加页)

一、实验内容描述(问题域描述)

设有一个SPJ数据库,包括SPJSPJ4个关系模式

S(SNO,SNAME,STATUS,CITY)

P(PNO,PNAME,COLOR,WEIGHT)

J(JNO,JNAME,CITY);

SPJ(SNO,PNO,JNO,QTY);

输入书上相应的数据并进行查询以及操作.

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)

createtableS

SNOnchar(10)primarykey,

SNAMEnvarchar(10),

STATUSint,

CITYnvarchar(10)

createtableP

PNOnchar(10)primarykey,

PNAMEnvarchar(10),

COLORnvarchar(10),

WEIGHTint

createtableJ

JNOnchar(10)primarykey,

JNAMEnvarchar(10),

CITYnvarchar(10)

createtableSPJ

SNOnchar(10),

PNOnchar(10),

JNOnchar(10),

QTYint,

primarykey(SNO,PNO,JNO),

foreignkey(SNO)referencesS(SNO),

foreignkey(PNO)referencesP(PNO),

foreignkey(JNO)referencesJ(JNO),

直接在企业管理中新建表将数据输入

Select*from表名字

Insert的信息如下

 

第二部分:

实验调试与结果分析(可加页)

一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)

Insert数据时候如果插入了重复主键的数据时会报错,此时只要将相应主键的名字改了即可。

使用insertinto语句时候如果values里面的内容和创建表的类型不一样也会报错

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)

使用select*fromPselect*fromS出现以下结果其他不给显示了

 

三、实验小结、建议及体会

通过这次试验,我简单的明白了在SQL2000查询分析器中创建数据库以及数据的方法,为以后的实验做了一定的基础,同时我也明白了一些数据创建查询的一些必要知识,以及敏感操作,对以后的操作错误一定可以更快的解决。

实验课程名称:

数据库系统原理

实验项目名称

关系数据库标准语言sql

实验成绩

实验者

朱鹏

专业班级

软件0904

组别

同组者

实验日期

年月日

第一部分:

实验分析与设计(可加页)

一、实验内容描述(问题域描述)

根据第一次试验完成以下操作

1求供应工程J1零件的供应商号码SNO

2求供应工程J1零件为P1的供应商号码SNO

3求供应工程J1零件为红色的供应工程号JNO

4求没有使用天津供应商生产的红色零件的工潮JNO

5求至少使用了供应商S1所供应的全部零件的工程号JNO

6找出所有供应商的姓名和所在城市

7找出所有零件的名称颜色重量

8找出使用供应商S1所供应零件的工程号

9找出工程项目J2使用的各种零件的名称及其数量

10找出上海厂商供应的所有零件号码

11找出使用上海产的零件的工程号码

12找出没有使用天津产的零件的工程号码

13把全部红色零件的颜色改成蓝色

14由S5供给J4的零件改为由S3供给

15删除S2

16讲(S2,J6.P4.200)插入到SPJ表

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)

实验代码如下

1selectdistinctSNO

fromSPJ

whereJNO='J1';--求工程为J1的供应商号码

2selectdistinctSNO

fromSPJ

whereJNO='J1'andPNO='P1';--工程为J1零件为P1的供应商号码

3selectSNO

fromSPJ

whereJNO='J1'andPNOin(selectPNOfromPwhereCOLOR='红');--工程为J1零件为红色

4selectJNO

fromSPJ

wherePNOnotin(selectPNOfromPwhereCOLOR='红')

orSNOnotin(selectSNOfromSwhereCITY='天津')

5selectdistinctJNO

fromSPJSP1

wherenotexists

(select*fromSPJSP2

whereSP2.SNO='S1'andnotexists(select*fromSPJSP3whereSP3.Jno=SP1.JnoandSP3.PNO=SP2.PNO))

6selectSNAME供应商姓名,CITY供应商所在城市fromS

7selectPNAME名称,COLOR颜色,WEIGHT重量fromP

8selectdistinctJNOS1的供应商工程号fromSPJwhereSNO='S1'

9selectPNAME,SUM(SPJ.QTY)数量

fromP,SPJ

whereP.PNO=SPJ.PNOandSPJ.JNO='J2'groupbyPNAME

10selectdistinctPNO

fromS,SPJ

whereS.SNO=SPJ.SNOandS.CITY='上海'

11selectdistinctJNAME

fromS,SPJ,J

whereSPJ.SNO=S.SNOandSPJ.JNO=J.JNOandS.CITY='上海'

12selectJNOfromSPJSP1whereJNOnotin(

selectJNOfromSPJSP2wherePNOin(selectPNOfromSPJSP3,SwhereS.SNO=SP3.SNOandS.CITY='天津'))

13updatePsetCOLOR='蓝'whereCOLOR='红'

14updateSPJsetSNO='S3'whereSNO='S5'andPNO='P6'andJNO='J4'

select*fromSPJ

15deletefromSwhereS=’S2’

16insertintoSPJvalues(S2,J6,P4,,200)

 

三、主要仪器设备及耗材

SQLServer2000

 

第二部分:

实验调试与结果分析(可加页)

一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)

查询时必要的时候要使用distinct来让输出结果不重复这样可以让显示结果简洁化

未使用distinct使用distinct

显然使用它更好些同时在某些时候使用exists来判断这样可以更好的得到自己想要的结果

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)

 

 

三、实验小结、建议及体会

通过这次试验我明白了数据库查询,更新,删除,等的具体操作并且熟悉运用了一些方法来查询一定条件下的结果,在查询的过程中遇到了一些错误,但是在对证书上了之后又及时的改正,使得我能够在规定的时间内完成实验,在试验中对于有些操作我还是比较生疏的虽然运用了它解决了部分问题但是还是很难熟练的运用它。

 

实验课程名称:

数据库系统原理

实验项目名称

数据库安全性应用

实验成绩

实验者

朱鹏

专业班级

软件0904

组别

同组者

实验日期

年月日

第一部分:

实验分析与设计(可加页)

一、实验内容描述(问题域描述)

今有两个关系模式,

职工(职工号,姓名,年龄,职务,工资,部门号)

部门(部门号,名称,经理名,地址,电话号)

使用SQL的GRANT和REVOKE完成以下任务

1用户王明对两个表有select权利

2用户李勇对两个表有insert和delete权利

3每个职工只对自己的表有select权利

4用户刘星对职工表有select权利对工资表有更新权利

5用户张新具有修改这两个表的结构的权利

6用户周平具有两个表的所有权利,并有赋予其他用户授权的权利

7用户杨兰具有从每个部门职工中select最高工资,最低工资,平均工资的权利他不能查看其他人工资.

二、基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)

1创建两个表

createtableworker

widvarchar(10)primarykey,

wnamenvarchar(10),

wagevarchar(10)

constraintc3check(wage<=60),

wdutynvarchar(10),

wsalaryint,

wnumvarchar(10)foreignkeyreferencesxnum(nnum)

ondeletecascade

onupdatecascade

createtablexnum

nnumvarchar(10)primarykey,

nnamenvarchar(10),

npresidentnvarchar(10),

nphonevarchar(20)

相应权利的代码

1EXECsp_addrole‘王明';

grantselectonworkerto王明;

grantselectonxnumto王明;

2EXECsp_addrole‘李勇';

grantinsert,updateonworkerto李勇;

grantinsert,updateonxnumto李勇;

3GRANTSELECTON职工

WHENUSER()=NAME

TOALL;

4EXECsp_addrole‘刘星';

grantselectonworkerto刘星;

createviewliuxin

as

selectwsalaryfromworker

grantupdateonliuxinto刘星;

5EXECsp_addrole‘张新';

Grantaltertableon职工部门

To张新

6EXECsp_addrole‘周平';

grantallprivilegesonworkerto周平withgrantoption;

grantallprivilegesonxnumto周平withgrantoption;

7createviewyang

as

selectmax(wsalary)最大,min(wsalary)最小,avg(wsalary)一般fromworker

EXECsp_addrole‘杨兰';

grantselectonyangto杨兰;

 

三主要仪器设备及耗材

个人计算机SQLServer2000

 

第二部分:

实验调试与结果分析(可加页)

一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)

1在调试中如果使用createrole角色名来直接创建角色的话,是不允许的

EXECsp_addrole‘角色名';一定要使用这样才行。

2用户与角色的创建时不一样的对于SQL用户要绑定登入这样在登入SQL的时候

要输入相应的登入账号和密码才行

二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)

我们可以再企业管理器中看到各个角色的情况

 

 

三、实验小结、建议及体会

通过这次试验我明白了在数据库中如何构建角色和用户的方法,同时我也明白了赋予用户角色权利和回收用户权利的方法,通过一定的使用这些方法我对这些东西都有了一定的认识.在试验中虽然遇到了不少的困难但是还是在网络的帮助下我解决了这些问题。

 

实验课程名称:

数据库系统原理

实验项目名称

数据库完整性

实验成绩

实验者

朱鹏

专业班级

软件0904

组别

同组者

实验日期

年月日

第一部分:

实验分析与设计(可加页)

一、实验内容描述(问题域描述)

使用SQL对数据进行完整性控制。

假设有下面两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号是主码;

部门(部门号,名称,经理名,电话),其中部门号为主码。

用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:

(1)定义模式的主码;

(2)定义参照完整性;(3)定义职工年龄不得超过60岁

二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)

1.定义主键可以用:

在部门表中:

列级的如:

部门号 varchar(10) RIMARY KEY;

表级的如:

CONSTRAINT PK_SC RIMARY KEY(部门号)(取了别名PK_SC);

在职工表中:

列级的如:

职工号 varchar(20) RIMARY KEY;

表级的如:

CONSTRAINT EMP_SC RIMARY KEY(职工号)(取了别名EMP_SC);

2. 定义参照完整性:

CONSTRAINT FK_DEPTNO

FOREIGN KEY(部门号)

REFFERENCES 部门号(部门号));

3. 定义职工年龄不得超过60岁

使用check关键字:

年龄 SMALLINTCHECK (年龄<=60);

三、主要实验工具、仪器设备及耗材

个人计算机,SQLServer2000

第二部分:

实验结果分析(可加页)

一、实验结果描述

用SQL定义关系模式,实验结果截图如下:

1、部门

(1)SQL语句

(2)执行Sql后的结果:

 

2、职工

(1)SQL语句

 

(2)执行Sql后的结果:

二、实验小结、建议及体会

通过本次实验,我对数据库有了更为深刻的理解。

关于数据库完整性,是指数据的正确性和相容性,它是为了防止数据库中存在不符合语义的数据,即有不正确的数据。

在实验中,涉及到了实体完整性(主码)定义和参照完整性(部门号)的定义。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1