数据库上机实验报告Word下载.docx

上传人:b****5 文档编号:21703566 上传时间:2023-01-31 格式:DOCX 页数:19 大小:391.64KB
下载 相关 举报
数据库上机实验报告Word下载.docx_第1页
第1页 / 共19页
数据库上机实验报告Word下载.docx_第2页
第2页 / 共19页
数据库上机实验报告Word下载.docx_第3页
第3页 / 共19页
数据库上机实验报告Word下载.docx_第4页
第4页 / 共19页
数据库上机实验报告Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数据库上机实验报告Word下载.docx

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

数据库上机实验报告Word下载.docx

NotNull

工号,主键

P_name

Varchar

10

姓名

Sex

2

性别

Birthdate

Datetime

Null

出生日期

Prof

职称

Deptno

4

部门代码,外键(参照dept表)

CREATETABLEdept(

DeptnoChar(4)NotNullPRIMARYKEY,

DnameVarchar(10)NotNull

);

CREATETABLEperson(

P_noChar(6)NotNullPRIMARYKEY,

P_nameVarchar(10)NotNull,

SexChar

(2)NotNull,

BirthdateDatetimeNull,

ProfVarchar(10)Null,

DeptnoChar(4)NotNull,

FOREIGNKEY(Deptno)REFERENCESdept(Deptno)

表2salary表结构

工号,主键,外键(参照person表)

Base

Dec

5

基本工资

Bonus

奖金,要求>

50

Fact

实发工资=基本工资+奖金

Month

Int

月份

CREATETABLEsalary(

P_noChar(6)NotNull,

FOREIGNKEY(P_no)REFERENCESperson(P_no),

BaseDec(5)Null,

BonusDec(5)Check(Bonus>

50)Null,

FactAsBonus+Base,

MonIntNotNull

表3dept表结构

部门代码,主键,

Dname

部门名称

(二)数据操纵子语言实验(6学时)

实验3:

利用SQL语句向表person、salary和dept中插入数据。

按表4、表5、表6中的数据插入。

表4表person中的数据

BirthDate

000001

王云

1973-4-7

中级

0001

000002

谢志文

1975-2-14

000003

李浩然

1970-8-25

高级

0002

000004

廖小玲

1979-8-6

初级

000005

梁玉琼

0003

000006

罗向东

1979-5-11

000007

肖家庆

1963-7-14

INSERT

INTOperson(P_no,P_name,Sex,BirthDate,Prof,Deptno)

VALUES('

000001'

'

王云'

男'

1973-4-7'

中级'

0001'

000002'

谢志文'

1975-2-14'

000003'

李浩然'

1970-8-25'

高级'

0002'

000004'

廖小玲'

女'

1979-8-6'

初级'

000005'

梁玉琼'

0003'

000006'

罗向东'

1979-5-11'

000007'

肖家庆'

1963-7-14'

表5表salary中的数据

S_month

2100

300

1

1800

2800

280

2500

250

2300

275

1750

130

2400

210

INSERT

INTOsalary(P_no,Base,Bonus,Mon)

2100,300,1);

*/

/*select*fromsalary;

/*INSERT

1800,300,1);

2800,280,1)*/

2500,250,1);

2300,275,1);

1750,130,1);

2400,210,1);

表6表dept中的数据

人事部

财务部

市场部

INTODept(Deptno,Dname)

人事部'

财务部'

市场部'

实验4:

(1)利用SQL语句修改表中的数据。

将salary表中工号为000006的员工工资增加为1800元,奖金增加为160元。

UPDATEsalary

SETBase=1800,Bonus=160

WHEREP_no='

;

(2)利用SQL语句删除表中的数据。

删除 

person表中工号为000007的员工数据。

/*DELETE

FROMsalary

DELETE

FROMperson

(3)利用SQL语句查询person表中的所有数据。

select*fromperson;

实验5:

条件查询

要求:

(1)查询person表中所有不重复的职称。

selectDISTINCTProf

fromperson;

(2)查询person表中职称为中级的所有员工数据。

select*fromperson

whereprof='

(3)查询person表中具有高级职称的男员工信息。

andsex='

(4)查询person表中姓名为王云、谢志文、罗向东的员工数据。

whereP_name='

orP_name='

实验6:

使用ORDERBY排序

利用SQL语句将工号在000003和000006之间的员工的月收入按实发工资升序排序。

select*fromsalary

whereP_nobetween'

and'

ORDERBYFact;

实验7:

利用SQL语句查询各部门的实发工资总数。

SelectDname,sum(Fact)

FromSalary,Dept,person

WhereDept.Deptno=Person.DeptnoandPerson.P_no=Salary.P_no

GROUPbyDname;

实验8:

利用SQL语句查询人事部所有员工信息。

Select*fromperson

WhereDeptno='

实验9:

表的内连接查询:

利用SQL语句查询person表中职称为中级的员工信息。

Whereprof='

实验10:

表的外连接查询:

利用SQL语句查询每个员工1月份的工资和奖金

SelectP_name,Base,Bonus

fromperson,salary

whereperson.P_no=Salary.P_noandmon=1

实验11:

子查询:

利用SQL语句查询比工号为000005的员工实发工资高的所有员工信息。

Select*

Whereperson.P_no=salary.P_noANDsalary.Fact>

selectFact

fromsalary

wheresalary.P_no='

(三)数据完整性实验(1学时)

实验12:

定义外键约束

(1)创建表时将person表的deptno列定义为外键,并参考dept表的列deptno。

(2)将salary表中的P_no设为外键,并使其参照person表中的列P_no。

FOREIGNkey(P_no)REFERENCESperson(P_no)

实验13:

测试对主表进行插入、更新及删除操作时的影响。

(请写明原因)

(1)向表dept中插入一行数据(‘0004’,‘研发部’),测试是否影响从表。

INTOdept(Deptno,Dname)

values('

0004'

研发部'

(2)将表dept中的部门号0003改为0006,测试是否影响从表。

UPDATEdept

setDeptno='

0006'

whereDeptno='

有影响

(3)删除表dept中部门号为0001的员工的数据,测试是否影响从表。

DELETE

FROMdept

WHEREDeptno='

实验14:

测试对从表进行插入、更新及删除操作时的影响。

(1)向表person中插入一行数据(‘000012’,‘宋全礼’,‘男’、‘1980-7-17’,‘初级’,‘0005’),测试是否违背参照完整性。

INTOperson

000012'

宋全礼'

1980-7-17'

0005'

(2)删除表中工号为000005的员工数据,测试是否违背参照完整性。

whereP_no='

三、总结与体会

通过这个实验课程,让我学会了很多。

首先,我对数据库有了更进一步的了解,虽说在课上有听老师讲解数据库,但只是一个大概的认识,一个理论的认识,并没有把它结合到实际中去,其认识就不深刻,知识面也比较散,但通过对使用SQL软件设计数据库,知识的模块被建立起来。

在实验过程中有遇到很多问题,才刚开始的时候,由于数据库模块之间的关系不明确,主键,外键之间的关系不明确,就使建表的顺序弄错了,以至于在插入数据的时候出现问题,还有在后面的运行中,不知如何写程序,但在老师的帮助下,这些问题都得到了解决,由此,我明白了数据库的建立并不是一件简单的事,它门的表格之间有着密切的联系,并不是单一存在的,或许你前面哪里没弄对,都会导致后面的运行不成功。

通过实验,我明白了数据库是一门很有用的学科,学好了数据库,并能应用到生活中,那就会减少不必要的劳动,所以今后会加强这方面的学习,勤于实践,争取能多一份的技能。

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

当前位置:首页 > 高中教育 > 小学教育

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

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