我正在开发一个应用程序,需要创建我的第一个大型 MySQL 数据库。我目前很难思考组织它的最佳方式。任何人都可以推荐任何阅读 Material ,这些 Material 展示了为不同目的组织 MySQL 数据库的不同方法吗?
我不想尝试深入了解我所想象的数据库主要组件的细节,因为我不确定我能否清楚地表达它以在此时提供帮助。这就是为什么我只是在寻找一些关于 MySQL 数据库组织的一般资源。
最佳答案
我学会解决这些问题的方法是停下来进行联想。
在更多强制面向对象的面向对象语言(我假设您使用的是 PHP?)中,您学会非常快速地思考面向对象,这就是您在这里所追求的。
我的工作流程是这样的:
- 找出您需要存储的数据。 (客户名称等)
- 确定您正在使用的主要对象(例如客户、订单、销售人员等),并为每个对象分配一个键(例如客户 ID)。
- 找出哪些数据连接到哪些对象。 (客户名称属于客户)
- 找出主要对象如何相互连接(销售人员将订单卖给客户)
一旦你有了这些,你就有了一个很好的目标模型。下一步是查看连接。例如:
- 每个客户只有一个名字。
- 每个产品都可以多次销售给任何人
- 每个订单只有一名销售人员和一名客户。
一旦你解决了这个问题,你想尝试一个叫做 normalization 的东西,这是将此数据集合放入表列表中的艺术,仍然最大限度地减少冗余。 (想法是,一对一(客户名称)与客户ID存储在表中,多对一,一对多和多对多存储在具有特定规则的单独表中)
这就是它的要点,如果您需要它,我会为您扫描工作流程中的示例表。
关于mysql - 组织 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4568123/