我已经开发了一年多的网络应用程序。当我学习PHP和MYSQL等的时候,这是我开始构建的第一件事。它已经从一个用原始PHP编写的非常简单的预算应用程序,发展到了我每天在Codeigniter上运行的一个完整的个人财务跟踪器。同时,我还开发了一些其他的小型web应用程序,结果我比我第一次开始这个项目的时候有了一年的经验,我认为我的发展正开始因为我在第一天做出的基本设计决定而受到影响。
尽管代码已被重写以与codeigniter一起工作,但数据库结构仍然相同,我觉得我必须编写更多的代码才能解决DB模式的问题。
我的问题是:
发布于 2012-07-23 14:43:27
1)是否有很好的资源来学习如何有效设计数据库?
了解实体-关系模型。ERwin方法指南是一个很好的开始。
但是在现实世界中,数据库不只是存储数据--它们与客户端应用程序交互,性能需要很好。用索引就像!是关于这个主题的一个很好的介绍。
2) .
理想情况下,您应该有一组固定的需求,然后根据它们设计一个模型,然后根据模型编写一段代码。不幸的是,不断变化的需求是生活中的事实,面对不断变化的需求,这种“瀑布模型”是脆弱的。
在频谱的另一端是“敏捷”软件开发,强调变化。
事实是,存在无条状子弹,而最优的位置通常介于两者之间。
( 3)我应该设计我的逻辑和功能,然后是我的数据库,还是从数据库开始,然后是逻辑和函数?
数据的寿命往往比代码长。所以我会先把注意力放在数据模型上。如果您必须在更干净的数据和更干净的代码之间做出决定,请选择更干净的数据。
话虽如此,试着让你的数据模型“进化”。不要走极端,比如在不需要埃夫的地方实现它,而是做一些明智的事情,比如通过规范化、明智地选择自然的和替代的钥匙、不人为地限制项目数量等来避免冗余。
https://stackoverflow.com/questions/11581301
复制相似问题