订单销售数据库设计
创建销售数据库并在数据库中创建仓库订购单
创建销售数据库并在数据库中创建仓库订购单
1.选择适合您业务需求的数据库,例如MySQL、Oracle、Microsoft SQL Server等,并安装相关软件。
2.在数据库中创建一个新的销售表,包括需要跟踪的字段(例如客户姓名、地址、电话号码、销售金额等)。
3.在销售表中创建一个新的列,用于存储订单状态(例如"未处理","已发货","已送达"等)。
4.创建一个仓库订购单,该单包括需要跟踪的字段(例如商品名称,订购数量,日期等)。
5.在销售表中创建一个新的列,用于存储仓库订购单号,并将其与订购单关联起来。
6.根据实际业务流程,设计相应的查询以及报表功能。
最后提醒一下,为了保障数据安全性以及隐私保护,请注意数据库的权限控制以及备份。
售书系统数据库设计E-R模型图流程图功能图
一.数据流图图1。
1用户部分的数据流图图1。
2顶层数据流图用户网上图书销售 管理系统注册登录信息 搜索查看购物车 订单结算用户图书信息订单信息订单信息表 用户信息表图书详细信息图书信息购物信息图书信息购物信息网上图书销售管理系统用户 User管理员Administrator图1。
3管理员部分的数据流图图1.4 用户注册登录数据流图管 理 员网上图书销售管理系统图书类别 图书信息 订单信息用户信息 管 理 员订单信息表用户信息表 图书类别信息表图书详细信息表订单(详细)信息订单信息用户信图书信息 图书类别 提示信息登录登录信息用户提示信息注册用户信息表用户注册信息用户图书搜索查看查看搜索图书显示信用户图书详细信息表图1。
5用户查看搜索图书信息数据流图图1.6购物车数据流图图1。
7订单结算数据流图图1。
8管理员登录和修改密码数据流图用户放入购物车购买信息订单信息表显示信息订单信息订单详细信用户查看购物车用户购物信息表结算订订单结算信息表修改密码信管理员修改密码 登录登录信管理员提示信息提示信息管理员信息表图1。
9 图书类别管理数据流图图1.10购物信息管理数据流图图1。
11购物信息管理数据流图图1.12进货数据流图二。
功能结构图管理员图书类别信息修改/删除图书类别图书类别信息管理员图书信息添加删除修改图书图书信息表管理员订单信息购物信息管理订单信息表管理员理货库存图书进货信息表三。
数据库设计前台E-R 模型图网上图书销售管理系统系统前台管理系统后台管理首页图书浏览 用户注册登录订单结算购物车图书类别管理 图书信息管理用息管理 订单管理管理员管理进货管理网站后台E—R模型图四.逻辑模型(1)用户信息表(用户ID,用户名,用户名称,密码,性别,地址,电子邮件,固定电话,移动电话)(2)管理员信息表(管理员ID,用户名,用户名称,密码)(3)图书分类信息表(分类ID,分类名称)(4)图书基本信息表(图书分类,图书名称,编号,出版社,图书作者,页数,销售价格,进货价格,出版日期,图书介绍,图片,数量)(5)订单详细信息表(订单号,订购用户ID,订购日期,图书编号,图书名称,图书价格,购买数量)(6)进货详细信息表(货号,书号,数量,出版社,书名,作者)五SQL语句建表,并插入一条记录(版本:ORACLE 11G)ORACLE建立表结构语句如下:——用户信息表CREATE TABLE USER_INFO(USER_ID VARCHAR2(30)NOT NULL PRIMARY KEY , -— uesridUSER_NAME VARCHAR2(50)NOT NULL ,——用户名USER_CN_NAME VARCHAR2(50) NOT NULL , ——用户名称PASSWARD VARCHAR2(50) NOT NULL,-—密码SEX VARCHAR2(2)NOT NULL,ADDRESS VARCHAR2(100) NOT NULL,E_MAIL VARCHAR2(100)NOT NULL,FIXED_PHONE VARCHAR2(30)NOT NULL ,PHONE VARCHAR2(30))--管理员信息表CREATE TABLE ADMIN_INFO(ADMIN_ID VARCHAR2(30) NOT NULL PRIMARY KEY ,-- uesrid ADMIN_NAME VARCHAR2(50) NOT NULL , ——用户名USER_CN_NAME VARCHAR2(50) NOT NULL , -—用户名称PASSWARD VARCHAR2(50) NOT NULL —-密码)——图书分类信息表CREATE TABLE CODE_BOOK_TYPE(CODE VARCHAR2(10) NOT NULL PRIMARY KEY , -—代码NAME VARCHAR2(100) NOT NULL –名称)-—图书基本信息表CREATE TABLE BOOK_INFO(BOOK_ID V ARCHAR2(30) NOT NULL PRIMARY KEY,——图书编号BOOK_CODE V ARCHAR2(10)NOT NULL,—-图书分类BOOK_NAME V ARCHAR2(30)NOT NULL ,——图书名称BOOK_PRESS V ARCHAR2(30) NOT NULL, -—图书出版社BOOK_AUTHOR V ARCHAR2(30)NOT NULL, —-图书作者BOOK_PAGES NUMBER NOT NULL ,--图书页数BOOK_SELL_PRESS NUMBER NOT NULL ,——图书销售价格BOOK_BY_PRESS NUMBER NOT NULL ,—-—图书进货价格BOOK_PUBLICATION_DATE DATE ,-—图书出版日期BOOK_INTRODUCTION V ARCHAR2(500),——图书介绍BOOK_PIC BLOB——图片)--订单详细信息表CREATE TABLE BOOK_ORDER_INFO(ORDER_ID VARCHAR2(30)NOT NULL PRIMARY KEY ,—-订单号USER_ID VARCHAR2(30)NOT NULL ,—-订购用户ORDER_DATE DATE DEFAULT SYSDATE ,-—订购日期BOOK_ID V ARCHAR2(30) NOT NULL ,-—图书编号BOOK_NAME V ARCHAR2(30)NOT NUL,–图书名称BOOK_SELL_PRESS NUMBER NOT NULL ,——图书价格BY_NUMBER NUMBER NOT NULL--购买数量)--进货详细信息表货号,书号,数量,出版社,书名,作者CREATE TABLE BOOK_ PURCHASE_INFO(PURCHASE_ID VARCHAR2(30)NOT NULL PRIMARY KEY ,-—货号BOOK_ID V ARCHAR2(30) NOT NULL ,-—书号PURCHASE_NUMBER NOT NULL,——数量BOOK_PUBLICATION_DATE DATE ,--出版社BOOK_NAME V ARCHAR2(30)NOT NUL,——书名BOOK_AUTHOR V ARCHAR2(30)NOT NULL —-作者)——向图书基本信息表(BOOK_INFO)插入一条数据记录INSERT INTO BOOK_INFOVALUES(‘000000000000001', ‘01’,‘红楼梦’,‘中国出版社’,’曹雪芹’,'1000’,’99’,'90’,to_date(‘2012-12—12’,’YYYY—MM—DD’),'四大名著之一',null);Commit;。
花店销售管理系统数据库设计
花店销售管理系统数据库设计1. 引言花店销售管理系统是一个为花店提供销售、库存管理和客户管理的系统。
在设计这样一个系统时,数据库设计是至关重要的一环,能够有效地支撑系统的正常运行。
本文将详细介绍花店销售管理系统数据库的设计。
2. 数据库设计原则在设计数据库时,需要遵循以下原则: - 数据库应当符合第三范式,避免数据冗余和不一致; - 数据库应当具有良好的结构,方便数据的增删改查操作; - 数据库应当考虑性能优化,避免出现性能瓶颈。
3. 数据库表设计3.1 产品表(Product)•product_id: 产品编号(主键)•product_name: 产品名称•price: 价格•stock: 库存数量•category: 产品类别3.2 订单表(Order)•order_id: 订单编号(主键)•customer_id: 客户编号(外键)•product_id: 产品编号(外键)•quantity: 订购数量•order_date: 下单日期3.3 客户表(Customer)•customer_id: 客户编号(主键)•customer_name: 客户姓名•phone: 联系电话•email: 电子邮件3.4 销售记录表(SalesRecord)•record_id: 记录编号(主键)•order_id: 订单编号(外键)•total_amount: 总金额•sales_date: 销售日期4. 数据库关系设计在花店销售管理系统中,存在以下数据库关系: 1. 产品表和订单表之间是一对多关系,即一个产品可以被多笔订单订购; 2. 订单表和客户表之间是多对一关系,即一个客户可以下多笔订单; 3. 订单表和销售记录表之间是一对一关系,即一笔订单对应一条销售记录。
5. 数据库索引设计为了提高查询效率,可以在数据库表的关键字段上创建索引,例如在product_id、order_id和customer_id字段上创建索引,以加快数据检索速度。
数据库系统设计—订单销售数据库管理系统
长沙学院课程设计说明书题目 ______________________ 系(部) __________________ 专业(班级) ________ 姓名 ______ 学号 __________ 指导教师 ______ 起止日期 _______________________课程设计任务书课程名称:数据库系统原理设计题目:销售订单数据库管理系统1、某销售商的订单系统需要如下信息:每个供应商包含供应商编号、名称、地址、联系电话等信息。
每种产品包含产品号、产品名称、产品类别等信息。
每个供应商可供应多种产品,每种产品可由多个供应商供应。
客户包含编号、姓名、通信地址、电话等信息。
雇员包括编号、姓名、联系电话等信息。
订单包括订单号等信息。
一个客户可下多个订单,每个订单只能由一个客户下。
一个雇员可管理多个订单,每个订单只能由一个雇员管理。
一个订单订购多种产品,每种产品可在不同的订单中订购2、系统功能基本要求:按照一定条件查询、统计订单信息,例如订单量最多的客户或者产品。
能够模拟完成一个订单交易全过程。
设计工作量:40课时指导教师签名:日期:教研室主任签名:日期:长沙学院课程设计鉴定表目录一、引言 (6)1.1编写目的 (6)1.2参考资料 (6)二、需求规约 (7)2.1业务描述 (7)2.2需求分析 (7)三、数据库环境说明 (8)四、数据库的命名规则 (8)4.1数据库对象命名规则 (8)4.2数据项编码规则 (8)五、逻辑设计 (9)5.1ER图 (9)5.2关系模型 (9)六、物理设计 (10)6.1表汇总 (10)6.2表[1]:[S UPPLIERS表](供应商表) (10)6.3表[2]:[P RODUCT表](产品表) (11)6.4表[3]:[SP表](供应商产品供应表) (11)6.5表[4]:[O RDERS表](订单表) (12)6.6表[5]:[PO表](产品订购表) (13)6.7表[6]:[E MPLOYEE表](雇员表) (13)6.8表[7]:[C USTOMER表](客户表) (14)6.9视图的设计 (14)6.10存储过程的设计 (15)6.11触发器的设计 (19)6.12函数的设计 (19)七、安全性设计 (20)7.1防止用户直接操作数据库的方法 (20)7.1.1用户标识和鉴定 (20)7.1.2存取控制 (20)7.1.3数据加密 (20)7.2用户帐号密码的加密方法 (20)7.3角色与权限 (20)八、数据库管理与维护说明 (21)九、总结 (22)一、引言1.1 编写目的本文档是销售订单数据库管理系统设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《SQL SERVER 2008数据库设计和开发规范》。
网上购物订单数据库系统
网上购物订单数据库系统班级:xxxxx姓名:xxxxx目录一、概述 21.1 开发背景 2二、需求分析 32.1 框架分析 32.2 功能需求 32.3 系统功能清单 42.4 数据流图 42.5 数据字典 52.5.1 数据流的描述 52.5.2 处理逻辑的描述 5三、概念模型设计 53.1 系统模块划分 53.2 系统功能模块结构图 63.3 会员实体图 73.4 商品实体图 73.5 系统E-R图 83.6 管理员后台处理流程图 10四、逻辑模型设计 104.1 E-R图向关系模型转化 (10)4.2 数据库表设计 (10)4.3 关系模式优化 (12)五、物理设计 (12)六、数据库实施 (14)七、不足与体会 (23)一、概述1.1 开发背景随着网络技术的日益成熟,网络购物已经成为引领潮流的购物方式,尤其是在一些出门购物并不是十分便利的地区,网上购物的优势更是体现的淋漓尽致。
与此同时,网上购物也给商家带来了巨大的利润,因为免除了一些不必要的费用,在收益的获得上也显得更为直接,例如在今年的“光棍节”期间,淘宝的成交额将近200亿,可见,网上购物已成为主流。
因而一个好的订单数据库管理系统成为了必要,在管理好用户数据的同时,也提高了订单处理的效率。
网上购物系统的主要内容是,一方面让销售商把商品发布于网络,一方面让消费者通过网络来完成商品的交易。
系统总体分成前台和后台两大模块,前台是用户模块,后台是管理员模块。
实现的功能,首先系统向用户列出网站的商品信息。
其次当顾客登录网上购物系统后,为每个用户分配一个购物车,用户选择商品后,商品会被放入购物车。
再次,用户确认购物车信息,点击提交生成订单。
最后,管理员对订单进行处理,即完成一次商品交易。
网上购物是一种具有交互功能的商业信息系统。
它向用户提供静态和动态两类信息资源。
所谓静态信息是指那些经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。
订货管理系统数据库设计
订货管理系统数据库设计1.需求分析1.1背景商业企业中,货物销售时,订购是关键的环节。
它直接关系到企业的销售业绩,而在一个企业中,销售是关系到企业生存的关键。
随着时代的发展,货物订购仅靠人力手工完成已经无法满足企业发展的需要.而对商业企业来说,只有订货量越多的时候,才可能产生更多的利润。
使用订货管理系统来协助销售部门管理订单成为提高部门效率成为必须。
1。
2客户需求(1)订货系统可以帮助销售部门得到正确的订货。
正确的订货有以下好处:1.保证销售;2.保证毛利;3。
保证顾客满意;4。
维护企业形象;(2)相对于系统订货方式,手工订货常常产生错误的订货,这些订货信息给企业带来了损失:1.缺货,损失销售,损失利润;2。
库存积压,资产资金周转慢,占据有效的仓库容量;3。
增加员工的劳动量,增加盘点难度;4.库存维持成本增加,损耗增加;(3)企业要求开发的订货管理系统能够达到一定的标准,让订货行为变得准确可靠,并且系统能提供给部门提供相应的信息服务,为销售计划提供参考:1。
准确的系统(ETP)库存与实际库存一致;2.库存均为有效可销售库存(耗损品除外);3.计算订货,送货周期和订货数量(经济批量订货法);4。
设立科学,浮动的最低库存;5.考虑现有库存和在途送货量;6。
考虑促销和价格竞争因素;7。
考虑节日因素;8。
考虑商品成本因素;9.考虑市场期货因素;(4)很多的因素决定了订货的种类,数量,时间和密度,正确的订货能够有效的帮助企业赢利。
并且好的订货系统能够监控订货的合理性。
1。
好的订货管理系统=好的销售+好的利润+好的顾客效益!2。
订货是销售部门主管义不容辞的责任!1.3功能需求系统应该主要完成三种订购方式的处理工作,这三种方式分别是电话订购,网上订购和当面订购.以下对这三种订购方式进行分析.(1)电话订购时由销售部门相关人员对电话内容进行记录,得到客户要订购的货物的详细情况,这些情况应该覆盖货物订单的内容,货物订单的内容由相关人员进行填写,并填进系统数据库,系统通知发货部门可以发货,并给发货部门一张订货合同,其内容包括发送的货物,发货的地点,收货人,时间,无人认领的处理方法等订货时的约定信息等内容,在收货人取得货物,交付货款后需要在订货合同上签字确认。
购物商城数据库设计-订单系统设计
购物商城数据库设计-订单系统设计订单系统在整个商城体系中的作⽤⾮常重要,因为⼀些业务的开展往往是围绕订单来展开的。
因此设计好⼀个订单系统是多么的重要。
我们根据⽤户的⾏为逐个设计表结构。
⾸先⽤户浏览商品,将看中的商品加⼊到购物车,这⾥应该有⼀张购物车表购物车表(order_cart)----skuIdspuId⽤户id店铺id商品名称商品数量商品价格状态(下单之后对应商品就不应该显⽰在购物车了)选中购物车中的某些商品,进⾏下单,订单表也就应运⽽⽣订单表(order_info)----订单编号(如果对编号格式没什么要求,可使⽤雪花算法https:///u011499747/article/details/78254990来⽣成)itemCount (商品项数量,不是商品个数,⽐如⼿机*2,⿏标*1,这⾥应该是2)⽤户id店铺id下单时间⽀付⽅式(可⽤数字表⽰,如1:⽀付宝,2:微信,3:银⾏卡...)⽀付时间outTradeNo ⽀付宝订单号配送⽅式期望配送⽇期商品总额运费实际付款订单状态(这⾥的状态可根据实际项⽬来定,可以定10,20,30..这样如果中间缺少⼀个状态可以添加进去)如果购物车⾥⾯有多个店铺的商品,那么应该分别为这些店铺⽣成对应的订单。
平台可以进⾏合并⽀付,但是订单还是要归店铺的。
上⾯是订单的基本信息,接下来是订单商品相关。
订单商品表(order_product)---订单编号spuIdskuId店铺id商品名称商品数量商品价格这⾥order_info与order_product是1对多的关系,⼀个订单可能有多个商品。
下单完成,等着发货,物流信息不能少,加下来是物流表物流表(order_logistics)---订单标号物流公司id物流公司编号快递单号发货时间收货时间物流跟踪表(order_logistics_flow)---订单标号物流公司标号快递单号remark(根据第三⽅接⼝返回来的结果信息)加下来设计⼀下发票表订单发票(order_invoice)---发票类型发票抬头发票内容发票代码发票号码开票⽇期校验码密码区服务名称规格型号数量单价⾦额合计税率税额销售⽅名称销售⽅纳税⼈识别号销售⽅地址电话销售⽅开户⾏及账号备注收⼊款⼈开票⼈下单完成后进⾏⽀付,这⾥会有⽀付记录表,⽅便以后对账⽀付记录表(order_pay_history)---订单编号⽀付⽅式订单总额⽀付⾦额pay_json(第三⽅⽀付平台参数信息,可使⽤json⽅式保存)remark (备注)⽤户收到货后,可以进⾏评论,下⾯是评论表订单评论(order_product_comment)---spuIdskuId评论⽤户id⽤户昵称点赞数comment(评论内容)评论分数(1~5分)评论时间product_info_json(评论的商品信息,如规格型号之类的)image_json(评论图⽚)好了,订单系统设计到此为了,当然围绕订单系统还有更多的业务可以开展,这⾥只做了⼀些基本的结构设计。
订货数据库设计讲解
课程设计题目订货数据库设计学院计算机科学与技术专业班级姓名指导教师唐祖锴2013 年 1 月9 日课程设计任务书学生姓名:专业班级:指导教师:唐祖锴工作单位:计算机学院题目:订货数据库设计初始条件:在一个订货系统的数据库中,存有顾客、货物和订货单的信息。
●顾客(顾客号、收货地址、赊购限额、余额、折扣)●订货单(顾客号、收货地址、订货日期、订货细则)●订货细则(货物号、订货数量)●货物(货物号、制造厂商、厂商的实际存量、最低存货量、货物描述)要求完成的主要任务:1.根据上述的初始条件,进行调查分析并设计适当的属性。
设计一个订货数据库,DBMS可选Ms SQL Server、Access、VFP等。
2.完成课程设计说明书,其格式遵守学校今年的新规定。
主要内容包括:需求分析,概念设计,逻辑设计,物理实现等。
3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。
这一项是选作,不作硬性要求。
时间安排:本学期第18周:1.消化资料、系统调查1天2.系统分析1天3.总体设计,实施计划2天4.撰写报告1天指导教师签名:年月日系主任(或责任教师)签名:年月日订货数据库设计1.需求分析:1.1功能需求:需求分析的任务是调查应用领域,对应用领域中各种应用的信息要求和操作要求进行详细分析,形成需求分析说明书。
有人说订货的好坏,决定了当季销售业绩的一半。
订货一方面可以保证我们发货的总量维持不变,公司所发货品总数即为销售总数,这样可以为公司控制货品销售争取主动,能够较准确地掌控生产与库存总量;另一方面可以控制一定量的滞销款返回以促进其销售,为公司疏缓库存压力。
订货过程随之产生大量的数据和订单,如何管理纷繁复杂的客户和订单关系的问题随之而来,现代化企业的订单管理,需要借助数据库软件高效率地进行,以替代传统的手工方式管理订单文件档案的效率不高的方式。
运用数据库软件进行订单管理,有许多优点:效率高,保密性好,减少了订单管理者的工作量和劳动强度。
超市订单管理系统毕业设计
超市订单管理系统毕业设计一、系统概述超市订单管理系统是一款为超市或零售商提供订单管理功能的软件系统。
该系统通过整合订单处理、库存管理、销售分析等多个环节,优化业务流程,提高超市运营效率。
本系统基于B/S架构,方便用户通过浏览器进行操作,同时也支持移动设备访问。
二、需求分析1. 用户管理:系统应具备用户注册、登录、权限管理等功能,保证数据的安全性。
2. 订单管理:用户可以在线浏览、查询、修改订单信息,包括订单状态、配送方式等。
3. 库存管理:系统能够实时更新库存信息,保证商品信息的准确性,以支持订单处理和销售分析。
4. 销售分析:系统应对销售数据进行统计和分析,为超市的经营决策提供数据支持。
5. 报表生成:系统应具备各类报表的生成功能,如销售报表、库存报表等,方便用户进行数据分析和汇报。
三、系统设计1. 系统架构:本系统采用MVC架构,将数据模型(Model)、视图(View)和控制器(Controller)分离,实现系统的可扩展性和灵活性。
2. 界面设计:界面设计简洁明了,采用统一的布局和配色方案,以提高用户体验。
3. 数据库设计:数据库设计遵循第三范式,减少数据冗余,提高数据的一致性和完整性。
四、数据库设计本系统采用关系型数据库管理系统进行数据存储和管理。
根据需求分析,数据库中应包含以下表:用户表、商品表、订单表、库存表等。
每个表应包含相应的字段,以满足业务需求。
同时,应建立适当的表关系,以确保数据的完整性和一致性。
五、系统实现根据系统设计和数据库设计,使用编程语言和相关框架实现系统的各个功能模块。
在实现过程中,应注意代码的可读性和可维护性,遵循良好的编程规范和安全措施。
同时,应合理利用缓存技术提高系统的性能和响应速度。
六、系统测试对系统进行全面的测试,包括单元测试、集成测试和功能测试等。
测试过程中应模拟各种正常和异常情况,以确保系统的稳定性和可靠性。
测试完成后应编写测试报告,总结测试结果并提出改进意见。
销售管理系统数据库设计1.doc
销售管理系统数据库设计1某制造企业销售管理系统数据库设计一、需求分析(一)业务流程:1、销售部统计商品信息,向客户发布商品信息。
2、客户根据销售部发布的商品信息,向销售部发送订单。
3、销售部将订单发送给主管部门审核。
4、主管部门对订单进行核对:(1)如果不批准订单,主管部门向客户发布不批准的信息;(2)如果批准,主管部门向客户发布批准的信息;销售部获取批准的订单,核对客户信息,登记新客户的基本资料或修改原有客户的基本资料,同时及时发布商品修改后的信息;生产部门接受订单,生产客户所需的商品,生产完成后,将发货单与商品一同发出。
5、客户确认发货单。
(二)数据流程图销售管理系统第一层数据流程图第二层数据流程图:客户信息员工信息P1 基本信息P2订单处理(三)数据字典1、订单号数据项可以描述如下:数据项: 订单号含义说明: 唯一标识每张订单别名: 订单编号类型: 字符型长度: 4取值范围: 0000至9999取值含义: 前 2 位标别所在地区,后2 位按顺序编号与其他数据项的逻辑关系:唯一识别订单2、商品信息是该系统中的一个重要数据结构,它可以描述如下:数据结构: 商品信息含义说明: 是销售管理系统的重要数据结构,定义了销售商品的具体信息组成: 产品号,产品名,单价,重量3、数据流“订单数据" 可描述如下:数据流: 订单数据说明: 客户选购商品所下的初始订单数据流来源: 客户数据流去向: 接受订单组成: 客户基本信息+商品编号+数量等平均流量: 5张/天高峰期流量: 100张/天4、数据存储“订单" 可描述如下:数据存储: 订单表说明: 记录每张订单的具体情况流入数据流: 订单处理流出数据流: ……组成: 订单号,客户编号,产品,数量,单价等数据量: 每年2000张存取方式: 随机存取5、处理过程“接收订单"可描述如下:处理过程: 接收订单说明: 核准客户所下订单输入: 订单数据,商品信息,主管审批输出: 核对订单至主管部门,是否确认信息给客户处理: 接收到客户订购产品的初始订单后,根据商品信息以及客户以往的信用情况,核准订单是否符合条件,然后将符合条件的订单送主管部门报批,如果同意,将结果反馈给客户,并将核准后订单送下一处理模块(订单处理)二、概念结构设计。
数据库销售订单管理系统课程设计
数据库销售订单管理系统课程设计设计目的:设计一个数据库销售订单管理系统,可以帮助企业提高订单管理效率和准确性。
通过该系统,用户可以方便地创建、编辑、查阅和删除销售订单,并能够自动生成订单相关的报表和统计数据。
设计概述:该系统基于数据库技术,使用关系型数据库管理系统(例如MySQL)进行数据存储和管理。
通过使用该系统,用户可以进行销售订单的创建、查阅、编辑和删除操作,同时还可以根据订单信息生成各种报表和统计数据。
系统将以用户友好的界面展示给用户,并提供各种查询和过滤功能,以帮助用户快速找到所需订单信息。
数据库设计:1. 订单表(Order):该表记录了每个销售订单的基本信息,包括订单编号、客户编号、下单日期、交付日期、订单总金额等字段。
订单编号是主键。
2. 客户表(Customer):该表记录了每个客户的基本信息,包括客户编号、客户名称、联系电话、地址等字段。
客户编号是主键。
3. 产品表(Product):该表记录了企业生产或销售的产品信息,包括产品编号、产品名称、产品单价等字段。
产品编号是主键。
4. 订单明细表(OrderDetail):该表记录了每个订单的明细信息,包括订单编号、产品编号、产品数量等字段。
订单编号和产品编号组成联合主键。
系统功能设计:1. 订单创建:用户可以通过系统界面创建新的销售订单,填写订单信息(客户编号、下单日期、交付日期等)以及订单明细(产品编号、产品数量等)。
2. 订单查阅和编辑:用户可以查阅和编辑系统中已有的销售订单,包括查询订单详细信息、修改订单信息、删除订单等操作。
3. 订单报表和统计数据生成:系统可以根据用户需求生成各种订单相关的报表和统计数据,包括按订单日期统计销售额、按客户统计销售额、按产品统计销售数量等。
4. 订单查询和过滤:系统提供了多种查询和过滤功能,用户可以根据订单编号、客户名称、下单日期等条件快速找到所需订单信息。
5. 数据备份和恢复:系统可定期自动备份数据库数据,并提供数据恢复功能,以确保数据的安全性和可靠性。
物流系统订单模块数据库设计报告
数据库实验报告物流管理系统订单模块第一章系统概述该物流管理系统是对物流公司业务的统一信息化管理,提供在线服务。
订单模块实现了业务订单的新增,查询,修改,删除等功能。
用户可以以会员身份或者游客身份登陆公司网站进行网上下单,当完成订单之后可根据系统提供的订单号进行订单状态的查询。
公司员工需要对订单审核确认,进行删改查等管理操作。
该系统是B\S结构,运用MVC模式基于J2EE平台开发的,使用Oracle数据库。
我负责的是订单模块的需求分析,系统设计,数据库设计,编码和测试。
该系统所使用的开发工具有:MyEclipse,Tomcat, Rational Rose ,PowerDesig ner,PL/SQ等。
第二章系统设计订单模块功能设计1. 网上下单本系统是BS结构的WEB系统,我们通过在线方式新增订单。
2. 订单审核因为是物流系统,在网上下单之后,顾客需要将货物送至配送点,经过工作人员审核,才能最后完成一份订单。
3. 订单查询查询功能支持模糊查询,多条件查询。
可以满足顾客及工作人员的需要。
4. 订单管理管理功能包括:查看明细,修改,删除。
业务逻辑设计类图如下所示(本部分不是此次作业重点,这里不再过叙述类图的设计):^OrdeilD电6rdcc*ln生Qnief_Slaft Ortfer_LatestArJlime ^OnferStato ^>0nlef_0uaW ^Ol4erJ/Vei^il 昵 T B ^TS ID*ser“)*doGet() *doR»10第三章数据库设计概念模型本系统模块包含的实体有:订单基本表,订单信息表,订单状态表,货 物表,交接单,配送点。
1.各实体ER 图如下图3-1到图3-6所示。
OnJerSenlel*9etConnecticn(:Oder图3- 1订单基本表实体E-R图图3-2订单信息表实体E-R图图3 -3订单状态表实体E-R图图3-4货物表实体E-R图图3-5交接单实体E-R图图3-6配送点实体E-R图2.实体之间关系E-R图货物表配送点交接单3. 使用 PowerDesigner 画的 ER 图C*nn FKCon* FK AM Q打牛伺皐我n ■号[»U 1 画 “忖nuivbar—*nmribei的輻VftRCHAR2(2O; Or M FK_CNo目的越nuiribeiDATE”1DArEUtt 阳DATEnuirib ei¥f(FCHAR3Gt]JE&S1riLiribein u nr her 5 UN 阳iiurr>.DeiYARCHWnOOl逻辑模型1•订单基本表订单基本表备注中文名称]字段名数据类型|是否为空 默认值订单编号 Order_No NUMBER系统生成PK发货地 Sen d_Site VARCHAR2(30)收货地 Rece_Site VARCHAR2(30)寄件人姓名Sen dP_NameVARCHAR2(20)廿das 号ftwdlnunbiiu !A=?CHAR2(2Dlnunben nlinbei<2!£■i帕订*磁荟仃单跻HJE 更ff胭nunber <id> number =12 乳 CharOMoC SU-* -K ANc11*14 aiT 匾鵬 nijmbei <pk> AKC^fl n umbei<fkl>愉 IFiXj mjirib#iWitzsgl/MRCHAR2(2O )•砂|fc l/JERCHAR2(4Q)昨曲和话縊却〕l/4IRCHAR2|^Q) VMRCHAP2(20) V/RCHAR2|;40) 川【h 旳ZO]l/JI RCHAJQ 阿G^d; FK OMcA hgcjh_PK_AllcOrJK AHte-■iqirb 即wrdiBQQ]vaidiai2|2fli) 佃[>dhai2g0] uaidiai2Q0)交接单表(Conn_Order )中文名称 交接单编号第四章总结经过一学期的理论学习,对数据库的理论有了一个深层次的理解。
订单销售数据库设计
五、逻辑设计5.1 ER图5.2 关系模型供应商(供应商编号,名称,地址,联系电话)产品(产品编号,产品名称,产品类别,售价,出厂价,存货量)供应(供应商编号,产品编号)订购(产品编号,订单编号,数量)客户(客户编号,姓名,通信地址,电话)订单(订单编号,日期,客户编号,雇员编号)雇员(雇员编号,姓名,联系电话,工资)注:有下划线的表示该属性为主码。
六、物理设计6.1 表汇总6.2 表[1]:[ Suppliers表](供应商表)6.3 表[2]:[ Product表](产品表)6.4 表[3]:[ SP表](供应商产品供应表)6.5 表[4]:[ Orders表](订单表)6.6 表[5]:[ PO表](产品订购表)6.7 表[6]:[ Employee表](雇员表)6.8 表[7]:[ Customer表](客户表)6.9 视图的设计1、建立一张雇员信息的视图目的:屏蔽雇员的工资信息。
功能:能够向管理员提供简明,直接的雇员信息展示。
意义:有利于数据库安全的维护,防止任意修改数据库中的雇员信息。
create view view_Employee--建立Employee视图,屏蔽工资属性asselect Enumber,Ename,Etelnumfrom Employeewith check option;2、建立一张产品信息的视图目的:屏蔽产品的出厂价信息。
功能:能够向管理员提供简明,直接的产品信息展示。
意义:有利于数据库安全的维护,防止任意修改数据库中的产品信息。
create view view_Producte--建立Product视图,屏蔽出厂价属性asselect Pnumber,Pname,Pcategory,Pprice,Pinventoryfrom view_Productewith check option;6.10 存储过程的设计1、查询订单数量功能:查询订单的数量目的:存储查询订单数量的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchOrdersNum --查询订单的存储过程As select COUNT(*) '订单总数'--查询订单数量 from Orders;2、查询客户的订单信息功能:查询客户的订单信息目的:存储查询客户的订单信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_CustomerOrders--查询某个客户订单信息@Cname char(10) as select Onumber,Odate,Enumberfrom Orders,Customerwhere Cname like @Cname and umber like umber;3、查询订单最多的客户信息功能:查询订单最多的客户信息目的:存储查询订单最多的客户信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchMaxOrders--查询订单最多的客户信息asselect Cnumber,Cname,Caddress,Ctelnumfrom Orders,Customerwhere unmer=unmergroup by Cnumber having MAX(Cnumber);4、查询客户信息功能:查询客户信息目的:存储查询客户信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchCustomer--查询某客户信息@Cname char(10)asselect *from Customerwhere Cname=@Cname;5、查询雇员信息功能:查询雇员信息目的:存储查询雇员信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchEmployee--查询某雇员信息@Ename char(10)asselect *from Employeewhere Ename=@Ename;6、查询某订单对应的产品信息功能:查询某订单对应的产品信息目的:存储查询某订单对应的产品信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchPO--查询某订单的产品信息@Onumber char(12)asselect Onumber,Product.Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory from Product,POwhere Onumber=@Onumber and PO.Pnumber=Product.Pnumber;7、查询产品信息功能:查询产品信息目的:存储查询产品信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchProduct--查询某产品信息@Pnumber char(12)asselect Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory,Snumberfrom Product,SPwhere Pnumber=@Pnumber and SP.Pnumber=@Pnumber;8、插入供应商信息功能:插入供应商信息目的:存储插入供应商信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertSuppliers--插入供应商信息@Snumber char(12),@Sname char(30),@Saddress char(30),@Stelnum intasIF EXISTS(SELECT * FROM Suppliers WHERE Snumber=@Snumber)print'该供应商记录已经存在'ELSEinsert into Suppliers(Snumber,Sname,Saddress,Stelnum)values(@Snumber,@Sname,@Saddress,@Stelnum);9、插入订单信息功能:插入订单信息目的:存储插入订单信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertOrders--插入订单表@Onumber char(12),@Odate date,,@Enumber char(12),@Cnumber char(12)asIF EXISTS(SELECT * FROM Orders WHERE Onumber=@Onumber)print'该订单记录已经存在'ELSEinsert into Orders(Onumber,Odate,Enumber,Cnumber)values(@Onumber,@Odate,@Enumber,@Cnumber);10、插入产品订购信息功能:插入产品订购信息目的:存储插入产品订购信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertPO--插入产品订购表@Pnumber char(12),@Onumber char(12),@Quantity intasIF EXISTS(SELECT * FROM PO WHERE Pnumber=@Pnumber and Onumber=@Onumber)--当该订单已经订购改产品时不予重复订购print'该产品订购订单记录已经存在'IF EXISTS(SELECT * FROM Product WHERE Pinventory<@Quantity)--当库存量不足时不予订购print'该产品库存不足,无法订购'ELSEinsert into PO(Onumber,Pnumber,Quantity)values(@Onumber,@Pnumber,@Quantity);11、插入产品信息功能:插入产品信息目的:存储产品的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertProduct --插入产品信息@Pnumber char(12),@Pname char(30),@Pcategory char(15),@Pprice int,@Pex_price real,@Pinventory realasIF EXISTS(SELECT * FROM Product WHERE Pnumber=@Pnumber)--若有相同产品,只更新库存量update Productset Pinventory=Pinventory+@PinventoryELSEinsert into Product(Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory)values(@Pnumber,@Pname,@Pcategory,@Pprice,@Pex_price,@Pinventory);12、完整的订单销售流程功能:插入订单信息和订购信息以及修改产品库存等信息目的:存储从客户下单到订单订购产品的流程的操作意义:直观展示订单销售流程,使用户能够更简明的执行完整的订单销售流程create procedure procedure_Order --完整的订单销售流程@Onumber char(12),@Odate date,,@Enumber char(12),@Cnumber char(12)@Pnumber char(12),@Onumber char(12),@Quantity intasIF EXISTS(SELECT * FROM Orders WHERE Onumber=@Onumber)--若有重复订单,则不予下单print'该订单记录已存在,不能重复下订单'ELSEinsert into Orders(Onumber,Odate,Enumber,Cnumber)values(@Onumber,@Odate,@Enumber,@Cnumber);IF EXISTS(SELECT * FROM PO WHERE Pnumber=@Pnumber and Onumber=@Onumber)--若有重复订购单,则不予订购print'该产品订购记录已存在,不能重复订购'ELSEIF EXISTS(SELECT * FROM Product WHERE Pinventory<@Quantity)--若产品库存量不足,则不予订购print'产品库存量不足,不能订购'ELSEinsert into PO(Onumber,Pnumber,Quantity)values(@Onumber,@Pnumber,@Quantity);6.11 触发器的设计1、建立触发器insert_PO:当插入了一条新的产品订购信息后,则激活该触发器,新的产品库存量等于旧库存量减去产品订购的数量。
服装进销存管理系统数据库设计
服装进销存管理系统
1.功能要求:
1)对服装进货入库管理,系统自动生成入库时间及入库票号;自动核算入库金额;删除、修改入库信息。
2)对服装进行销售管理。
自动生成销售日期及销售票号;自动核算销售金额。
3)统计查询指定日期或月份的服装库存情况和销售情况和利润。
数据库要求
①必须建立三个以上的表,设置约束。
若表之间有关系,还须有关系图
②必须建立一个以上的视图和存储过程(并能调用)
、
1.客户信息表:(Client)
2.供货商信息表:(Provider)
(
3.产品信息表:(Product)
4.订单信息表:(Dress Order)
[
5.采购进货信息表:(Stock)
6.销售信息表:(Sell Info)
>
7.顾客退货信息表:(Sell Re)
8.仓库信息表:(Storage info)
9.雇员(经办人、负责人、操作员)信息表:(Employee)。
网上购物系统详细精炼版(UML-类图-时序图-数据流图)
(4)订单管理:订单信息浏览订单结算订单维护
(5)购物车管理
购物车中商品的增删;
采购数量的改变
生成采购订单
(6)后台管理
商品分类管理
商品基本信息管理
订单处理
会员信息管理
图1系统顶级用例图
3.2
用例图及相关的用例描述如图
上货时间
是否为主键
Id
商品编号
INTEGER
否
是
Sortid
商品分类编号
INTEGER
否
否
Name
商品名称
VARCHAR
50
否
否
price
商品价格
DOUBLE
否
否
Saleprice
销售价格
DOUBLE
4
否
否
Descripts
商品描述
TEXT
500
否
否
Contents
商品介绍
TEXT
2000
是
否
Saledate
(4)用户登录系统,重新进入购物车页面,转(3)
(5)顾客确认自己的信息后,由系统数据库记录订单信息及订单的细节更新订单表和订单细节表;
(6)数据库更新成功后,返回顾客下订单成功的消息。
顺序图如图
(2)会员留言
该用例是客户可以通过留言板向服务人员询问相关的情况,并等待有关的工作人员给予答复,该用例执行的流程如下:
1)用户提交留言的请求,系统检查用户是否登录本系统,若登录,由系统返回留言界面,转(3),否则,进入提示登录页面,转(2);
网上销售管理系统---数据库设计总结报告
数据库设计总结报告1.数据库规划1.1 任务陈述:所设计的数据库后台管理系统为网上销售管理系统,该系统为一服装网的网上交易及会员间的交流提供后台支持,集成了服装信息,会员信息,管理员信息的录入, 更新,删除,统计,查询等一系列功能,另外,该系统还为前台的管理员发起的公告,会员发布的论坛帖子提供了相应的数据录入,更新,维护等后台支持.1.2 任务目标:维护(插入,更新和删除)服装类型数据维护(插入,更新和删除)服装数据维护(插入,更新和删除)会员数据维护(插入,更新和删除)管理员数据维护(插入,更新和删除)会员网上购物的订购单数据维护(插入,更新和删除)会员网上购物的详细订购单数据维护(插入,更新和删除)管理员网上发布的公告数据维护(插入,更新和删除)会员网上发布的贴子数据实现对服装的查询实现对服装类型的查询实现对会员的查询实现对管理员的查询实现对会员订购单的查询实现对订购单所对应的详细订单的查询实现对管理员所发布的公告的查询实现对会员所发布的贴子的查询跟踪服装关注情况跟踪会员订购单的确认状态跟踪会员所定服装的发送状态跟踪管理员所发布的公告关注情况跟踪会员所发布的贴子关注情况报告服装类型的情况报告服装信息的情况报告会员的情况报告管理员的情况报告会员订购单情况报告会员详细订购单情况报告会员发帖情况报告会员留言情况报告管理员发布公告情况1.3系统边界1.4主要用户视图2.需求分析2.1数据需求(1)服装信息表的数据包括服装编号(自动编号),服装名字,服装类型号,服装风格,服装品牌,服装颜色,服装尺码,服装质地,服装价格,服装添加时间,服装介绍,服装订购描述,服装网上浏览量(动态变化),服装图片的url,服装是否特价(y/n),服装打折后价钱(若非特价,该项为原始价格)。
每种服装的编号是唯一的。
(2)服装类型表的数据包括服装类型号(自动编号),服装类型的名字,服装类型的父类型号(若无父类型,该项为0),是否有子类型(y/n),服装类型的添加时间。
一个典型的数据库设计实例
一个典型的数据库设计实例在这个例子中,我们将考虑一个在线购物的商城,该商城销售各种商品,包括衣服、电子产品和家居用品。
首先,我们需要设计数据库的实体关系图(Entity-Relationship Diagram,简称ERD)以及相应的表结构。
2.商品模块:在这个模块中,我们将存储所有的商品信息,包括名称、价格、库存等。
3.订单模块:在这个模块中,我们将存储用户的订单信息,包括订单号、下单时间、收货地址等。
4.购物车模块:在这个模块中,我们将存储用户的购物车信息,包括商品ID、数量等。
5.支付模块:在这个模块中,我们将存储用户的支付信息,包括支付方式、支付金额等。
在设计这些模块时,我们需要考虑以下几个因素:1.实体之间的关系:用户可以下订单,订单可以包含多个商品,商品可以存在于购物车中。
2.数据的一致性:需要确保订单中的商品数量不超过库存数量,并且用户的支付金额要与订单金额一致。
3.数据的安全性:需要对用户的密码进行加密存储,并确保用户的支付信息不被泄露。
接下来,我们将详细说明每个模块的表结构和关系。
2.商品模块:包括商品表,其中包含以下字段:商品ID、名称、价格、库存。
商品ID是主键。
3.订单模块:包括订单表,其中包含以下字段:订单ID、用户ID、下单时间、收货地址。
订单ID是主键,用户ID是外键。
4.购物车模块:包括购物车表,其中包含以下字段:购物车ID、用户ID、商品ID、数量。
购物车ID是主键,用户ID和商品ID是外键。
5.支付模块:包括支付表,其中包含以下字段:支付ID、订单ID、支付方式、支付金额。
支付ID是主键,订单ID是外键。
在这个数据库设计示例中,我们考虑了用户、商品、订单、购物车和支付这五个模块,并设计了相应的表结构和关系。
通过这个数据库设计,可以实现用户的注册、登录、购物、下单和支付等功能。
当然,这只是一个简单的示例,实际的数据库设计可能更加复杂,需要根据实际业务需求进行调整和优化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五、逻辑设计5.1 ER 图产品编号产品产品名称供应商编号产品类型名称地址供应商供应产品售价出厂价供应商编号联系电话产品编号订购订单编号客户编号姓名下发订单客户通信地址管理电话雇员编号雇员姓名存货量数量订单编号日期雇员编号客户编号联系电话工资5.2 关系模型供应商 (供应商编号,名称,地址,联系电话)产品 (产品编号,产品名称,产品类别,售价,出厂价,存货量)供应 (供应商编号,产品编号 )订购 (产品编号,订单编号,数量 )客户 (客户编号,姓名,通信地址,电话)订单 (订单编号,日期,客户编号,雇员编号)雇员 (雇员编号,姓名,联系电话,工资)注:有下划线的表示该属性为主码。
六、物理设计6.1 表汇总表名功能说明表 Suppliers 表 Product 表 SP表 Orders表 PO表 Employee 供应商表,存储供应商的编号等信息产品表,存储产品的编号、数量等信息供应商产品供应表,存储供应商所供应的产品对应信息订单表,存储订单的编号、日期等信息产品订购表,存储产品订购的对应信息雇员表,存储雇员的编号等信息表 Customer客户表,存储客户的编号等信息6.2 表 [1]:[ Suppliers表](供应商表)表名Suppliers(供应商表)数据库用户Sa主键Snumber其他排序字段无索引字段无序号字段名称数据类型(精允许为唯一区别度默认值约束条件 / 说明度范围)空 Y/N Y/N1Snumber char(12)N Y高无主键 / 供应商号2Sname char(30)N N中无供应商名称3Saddress char(30)Y N中无供应商地址4Stelnum int Y N高无供应商电话sql 脚本-- 建立供应商表create table Suppliers --供应商表(Snumber char(12) primary key,--供应商编号,主码Sname char(30) not null,--姓名Saddress char(30), --地址Stelnum int --电话);6.3 表 [2]:[ Product表](产品表)表名Product (产品表)数据库用户sa主键Pnumber其他排序字段无索引字段无序号字段名称数据类型(精度允许唯一区别度默认值约束条件 / 说明范围)为空Y/NY/N1Pnumber char(12)N Y高无主键 / 产品编号2Pname char(30)N Y高无产品名称3Pcategory char(15)Y N低无产品类别4Pprice int Y N中无产品售价5Pex_price real Y N中无产品出厂价6Pinventory real Y N中无产品库存量sql 脚本-- 建立产品表create table Product --产品表(Pnumber char(12) primary key, --产品编号 , 主码Pname char(30) not null, --产品名称Pcategory char(15), --产品类别 --Pprice int, --售价 --Pex_price real, --出厂价 --Pinventory real --存货量 --);6.4 表 [3]:[ SP表](供应商产品供应表)表名SP(供应商产品供应表)数据库用户sa主键Snumber,Pnumber其他排序字段无索引字段无序号字段名称数据类型(精度允许唯一区别度默认值约束条件 / 说明范围)为空Y/NY/N1Snumber char(12)N Y高无主键 / 供应商号2Pnumber char(12)N Y高无主键 / 产品编号sql 脚本-- 建立供应商产品供应表create table SP--供应商供应产品表 --(Snumber char(12),--供应商编号,外码Pnumber char(12),--产品编号,外码primary key(Snumber,Pnumber),--联合主码foreign key (Pnumber) references Product(Pnumber)on delete cascadeon update cascade,foreign key (Snumber) references Suppliers(Snumber)on delete cascadeon update cascade);6.5 表 [4]:[ Orders表](订单表)表名Orders (订单表)数据库用户sa主键Onumber其他排序字段无索引字段无序号字段名称数据类型(精度允许唯一区别度默认值约束条件 / 说明范围)为空Y/NY/N1Onumber char(12)N Y高无主键 / 订单号2Odate date N N低无订单日期3Enumber char(12)Y N中无雇员号4Cnumber char(12)N N高无客户号sql 脚本-- 建立订单表create table Orders--订单表(Onumber char(12)primary key,--编号,主码Odate date,--日期Enumber char(12),--设置雇员号 , 外码Cnumber char(12),--设置客户号 , 外码foreign key (Cnumber) references Customer(Cnumber)on delete cascadeon update cascade,foreign key (Enumber) references Employee(Enumber)on delete cascadeon update cascade);6.6 表 [5]:[ PO表](产品订购表)表名PO(产品订购表)数据库用户sa主键Pnumber,Onumber其他排序字段无索引字段无序号字段名称数据类型(精度允许唯一区别度默认值约束条件 / 说明范围)为空Y/NY/N1Pnumber char(12)N Y高无2Onumber char(12)N Y高无3Quantity int N N低无sql 脚本-- 建立产品订购表create table PO--产品订购表(Pnumber char(12),--产品编号Onumber char(12),--订单编号Quantity int,--产品数量primary key(Pnumber,Onumber),--联合主码foreign key (Pnumber) references Product(Pnumber)-- on delete cascadeon update cascade,foreign key (Onumber) references Orders(Onumber)--on delete cascadeon update cascade);主键 / 产品号主键 / 订单号订购产品数量外码外码6.7 表 [6]:[ Employee表](雇员表)表名Employee(雇员表)数据库用户sa主键Enumber其他排序字段无索引字段无序号字段名称数据类型(精度允许唯一区别度默认值约束条件 / 说明范围)为空Y/NY/N1Enumber char(12)N Y高无主键 / 雇员号2Ename char(10)N N中无雇员名称3Etelnum int N Y高无雇员电话4Ewages real N N低无雇员薪资sql 脚本-- 建立雇员表create table Employee--雇员表(Enumber char(12) primary key,--编号Etelnum int,--电话Ewages real--工资);6.8 表 [7]:[ Customer表](客户表)表名Customer (客户表)数据库用户sa主键Cnumber其他排序字段无索引字段无序号字段名称数据类型(精度允许唯一区别度默认值约束条件 / 说明范围)为空Y/NY/N1Cnumber char(12)N Y高无主键 / 客户表2Cname char(10)N N中无客户名称3Caddress char(30)Y N中无客户地址4Ctelnum int Y Y高无客户电话sql 脚本-- 建立客户表create table Customer--客户表(Cnumber char(12) primary key,--编号Cname char(10),-- 姓名Caddress char(30),--地址Ctelnum int--电话);6.9视图的设计1、建立一张雇员信息的视图目的:屏蔽雇员的工资信息。
功能:能够向管理员提供简明,直接的雇员信息展示。
意义:有利于数据库安全的维护,防止任意修改数据库中的雇员信息。
create view view_Employee--建立Employee视图,屏蔽工资属性asselect Enumber,Ename,Etelnumfrom Employeewith check option;2、建立一张产品信息的视图目的:屏蔽产品的出厂价信息。
功能:能够向管理员提供简明,直接的产品信息展示。
意义:有利于数据库安全的维护,防止任意修改数据库中的产品信息。
create view view_Producte--建立Product视图,屏蔽出厂价属性asselect Pnumber,Pname,Pcategory,Pprice,Pinventoryfrom view_Productewith check option;6.10存储过程的设计1、查询订单数量功能:查询订单的数量目的:存储查询订单数量的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchOrdersNum --查询订单的存储过程As select COUNT(*) '订单总数'--查询订单数量from Orders;2、查询客户的订单信息功能:查询客户的订单信息目的:存储查询客户的订单信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_CustomerOrders--查询某个客户订单信息@Cname char(10) as select Onumber,Odate,Enumberfrom Orders,Customerwhere Cname like @Cname and umber like umber;3、查询订单最多的客户信息功能:查询订单最多的客户信息目的:存储查询订单最多的客户信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchMaxOrders--查询订单最多的客户信息asselect Cnumber,Cname,Caddress,Ctelnumfrom Orders,Customerwhere unmer=unmergroup by Cnumber having MAX(Cnumber);4、查询客户信息功能:查询客户信息目的:存储查询客户信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchCustomer--查询某客户信息@Cname char(10)asselect *from Customerwhere Cname=@Cname;5、查询雇员信息功能:查询雇员信息目的:存储查询雇员信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchEmployee--查询某雇员信息@Ename char(10)asselect *from Employeewhere Ename=@Ename;6、查询某订单对应的产品信息功能:查询某订单对应的产品信息目的:存储查询某订单对应的产品信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchPO--查询某订单的产品信息@Onumber char(12)asselect Onumber,Product.Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventoryfrom Product,POwhere Onumber=@Onumber and PO.Pnumber=Product.Pnumber;7、查询产品信息功能:查询产品信息目的:存储查询产品信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_SearchProduct--查询某产品信息@Pnumber char(12)asselect Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory,Snumberfrom Product,SPwhere Pnumber=@Pnumber and SP.Pnumber=@Pnumber;8、插入供应商信息功能:插入供应商信息目的:存储插入供应商信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedureprocedure_InsertSuppliers-- 插入供应商信息@Snumber char(12),@Sname char(30),@Saddress char(30),@Stelnumint asIF EXISTS(SELECT * FROM Suppliers WHERE Snumber=@Snumber)print' 该供应商记录已经存在'ELSEinsert into Suppliers(Snumber,Sname,Saddress,Stelnum)values(@Snumber,@Sname,@Saddress,@Stelnum);9、插入订单信息功能:插入订单信息目的:存储插入订单信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertOrders--插入订单表@Onumber char(12),@Odate date,,@Enumber char(12),@Cnumber char(12)asIF EXISTS(SELECT * FROM Orders WHERE Onumber=@Onumber)print' 该订单记录已经存在'ELSEinsert into Orders(Onumber,Odate,Enumber,Cnumber)values(@Onumber,@Odate,@Enumber,@Cnumber);10、插入产品订购信息功能:插入产品订购信息目的:存储插入产品订购信息的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertPO--插入产品订购表@Pnumber char(12),@Onumber char(12),@Quantity intasIF EXISTS(SELECT * FROM PO WHERE Pnumber=@Pnumber and Onumber=@Onumber)--当该订单已经订购改产品时不予重复订购print' 该产品订购订单记录已经存在'IF EXISTS(SELECT * FROM Product WHERE Pinventory<@Quantity)--当库存量不足时不予订购print' 该产品库存不足,无法订购'ELSEinsert into PO(Onumber,Pnumber,Quantity)values(@Onumber,@Pnumber,@Quantity);11、插入产品信息功能:插入产品信息目的:存储产品的操作意义:下次重复同样的动作时,可直接执行存储过程,简化操作步骤create procedure procedure_InsertProduct --插入产品信息@Pnumber char(12),@Pname char(30),@Pcategory char(15),@Pprice int,@Pex_price real,@Pinventory realasIF EXISTS(SELECT * FROM Product WHERE Pnumber=@Pnumber)-- 若有相同产品,只更新库存量update Productset Pinventory=Pinventory+@PinventoryELSEinsert into Product(Pnumber,Pname,Pcategory,Pprice,Pex_price,Pinventory)values(@Pnumber,@Pname,@Pcategory,@Pprice,@Pex_price,@Pinventory);12、完整的订单销售流程功能:插入订单信息和订购信息以及修改产品库存等信息目的:存储从客户下单到订单订购产品的流程的操作意义:直观展示订单销售流程,使用户能够更简明的执行完整的订单销售流程create procedure procedure_Order --完整的订单销售流程@Onumber char(12),@Odate date,,@Enumber char(12),@Cnumber char(12)@Pnumber char(12),@Onumber char(12),@Quantity intasIF EXISTS(SELECT * FROM Orders WHERE Onumber=@Onumber)-- 若有重复订单,则不予下单print' 该订单记录已存在,不能重复下订单'ELSEinsert into Orders(Onumber,Odate,Enumber,Cnumber)values(@Onumber,@Odate,@Enumber,@Cnumber);IF EXISTS(SELECT * FROM PO WHERE Pnumber=@Pnumber and Onumber=@Onumber)--若有重复订购单,则不予订购print' 该产品订购记录已存在,不能重复订购'ELSEIF EXISTS(SELECT * FROM Product WHERE Pinventory<@Quantity)--若产品库存量不足,则不予订购print' 产品库存量不足,不能订购'ELSEinsert into PO(Onumber,Pnumber,Quantity)values(@Onumber,@Pnumber,@Quantity);6.11触发器的设计1、建立触发器 insert_PO :当插入了一条新的产品订购信息后,则激活该触发器,新的产品库存量等于旧库存量减去产品订购的数量。