第2章 数据建模与表设计


第 2 章 · 数据建模与表设计

本章要回答的三个问题:怎么把华彩商贸嘴里"我们就是想管管库存和客户"这句话,变成几张规范的表?字段类型、主键外键这些设置,做对了和做错了差别有多大?为什么老师说"表设计错了,后面全是补丁",错到底错在哪?

为什么会有这一章

在 Access 里建一张表只需要十分钟,建一套不会坑你的表却需要方法论。华彩商贸最初的需求清单听起来很朴素:记库存、记客户、记订单。但如果直接照着字面建三张超级大表,三个月后他们就会撞上每个自学者都撞过的墙:客户改了名字,几百条历史订单里的旧名字要不要跟着改?同一批货被录了两次库存怎么办?"上月销售额"每次统计出来的数都不一样?

问题的根源不在软件,在于没人先把业务翻译成结构。本章教的就是这门翻译手艺:把口头需求提炼出实体(客商、货品、单据),给实体定属性(名称、规格、日期),再用键和关系把实体连成整体。这套功夫迁移性极强——将来你学 SQL Server、学任何数据库工具,建模的思维方式原样通用,变的只是操作界面。

反过来讲,Access 的低门槛恰恰放大了建模失误的危害:正因为谁都能十分钟拖出一张表,大量的文件库从出生起就结构畸形,等发现时数据已经积了几万行,纠正成本陡增。这一章读得慢一点、演练做得细一点,是全书回报率最高的时间投资。

读完能解决什么

  • 拿到一段含混的业务描述,能独立拆分出候选实体、属性与业务规则,画出 E-R 草图;
  • 在表设计器里正确选择字段类型与关键属性,知道短文本与长文本、数字各精度之间如何取舍;
  • 用规范化思想消灭重复列与更新异常,同时明白什么时候可以合理地保留一点冗余;
  • 建立一对多、多对多关系并启用参照完整性,让错误数据在录入关口就被拦住;
  • 给全库定下命名规范并写出一份数据字典,半年后接手的人(很可能就是你自己)能看懂每一张表。

各节怎么分工

节号 回答哪个问题 关键产出
2.1 关系模型基础 表、字段、键这些词汇到底指什么 一套可复用的概念语言与判断标准
2.2 表结构与字段设计 一张好表长什么样,坏表坏在哪 字段类型选型经验加规范化步骤
2.3 关系与完整性 多张表怎么咬合成一个整体 三种关系的建立方法与守门规则
2.4 规范与字典 团队协作时的约定俗成 命名规范模板与数据字典样例
2.5 抽象演练 完整走一遍从头到尾的过程 华彩台账到五张表的建模全过程

五个小节是一条严格递进的流水线:概念先统一,再动手设计表本身,然后连线成网,最后补上团队协作的工程化环节。2.5 的综合演练把前四节串成一次完整实操。学法上有一个经过验证的顺序建议:每节末尾的演练务必亲手做完再前进,尤其是 2.2 的字段选型——看懂和手感之间隔着至少一次把字段类型设错的返工。

先决条件

  • 已读完第 1 章,理解 Access 的三层结构与适用场景;
  • 软件可用:能新建空白数据库文件并进入表设计视图;
  • 不需要数学基础——关系模型的理论虽出自集合论,本章只用直观类比讲清楚。

往下走到哪

表和网络搭好后,数据依然是静静躺着的。第 3 章让它们开口说话:用查询提问、筛选、汇总、跨表追账。你会看到第 2 章每一处严谨的设计如何在查询里兑现为省心——主键让联接又快又准,完整性让统计口径从不打架。

合上这一章之前,再交代一个被反复验证的现象:建模能力上真正的分水岭不在懂不懂范式,而在于肯不肯在动工前花一小时跟业务方核对规则。敢当场动软件的人多,肯先画草图的人少,三个月后系统是否还能清爽地改,几乎全由这一小时决定。希望你成为后一种人。

检验本章学习的标准也顺手给出:把你自己的业务按五步法走完一遍后,拿给一位完全不了解业务的同行看图提问——他问出的每一个你答不上来的问题,都是草稿上还没想清楚的角落。这套"被外行问倒测试"比任何自我感觉都诚实。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U