设计mysql数据库提示&;技术和一些mysql问题?

设计mysql数据库提示&;技术和一些mysql问题?,mysql,database-design,Mysql,Database Design,嗯,我要设计一个数据库结构,但我不知道从哪里开始。你们能帮我回答以下问题吗?我的数据库将存储大约数十万行/数据,同时为1000++用户提供服务。它需要精心设计 设计mysql数据库结构问题: 问题1:我知道这是一个愚蠢的问题,但你们如何设计mysql数据库结构?我必须先学习吗?我不喜欢这个话题:( 问题2:设计数据库结构时有什么技巧或技巧吗 问题3:在设计mysql数据库结构时,什么是重要的 问题4:好的,另一个愚蠢的问题,使用mysql数据库和xml有什么区别 问题5:使用mysql数据库有什

嗯,我要设计一个数据库结构,但我不知道从哪里开始。你们能帮我回答以下问题吗?我的数据库将存储大约数十万行/数据,同时为1000++用户提供服务。它需要精心设计

设计mysql数据库结构问题:


问题1:我知道这是一个愚蠢的问题,但你们如何设计mysql数据库结构?我必须先学习吗?我不喜欢这个话题:(

问题2:设计数据库结构时有什么技巧或技巧吗

问题3:在设计mysql数据库结构时,什么是重要的

问题4:好的,另一个愚蠢的问题,使用mysql数据库和xml有什么区别

问题5:使用mysql数据库有什么缺点吗


仅供参考:我是一名新的mysql开发人员。

你愿意参与这个项目是值得称赞的,但根据我的经验,在你学习任何技术主题的基础知识的同时,尝试做一个真正的项目很可能会导致一个不起作用的项目。而且这需要十倍的时间

因此,我建议首先花些时间自学,通过阅读和实验,设计一个实践数据库和使用它的代码,但不要设计项目所需的数据库

这里有一本广受好评的书可能会对你有所帮助:

  • 迈克尔·J·赫尔南德斯

在您熟悉了数据库设计的基础知识之后,您就可以开始真正的项目了。

除了我现在正在进行的项目之外,我还没有做过太多的数据库设计,但是我发现有一件事很有帮助,那就是保持您的设计的可扩展性和灵活性

我的意思是,不要将大量内容硬编码到记录中。而是从信息的外键开始。(这首先回到规范化数据库。)这样,您可以通过更多方式链接信息

例如,与其在零件的DB行中填入关于特定零件制造商的大量信息,不如只为制造商创建一个表,并通过制造商表的外键从零件条目链接到制造商。这样,您可以在以后将信息添加到制造商表中,而不影响单击零件表,如果某个特定零件的制造商发生了更改,则只需更改外键,而不是更改该特定制造商制造的每个零件中的所有字段

这是一个49秒的介绍,说明了为什么您应该考虑规范化您的DBs


不管怎样,当你学习并有更具体的问题时,问他们。致以最良好的祝愿

Q1:我知道这是一个愚蠢的问题,但你们如何设计mysql数据库结构?我必须先学习吗?我不喜欢这个话题:(

就我个人而言,当我刚开始学习时,我使用了一些在线教程。我并不是说这是最好的方法,因为我一开始犯了很多错误。所以,即使你不需要学习规范化之类的东西,也不会有什么伤害

问题2:设计数据库结构时有什么技巧或技巧吗

请记住,即使您构建在数据库之上的应用程序可能会多次更改,但您的数据库不会更改。我的意思是,一旦插入数据,通常很难更改数据库的结构。我可以提供的另一个技巧是,在索引。您从中大量阅读的任何列(即用于selects、where子句、JOIN等)都应编入索引

问题3:在设计mysql数据库结构时,什么是重要的

提前计划,我会认真考虑创建一个数据库的UML图,这样你就可以对数据库进行一个很好的概览。在你把你的数据库全部计划出来之前,不要创建一个表。

问题4:好的,另一个愚蠢的问题,使用mysql数据库和xml有什么区别

我认为我不能正确回答这个问题,所以我不会尝试。即使XML可以用来存储数据,我还是推荐MySql而不是它

问题5:使用mysql数据库有什么缺点吗

和什么相比


我认为您对创建表及其列感到非常困惑。请明确您的需求。明确您的项目要求。我认为这不是一个大问题,但请记住,当您正确设计数据库时,您的35%问题就解决了。请记住,当您设计数据库及其表时,这是非常困难的改变结构。祝你好运………..

不是为了让你气馁,但对于一个没有MySQL经验的人来说,这听起来像是一个非常大的项目。撇开这个问题不谈,如果你更详细地描述数据库的内容,你可能会得到更好的答案。嗯,数十万行只是一个数字,我不认为we真的可以做到这一点。但是这个项目被认为是大项目,这就是为什么我需要你们的人(专家)帮助。我不会将存储的数据量与项目的复杂性联系起来。如果它是一个表,有两列,那么它可能就不复杂了。我会使用其他东西,然后mysql、Percona服务器或MariaDB是很好的替代品,如果你到目前为止还没有这样做,那么你应该看看(与mariadb和percona配合也很好)有没有更快的方法?我做了一个小项目,也使用了mysql,但在那个项目中,我没有把重点放在mysql上。我知道基本的mysql,但从来没有真正从头开始设计数据库。设计数据库是为了有更好的性能和更大的可扩展性,不是吗?在我看来,数据库设计的目标首先是确保ata完整性,其次是提高性能。问题5:根据您的经验。mysql是否已关闭/故障