mysql - 组织 MySQL 数据库

标签 mysql database organization

我正在开发一个应用程序,需要创建我的第一个大型 MySQL 数据库。我目前很难思考组织它的最佳方式。任何人都可以推荐任何阅读 Material ,这些 Material 展示了为不同目的组织 MySQL 数据库的不同方法吗?

我不想尝试深入了解我所想象的数据库主要组件的细节,因为我不确定我能否清楚地表达它以在此时提供帮助。这就是为什么我只是在寻找一些关于 MySQL 数据库组织的一般资源。

最佳答案

我学会解决这些问题的方法是停下来进行联想。

在更多强制面向对象的面向对象语言(我假设您使用的是 PHP?)中,您学会非常快速地思考面向对象,这就是您在这里所追求的。

我的工作流程是这样的:

  1. 找出您需要存储的数据。 (客户名称等)
  2. 确定您正在使用的主要对象(例如客户、订单、销售人员等),并为每个对象分配一个键(例如客户 ID)。
  3. 找出哪些数据连接到哪些对象。 (客户名称属于客户)
  4. 找出主要对象如何相互连接(销售人员将订单卖给客户)

一旦你有了这些,你就有了一个很好的目标模型。下一步是查看连接。例如:

  • 每个客户只有一个名字。
  • 每个产品都可以多次销售给任何人
  • 每个订单只有一名销售人员和一名客户。

一旦你解决了这个问题,你想尝试一个叫做 normalization 的东西,这是将此数据集合放入表列表中的艺术,仍然最大限度地减少冗余。 (想法是,一对一(客户名称)与客户ID存储在表中,多对一,一对多和多对多存储在具有特定规则的单独表中)

这就是它的要点,如果您需要它,我会为您扫描工作流程中的示例表。

关于mysql - 组织 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4568123/

相关文章:

css - 如何防止<divs>向下移动

c#如何组织dll工具?

mysql - 无法使用 @rodrigogs/mysql-events Zongji 事件监听器更改 Node 客户端的 serverId

mysql - mysql 查询下的 Bash 变量

mysql - 优化mysql中连接 TableView 的索引

android - 如何将图像保存到数据库中

database - JPA问题(Scala使用)

mysql - 嵌套表产品查询mysql

c# - 组织 C# 项目的最佳方式是什么?

php - fatal error : Call to a member function prepare() on a non-object on line 16