我是一个入门的web开发人员,我使用MySQL,有时使用MySQL。但是,我没有那么多关于数据库的信息,只有基本信息才能构建一些表。
现在,如果我的站点有一天在数据库中增长并提高了我的技能,并且我发现我想重新设计我的数据库,那么在不影响我的应用程序的工作方式或不丢失任何数据的情况下,我的站点会有这样的可能吗?
发布于 2014-01-24 23:11:57
有可能吗?可能吧。现实吗?可能不取决于“不影响我的应用程序的工作方式”对您来说意味着什么。
和其他任何东西一样,如果你在摇摇欲坠的基础上构建一个软件,那么如果你决定需要重新设计一些组件,这将是相对痛苦的,并且可能会涉及到应用程序中其他地方的更改。如果您使用将来需要更改的语言或框架构建应用程序,则可能需要对应用程序的工作方式进行更改。如果您构建了一个不扩展的应用程序,那么以后要提高性能将更加困难,这可能涉及到整个代码库中的大量更改。如果在没有正确设计的数据库上构建应用程序,则重新设计应用程序、转换所有数据并将更改传播到应用程序将很费时。
当然,这并不意味着在你成为任何事情的专家之前,你都不应该建造任何东西。成为一名专家的很大一部分是犯错误并从中吸取教训。如果您的站点足够受欢迎,并且您了解了足够多的数据库,从而得出您的初始数据模型存在缺陷,并且值得对整个数据模型进行重新设计,那么这可能意味着您已经相当成功,并且必须使用"version 2架构“是一个很好的问题。另一方面,在设计数据模型以避免最容易避免的陷阱时,很可能值得阅读一本关于基本数据建模的书,阅读一些关于规范化的内容。
发布于 2014-01-25 10:09:30
找到有用的东西,然后改进它。这有两个原因:
如果您需要重新设计您的数据库,很可能您也需要重新处理一些相关的代码(这是完全正常的),但是您应该能够重新设计您的数据库而不会丢失任何数据。(必须注意:先采取完全备份。)
https://dba.stackexchange.com/questions/57514
复制相似问题