数据库原理及应用_数据库基础_第4章关系模型的基本理论_关系模型基本概念

前言

        "<数据库原理及应用>(MySQL版)".以下称为"本书"中4.1节内容

引入

        关系模型是目前最流行的RDBMS(关系型数据库管理系统)的基础.本章主要讲关系代数和关系运算.

4.1关系模型的基本概念

基本术语

1)关系

        用于描述数据的一张二维表.如前所述,二维表第一行是关系模式,由各种属性组成;其他行是"元组".

2)域

        指列(属性)的取值范围.这里还需要指出列(属性)有数据类型,在数据类型基础上再提取值范围.本书P102举了个例子,属性"性别"的域为(男,女,NULL),他的数据类型是字符串,NULL适用于各种数据类型,表示空.

3)候选键

        又称候选码.他能唯一标识关系中的元组的最小属性集合.一个关系可能有多个候选键.重点是唯一确定,

        本书举的例子中,如果有重名,但重名学生的性别不同,则姓名+性别可以做候选键,有一个小bug---如果有两个人名称和性别都相同,则姓名+性别不可做候选键(这种几率很小,但严格上讲仍有可能).读者考虑没有重名的情况下,姓名+性别不可以做候选键,"姓名"一项可以,性别属于多余,两者加一起不是标识元组的最小属性集合.

4)主键

        又称主码,他能唯一标识关系中的元组的最小属性集合.用户可以从关系的候选键中指定一个作为关系的主键.一个关系最多只能指定一个主键,作为主键的列不能取NULL值.

5)主属性、非主属性、全码

        候选键中所有属性均称为主属性.与之对应,非候选键的属性称为非主属性.

        当关系中所有属性的组合是该关系的一个候选码,称为全码.全码的条件是必须全部属性放一起才能标识该元组的唯一性,同时也是他的主码.

        这三项放一起,是因为暂时看不出他们有什么用.

6)外键

        当关系R中的某属性K是另一个关系S中的主键,则称该属性K是关系R的外键.通过外键可以建立两表间的联系.有了前面的查询做基础,很容易理解外键的概念:外键是两表属性之间的桥梁.

关系的特征

        关系的特征关注点在于"唯一"

1)列是同质的.列的取值来自同一个域

2)不同列可以取自同一个域

3)各列顺序理论上可以无序,使用时考虑习惯.

4)任意两个元组的候选码不能相同.

        因为候选码是表内元组唯一标识,所以不能相同.例如学生表内不能有两个相同学号.

5)行的顺序无所谓,可以任意交换

6)分量必须取原子值,即每个分量都必须是不可分的数据项.

        本书P103和P104举了个例子,不能称为表的是表4-2,在EMPNO为7499的员工处,MGR项出现了两个值.

        在本书P104特别强调了:这些规范条件中最基本的一条是,关系的每一个分量必须是一个不可分的数据项.

=============================内容分割线↓===================================

以下为笔者发散思考,不保证对错.

        在关系模型中,分量必须是一个不可分的数据项,意味着关系模型容量"有限".每个属性的取值只能是VCHAR,CHAR,INT(DECIMAL),BOOL,DATETIME中的一个值.最大的问题是不能表示集合.

       例如 如果现在要设计一个表,里面内容有学生家庭情况表,学生评价,该怎么办?

学生表
学号姓名学生家庭表学生评价

        其中嵌套了另一张表(学生家庭表),学生评价(单独文件).可以想到的办法是,"学生评价"做成一个.txt文件(或其他类型文件),把和所有学生评价的txt文件放入一个文件夹,学生评价这一栏填入文件名,如张三评价.txt.如下图所示

学生表
学号姓名学生家庭表学生评价
1张三2张三评价.txt

        但这不属于关系模型,是非关系模型?由此可见非关系模型也是从关系模型发展而来.如果上述非关系模型要成立,则需要和表相关的内容上增加:

        1.数据类型设计:对学生家庭表而言,要设计一个表类型.当然由于他仍然是一个表,所以不算新加入的内容,txt文件也不需要新的设计.这个例子中没有新数据类型的设计,假设要有一张"人际关系图",那么就需要设计一个"图"的数据结构,并在相应位置填入指向图对象的指针.

学生家庭表
家庭号本人姓名父亲母亲
2张三张某某某某

        2.容器:一个新文件夹,里面放所有的学生评价的txt文件

        3.对应的算法---增删改查.

        两者对比:关系模型的特点是简单直观,1是1,2是2.

                        非关系模型信息量大,但针对每个表需要更多空间放置数据

=============================内容分割线↑===================================

        从关系模型到非关系模型的拓展,基于一个理念:无论数据大小,都是以指针表示.

小结

        关系模型基本概念的整理,以及非关系模型的思考

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重庆彭枫

你的鼓励是我创作的动力,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值