数据库:关系模型基本介绍

关系模型研究什么?

关系模型就是处理Table的,它由三个部分组成:

1:描述DB各种数据的基本结构形式

2:描述Table与Table之间所可能发生的各种操作(关系运算)

3:描述这些操作所应遵循的约束条件(完整性约束)

就是要学习:Table如何描述,有哪些操作,结果是什么,有哪些约束等.

关系模型的三个要素

1 基本结构:Relation/Table

2 基本操作:Relation Operator(各种运算操作)

3 完整性约束:实现完整性,参照完整性和用户自定义完整性

候选码/候选键

关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性吗,它就不具有这一性质了,这样的属性组称为候选码

例如:"学生(S#,Sname,Sage,Sclass)",S#就是一个候选码,在此关系中,任何两个元组的S#是一定不同的,而这两个元组的Sname,Sage,Sclass都可能相同,所有S#是候选码。

有时,关系中有很多组候选码,例如:

    学生(S#,Sname,Sage,Sclass,Saddress)

其中属性S#是候选码,属性组(Sname,Saddress)也是候选码(同名同地址的两个同学是不存在的)

主码/主键

当有多个候选码是,可以选定一个作为主码

当DBMS以主码为主要线索管理关系中的各个元组

主属性与非主属性

包含在任何一个候选码中的属性被称作主属性,二其他属性被称作非主属性

最简单的,候选码只包含一个属性

最极端的,所有属性构成这个关系的候选码,称为全码

     例如:关系“教师授课”(T#,C#)中的候选码(T#,C#)就是全码

外码/外键

关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。

例如:“合同”关系中的客户号不是候选码,但确实外码。因它与“客户”关系中的候选码“客户号”相对应。

两个关系通常是靠外码连接起来的。

关系模型中的完整性
实体完整性

关系的主码中的属性值不能为空值;

意义:关系中的元组对应到现实世界相互之间可区分的一个个个体,这些个体是通过主码来唯一标识的;若主码为空。则出现不可标识的个体,这是不容许的

空值的含义

空值:不知道、不存在或无意义的值;

在进行关系操作是,有时关系中的某属性值是当前填不上的,比如档案中有“生日不详”、“下落不明”、“日程尚待公布”等,需要空值来代替,关系模型中用"?"来表征。

数据库中有了空值,会影响许多方面,如影响聚集函数运算的正确性,不能参与算数、比较或逻辑运算等。

有空值的时候是需要特殊处理的,要特别注意。

参照完整性

如果关系R1的外码Fk与关系R2的主码Pk相对应,则R1中的每一个元组的Fk值或者等于R2中的某个元组的Pk值,或者为空值、

意义:如果关系R1的年某个元组t1参照了关系R2的某个元组t2,则t2必须存在。

用户自定义完整性

用户针对具体应用环境定义的完整性约束条件

如S#要求是10为整数,其中前四位为年度,当前年度与他们的差必须在4以内。

DBMS对关系完整性的支持

实体完整性和参照完整性有由DBMS系统自动支持

DBMS系统通常提供如下机制:

1 它使用户可以自定义有关完整性约束条件

2 当有更新操作发生是,DBMS将自动按照完整性约束条件检验更新操作的正确,即是否符合用户自定义的完整性

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值