数据库系统原理实验报告.docx
《数据库系统原理实验报告.docx》由会员分享,可在线阅读,更多相关《数据库系统原理实验报告.docx(32页珍藏版)》请在冰豆网上搜索。
数据库系统原理实验报告
江苏科技大学
数据库系统原理实验报告
学院计算机科学与工程学院___
专业计算机科学与技术系
学生姓名庄永新________________
班级学号12419012____
指导教师白素琴___
二零一四年十二月
实验前准备(2课时):
请设计一个企业销售管理据库,其中需要保存的信息如下:
员工信息,包括:
员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期;
客户信息,包括:
客户号,客户名称,客户住址,客户电话、邮政编码;
产品信息,包括:
产品编号,产品名称;
员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:
订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。
此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。
因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期;
要求:
(1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型;
(2)将E-R图转换为关系模型;
员工(员工编号,员工姓名,性别,所属部门,职称,到职日,生日,薪水,填表日期);
客户(客户号,客户名称,客户住址,客户电话,邮政编码);
产品(产品编号,产品名称);
订单(订单编号,客户号,业务员编号,订单金额,订货日期,出货日期,发票号码,数量);
调出(订单编号,产品编号,数量);
实验一
实验名称:
建立数据库和基本表结构(2课时)
一、实验目的
理解数据库模式的概念,通过使用SQLSERVER企业管理器或者MySql建立数据库和基本表。
模式为人事表、客户表、销售表、销售明细表、产品表。
熟悉SQLSERVER企业管理器的使用,并将得到的表生成脚本,然后保存。
另外,帮助学生理解上述基本表之间的关系,从而正确、合理地建立表结构,并输入相应记录信息。
二、实验环境
MSSQLSERVER2014
三、实验内容与步骤
建立一个数据库和五张表的表结构。
(1)/*员工人事表employee*/
emp_no
char(5)
Notnull
primarykey
员工编号
emp_name
char(10)
Notnull
员工姓名
sex
char
(1)
Notnull
性别
dept
char(4)
Notnull
所属部门
title
char(6)
Notnull
职称
date_hired
datetime
Notnull
到职日
birthday
datetime
Null
生日
salary
int
Notnull
薪水
addr
char(50)
null
住址
Mod_date
datetime
Default(getdate())
操作日期
(2)/*客户表customer*/
cust_id
char(5)
Notnull
primarykey
客户号
cust_name
char(20)
Notnull,
客户名称
addr
char(40)
Notnull,
客户住址
tel_no
char(10)
Notnull,
客户电话
zip
char(6)
null
邮政编码
(3)/*销售主表sales*/
order_no
int
Notnull
primarykey
订单编号
cust_id
char(5)
Notnull,
客户号
sale_id
char(5)
Notnull,
业务员编号
tot_amt
numeric(9,2)
Notnull,
订单金额
order_date
datetime
Notnull,
订货日期
ship_date
datetime
Notnull,
出货日期
invoice_no
char(10)
Notnull
发票号码
(4)/*销货明细表sale_item*/
order_no
int
Notnull,
primarykey
订单编号
prod_id
char(5)
Notnull,
产品编号
qty
int
Notnull
销售数量
unit_price
numeric(9,2)
Notnull
单价
order_date
datetime
null
订单日期
(5)/*产品名称表product*/
prod_id
char(5)
Notnull
primarykey
产品编号
prod_name
char(20)
Notnull
产品名称
四、实验报告
1.建立一个数据库EnterpriseSalesManagementDB
2.分别建立employee,customer,sales,sale_item,product表
实验二
实验名称:
添加表记录(2课时)
一、实验目的
掌握修改表结构的基本方法,熟练使用INSERT语句为每张表追加表记录。
二、实验环境
MSSQLSERVER2014
三、实验内容与步骤
初步理解表之间的关系,用insert命令输入有效记录(每张表至少需要5条记录)。
四、实验报告
实验三
实验名称:
数据库的更新实验(2课时)
一.实验目的
本实验的目的是要求学生熟练掌握修改数据和删除数据的操作。
二、实验环境
MSSQLSERVER2014
三、实验内容与步骤
1.将员工张三的薪水改为10000。
2.将所有员工的薪水增加100。
3.删除所有女性员工的记录。
4.删除订单金额小于100000的订单。
四、实验报告
1.将员工张三的薪水改为10000。
2.将所有员工的薪水增加100。
3.删除所有女性员工的记录。
4.删除订单金额小于100000的订单。
实验四
实验名称:
表的完整性约束(2课时)
一、实验目的
理解并掌握关系的完整性约束,熟练使用T-SQL语句为每张表添加表约束。
二、实验环境
MSSQLSERVER2014
三、实验内容与步骤
通过SQL语句修改表约束。
①分别为每张表建立主键约束。
②为相关表建立外键约束。
③ 在表employee加入CHECK约束:
输入的员工编号必须以E开头的5位数编号,性别只能为M/F。
④为销售主表sales中的发票编号字段建立UNIQUE约束。
五、实验报告
①分别为每张表建立主键约束。
答:
创建表时已建立了主键约束
②为相关表建立外键约束。
AlterTablesale_item
AddConstraintFK_prod_idforeignkey(prod_id)referencesproduct(prod_id);
③ 在表employee加入CHECK约束:
输入的员工编号必须以E开头的4位数编号,性别只能为M/F。
AlterTableemployee
AddConstraintCK_emp_nocheck(emp_nolike'E%'andlen(emp_no)=4);
AlterTableemployee
AddConstraintCK_sexcheck(sexin('F','M'));
④为销售主表sales中的发票编号字段建立UNIQUE约束。
AlterTablesales
AddConstraintUQ_invoice_nounique(invoice_no);
实验五
实验名称:
简单查询(2课时)
一、实验目的
理解SELECT语句的操作和基本使用方法,掌握简单查询。
二、实验环境
MSSQLSERVER2014
三、实验内容与步骤
1、查找所有经理的姓名、职称、薪水。
2、查找出姓“王”并且姓名的最后一个字为“功”的员工。
3、查找住在上海或北京的女员工,并显示其姓名、所属部门、职称、住址。
4、在表sales中挑出销售金额大于等于10000元订单。
5、选取订单金额最高的前10%的订单数据。
6、查找出职称为经理或职称为职员的女员工的信息。
7、删除sales表中作废的订单(其发票号码为I000000004)。
(注意:
约束)
8、计算出一共销售了几种产品。
9、显示sale_item表中每种个别产品的订购金额总和,并且依据销售金额由大到小排列来显示出每一种产品的排行榜。
10.计算每一产品每月的销售金额总和,并将结果按销售(月份,产品编号)排序。
四.实验报告
1.查找所有经理的姓名、职称、薪水。
2.查找出姓“王”并且姓名的最后一个字为“功”的员工。
3.查找住在上海或北京的女员工,并显示其姓名、所属部门、职称、住址。
4.在表sales中挑出销售金额大于等于10000元订单。
5.选取订单金额最高的前10%的订单数据。
6.查找出职称为经理或职称为职员的女员工的信息。
7.删除sales表中作废的订单(其发票号码为I000000004)。
(注意:
约束)
8.计算出一共销售了几种产品。
9.显示sale_item表中每种个别产品的订购金额总和,并且依据销售金额由大到小排列来显示出每一种产品的排行榜。
10、计算每一产品每月的销售金额总和,并将结果按销售(月份,产品编号)排序。
实验六
实验名称:
表连接查询JOIN(2课时)
一、实验目的
理解JOIN语句的操作和基本使用方法,掌握内连接、外连接、自连接的概念和使用。
二、实验环境
MSSQLSERVER2014
三、实验内容与步骤
1、查找出employee表中部门相同且住址相同的女员工的姓名、性别、职称、薪水、住址。
2、检索product表和sale_item表中相同产品的产品编号、产品名称、数量、单价。
3、检索product表和sale_item表中单价高于2400元的相同产品的产品编号、产品名称、数量、单价。
4、分别使用左向外连接、右向外连接、完整外部连接检索product表和sale_item表中单价高于2400元的相同产品的产品编号、产品名称、数量、单价。
并分析比较检索的结果。
四、实验报告
1、查找出employee表中部门相同且住址相同的女员工的姓名、性别、职称、薪水、住址。
2、检索product表和sale_item表中相同产品的产品编号、产品名称、数量、单价。
3、检索product表和sale_item表中单价高于2400元的相同产品的产品编号、产品名称、数量、单价。
4、分别使用左向外连接、右向外连接、完整外部连接检索product表和sale_item表中单价高于2400元的相同产品的产品编号、产品名称、数量、单价。
并分析比较检索的结果。
实验七
实验名称:
嵌套查询(2课时)
一、实验目的
掌握SELECT语句的嵌套使用,实现表的复杂查询,进一步理解SELECT语句的高级使用方法。
二、实验环境
MSSQLSERVER2014
三.实验内容与步骤
1、由sales表中查找出销售金额最高的订单。
2、由sales表中查找出订单金额大于“E0013业务员在1996/10/15这天所接任一张订单的金额”的所有订单,并显示承接这些订单的业务员和该条订单的金额。
3、找出公司女业务员所接的订单。
4、找出公司中姓名相同的员工,并且依据员工编号排序相识这些员工信息。
5、找出目前业绩未超过20000元的员工。
6、计算公司内各个部门的工资支出总和。
7、计算每一产品销售数量总和与平均销售单价。
四.实验报告
1.由sales表中查找出销售金额最高的订单。
2.由sales表中查找出订单金额大于“E0013业务员在1996/10/15这天所接任一张订单的金额”的所有订单,并显示承接这些订单的业务员和该条订单的金额。
3.找出公司女业务员所接的订单。
4.找出公司中姓名相同的员工,并且依据员工编号排序相识这些员工信息。
5.找出目前业绩未超过20000元的员工。
6.计算公司内各个部门的工资支出总和。
7.计算每一产品销售数量总和与平均销售单价。
实验八
实验名称:
视图的建立与使用(2课时)
一、实验目的
掌握视图的定义与工作原理。
二、实验环境
MSSQLSERVER2014
三、实验内容与步骤
1、创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。
2、对视图添加一条记录数据。
(注意:
分别查看customer表和该视图的结果。
)
3、删除视图中所有姓“王”的客户数据。
4、通过视图修改表内某一客户的姓名。
5、有两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额。
6、将上述视图中订单号为10001的记录的销售总金额改为60000。
7、给上述视图添加一条记录数据。
8、删除上述视图。
五、实验报告
1.创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。
2.对视图添加一条记录数据。
(注意:
分别查看customer表和该视图的结果。
)
3.删除视图中所有姓“王”的客户数据。
4.通过视图修改表内某一客户的姓名。
5.有两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额。
6.将上述视图中订单号为10001的记录的销售总金额改为60000。
7.给上述视图添加一条记录数据。
8.删除上述视图。
实验九
实验名称:
数据库软件系统开发(选作)
一、实验目的
掌握利用高级语言以及SQL查询语言访问数据库的方法。
二、实验环境
MSSQLSERVER2014、以及.Net或者J2EE开发平台。
三、实验内容
利用高级语言开发一个简单的销售管理系统,主要功能包括员工、客户、销售等基本信息录入界面,修改、删除、以及查询界面。
四、步骤
略
五、实验报告