欢迎来到天天文库
浏览记录
ID:5787994
大小:1.84 MB
页数:17页
时间:2017-12-24
《第1章 关系型数据模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、·17·第1章关系型数据模型第1章关系型数据模型1.1模式与实体不需要成为一名数据库设计人员一样可以很好地使用SQL。不过,这需要知道一些关系型数据库是如何进行结构化的以及如何操作这些结构的知识。本章的目的就是让大家了解关系型数据模型的基本元素及其相关术语。在本章的最后将会讲述本书所用的样例数据库的设计如果读者之前看过本书的姊妹篇RelationalDatabaseDesignandImplementationClearlyExplained,可能会觉得本章所提到的概念很熟悉。因此读者可以直接跳至本章的最后一节,阅读关于本书样例数据库
2、设计部分的内容。。数据库就是我们存放数据的地方,但又不仅局限于此:在其中也会存储不同数据之间的关系信息。数据库的组织是一个逻辑概念而非物理概念。诚然,它们是以文件的形式存在于数据库当中,但这些文件的物理结构通常不会与使用这些数据的用户有关。关系型数据模型的起源关系型数据模型的理论是由Edgar(E.F.)Codd提出并于1970年发表的论文当中介绍给全世界的1。Codd终身都在改进这个模型,1985年他发布了关系型数据库管理系统需要遵守的12条规则2。在当时,没有哪个数据库管理系统能够满足这些规则,当时的一些成功的商业产品也没能满足这
3、些规则。最后,Codd撰写了一本包含330条规则的书3。他个人认为,数据库管理系统已经满足了最原始的12条规则,并且他希望开发人员能够争取去满足这些规则。1 Codd,E.F.(1970).“ARelationalMOdelforLargeSharedDataBanks”,CommunicationsoftheACM,13(6):pp.377–387.2Codd,E.F.(1985).“IsYourDBMSReallyRelational?”,ComputerWorld,14October,and“DoesYourDBMSRunByt
4、heRules?”ComputerWorld,21October.3Codd,E.F.(1990).TheRelationalModelforDatabaseManagement,2nded.AddisonWesley.·17·第1章关系型数据模型组织、存储、检索以及分析数据库数据的软件就是我们熟知的数据库管理系统(DBMS,DatabaseManagementSystem)。它将用户从物理数据存储机制和结构当中隔离出来,使用户按照数据的逻辑结构对数据进行有效操作。数据库的整体逻辑设计称为模式。一个模式具有两种类型的元素:q实体(En
5、tities):一个实体是关于所存储的数据(如客户、产品或产品订单)信息。描述实体的数据块被称为属性(Attributes)。实体所有属性的数据集称为数据实体具体值(Occurrence)。数据库实际就是保存数据实体的具体值。模式则会明确数据库中要保存哪些实体和这些实体要用什么属性来表示。q关系(Relationships):关系定义实体如何进行交互。例如,一个客户实体通常会与多个订单实体相关联。关系共有三种类型,对每种类型都将会进行简单地描述。需要注意的是模式所表示的是数据库的逻辑设计,以及要存储什么样的实体和关系。然而,在现实世界
6、的数据库环境当中通常会有很多数据实体的具体值,每个都由描述性的数据进行表现。在模式当中,并不一定每一个实体都会有具体值,又或者可能会有成千上万个实体的具体值。1.2关系和表关系型数据库在其结构中,用名字来表示一个实体:根据数学集合理论采用指定字符的二维表,这种结构我们称之为关系有人说关系数据库之所以这么称呼是因为它们是“文件之间的关系”,这是个明显的错误。。首先来看看图1-1中的简单关系。乍一看,这些关系看起来跟其他表一样,但又与平常所见到的其他表不一样(例如,电子表格的长方形区域),它有一些特别的字符。Cust.#Firstname
7、LastnamePhone0001JaneDoe(555)555-11110002JoneDoe(555)555-22220003JaneSmith(555)555-33330004JohnSmith(555)555-4444图1-1简单的客户关系·17·第1章关系型数据模型·17·第1章关系型数据模型1.2.1行和列关系是一种没有重复组的二维表。这意味着每一行与每一列的交叉处都只会有一个值。图1-2就是这样的一个表,但它是非关系的。为什么会这么说呢?这是因为在某些行当中的Children列上存在有多个值。相比较而言,图1-1才是个合
8、法关系。Cust.#FirstnameLastnamePhoneChildren0001JaneDoe(555)555-1111James,Mary,John0002JohnDoe(555)555-2222Peter00
此文档下载收益归作者所有