首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组织MySQL数据库

组织MySQL数据库
EN

Stack Overflow用户
提问于 2010-12-31 12:44:23
回答 4查看 4.8K关注 0票数 5

我正在开发一个应用程序,它需要我创建我的第一个大型MySQL数据库。我现在很难想出最好的方法来组织它。有没有人可以推荐一些阅读材料,说明如何根据不同的目的来组织MySQL数据库?

我不想详细介绍我想象中的数据库的主要组件,因为我不相信我能清楚地表达出来,在这一点上是有帮助的。这就是为什么我只是在寻找一些关于MySQL数据库组织的一般资源。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-31 13:05:42

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

更多面向对象的语言(我假设您使用的是PHP?)这推动了OO,你学会了快速思考OO,这就是你在这里要做的。

我的工作流程如下:

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

一旦有了这些,你就有了一个很好的对象模型来描述你想要的东西。下一步是查看连接。例如:

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

一旦您解决了这个问题,您就想尝试一种称为normalization的方法,它是将这些数据集合放入一个表列表中的艺术,同时仍能最大限度地减少冗余。(其思想是,一对一(客户名称)与客户ID一起存储在表中,多对一、一对多和多对多按照一定的规则存储在单独的表中)

这就是它的要点,如果你需要它,我将为你扫描我的工作流程中的一个样例。

票数 6
EN

Stack Overflow用户

发布于 2010-12-31 13:01:11

也许我可以根据自己的经验给出一些建议。

除非非常具体的用法(如全文索引),否则请使用InnoDB表引擎(事务、行锁定和默认编码- utf8通常是一个很好的选择

  • 微调服务器参数(*key_buffer*等...网上有很多资料)

  • 手动绘制您的DB方案,不仅基于程序的使用情况,还基于join查询与同事和programmers

  • plan数据类型进行讨论(如果类型是基于预期的必要查询的

索引,则速度更快,还需要与programmers

  • plan讨论备份解决方案(基于DB复制,或脚本等))

  • 用户管理和访问,只授予必要的访问权限,并创建供大多数查询使用的只读用户。不需要写入服务器规模、磁盘(raid?)、内存、CPU access

  • define

下面是用于使用和创建数据库的some tips

票数 4
EN

Stack Overflow用户

发布于 2010-12-31 13:04:53

我可以推荐这本书的第一章:An Introduction to Database Systems,它可以帮助你组织你的想法,我当然建议你不要使用第五范式,而是使用第四范式,这是非常重要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4568123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档