大作业:
某工厂有三个销售处室、5个仓库、3类产品,每类产品下包含5种产品,每个产品均有质量等级(优、良、中、差)及最低销售金额,该工厂还有20名销售人员归不同的处室所管,其中销售一处5名销售人员,销售二处10名销售人员,销售3处2名销售人员,每个仓库可以存放多种产品,每个销售人员可以销售多种产品。销售产品的时候需指明从哪个仓库提取货物。要求创建符合上述要求的数据库表,模拟实际需求建立表数据,至少插入销售记录100条(发生在不同月的销售),做存储过程分别实现每月各处室销售额统计、每月每种产品销售量统计每类产品销售量总计、每月销售人员评定(销售人员每种产品销售最**、最低价、销售数量、总销售金额统计)。
创建触发器,当销售价低于产品最低价销售记录插入失败。整个数据库分为管理员用户、与普通操作员用户,要求数据库最大连接不超过30个,每个连接空闲时间不得超过30分钟,空闲超时数据库将其断开,数据库每天12:00自动备份。
所有表均建立在同一表空间,模拟表空间受损(如删除表空间),实现数据恢复。
目录。一应用背景与要求说明3
二需求分析4
三概念结构设计6
四逻辑结构设计7
五物理实施的sql语句8
六:所有基本表中添加数据的sql语句9
七:进行添加,查询,修改和删除等操作10
八:设计总结11
一应用背景与要求说明1.1:设计要求。
工厂(包括厂名和厂长名)需建立数据库,用来管理以下信息。
1。一个工厂有多少车间,每个车间有车间号,车间主任名,地址,**2。一个车间内有多少人,每个车间有多少职工号。
姓名。年龄。性别和工种3。
一个车间生产多少种产品,品种有产品号,**。
4。一个车间生产多少零件,一个零件也可能由多哥车间制造,零件有零件号。重量,和**。
5。一个产品由多少零件组成,一种零件也可装配在多种产品内。
6。产品与零件均存入仓库中,厂内有多少仓库,仓库有仓库号,仓库保管员姓名,**。
二:需求分析。
1.需求分析是只收集和分析用户对系统的信息需求和处理要求,得到设计所需的需求信息。这些信息是是选择了对数据库设计直接有用的信息,一般包括实体类、联系类、数据的使用要求及冲突表等方面的内容。实体类:
车间:一个工厂有很多个车间,每个车间有车间号、车间主任名、地址、**。工人:
一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。产品:一个车间生产多钟产品,产品有产品号,**。
零件:一个车间有多个零件,一个零件也可以由多个车间制造。零件有零件号、重量和**。
仓库:产品与零件存入仓库中,厂内有多个仓库,仓库有仓库号、仓库保管员、姓名、**。
联系类:生产:一个车间有多个零件,一个零件也可以由多个车间制造。
组成:一个产品由多个零件组成,一种零件也可装配多中产品内。保管:
产品与零件存入仓库中,厂内有多个仓库。
2.通过读题能分析出的几个表。
1车间表(车间编号,车间名称,车间主任编号,备注)
2员工表(编号,姓名,工种,职位编号,年龄,性别,**,地址)3产品表(编号,产品名称,**,车间编号,备注)4零件表(零件号,重量,**)
5车间-零件表(车间编号,零件号)车间编号和零件号做联合主键6产品-零件表(产品编号,零件号)产品编号和零件号做联合主键7仓库表(编号,管理员姓名,**)8零件-仓库表(仓库编号(主键),零件编号)9产品-仓库表(仓库编号(主键),产品编号)10工厂(厂名,厂长名)
3.处理方式为:联机处理。
4.数据说明处理:
ck(仓库)gc(工厂),cj(车间)yg(员工),cp(产品),lj(零件),ljcj(零件与车间的联系)cplj(零件与产品的联系),ljck(零件与仓库的联系)kpck(产品与仓库的联系);
三:概念结构设计(e-r模型)
概念结构设计采用的是实体属性分析法。实体属性分析法是从总体的概念入手,从分析一个单位的事务活动开始,首先识别需求分析中所提供的实体及实体间的联系,建立一个初步的数据模型框架,然后在逐步的求精的方法加上必需的描述属性,形成一个完整的局部模型,称为用户视图,最后在加上这些视图集成一个统一的数据模式,称为用户视图的集成,这种统一的数据模式(即全局信息结构)通常用e-r图表示。
3.1 e-r模型设计3.1.1实体列表。
实体车间员工。
描述。车间编号,车间名称,车间主任编号,备注。
编号,姓名,工种,职位编号,年龄,性别,**,地址。
仓库。产品。
编号,管理员姓名,**。
编号,产品名称,**,车间编号,备注。
零件零件号,重量,**。
3.2系统的e-r模型。
员工。所属。
工厂。所属。
车间。生产。
零件。产品仓库。
所属。生产。
组成。保管。
全局e-r图。
四:逻辑结构设计。
逻辑结构设计的任务是将概念结构设计的e-r图,转化为与选用的dbms所支持的数据模型相符的逻辑结构,形成逻辑模型。工厂(厂名,厂长名)
车间(车间号,车间主任,地址,**)
工人(职工号,姓名,年龄,性别,工种)
产品(产品号,**)
零件(零件号,重量,**)
仓库(仓库号,仓库保管员,姓名,**)1:n
表:工厂(厂名,厂长名)
表:车间(厂名,车间号,车间主任,地址,**)1:n
表:车间(车间号,车间主任,地址,**)
表:工人(车间号,职工号,姓名,年龄,性别,工种)m:n
表:车间(车间号,车间主任,地址,**)表:产品(产品号,**)
表:生产(车间号,产品号,**)m:n
表:车间(车间号,车间主任,地址,**)表:零件(零件号,重量,**)
表;生产(车间号,零件号,重量,**)1:n
表:产品(产品号,**)
表:零件(产品号,零件号,重量,**)1:n
工厂(厂名,厂长名)
仓库(厂名,仓库号,仓库保管员,姓名,**)
五:物理实施的sql语句。
打开sql查询分析器,将如下数据输入。即建表成功。
create table factory(fname char (12),fmanager char(10),constraint fname_pk primary key(fname));
create table cj(cjbh char(2),mc char(3),cjzrbh char(3),bz char(4)
constraint cjbh_pk primary key(cjbh));
create table yg(ygbh char(3),xm char(8),gz char(1),zwbh char(3),nl char(2),xb char(4),dh char(6),dz char(6)
constraint ygbh_pk primary key(ygbh));
create table cp(cpbh char(3),cpmc char(3),jg char(2),cjbh char(2),bz char(4)
constraint cpbh_pk primary key(cpbh));
create table lj(ljbh char(3),zl char(3),jg char(1)
constraint ljbh_pk primary key(ljbh));
create table cjlj(cjbh char(2),ljbh char(3));
create table cplj(cpbh char(3),ljbh char(3));
create table ck(ckbh char(3),glxxm char(8),dh char(6)
constraint ckbh_pk primary key(ckbh));
create table ljck(ckbh char(3),ljbh char(3));
create table cpck(ckbh char(3),cpbh char(3));
六:所有基本表中添加数据的sql语句。
打开sql查询分析器,将如下数据输入。各新建表中的数据添加成功。
insert into factoryvalues('sen','小森')
insert into cj
values ('01','cj1','101','无')
insert into yg
values ('c01','小一','a','d01','20','南','123456','a区')
insert into cp
values ('b01','cp1','10','01','无')
insert into lj
values ('e01','10g','5')
insert into cjljvalues ('01','e01')
insert into cpljvalues ('b01','e01')
insert into ck
values ('f01','小管','123450')
insert into ljckvalues ('f01','e01')
insert into cpck
values ('f01','b01')
因接下来要实践添加,删除,修改等操作,故现在只列出工厂数据之一小部分。
七:进行添加,查询,修改和删除等操作。
因为在前几步建立了表与添加了基本数据所以接下来就可以在查询分析器中实行各种操作了1:要在车间表中添加新的数据,基本格式为。
insert into 《基本表名》 [列名1〉,《列名2),…列名n>)]values (《列值1>,《列值2>,…列值3>)
2:若要修改职位表的数据,则要使用update语句,基本格式为update《基本表名》
set《列名》=《表达式》[,列名》=《表达式》].where 《条件》]3:查询操作如下。
因为该课程设计要求是能实现查询各车间,生产的产品和零件信息,查询各仓库中产品和零件信息,所以重点在此。
先说说明查询的基本格式:
selecet [all | distinct]《列名或表达式》[别名1][,列名或表达式》[别名2]]…
from《表名或视图名》[表别名1][,表明或视图名》[表别名2]]…where《条件表达式》]
group by 《列名》][h**ing 《条件表达式》][order by〈列名2〉][asc|dese]
例:select*from cp ,lj
where cpbh in(select cpbh from ljcj),and ljno in(select ljno from ljcj);
select*fromcp,lj
where cpbh in(select cpbh fromcplj),and ljbh in(select ljbh from cplj);
4:删除操作。
drop view〈视图名〉
注:此次设计查询为主要操作,故只执行查询语句,具体功能是实现也在于此。
八:设计总结。
通过这次课程设计,我深深的认识到,如果仅仅只是运用理论知识,是远远不够的。我。
们必须理论联系实际,才能很好的将《数据库原理》这门课程学好,并用于实际案例中。同时,经过这次课程设计,我发觉自己的动手操作能力变强了,也为自己对以后的科研、工作充满信息和希望打下了良好的基础。
数据库库课程设计
目录。引言11 开发环境1 1.1 硬件环境1 1.2 软件环境1 1.2.1 sql server 2005 delphi7简单介绍2 2 需求分析3 2.1 信息需求3 2.2 功能需求3 2.3 安全性与完整性要求3 3 概念结构设计3 4 逻辑结构设计4 5 数据库实现6 5.1 创建数据库...
数据库课程设计总结数据库课程设计个人总结
数据库课程设计个人总结 4班6组赵 王婆卖瓜时间过了,言归正传吧。凡是都要有个总结,以下便是我在这个课程设计中的一点心得。首先我分析一下我们组任务顺利完成的成功之处并总结一些经验,供以后反省参考用。凡事预则备,不预则废。这是我的座右铭,也是我深有感悟的几句古语之一。在这个项目的开始阶段,老师便让我们...
数据库课程设计
简单pos系统。班级 计科二班 姓名 韩田田 学号 201010510237 目录。前言。销售管理作为零售企业现代化管理不可缺少的组成部分,日益受到人们的重视。传统销售模式以及销售管理体系和机制,已经越来越难以适应零售企业现代化管理的需求。pos point of sales,销售终端的英文缩写 是...