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

yumo6663个月前 (04-05)技术文章24

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的数据更新命令。也就是说要完成向表中添加若干行数据、修改表中的数据和删除表中的若干行数据...

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

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

一文搞懂数据库索引原理

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

数据库系统原理:聚集函数

SQL命令包括数据定义、查询、操纵和控制四大类,其中数据查询是数据库的核心操作。学习在SQL数据查询中使用聚集函数的方法。一、五种聚集函数介绍聚集函数(集合函数)→垂直方向(一个值):主要用法是在垂直...

数据库加密技术原理与实践

1、数据库加密概述数据库加密是指对存储在数据库中的敏感数据进行编码处理的过程,目的是防止未经授权的访问和数据泄露。加密后的数据即使被未授权的第三方获取,也无法理解其原始含义,从而保护数据的机密性数据库...

【数据库原理】(7)关系数据库的完整性约束

关系模型的完整性规则是为了确保数据的唯一性和数据之间的关系的准确性。有三类完整性约束:实体完整性、参照完整性和用户定义完整性。其中实体完整性和参照完整性是必须满足的完整性约束条件,应该由关系系统自动支...