昆明理工大学数据库实验报告.doc

上传人:飞****2 文档编号:61353362 上传时间:2022-11-21 格式:DOC 页数:23 大小:911KB
返回 下载 相关 举报
昆明理工大学数据库实验报告.doc_第1页
第1页 / 共23页
昆明理工大学数据库实验报告.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《昆明理工大学数据库实验报告.doc》由会员分享,可在线阅读,更多相关《昆明理工大学数据库实验报告.doc(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据库原理上机实验报告学 号: 姓 名: 班 级: 自动化指导老师: 昆明理工大学信息工程与自动化学院2012年12月一、实验目的与要求:l 熟练使用SQL定义子语言、操纵子语言命令语句l 掌握关系模型上的完整性约束机制l 掌握一定的数据库管理技术l 能完成简单的数据库应用开发二、实验内容及学时安排(总学时:14)(一)数据定义子语言实验(2学时)实验1:利用SQL语句创建Employee数据库代码:create database employee;运行结果:实验2:利用SQL语句在Employee数据库中创建人员表person、月薪表salary及部门表dept。要求:按表1、表2、表3中的

2、字段说明创建表1 person表结构字段名数据类型字段长度允许空否字段说明P_noChar6Not Null工号,主键P_nameVarchar10Not Null姓名SexChar2Not Null性别BirthdateDatetimeNull出生日期ProfVarchar10Null职称DeptnoChar4Not Null部门代码,外键(参照dept表)代码:create table person( P_no Char(6) Not Null primary key,P_name Varchar(10) Not Null,Sex Char(2) Not Null,Birthdate Da

3、tetime Null,Prof Varchar(10) Null,Deptno Char(4) Not Null,Foreign key (Deptno) References dept(Deptno);create table salary(P_no Char(6) Not Null primary key,Base Dec(5) Null,Bonus Dec(5) Check (Bonus50) Null,Fact As Base+Bonus,Mon int,Foreign key (P_no) References person(P_no);create table dept(Dept

4、no Char(4) Not Null primary key,Dname Varchar(10) Not Null,);运行结果:表2 salary表结构字段名数据类型字段长度允许空否字段说明P_noChar6Not Null工号,主键,外键(参照person表)BaseDec5Null基本工资BonusDec5Null奖金,要求50FactDec5Null实发工资=基本工资+奖金MonthInt2Not Null月份表3 dept表结构字段名数据类型字段长度允许空否字段说明DeptnoChar4Not Null部门代码,主键,DnameVarchar10Not Null部门名称(二) 数据

5、操纵子语言实验(6学时)实验3:利用SQL语句向表person、salary和dept中插入数据。要求:按表4、表5、表6中的数据插入。 代码: Person表的数插入:insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno) values(,王云,男,1973-4-7,中级,0001);insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno)values(,谢志文,男,1975-2-14,中级,0001);insert into person(P_no,P_name,Sex,B

6、irthdate,Prof,Deptno)values(,李浩然,男,1970-8-25,中级,0001);insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno)values(,廖小玲,女,1979-8-6,高级,0002);insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno)values(,梁玉琼,女,1970-8-25,初级,0002);insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno)values(,罗向

7、东,男,1979-5-11,初级,0003);insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno)values(,肖家庆,男,1963-7-14,高级,0003); salary表的数插入: insert into salaryvalues(,2100,300,1);insert into salaryvalues(,1800,300,1);insert into salaryvalues(,2800,280,1);insert into salaryvalues(,2500,250,1);insert into salaryval

8、ues(,2300,275,1);insert into salaryvalues(,1750,130,1);insert into salaryvalues(,2400,210,1); dept表的数插入:insert into dept(Deptno,Dname)values(0001,人事部);insert into dept(Deptno,Dname)values(0002,财务部);insert into dept(Deptno,Dname)values(0003,市场部);表4 表person中的数据P_noP_nameSexBirthDateProfDeptno王云男1973-4

9、-7中级0001谢志文男1975-2-14中级0001李浩然男1970-8-25高级0002廖小玲女1979-8-6初级0002梁玉琼女1970-8-25中级0003罗向东男1979-5-11初级0003肖家庆男1963-7-14高级0003表5 表salary中的数据P_noBaseBonusFactS_month21003001180030012800280125002501230027511750130124002101表6 表dept中的数据DeptnoDname0001人事部0002财务部0003市场部实验4:(1)利用SQL语句修改表中的数据。要求:将salary表中工号为的员工工

10、资增加为1800元,奖金增加为160元。代码:update salaryset Base=1800,Bonus=160where P_no=;运行结果:(2)利用SQL语句删除表中的数据。要求:删除person表中工号为的员工数据。代码:delete from person where P_no=;运行结果:冲突出错(3)利用SQL语句查询person表中的所有数据。代码:select * from person;运行结果:实验5:条件查询 要求:(1)查询person表中所有不重复的职称。代码:select distinct Proffrom person;运行结果:(2) 查询person

11、表中职称为中级的所有员工数据。代码:select *from personwhere Prof=中级;运行结果:(3) 查询person表中具有高级职称的男员工信息。代码:select *from personwhere Prof=中级 and Sex=男;运行结果:(4) 查询person表中姓名为王云、谢志文、罗向东的员工数据。代码如下:select *from personwhere P_name=王云 or P_name=谢志文 or P_name=罗向东;运行结果:实验6:使用ORDER BY排序 要求:利用SQL语句将工号在和之间的员工的月收入按实发工资升序排序。代码如下:sele

12、ct *from salarywhere P_no and P_no (select Fact from salary where P_no=);(三) 数据完整性实验(1学时)实验13:测试对主表进行插入、更新及删除操作时的影响。(请写明原因) 要求:(1) 向表dept中插入一行数据(0004,研发部),测试是否影响从表。代码:insert into dept(Deptno,Dname) values(0004,研发部);运行结果:(2) 将表dept中的部门号0003改为0006,测试是否影响从表。代码:update dept set Deptno=0003where Deptno=00

13、06;在将表dept中的部门号0003改为0006后,查找出从表的所有内容的运行结果为:(3) 删除表dept中部门号为0001的员工的数据,测试是否影响从表。实验14:测试对从表进行插入、更新及删除操作时的影响。(请写明原因)要求:(1) 向表person中插入一行数据(,宋全礼,男、1980-7-17,初级,0005),测试是否违背参照完整性。代码:insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno) values(,宋全礼,男,1980-7-17,初级,0005);运行结果:(2) 删除表中工号为的员工数据,测试是否违背参照完

14、整性。代码如下:delete from person where P_no=;运行结果:删除表中工号为的员工数据后无法执行操作, 由于表间有链接关系故不能修改表中的数据。三 总结体会这几次的数据库实验,使我对数据库有了一定的了解,尽管学的还不精通,用SQL尚不熟悉,但通过课程的理论学习和实践相结合的方式,我对数据库产生了很高的兴趣。而只要有机构组织的地方就需要有数据库知识的人才,说明这个知识被采纳率是很高的,是一门基本的技术。作为大学生更应该掌握并学会使用。通过本次的实验和学习,我学会了一些基本的操作,比如创建表,查找,删除等等,但掌握的不够透彻,不够熟悉,还需要再不断的加强学习,尽管这么课程结束了,但我想我不会停止对其的学习,我会慢慢把它变成自己的一部分。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com