Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

这个E-R图产品预约安装的表结构怎样设计?

清风喜雨  发表于:2013-05-14 12:15:35  
复制

对于以上E-R图,本人困惑了好久,数据库表预约表应该怎样设计?

数据表设计思想:

    我想做一个产品预约安装的软件,客户到分布在各乡镇的产品专卖店预约产品,我负责把预约信息统计然后派单给安装人员。

我目前的困惑:

   问题1: 订单编号需不需要?

    1、我没有特定的客户群,只有客户到店里面预约,我才给客户生成客户编号,客户编号以YYYYMMDD+3位序号命名,以后这也是用户的唯一标识。

    问题2: 预约表怎样设计?

        由于产品预约和产品安装是分两个过程进行。产品预约马上可以生成预约信息,而产品安装是后续更新的东西,有的产品安装成功,有的不能安装,

因此,我应该建几个表?预约表+安装表还是单一的预约表?如果是预约表+安装表,它们怎样关联?我觉得客户编号完全可以把这些东西联合起来。

     问题3: 窗体怎样设计?

         我想通过窗体输入数据,窗体更新数据,如果分预约表+安装表,如果通过客户编号关联,怎样设计窗体录入到两个表中?

 

Top
煮江品茶 发表于:2013-05-14 17:52:29
乡镇表:乡镇ID(主键),乡镇
村庄表:村庄ID(主键),村庄
客户表:客户ID(主键),姓名,电话,地址,身份证号,村庄ID(外键)
产品表:产品ID,名称,规格,型号,单位
订单表:订单ID(主键),客户ID(外键),产品ID(外键),网点编号,预约日期,预约号码,安装环境,备注
部门表:部门ID(主键),部门
人员表:人员ID(主键),姓名,电话,部门ID(外键)
安装表:安装ID(主键),订单ID(外键),人员ID(外键),安装日期,安装情况,机柜编号

冯宇 发表于:2013-05-14 21:30:44

我原本是想这样设计的:

乡镇表:乡镇ID(主键),乡镇
村庄表:村庄ID(主键),村庄,乡镇ID(外键)
客户表:客户ID(主键),姓名,电话,乡镇ID,村庄ID(乡镇和村庄通过窗体组合框录入,选择乡镇后,这个乡镇的所有村庄列出,所以这样设表),详细地址(身份证上的具体地址),身份证号
产品表:产品ID,名称,规格,型号,单位
订单表:订单ID(主键),客户ID(外键),产品ID(外键),网点编号,预约日期,预约号码,安装环境(不好意思,安装环境只有安装人员到现场后才能确定),备注
部门表:部门ID(主键),部门
人员表:人员ID(主键),姓名,电话,部门ID(外键)
安装表:安装ID(主键),订单ID(外键),人员ID(外键),安装日期,安装情况(已装,未装),机柜编号

我现在比较困惑的是:

1、客户ID和订单ID是同一天生成的,两者是否同时需要。客户ID编码原则是K+YYYYMMDD+序号3位,那么订单ID就是D+K+YYYYMMDD+序号3位。

2、如果表设计成这样:

    订单表:客户ID(主键),产品ID(外键),网点编号,预约日期,预约号码,人员ID(外键)安装日期,安装情况(已装,未装),机柜编号,备注,我设计窗体的时候容易,可以只生成一个窗体,但是我需要填两部分。第一次填红色部分,等安装完成后再填蓝色部分。但我总觉得这样设计不合理。



hongyin 发表于:2013-05-15 08:07:02

 订单表只包括预约日期,不包括安装情况。

安装情况在安装表中维护,是否这样?



煮江品茶 发表于:2013-05-15 10:32:00

一、如果对一个客户只有一个订单也只安装一次,那么客户表、订单表、安装表可以合并为一个表。但是即使如此还是以分别设计数据表为宜,为什么呢?其原因在于分别设计数据表可以使系统具有扩展性,比如说公司的业务扩展了,可能对用户销售和安装多种产品,这个时候分开的客户表、订单表和安装表就仍然适用与新的情况。再比如说你需要收集潜在的客户信息,这些客户可能并没有预定,或者预定只是一个意向性的,那么只需要客户表来收集信息。如此等等情况说明,我们在设计数据表结构的时候,需要更为全面的看问题,既要看到局部和当前的情况,还要看到全面和长远的情况。

二、数据表的设计与输入输出的设计是具有关联但又相互独立的两个方面。分开设计数据表,并不表示不能在一个界面上输入数据或在一个报表中呈现数据。窗体做为输入和呈现数据的界面,通常是要按照业务的流程来设计的,也就是说在某个业务流程的环节上,要用一个或者一组窗体来完成数据的增删改查的工作。具体采用什么样的窗体方案,这与喜好、习惯等有关系。比如说订单的录入我们可以采用向导方式,分几个步骤设计窗体,使得输入过程按照一种业务的逻辑一步一步进行到完成。再比如我们也可以将订单的所有信息录入在一个窗体上分几个Tab页完成。窗体设计的所谓合理不合理,多半只是与习惯有关系。



冯宇 发表于:2013-05-15 11:11:31
你说的这两方面内容就也是我考虑的内容。所以说,你说的第一方面的内容就是我要把一张表分成像你设计的三张表。你说的第二方面思路也清楚,主要怎样设计我需要提高。

总记录:5篇  页次:1/1 9 1 :