【发布时间】:2012-03-21 02:07:35
【问题描述】:
快速背景故事...我接受过一些数据库设计和管理方面的培训。在我的各种职位和职业生涯中,我曾小规模地使用过它们。我最近获得了 CMIS 的学士学位,数据库是其中的一部分。我了解关系数据库背后的理论,它们是如何工作的,以及最终如何构建它们。我只是没有足够的练习来精通。
我的老板今天决定,他希望我将我们从合作伙伴公司获得的所有报告放入数据库中。对我来说,这似乎是一项艰巨的任务,因为有不少于 30 份报告,其中许多都有大量数据。我们以 excel 格式获取它们。
我了解规范化,但仅在理论上且仅在小范围内(例如似乎永远存在的典型学生、教师、班级类型的场景)。我在这里看着大尺度,有点头晕目眩。
这里是一份较小报告的链接。它已经在 1NF 中(而且它是这样来的,所以那里没有大问题)。我想看一个例子,说明这看起来像归一化到 3NF 的样子,这可能有助于激发其他报告的灵感。
现在,我感到困惑的是,这些报告实际上都不依赖于其他报告。但是,其中散布着大量重复的数据。这意味着它们都有技术编号和技术名称,以及工单编号。尽管技术编号和名称是有限且重复的,但工单编号可能相同,也可能不同,如果这有意义的话。
我知道有一个只包含技术信息的表格是有意义的。然后仅使用数字关联报告并从任何报告中取出技术名称。我还有很多问题,但暂时先讲到这里。
顺便说一句,在有人说“将数据像那样放在网络上是愚蠢的”之前,这已被修改,因此它不是正确的数据,并且基本上没有用。
https://docs.google.com/spreadsheet/ccc?key=0ApvRcXXd6PiWdHFLRWVmNS1VUklpYkFvWVdKQmpvdWc
【问题讨论】:
-
长问题(太多不重要的信息),没有代码,没有结构示例。 :-/ 请让它更具可读性。
-
识别模型中的实体。与您要存储的信息相关的名词。
-
鉴于您有多个区域,是否可以一个工单号识别两个完全不同的工单?例如,几个不同的区域是否可以有不同的工单编号为 3?
标签: mysql normalization