首页 > 数据库 > 数据库开发技术 > 关系型数据库:理论背后的灵感(转)
Book关系的例子 值域定义了哪些值可以保存到特定的栏上。例如,你可以限制name栏的字数等于或者少于35个字符。可接受的名字集合就是值域,该值域可以包括一个上限为35个字符。值域是概念上的;RDBMS并不用除数据类型之外的技术支持值域。你必须使用系统特性,如为了进一步限制栏所接收的数据类型,可以加上对字符数限制的约束。 一般只有在进行纯技术讨论时,你才会遇上如关系、tuple和属性这样的术语。在本系列文章的其它部分,我将分别用到以下三个术语:表、记录和栏(这三个术语不太正式,但是得到了广泛使用)。一些人更喜欢用术语:文件、行和字段,但是实际上这是一回事。 关系型表格存储关于某一个事情的数据、概念或者事件。表格是保存在行和栏中的相关数据的集合。栏(或者字段)定义为数据的种类。所有的栏组合成一个记录,它表示关于一个条目或者实体的所有相关数据。 今天的RDBMS把关系型数据库的理论付诸实现。从技术的角度来说,RDBMS包括了数据以及管理这些数据的接口工具。这意味着使用这个系统你就不需要其它工具来添加、删除、更新以及观看数据。你所需要的所有东西这个系统都有。这个系统还包括元数据(metadata):对保存数据本身的描述。 为什么使用关系型数据库 关系型理论在建立时没有考虑到存储器――无论是挥发性的还是永久性的――是非常昂贵而且计算机需要许多物理空间的问题。显然,这些问题已经不复存在了,所以使用关系型数据库还会存在什么问题呢?利用关系型数据模型,你可以做到: 消除冗余数据。 消除数据间的不一致性。 保护数据的完整性。 由于存储器很便宜了,从存储的观点来看,数据库是否存在冗余数据并不是一件大不了的事情。然而,减少输入条目所花费的时间附带出来的一个好处就是减少数据输入错误。每个条目只保存一次,所以即使你犯了一个错误,你也只需要修正出错的那个输入即可。关系型数据模型相对其它数据模型的其它个好处将在本系列文章的后续部分陆续介绍。 第一步――了解你的数据 在Codd博士的论文中,你找不到这个规则,但是熟悉数据并对数据库的目的有个彻底的了解是创建高效率、灵活的数据库的最重要的步骤。你需要和用户以及管理员交谈,收集所有的正在使用以及已发行的书面报表和报告。用户知道数据库需要收集什么数据以及如何处理。如果有必要,你要和用户坐在一起处理数据并观察他们的手工处理数据方法。管理员知道他们希望数据是以何种方式表示出来。用户和管理员这俩方面的观点都很重要,所以都要听取。 在会见用户和管理者之后,写一个任务称述。称述的长短完全根据需要而定,但是它应该清楚的定义数据库的目标并阐明实现该目标的主要过程,主要过程不需要写的很具体。然后把任务称述共享给参与项目的所有开发成员以及用户和管理员,以确保你知道项目的症结之所在。当要求你修订任务称述时,你不必感到惊讶或者心烦。修订的次数越多,你对产生误解的机会也就越少,这就减少了日后修正带来的麻烦。 下一篇文章的内容 我已经解释了关系型数据模型的起源,但是你可能仍不能把握tuple、属性和关系的概念,对关系型数据库的了解也不多。本系列文章的第二部分将深入标准化规则,你将从中学到更多的知识。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8225414/viewspace-957197/ ,如需转载,请注明出处,否则将追究法律责任。