ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2940|回复: 10

[求助] access中这样设计表是否合理?(有图例)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-4-16 21:30 | 显示全部楼层 |阅读模式
未命名1.JPG
我正在学习设计表。我觉得有这样两种,一种我叫它比较静态的,就是一些相关属性,如各家的门牌、姓名、建筑面积等,如上图。另一种我想设计成这样,实际就是流水账,和日常的数据记录完全一样,如各家的门牌、电表数和查表日期,连续、重复的写下去,如下图:
未命名2.JPG
可以这样设计表吗?从实际工作上说,很容易想到这样的表,不过一是不知道规范不规范,因为和第一种完全不一样,二是不知道容不容易使用,做各种查询统计,比如计算各家的电费等等。
谢谢指教!

TA的精华主题

TA的得分主题

发表于 2013-4-27 09:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
第二种好{:soso_e121:}

TA的精华主题

TA的得分主题

发表于 2013-4-27 10:00 | 显示全部楼层
数据和报表要分离!

TA的精华主题

TA的得分主题

发表于 2013-4-30 16:39 | 显示全部楼层
两个表,一个数据表,一个查询表。

TA的精华主题

TA的得分主题

发表于 2013-5-1 19:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
标准的表应当符合三范式
第一范式(1NF):要求关系模式R的所有属性都是不可分的基本数据项,指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

      例如:比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分为省份、城市、详细地址等多个部分进行存储,这样在对地址中某一部分操作的时候将非常方便。这样设计才算满足了数据库的第一范式.
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)首先要求数据库表中首先必须有主键。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。其次要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。采用投影分解法将一个1NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。
        比如要设计一个订单信息表,因为订单中可能会有多种商品,所以要将订单编号和商品编号作为数据库表的联合主键。如下面这两个所示。

订单信息表



订单编号
商品编号
数量

001
1
1

002
2
8

003
3
2


商品信息表



商品编号
商品名称
单位
商品价格

1
挖掘机

1200000¥

2
冲击钻

230¥

3
铲车

980000¥


这样设计,在很大程度上减小了数据库的冗余。如果要获取订单的商品信息,使用商品编号到商品信息表中查询即可。

        第三范式3NF是第二范式(2NF)的一个子集,即满足第三范式必须满足第二范式。第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关,即任何非主属性不得传递依赖于主属性。简而言之,就是要求一个关系中不包含已在其它关系已包含的非主关键字信息。(不满足时常采用投影分解法解决)
        比如在设计一个订单数据表的时候,可以将客户编号作为一个外键和订单表建立相应的关系。而不可以在订单表中添加关于客户其它信息(比如姓名、所属公司等)的字段。如下面这两个表所示的设计就是一个满足第三范式的数据库表。

订单信息表



订单编号
订单项目
负责人
业务员
订单数量
客户编号

001
挖掘机
刘明
李东明
1台
1

002
冲击钻
李刚
霍新峰
8个
2

003
铲车
郭新一
艾美丽
2辆
1


客户信息表



客户编号
客户名称
所属公司
联系方式

1
李聪
五一建设
13253661015

2
刘新明
个体经营
13285746958


        这样在查询订单信息的时候,就可以使用客户编号来引用客户信息表中的记录,也不必在订单信息表中多次输入客户信息的内容,减小了数据冗余。





TA的精华主题

TA的得分主题

发表于 2013-5-1 19:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

静态的表也要建,可以以房号为主健
流水帐中能拆分的都要拆出建表,比如查表人要建一个表来记录

TA的精华主题

TA的得分主题

发表于 2013-5-2 12:49 | 显示全部楼层
LZ的意思没明白,这两个表相互有关系,【房号】(但我所知道抄电表主要是以【电表号】来作为唯一的,但用【房号】只要不存在二个电表就行)
前后两个表表示的不是同一个事务,但你的理解是对的,一个是静态的,一个是动态的,
这里的难点在于,抄回来的数据,不是用掉了多少,而是累计用掉了多少,为了计算出从上次到本次记录时间段的使用量,是需要进行一些计算的,
而用什么方法,这个你需要考虑一下

TA的精华主题

TA的得分主题

发表于 2013-5-12 08:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 悠哉游哉 于 2013-5-12 08:11 编辑

恰好,我也在做类似的东西
楼主做的似乎是小区的物业电费,一般来说一户一表,比较简单。
我是做成四个表
基础表:涉及很多方面的关系,很复杂
抄表记录:主要就是该表的本月读数
抄表日期记录:假定抄表日期是同一天,就不用每个都填了
每月电费记录:假定每个月电费单价只有一个

迷茫困惑中....

TA的精华主题

TA的得分主题

发表于 2013-5-12 08:16 | 显示全部楼层
Renco 发表于 2013-5-2 12:49
LZ的意思没明白,这两个表相互有关系,【房号】(但我所知道抄电表主要是以【电表号】来作为唯一的,但用【 ...

老式电表是:
本月用电量 = 本月读数 减 上月读数
新式电表是:
本月用电量 = 上月读数 减 (本月读数+本月充值数)

TA的精华主题

TA的得分主题

发表于 2013-5-13 12:21 | 显示全部楼层
悠哉游哉 发表于 2013-5-12 08:16
老式电表是:
本月用电量 = 本月读数 减 上月读数
新式电表是:

新式电表是:
本月用电量 = 上月读数 减 (本月读数+本月充值数)

这是正数还是负数??越加看不明白
但不知道这电表是怎么计算的,充值的多少会不会影响月读数,按理解应当是不影响,而是要人作为一个计算,就象如下公式:
本月需缴费的用电量 = 本月读数-本月读数-累计充值数
这里如为负值,就不用付费

总公式是这样
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 20:31 , Processed in 0.051047 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表