码迷,mamicode.com
首页 > 数据库 > 详细

关系数据库

时间:2017-04-17 22:21:57      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:关系数据库   模型   笛卡尔   

关系数据库:

关系模型由:关系数据结构、关系操作集合、关系完整性约束三部分。

关系模型三个方面:完整性约束、关系数据库系统中实现关系操作的一种语言、关系演算。

完整性约束:

  1. 关系

    :一组具有相同数据类型的值的集合;

    笛卡尔积:两个域(或多个)的笛卡尔积,是把两个域的属性(类型)叠加(不删除重复项),新的域中的每个元组(可以看成二元表中的一行)包含这个新的域中的每个属性(即使部分属性为空,也不能删除此元组);

    关系:域D1、D2...Dn,这些域的笛卡尔积的子集叫做在域D1、D2...Dn上的关系。n是关系的度;

    属性:域每列取一个名字,这个列名叫属性(attribute);

    候选码:关系中能唯一标识一个元组的某一属性组(或某一属性值),就叫做候选码;

    主码:一个关系中有多个候选码,则其中任意一个可以作为主码;

    主属性:候选码的所有属性都称为主属性;

    非主属性:(非码属性)不包含任何候选码中的属性就是非主属性;

    全码:关系模式(可以看做是一个表)所有的属性共同构成这个关系的候选码(这个表所有属性一起才能确定一个元组,即这个表的主键是这个表本身)

2、关系有三种类型:基本关系、查询表、是图表

3、关系数据语言:关系代数语言(ISBL);关系演算语言(QUEL,QBE);具有关系代数和关系演算双重特点的语言(SQL)

4、关系的三类完整性约束:实体完整性、参照完整性、用户定义的完整性。

    实体完整性:主属性不能为空;

5、关系代数:传统:并、差、交、笛卡尔积;专门的运算:选择、投影、链接、除法运算

    选择:取表中行;

    投影:取表中列;

    连接:从笛卡尔积中选取属性满足一定条件的元组;(等值链接,操作条件为“=”;自然链接;semi-join(半连接);外连接)

6、选择的实现:

  • 全表扫描:对查询的基本表顺序扫描,逐一检查每个元组是否满足选择条件,把满足条件的元组作为结果输出;缺点:对查询的基本表顺序扫描,逐一检查每个元组是否满足选择条件,把满足条件的元组作为结果输出。

  • 索引(或散列)扫描方法:

    适合选择条件中的属性上有索引(例如B+树索引或Hash索引)

    通过索引先找到满足条件的元组主码或元组指针,再通过元组指针直接在查询的基本表中找到元组。

连接的实现:

  • 嵌套循环方法(nested loop)

  • 排序-合并方法(sort-merge join 或merge join)

  • 索引连接(index join)方法

  • Hash Join方法





本文出自 “数据库理论知识” 博客,请务必保留此出处http://mehome.blog.51cto.com/9744080/1916790

关系数据库

标签:关系数据库   模型   笛卡尔   

原文地址:http://mehome.blog.51cto.com/9744080/1916790

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!