数据库系统概论

 
数据库系统概论
1 、现实世界的数据化过程
现实世界是由实际存在的事物组成的。每种事物都有无穷的特性,事物之间有着错综复杂的联系。
信息世界是现实世界在人脑中的反映。现实世界中的事物和事物特性在信息世界中分别反映为实体和实体的属性。信息世界是由实体组成的,每种实体都有自己有限的属性。本质上说,实体是由有限个属性组成的。实体之间是有联系的。人们把描述信息世界的数据模型称为概念模型。
数据世界是信息世界数据化后的产物。信息世界中的实体和属性在数据世界中分别反映为记录和数据项,实体之间的联系反映为记录间的联系。人们用数据模型来描述数据世界。
概念模型是从现实世界到机器世界的中间层次。现实世界只有先抽象为信息世界,才能进一步转换为数据世界。
现实世界(事物、事物性质)
抽象化
信息世界(实体、实体属性):概念模型描述
数据化
数据世界(记录、数据项):数据模型描述
1.1 、概念模型
在进行数据库设计时,必须首先给出概念模型。
(1 )概念模型中的基本概念
1)实体(Entity)实体是客观事物在信息世界中的反映,既可以是实际存在的对象,也可以是某种概念。实体必须可相互区分。
2)属性(Attribute)事物是有特性的。反映在实体上,就是实体的属性。一个实体具有有限个属性。属性有属性名和属性值之分
3)域(Domain)任一实体在任一属性上的取值都是有限制的。一个属性的取值范围就是这个属性的域。
4)实体集(Entityset)所有属性名完全相同的实体往往集合在一起,称为实体集。同一实体集中没有完全相同的两实体。
5)实体型(EntityType)实体集的名及其所有属性名的集合,称为实体型。例如:职工(职工号,姓名,性别,年龄,婚否,职称,部门)就是职工实体集的实体型。
6)码(Key)在一个实体集中,没有两个完全相同的实体存在,即不能够有两个实体,在各对应属性上的属性值都相同。在一个实体集中,根据一个或几个属性的值可唯一地确定每一个实体,则称此属性或属性组为该实体集的码或关键字。
(2 )概念模型中实体的联系(Relationship
现实世界中,事物之间有着错综复杂的联系。反映在概念模型中,则有了实体集内部的联系和实体集之间的联系。其实,联系也是实体,但当概念模型确定之后,就只能作为联系存在了。所以联系也有联系名。当然,联系的属性大部分都隐藏在发生联系的诸实体中
两个实体集之间的联系为以下三类:
1)一对一联系(1∶1)
现有实体集A和B,若对于某个联系K来说,A中每个实体至多与B中一个实体相联系,反之亦然,则称A与B对于联系K来说,具有一对一的联系。
2)一对多联系(1∶ n)对于联系K来说,若A中的每一实体,B中可有多个实体与之联系;但对B中的每一实体,A中最多有一个实体与之联系,则称A与B对于联系K来说是一对多联系的。
3)多对多联系(m∶ n)对于联系K来说,若A中的每一实体,B中有多个实体与之联系,反之亦然,则称A与B对于联系K来说是多对多联系的。
1.2 、数据模型
数据模型是数据库系统的核心和基础,任何DBMS都支持一种数据模型。
数据模型由数据结构、数据操作和完整性约束三部分组成
实际的数据库管理系统所支持的主要数据模型有:
· 层次模型(HierarchicalModel);
· 网状模型(NetworkModel);
· 关系模型(RelationalModel);
· 面向对象模型(ObjectOrientedModel)。
1.3 、关系模型
(1 )数据结构
    在关系模型中,数据的逻辑结构是关系。关系可形象地用二维表表示,因此常称为表。
关系模型的主要术语有:
关系(Relation):一个关系可用一个表来表示,常称为表。每个关系(表)都有与其他关系(表)不同的名称。
属性(Attribute):关系中的每一列即为一个属性。每个属性都有一个属性名,在每一列的首行显示。一个关系中不能有两个同名属性。
域(Domain):一个属性的取值范围就是该属性的域。
元组(Tuple):关系中的一行数据总称为一个元组。一个元组即为一个实体的所有属性值的总称。一个关系中不允许有两个完全相同的元组。
分量(Component):一个元组在一个属性上的值称为该元组在此属性上的分量。
主码(PrimaryKey):一个关系中的某个属性(或属性组),根据它(们)的值能唯一标识关系中的各个元组,且又不含有多余的属性,则该属性(组)称为是该关系的一个候选码(CandidateKey)。若一个关系中有多个候选码,则选取其中一个为主码。每个关系都有并且只有一个主码。
主属性(MarnAttribute):包含在任何一个候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性或非码属性。
外部码(ForeignKey):若A是基本关系R1的属性(组),但不是R1的码。若A与基本关系R2的主码K相对应,则称A是R1的外部码。R1和R2不一定是不同的关系。当然,A和K一定在同一组域上。
关系模式:一个关系的关系名及其全部属性名的集合简称为该关系的关系模式。一般表示为:    
关系名(属性名1,属性名2,…,属性名n)
关系模式是型,描述了一个关系的结构;关系则是值,是元组的集合,是某一时刻关系模式的状态或内容。因此,关系模式是稳定的、静态的,而关系则是随时间变化的、动态的。但在不引起混淆的场合,两者都称为关系。
关系是关系模型中最基本的数据结构。关系既用来表示实体,也用来表示实体间的联系。
关系模型对关系的基本限制是:
1)关系中的每一列都必须是不可分的基本数据项。
2)在一个关系中,属性间的顺序、元组间的顺序都是无关紧要的。
(2 )数据操作
数据操作是对系统动态特性的描述。关系模型操作的主要内容是查询、维护两大内容。 3 )完整性约束
完整性约束是一组完整的数据约束规则,它规定了数据模型中的数据必须符合的条件,对数据作任何操作时都必须保证之。
1.4 、关系的完整性
关系模型中共有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
(1 )实体完整性(EntityIntegrity
若属性A是基本关系R的一个主属性,则任何元组在A上的分量都不能为空。
实体完整性规定,任一候选码的任何属性都不能为空,而不仅仅是候选码整体不能为空。 2 )参照完整性(ReferentialIntegrity
参照完整性是对关系间引用数据的一种限制。定义:若属性组A是基本关系R1的外部码,它与基本关系R2主码K相对应(R1,R2也可以是同一关系),则R1中每个元组在A上的值必须为以下两种情况之一:
· 等于R2中某元组的主码值;
· 取空值(A的每个属性上都取空值)。
(3 )用户定义的完整性
除上述两类完整性约束外,任何数据库系统都会有一些自己特殊的约束要求,这些约束条件都需要用户自己来定义,故称为用户定义的完整性。关系模型应向用户提供定义这类完整性的手段,以供用户使用这种手段来定义自己特殊的完整性要求。关系模型还应有检验用户定义的完整性的机制,以使整个数据库在生命周期中保证符合用户所定义的完整性约束要求。
2 、数据库系统的结构
可以从多种角度来分析数据库系统的结构。
2.1 、数据库系统中数据的三级模式结构
数据库系统中数据的三级模式结构数据的三级模式结构包含有外模式、模式和内模式
为了支持三级模式,DBMS必须提供在这三级模式之间的两级映象:即外模式/模式映象与模式/内模式映象。
1)模式(Schema)模式也称概念模式(ConceptualSchema),是数据库中全体数据在逻辑上的视图。
数据库管理系统提供模式描述语言(模式DDL)来定义模式。用模式DDL给出一个数据库逻辑定义的全部语句,构成了该数据库的模式。
2)外模式(ExternalSchema)外模式也称子模式,是个别用户的数据视图,即个别用户涉及到的数据的逻辑结构。
数据库管理系统提供外模式描述语言(外模式 DDL)描述外模式。用外模式DDL给出的用以定义一个用户数据视图的全部语句称为此用户的外模式。
3)内模式(InternalSchema)内模式也称存储模式(StorageSchema)。它既定义了数据库中全部数据的物理结构,还定义了数据的存储方法、存取策略等。
DBMS提供内模式描述语言(内模式DDL)来描述和定义内模式。
4)二级映象(TwoMappings)在外模式与模式之间通过外模式/模式映象进行转换。当模式改变时,只要相应改变外模式/模式映象,可使外模式保持不变。在模式与内模式之间通过模式/内模式映象进行转换。当数据库的存储结构改变时,只要相应改变模式/内模式映象,就可使模式保持不变,从而,外模式也可保持不变。这二级转换,使数据库系统的数据具有较高的逻辑独立性和物理独立性。
对于一个数据库系统来说,只有一个模式,一个内模式,但可以有多个外模式。实际的数据库与内模式对应,应用程序则与外模式打交道
对于一个数据库系统来说,模式/内模式映像是唯一的,但有多个外模式/模式映像,每一个外模式都有一个外模式/模式映像(包含在该外模式定义中)
 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值