【问题标题】:Creating a simple database schema创建一个简单的数据库模式
【发布时间】:2009-08-25 08:55:59
【问题描述】:

我是 SQL 新手,在为我的程序创建数据库架构时可以使用一些帮助,该程序为我的家庭网络管理和安装程序。是否有创建数据库模式的指南/教程?

【问题讨论】:

    标签: sql creation database-schema


    【解决方案1】:

    在设计架构之前,最重要的概念可能是规范化(稍后您会为此感谢自己,相信我!:-)。 db.grussell.org 的教程看起来并不太寒碜,会给你一个很好的基础。事实上,如果您单击“Up One Level”链接并环顾四周,其他一些信息也可能非常有用。

    我的“重要提示”是:在开始编写代码之前,将其写在纸上、记事本或数据库以外的任何东西上。在将其设置为一成不变之前,请先了解您需要架构能够做什么(并且通过“一成不变”,我的意思是,意识到您已经针对架构编写了大量代码,这些代码必须如果您将其更改为执行您刚刚意识到您现在需要的操作,请重新编写)。

    【讨论】:

    • 如果我理解正确,这些是规范化的前 3 个级别:第一个范式意味着您的表中没有包含多个项目的数据库字段 第二个范式意味着如果您有一个复合主键所有其他字段都完全依赖于整个键,而不仅仅是每个表中的部分第三个正常值是您没有非键字段依赖于任何表中的其他非键字段
    • 如果你不是绝对需要,不要太担心学习所有的形式 - 很好地了解这些原则并从那里开始。 90% 的规范化(与许多其他与数据库相关的“东西”一样)是常识,一旦你感觉到它。也就是说,听起来你在理解这一切方面取得了很好的进展! =)
    【解决方案2】:

    设计数据库是一个独立的研究和专业领域。它不能浓缩为一个答案。由于您对教程感兴趣,请查看任何有关数据库管理系统的教科书中的数据库设计部分。我会推荐 数据库系统概念,5e,Abraham Silberschatz,Henry F.Korth,Sudarshan

    在数据库设计中,记住以下几点

    1) 您正在识别您的家庭网络中感兴趣的重要对象。尽量避免过度沉迷于流程本身,尽管它们对于识别您需要捕获的重要数据单元很重要

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

    3) 使用数据库规范化的原则来微调您的架构以避免数据冗余。冗余数据会导致以下副作用:无法保持冗余数据之间的一致性,无法以优雅的方式存储某些数据

    3) 将您的设计前向工程为您选择的数据库的 DDL 语句。大多数案例工具都支持这一点。

    案例工具:

    • 微软 Visio
    • ER Studio(非常昂贵)
    • TOAD 数据建模器

    还有很多开源工具。你可以试试迪亚。这不支持正向工程

    【讨论】:

    • 我想指出我只是一个初学者,我只需要足够的知识来建立一个像样的数据库来为我的程序存储信息。也就是说,你在这里确实有一个很好的答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多