关系型数据库原理-1 ---关系代数笛卡尔积

yumo6664周前 (04-05)技术文章20

1、关系数据库的基本概念

(1)属性和域

在现实世界中,要描述一个事物常常取若干特征来表示,这些特征成为属性。例如,用学号、姓名、性别、年龄和籍贯等属性来描述学生。每个属性取值范围对应一个值的集合,成为该属性的域,例如学号域是6位整型数;姓名域是10位字符;性别域为{男,女}

在关系数据库模型中,通常对域增加了一个限制,所有的域都应该是原子数据。例如,整数、字符串是原子数据,而集合、记录、数组是非原子数据。关系数据模型这种限制称为第一范式

(2)笛卡尔积与关系

定义-1:

设D1,D2,D3,…Di,Dn为任意集合,定义D1,D2,D3,…Di,Dn的笛卡尔积为


其中,每一个元素(d1,d2,…,di,…dn)称为一个元组,元组的每一个值称为元组的一个分量,若Di(i=1,2,3,…,n)为有限集,其基数(Cardinal Number元组的个数)为mi(i=1,2,3,…,n),则D1 X D2 X D3…X Dn的基数M为

笛卡尔积的示例:

若D1 = {0,1},D2={a,b},D3={c,d},求D1 X D2 X D3

解:根据定义,笛卡尔积的每一个元素应该是个三元组,每个分量来自不同的域,因此结果为: D1 X D2 X D3 =

{(0,a,c),(0,a,d),(0,b,c),(0,b,d),(1,a,c),(1,a,d),(1,b,c),(1,b,d)}


使用二维表的结果如下:


相关文章

数据库系统原理:数据插入

SQL命令包括数据定义、查询、操纵和控制四大类。SQL数据操纵包括数据插入、数据删除和数据修改。数据操作即SQL的数据更新命令。也就是说要完成向表中添加若干行数据、修改表中的数据和删除表中的若干行数据...

数据库系统原理:数据独立性

数据库系统的三级模式和两级映像使数据具有独立性。数据库系统三个抽象级间通过两级映像进行相互转换,使得数据库的三级模式形成一个统一整体,从而保证了数据的独立性。数据独立性是指应用程序与数据间相互独立,不...

数据库的存储原理

1. 数据存取在数据库管理系统中,数据的存取过程为:应用程序通过 DML 向 DBMS 发出存取请求,如 SELECT 语句;对命令进行语法检查,正确后检查语义和用户权限(通过数据字典 DD),并决定...

一文搞懂数据库索引原理

前言写数据库,我第一时间就想到了MySQL、Oracle、索引、存储过程、查询优化等等。不知道大家是不是跟我想得一样,我最想写的是索引,为啥呢?以下这个面试场景,不知道大家熟悉不熟悉:面试官:数据库有...

面试官:说一下数据库事务的实现原理

#数据库事务的实现原理是什么样的?#什么是数据库事务?数据库事务的四大特性?数据库事务隔离级别?数据库事务的实现原理?一、什么是数据库事务?数据库事务是指作为一个不可分割的操作单元执行的一系列数据库操...

数据库系统原理:外键约束

关系数据库中最重要的约束是实体完整性和参照完整性。在SQL中,参照完整性称为外键约束。学习SQL中参照完整性的实现方法。一、参照完整性定义外键约束指参照完整性检查。根据参照完整性规则,依赖关系中外键或...