数据库实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
u数据库原理实验指导
实验前准备(2课时):
请设计一个企业销售管理据库,其中需要保存的信息如下:
员工信息,包括:员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期;
客户信息,包括:客户号,客户名称,客户住址,客户电话、邮政编码;
产品信息,包括:产品编号,产品名称;
员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。
此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期;要求:
(1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型;
(2)将ER图转换为关系模型;
实验一
实验名称:建立数据库和基本表结构(2课时)
一、实验目的
理解数据库模式的概念,通过使用SQL SERVER企业管理器或者My Sql建立数据库和基本表。模式为人事表、客户表、销售表、销售明细表、产品表。熟悉SQL SERVER企业管理器的使用,并将得到的表生成脚本,然后保存。
另外,帮助学生理解上述基本表之间的关系,从而正确、合理地建立表结构,并输入相应记录信息。
二、实验环境
MS SQL SERVER或者My Sql。
三、实验示例
1、使用SQL建立数据库。
例如:create database studentdb
2、使用SQL脚本建立基本表结构。
例如:
create table employee1(
emp_no char(5) not null,
emp_name char(10) not null,
emp_sex char(1) not null,
emp_phone char (13) not null,
emp_add varchar(60) not null,
emp_salary char(5) not null,
)
四、实验内容与步骤
建立一个数据库和五张表的表结构。(1)/*员工人事表employee */
(2)/*客户表customer */
(3)/*销售主表sales */
(4)/*销货明细表sale_item */
(5)/*产品名称表product */
create database experiment1;
create table employee(emp_no char(5) not null primary key, emp_name char(10) not null ,
sex char(1) not null,
dept char(4) not null,
title char(6) not null,
date_hired datetime not null,
birthday datetime null,
salary int not null,
addr char(50) null,
Mod_date datetime not null default now()
);
create table customer(cust_id char(5) not null primary key, cust_name char(20) not null ,
addr char(40) not null,
tel_no char(10) not null,
zip char(6) null
);
create table sales(order_no int not null primary key,
cust_id char(5) not null,
sale_id char(5) not null ,
tot_amt numeric(9,2) not null,
order_date datetime not null,
ship_date datetime not null,
invoice_no char(10) not null
);
create table sale_item(order_no int not null,
prod_id char(5) not null,
qty int not null,
unit_price numeric(9,2) not null,
order_date datetime not null,
constraint c1 primary key(order_no,prod_id)
);
create table product(prod_id char(5) not null primary key, prod_name char(20) not null
);
实验二
实验名称:添加表记录(2课时)
一、实验目的
掌握修改表结构的基本方法,熟练使用INSERT语句为每张表追加表记录。
二、实验环境
MS SQL SERVER 2000或者My SQL
三、实验示例
例如:
insert into employee
(emp_no,emp_name,sex,dept,title,date_hired,salary)
values('E0025','彭江','M','业务','职员',1900/01/21,43200)
四、实验内容与步骤
初步理解表之间的关系,用insert命令输入有效记录(每张表至少需要5条记录)。五、实验报告
insert into experiment1.employee
values('1','张三','男','财务部','无','2000-1-1 00:00:00','1993-1-1 00:00:00',300,'haha','2000-1-1 00:00:00'),
('2','张三2','男','财务部','无','2000-1-1 00:00:00','1993-1-1 00:00:00',300,'haha','2000-1-1 00:00:00'),
('3','张三3','男','财务部','无','2000-1-1 00:00:00','1993-1-1 00:00:00',300,'haha','2000-1-1 00:00:00'),
('4','张三4','男','财务部','无','2000-1-1 00:00:00','1993-1-1 00:00:00',300,'haha','2000-1-1 00:00:00'),
('5','张三5','男','财务部','无','2000-1-1 00:00:00','1993-1-1 00:00:00',300,'haha','2000-1-1 00:00:00'),
('6','张三6','女','财务部','无','2000-1-1 00:00:00','1993-1-1 00:00:00',300,'haha','2000-1-1 00:00:00');
insert into experiment1.customer(cust_id,cust_name,addr,tel_no,zip)
values('1','江科大','镇江','110','212000'),
('2','江科大2','镇江','110','212000'),
('3','江科大3','镇江','110','212000'),
('4','江科大4','镇江','110','212000'),
('5','江科大5','镇江','110','212000'),
('6','江科大6','镇江','110','212000');
insert into experiment1.sales
values(1,'101','1',1000 ,'2004-1-1 00:00:00','2004-1-3 00:00:00','2120001'),
(2,'102','1',100, '2004-1-1 00:00:00','2004-1-3 00:00:00','2120002'),
(3,'103','1',2000, '2004-1-1 00:00:00','2004-1-3 00:00:00','2120003'),
(4,'104','4',300,'2004-1-1 00:00:00','2004-1-3 00:00:00','2120004'),
(5,'105','5',3000,'2004-1-1 00:00:00','2004-1-3 00:00:00','2120005');
insert into experiment1.sale_item
values(1,'1001',10,100,'2004-1-1 00:00:00'),
(2,'1002',100,1,'2004-1-1 00:00:00'),