2009-08-25 233 views
4

我是SQL新手,可以使用一些帮助为我的程序创建数据库模式,该模式管理和安装家庭网络的程序。有没有关于创建数据库模式的指南/教程?创建一个简单的数据库模式

回答

4

可能是在设计模式之前要理解的最重要的概念(以后你会感谢你的,相信我!:-)就是规范化。 db.grussell.org的教程看起来不太简单,并且会给你一个良好的基础。事实上,如果您点击“Up One Level”链接并浏览一下,其他一些信息也可能非常有用。

我的“最高提示”是:在开始编写代码之前,将它写在纸上或记事本或数据库以外的任何其他地方。在将其设置为石头之前,先了解一下你需要的模式(通过“设置石头”我的意思是,意识到你已经编写了一个代码负载模式,必须要如果你改变它来做你刚才认识到的你现在需要的东西,就可以重新编写)。

+0

如果我理解正确的话,这是第3个级别正常化: 第一范式意味着有与您的表不止一个项目没有数据库字段 第二范式意味着,如果你有一个复合主键所有其他字段完全依赖于整个密钥,而不仅仅是每个表中的部分 第三个法线是你没有任何非关键字段依赖于任何表中的其他非关键字段的地方 – RCIX 2009-08-25 09:38:25

+0

Don如果你不是绝对需要的话,不要太担心学习所有的手续 - 从原则出发去了解原则。正常化的90%(与许多其他数据库相关的“东西”)是常识,一旦你感觉它。这就是说,这听起来就像你在做一个很好的理解这一切! =) – Rob 2009-08-25 10:49:21

+0

谢谢!我现在开始工作。 – RCIX 2009-08-25 21:09:24

4

设计数据库是一个独立的研究领域和专业知识。它不能被压缩成一个答案。由于您对教程感兴趣,请查看数据库管理系统上任何教科书中有关数据库设计的章节。我会建议 数据库系统概念,5E,阿夫拉姆·西尔伯舍茨,亨利F.Korth,苏达

在数据库设计时,请记住以下

1)你识别你的家庭网络所关心的重要对象。尽量避免过程本身的过度放纵,尽管它们对于识别需要捕获的重要数据单元很重要

2)使用ER/UML建模技术提出数据模型图/设计。有很多案例工具可以帮助你绘制这个。

3)使用数据库标准化的原则来微调您的模式以避免数据冗余。冗余数据将导致以下副作用:无法维持冗余数据的一致性,无力一些数据存储在一个优雅的方式

3)正向工程设计到DDL供你选择的数据库语句。大多数案例工具都支持这个。

CASE工具:

  • 的Microsoft Visio
  • ER工作室(很贵)
  • 蟾蜍数据建模

有许多开源工具了。你可以试试Dia。这不支持正向工程

+0

我想指出,我只是一个初学者,我只想要足够的知识来建立一个体面的数据库来存储我的程序的信息。这就是说,你在这里有一个很好的答案! – RCIX 2009-08-25 09:41:35