昆明理工大学数据库实验报告记录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
昆明理工大学数据库实验报告记录
————————————————————————————————作者:————————————————————————————————日期:
《数据库原理》上机实验报告
专业:自动化、测控
学号:
姓名:
班级:
指导老师:杨彪
昆明理工大学信息工程与自动化学院
2014年12月
一、实验目的与要求:
●熟练使用SQL定义子语言、操纵子语言命令语句
●掌握关系模型上的完整性约束机制
●掌握一定的数据库管理技术
●能完成简单的数据库应用开发
二、实验内容及学时安排(总学时:8)
(一)数据定义子语言实验(2学时)
实验1:利用SQL语句创建Employee数据库
程序:create database employee
结果:
实验2:利用SQL语句在Employee数据库中创建人员表person、月薪表salary 及部门表dept。
要求:按表1、表达、表3中的字段说明创建
表1 person表结构
字段名数据类型字段长度允许空否字段说明
P_no Char 6 Not Null 工号,主键
P_name Varchar 10 Not Null 姓名
Sex Char 2 Not Null 性别
Birthdate Datetime 8 Null 出生日期
Prof Varchar 10 Null 职称
Deptno Char 4 Not Null 部门代码,外键(参照dept表)
表2 salary表结构
字段名数据类型字段长度允许空否字段说明
P_no Char 6 Not Null 工号,主键,外键(参照person表)Base Dec 5 Null 基本工资
Bonus Dec 5 Null 奖金,要求>50
Fact Dec 5 Null 实发工资=基本工资+奖金Month Int 2 Not Null 月份
表3 dept表结构
字段名数据类型字段长度允许空否字段说明
Deptno Char 4 Not Null 部门代码,主键,Dname Varchar 10 Not Null 部门名称
程序:
create table dept(
Deptno char(4)not null,
Dname varchar(10)not null,
)
create table person(
P_no char(6)not null primary key,
P_name varchar(10)not null,
Sex Char(10)not null,
Birthdate date 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)null,
Fact Dec(5)null,
Month Int not null,
Foreign key (P_no)References person(P_no)
)
结果:
(二)数据操纵子语言实验(4学时)
实验3:利用SQL语句向表person、salary和dept中插入数据。
要求:按表4、表5、表6中的数据插入。
表4 表person中的数据
P_no P_name Sex BirthDate Prof Deptno 000001 王云男1973-4-7 中级0001
000002 谢志文男1975-2-14 中级0001 000003 李浩然男1970-8-25 高级0002 000004 廖小玲女1979-8-6 初级0002 000005 梁玉琼女1970-8-25 中级0003 000006 罗向东男1979-5-11 初级0003 000007 肖家庆男1963-7-14 高级0003 程序:insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno)
values('000001','王云','男','1973-4-7','中级','0001')
其他person表的数据插入同上。
结果:
表5 表salary中的数据
P_no Base Bonus Fact S_month 000001 2100 300 1 000002 1800 300 1 000003 2800 280 1 000004 2500 250 1 000005 2300 275 1 000006 1750 130 1 000007 2400 210 1
程序:insert into salary
values ('000001','2100','300','2400','1')
其他salary表的数据插入同上。
结果:
表6 表dept中的数据
Deptno Dname
0001 人事部
0002 财务部
0003 市场部
程序:insert into dept
values ('0001','人事部')
其他dept表的数据插入同上。
结果:
实验4:(1)利用SQL语句修改表中的数据。
要求:将salary表中工号为000006的员工工资增加为
1800元,奖金增加为160元。
程序:update salary
set Base=1800,Bonus=160
where P_no=000006