数据库手工制品.docx

上传人:b****5 文档编号:29080981 上传时间:2023-07-20 格式:DOCX 页数:62 大小:1.08MB
下载 相关 举报
数据库手工制品.docx_第1页
第1页 / 共62页
数据库手工制品.docx_第2页
第2页 / 共62页
数据库手工制品.docx_第3页
第3页 / 共62页
数据库手工制品.docx_第4页
第4页 / 共62页
数据库手工制品.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

数据库手工制品.docx

《数据库手工制品.docx》由会员分享,可在线阅读,更多相关《数据库手工制品.docx(62页珍藏版)》请在冰豆网上搜索。

数据库手工制品.docx

数据库手工制品

数据库设计报告文档

课题:

手工制品销售

学号:

姓名:

指导教师:

2010-5-29

目录

1.概述3

1.1数据库介绍3

1.2数据库实验的目的3

2.需求分析4

2.1开发背景4

2.2编写目的4

2.3用户类型5

3.功能需求5

3.1数据需求分析5

3.2各个用户具有的功能6

3.3业务流程具体解释6

3.业务流程图8

3.5用户所看到的界面9

3.6数据流图11

3.7系统流程图11

4系统流程分析12

4.1部分E-R图12

4.2SQL的创建代码16

4.2.1.数据库的创建16

4.2.2.表的创建17

4.3SQL数据的管理代码25

4.3.1插入数据25

4.3.2数据的更新30

4.3.3数据的删除32

4.4SQL查询33

4.4.1全部查询33

4.4.2指定列的查询34

4.4.3条件查询35

4.4.4汇总数据的查询37

4.4.5嵌套查询38

4.4.6分组统计39

4.4.7模糊查询39

4.4.8排序41

4.5视图的代码和表示41

4.5.1创建视图42

4.5.2视图管理数据44

4.6存储过程45

4.6.1建立存储45

4.6.2存储过程增加数据46

4.6.3存储过程修改表47

4.6.4删除存储过程48

4.6.5重命名存储过程48

4.7事务、触发器48

4.7.1关于事务48

4.7.2关于触发器52

5.数据库安全55

5.1账号的创建56

5.2角色和权限57

5.3数据库安全61

6.网络环境解释67

7.总结心得67

8参考文献68

 

1.概述

1.1数据库介绍

 数据库技术产生于20世纪60年代末70年代初,其主要目的是有效地管理和存取大量的数据资源.数据库技术主要研究如何存储,使用和管理数据.

  近年来,数据库技术和计算机网络技术的发展相互渗透,相互促进,已成为当今计算机领域发展迅速,应用广泛的两大领域.数据库技术不仅应用于事务处理,并且进一步应用到情报检索,人工智能,专家系统,计算机辅助设计等领域

1.2数据库实验的目的

1.能够正确应用《数据库原理和应用》的知识和理论,结合一个管理系统的模拟库复习、巩固,提高数据库方案设计、论证和分析方法。

2.熟悉关系数据库规范化设计理论,根据实验要求设计并建立科学合理的数据库,正确建立数据库中表和表的关系。

3.进一步正确理解数据库中的设计思路,培养分析问题和解决问题的能力,提高查询资料和撰写文档的能力。

2.需求分析

2.1开发背景

现在随着时代的发展和科技的进步,人们的生活水平提高了,随着计算机的发展,各行各业都开始在网络上销售自己的产品,产生了激烈的竞争。

我们打算开辟网络的市场来卖出商品,真正做到便捷,快速,诚信的买卖交易。

人们再不用到市场上去逛,直接可以登录到公司网站,在网站上浏览一切需要的手工制品,当场交易。

这种做法真正做到了便捷省事,节约时间。

2.2编写目的

本说明书是简单讲述了网上销售手工制品的经营理念,使读者能一目了然,同时有条理的分清每个部门应该做到的工作,高效清晰的讲述了各个部门联系和合作。

把每个步骤及每个部门的工作机制阐释得很清楚,让每个读者能够很清晰部门的操作,在本文中介绍了每个用户在不同时间段所需要做的工作,可以为项目开发者提供很好的参考。

有利于读者了解到运行的机制和构思的策略。

 

2.3用户类型

本系统中包括用户:

经理,制作部门,外售部门,财政部门。

经理:

主要通过各报表的信息,了解整个公司的运行状况,做出正确的决定,可以通观全局。

手工制作者:

通过顾客的订单数目,在规定时间内,完成顾客所需要的商品,交给外售部门。

外售部门:

根据顾客的需要,和手工制作者完成的情况,把相应的商品用顾客需要的方式送出去。

财政部门:

对顾客的订单中的金额进行统计,并且完成对手工制作者的工薪分发。

3.功能需求

3.1数据需求分析

根据手工制品销售的要求,首先要把信息分类,要记录的信息如下。

顾客信息:

包括姓名、职业、电话、账户、密码、地址。

手工制品信息:

名称、编号、价格、图片等。

订单信息:

产品编号,产品数量,金钱数目,邮件方式,时间等。

工人信息:

姓名,部门,编号,电话,地址,性别,毕业学校,工资。

根据这些信息,可以建立表格来管理这些数据。

同时表和表之间有着联系,下文会有详细介绍,通过表和表之间的联系,做到各个功能的实现。

3.2各个用户具有的功能

客户和管理员都可以在网页上浏览到全部产品信息和图片。

客户登陆后,可以根据自己看到得产品进行选择,最后下订单。

管理员可以通过应用程序对订单进行处理(包括修改、删除、插入)。

制作部门可以查询到订单数目,然后才制作产品。

财政部门负责订单金额的确定,及对制作部门的制造者工薪的管理。

外售人员可以查询到订单的出入,然后根据制作情况对应相对的客户要求分发产品。

3.3业务流程具体解释

当顾客登陆到网站后,可以游览到网上的信息,同时一个顾客只有一个账号,顾客可以更改自己的用户资料和联系方式。

当顾客看到自己想要的手工制品后,就可以单击图片,观察手工制品的信息,最后决定要买的时候,再下订单。

订单中的数据是顾客填写,包括数量,邮寄方式等,同时顾客要把该给的金额邮寄到公司的账户上.为了方便,本系统还提供了顾客可以观察到自己的购买历史,方便查询。

公司的管理者要随时观察网站信息,手工制造者可以通过系统查询到顾客的订单,并查询到订单上的内容和数目,因为一个公司有很多制造者,为了防止一个订单被多个工人接走同时一个工人不可能接走完整的一个订单(万一订单上要求几个数量,而一个工人不可能同时做很多个手工制品),所以为了提高制造速度和质量,同时防止工人做到重复的东西,系统中有一个num-task.的数据。

当一个工人接了一个手工制品后,num-task就自动加1.当num-task和订单数目相等的时候,此时订单就算完成。

外售部门也可以查询到订单,同时可以看到公司中num-task的数据值和num-finish数据值,num-task是代表订单被接走,但是num-finsh代表手工制品已经完成,当外售部门看到订单上num-finish和订单要求数目一样多的时候就代表此时的订单完成。

外售部门要做的任务就是根据订单上的地址,按照顾客要求的方式送到顾客指定的地点。

外售部门可以查询到订单,但是不能更改订单的内容。

当订单内容生成的时候,就已经固定!

无法被管理员更改,管理员只能查阅。

财政部门的要检查顾客订单上的金额是否到达公司,如果没有邮寄到款的订单,财政部门的人可以删除订单,防止公司做无用功。

同时财政部门管理公司所有人的工薪问题,根据每个人的表现,还要对其予以奖励和惩罚。

每天要对公司一天的工作进行总结,然后报表。

对于公司的经理,是在不同的时间监督不同的工作,毕竟每个部门的合作需要良好的配合,这样公司的运行才不会有问题。

同时定期监督财政部门的操作,关注顾客在网站上的浏览信息,对产品进行规范处理,公司的经理可以看到网站上所有的信息。

3.业务流程图

顾客买东西的业务流程

此流程图描述的是顾客登陆到网站后的情况,先观察到网上的信息,然后进行决定是否订阅,最后下订单。

3.5用户所看到的界面

用户首先要注册一个账号,才可以登录,下面是用户注册的界面:

用户注册图

用户注册了账号以后,就可以登录到网站,进行网上物品买卖的交易。

下面是用户登录的界面。

用户登录界面视图

用户想要买东西,肯定会要下订单,当顾客看中一件物品后,直接单击物品,就出现一张订单表,下面本文在提供一下,订单的界面,当然用户登录后订单上自然有用户的id,当用户下了订单,可以根据直接的想法进行订购,提交。

一张订单可以订阅4中物品,如下图所示:

3.6数据流图

数据流图是一种图形化技术,描绘的是信息流和数据从输入移动到输出的过程中所受的变化。

可以利用它来交换信息,分析和设计系统。

订单处理的数据流图:

3.7系统流程图

一个系统的内容是复杂的,我们通过一些简单的图形符号,表达数据在系统各部件之间流动的情况,它是物理数据流图,抽象的处理具体化为特定的程序和手工操作。

下面我们介绍物品库存的系统流程图

库存清单系统流程图

4系统流程分析

4.1部分E-R图

这里介绍了系统中部分的图像,形象的分析了每个事物之间的关系,即实体和实体的关系。

顾客:

手工制品:

手工制作者:

 

手工制品买卖过程:

关于手工制作者信息:

订单E-R:

关于手工制造者对产品的制造情况:

关于整体的E-R图:

图4.1_7整体E_R图

4.2SQL的创建代码

4.2.1.数据库的创建

在查询分析器的视图

代码:

USEmaster

GO

CREATEDATABASEHandiwork

ONPRIMARY

(NAME=Handiwork_Data,FILENAME='C:

\ProgramFiles\MicrosoftSQLServer\MSSQL.2\OLAP\Data.mdf',

SIZE=10,

MAXSIZE=300,

FILEGROWTH=5)

LOGON

(NAME=Handiwork_Log,FILENAME='C:

\ProgramFiles\MicrosoftSQLServer\MSSQL.2\OLAP\Data.ldf',

SIZE=10,MAXSIZE=200,FILEGROWTH=2)

GO

4.2.2.表的创建

我是把索引和约束直接在创建表的时候就创建了,也有另外一种方法,表创建后在添加,用的是ALTERTABLEADD语句,在此就不详细介绍

表4.2_1用户信息

名称

字段名称

类别

是否为空

用户id(主键)

id

VARCHAR

NOTNULL

电子邮箱

E_mail

VARCHAR

NOTNULL

用户名字

Use_name

VARCHAR

NOTNULL

职位

profession

VARCHAR

NOTNULL

密码

code

VARCHAR

NOTNULL

地址

Adress

VARCHAR

NOTNULL

 

在查询分析器中的视图:

代码:

CREATETABLE[用户](

idvarchar(30)PRIMARYKEY,

User_namevarchar(30)NOTNULL,

professionvarchar(30)NULL,

codevarchar(30)NOTNULL,

adressvarchar(30)NULL,

phonevarchar(30)NOTNULL,

e_mailvarchar(30)NULL,

这里定义了用户主键(用的PRIMARYKEY)

表4.2_2部门

名称

字段名称

类别

是否为空

部门_id(主键)

department_id

VARCHAR

NOTNULL

经理名称

head_name

VARCHAR

NOTNULL

部门名字

department_name

VARCHAR

NOTNULL

工人号

wokersnum

VARCHAR

NOTNULL

 

 

在查询分析器中的视图

代码:

CREATETABLEdepartment(

department_idvarchar(30)PRIMARYKEY,

head_namevarchar(30)NOTNULL,

department_namevarchar(30)NOTNULL,

wokers_numvarchar(30)NOTNULL,

表4.2_3物品

名称

字段名称

类别

是否为空

物品-id(主键)

goods_id

VARCHAR

NOTNULL

介绍

introduction

VARCHAR

NOTNULL

图片

pictures

VARCHAR

NOTNULL

物品名字

goods_name

VARCHAR

NOTNULL

价格

price

VARCHAR

NOTNULL

 

在查询分析器中的视图

代码:

CREATETABLEgoods(

goods_idvarchar(30)PRIMARYKEY,

picturesvarchar(30)NULL,

introductionvarchar(30)NULL,

goods_namevarchar(30)NOTNULL,

pricevarchar(30)NOTNULL,

表4.2_4订单

名称

字段名称

类别

是否为空

订单-id(主键)

Oder_id

VARCHAR

NOTNULL

Id(外键)

id

VARCHAR

NOTNULL

地址

adress

VARCHAR

NOTNULL

总的价格

Total_money

VARCHAR

NOTNULL

订单时间

Seng_time

VARCHAR

NOTNULL

送货方式

Send_type

VARCHAR

NOTNULL

 

在查询分析器中的视图

代码:

CREATETABLEOrders(

Oder_idvarchar(30)CONSTRAINTpkorderPRIMARYKEYCLUSTERED,

idvarchar(30)REFERENCES[用户](id),

adressvarchar(30)NOTNULL,

total_moneyvarchar(30)NOTNULL,

send_timevarchar(30)NOTNULL,

send_typevarchar(30)NOTNULL,

这里定义了主键约束(order_id)同时定义了聚集索引(CLUSTERED,只能在主键中建立),还定义了外键(id)

表4.2_5订单-物品

名称

字段名称

类别

是否为空

物品-id

goods_id

VARCHAR

NOTNULL

订单-id

Order_d

VARCHAR

NOTNULL

数目

num

VARCHAR

NULL

数目接受

num_taked

VARCHAR

NULL

数目完成

num_finished

VARCHAR

NULL

 

在查询分析器中的视图

代码:

CREATETABLEOrder_include(

goods_idvarchar(30)REFERENCESgoods(goods_id),

Oder_idvarchar(30)REFERENCESOrders(Oder_id),

numvarchar(30)NULL,

num_takedvarchar(30)NULL,

num_finishedvarchar(30)NULL,

CONSTRAINTPKincludePRIMARYKEY(goods_id,Oder_id)

这里面定义的都是外键约束。

最后一句的意思表和表的约束,这里的主键都是外键,在这里做组合主键。

表4.2_6工人

名称

字段名称

类别

是否为空

工人-id(主键)

workr_id

VARCHAR

NOTNULL

部门(外键)

Department_id

VARCHAR

NOTNULL

名字

Name

VARCHAR

NOTNULL

地址

adress

VARCHAR

NOTNULL

电话

phone_number

VARCHAR

NOTNULL

性别

Sex

VARCHAR

NOTNULL

毕业学校

grauated_academy

VARCHAR

NOTNULL

工资

Salary

VARCHAR

NOTNULL

 

在查询分析器中的视图

代码:

CREATETABLEworker(

worker_idvarchar(30)PRIMARYKEYCLUSTERED,

department_idvarchar(30)REFERENCES

department(department_id),

namevarchar(30)NOTNULL,

phone_numbervarchar(30)NOTNULL,

addressvarchar(30)NOTNULL,

sexvarchar(30)NOTNULL,

grauated_academyvarchar(30)NULL,

salaryvarchar(30)NOTNULL,)

这里定义了用户主键和约束,是主键约束(PRIMARYKEYCLUSTERED),还有外键(department_id)

表4.2_7制造过程

名称

字段名称

类别

是否为空

物品-id

Goods_id

VARCHAR

NOTNULL

订单-id

Oder_id

VARCHAR

NOTNULL

工人_id

Worker_id

VARCHAR

NULL

接受时间

Take_time

VARCHAR

NULL

完时间成

Finishe_time

VARCHAR

NULL

 

在查询分析器中的视图

代码:

CREATETABLEmanufacture(

goods_idvarchar(30)NOTNULL,

worker_idvarchar(30)REFERENCESworker(worker_id),

Oder_idvarchar(30)NOTNULL,

taken_timevarchar(30)NOTNULL,

finish_timevarchar(30)NULL,

FOREIGNKEY(goods_id,Oder_id)REFERENCESOrder_includ

e(goods_id,Oder_id),

CONSTRAINTPKmnPRIMARYKEYNONCLUSTERED(goods_id,worker_id,Oder_id)

倒数第2句是定义的外键(还有一种方法定义外键,上文已提到,即创建表的时候就建立)

倒数第1句是定义约束,是非聚集约束。

4.3SQL数据的管理代码

4.3.1插入数据

1.对于物品的插入:

INSERTgoods(goods_id,introduction,goods_name,price)

values('11','love','兔子结',18)

INSERTgoods(goods_id,introduction,goods_name,price)

values('22','china','中国结',22)

INSERTgoods(goods_id,introduction,goods_name,price)

values('33','toy','手工猫',47)

INSERTgoods(goods_id,introduction,goods_name,price)

values('44','use','绣鞋',78)

INSERTgoods(goods_id,introduction,goods_name,price)

values('55','use','手链',53)

视图1

 

2.同理对于部门的数据插入有如下代码:

INSERTdepartment(department_id,head_name,department_name,wokers_num)

VALUES('1001','马克','制造部','33')

INSERTdepartment(department_id,head_name,department_name,wokers_num)

VALUES('1002','李强','财政部','22')

INSERTdepartment(department_id,head_name,department_name,wokers_num)

VALUES('1003','王宝','外售部','45')

视图2

3.对用户的插入:

INSERT[用户]

(id,user_name,profession,code,adress,phone,e_mail)

VALUES('111','李强','工人','123456','北京路一号','1366234789','123456@')

INSERT[用户]

(id,user_name,profession,code,adress,phone,e_mail)

VALUES('123','马力','教师','111111','成都','1399898234','qq163@com')

INSERT[用户]

(id,user_name,profession,code,adress,phone,e_mail)

VALUES('222','小红','学生','222222','上海','0812389012','')

INSERT[用户]

(id,user_name,profession,code,adress,phone,e_mail)

VALUES('333','王越','学生','123432','成都','1235678567','wqwe.163@.com')。

INSERT[用户]

(id,user_name,profession,code,adress,phone,e_mail)

VALUES('444','马力','白领','8976245','西安','18975233','wang.163@.com')

视图3

4.对于worker的插入代码:

INSERTworker

(worker_id,department_id,name,address,phone_number,salary,sex,grauated_academy)

VALUES('101','1001','方小','成都','1367898','1300',’男’)

INSERTworker

(worker_id,department_id,name,address,phone_number,salary,sex,grauated_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1