第1章 关系型据模型.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 关系型数据模型 1.1 模式与实体 不需要成为一名数据库设计人员一样可以很好地使用SQL。不过,这需要知道一些关系型数据库是如何进行结构化的以及如何操作这些结构的知识。本章的目的就是让大家了解关系型数据模型的基本元素及其相关术语。在本章的最后将会讲述本书所用的样例数据库的设计。 数据库就是我们存放数据的地方,但又不仅局限于此:在其中也会存储不同数据之间的关系信息。数据库的组织是一个逻辑概念而非物理概念。诚然,它们是以文件的形式存在于数据库当中,但这些文件的物理结构通常不会与使用这些数据的用户有关。 关系型数据模型的起源 关系型数据模型的理论是由Edgar(E.F.)Codd提出并于1970年发表的论文当中介绍给全世界的1。Codd终身都在改进这个模型,1985年他发布了关系型数据库管理系统需要遵守的12条规则2。在当时,没有哪个数据库管理系统能够满足这些规则,当时的一些成功的商业产品也没能满足这些规则。最后,Codd撰写了一本包含330条规则的书3。他个人认为,数据库管理系统已经满足了最原始的12条规则,并且他希望开发人员能够争取去满足这些规则。 1?Codd, E.F. (1970). “A Relational MOdel for Large Shared Data Banks”, Communications of the ACM, 13 (6): pp. 377–387. 2 Codd, E.F. (1985). “Is Your DBMS Really Relational?”, ComputerWorld, 14 October, and “Does Your DBMS Run By the Rules?” ComputerWorld, 21October. 3 Codd, E.F. (1990). The Relational Model for Database Management, 2nd ed. Addison Wesley. 组织、存储、检索以及分析数据库数据的软件就是我们熟知的数据库管理系统 (DBMS,Database Management System)。它将用户从物理数据存储机制和结构当中隔离出来,使用户按照数据的逻辑结构对数据进行有效操作。 数据库的整体逻辑设计称为模式。一个模式具有两种类型的元素: 实体(Entities):一个实体是关于所存储的数据(如客户、产品或产品订单)信息。描述实体的数据块被称为属性(Attributes)。实体所有属性的数据集称为数据实体具体值(Occurrence)。数据库实际就是保存数据实体的具体值。模式则会明确数据库中要保存哪些实体和这些实体要用什么属性来表示。 关系(Relationships):关系定义实体如何进行交互。例如,一个客户实体通常会与多个订单实体相关联。关系共有三种类型,对每种类型都将会进行简单地描述。 需要注意的是模式所表示的是数据库的逻辑设计,以及要存储什么样的实体和关系。然而,在现实世界的数据库环境当中通常会有很多数据实体的具体值,每个都由描述性的数据进行表现。在模式当中,并不一定每一个实体都会有具体值,又或者可能会有成千上万个实体的具体值。 1.2 关 系 和 表 关系型数据库在其结构中,用名字来表示一个实体:根据数学集合理论采用指定字符的二维表,这种结构我们称之为关系。首先来看看图1-1中的简单关系。乍一看,这些关系看起来跟其他表一样,但又与平常所见到的其他表不一样(例如,电子表格的长方形区域),它有一些特别的字符。 Cust.# First name Last name Phone 0001 Jane Doe (555)555-1111 0002 Jone Doe (555)555-2222 0003 Jane Smith (555)555-3333 0004 John Smith (555)555-4444 图1-1 简单的客户关系 1.2.1 行和列 关系是一种没有重复组的二维表。这意味着每一行与每一列的交叉处都只会有一个值。图1-2就是这样的一个表,但它是非关系的。为什么会这么说呢?这是因为在某些行当中的Children列上存在有多个值。相比较而言,图1-1才是个合法关系。 Cust.# First name Last name Phone Children 0001 Jane Doe (555)555-1111 James, Mary, John 0002 John Doe (555)555-2222 Peter 0003 Jane Smith (555)555-3333 Liam, Sean, Collin 0004 John Smith (555)555-4444 Amy, Anab

文档评论(0)

zhangkuan1436 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档