关系数据库
关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构,关系操作集合和完整性约束三部分组成。
(1)关系数据结构
单一的数据结构——关系,实际上就是一张二维表。
关系模型 关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构,关系操作集合和完整性约束三部分组成。 (1)关系数据结构 单一的数据结构——关系,实际上就是一张二维表。元组不能重复,每列属性必须一致,列名必须唯一,元组和列的顺序无关紧要。 数据库软件按照表的名称和列名引用表和表中的数据。所以通常表名和列名最好能反映表和列的内容。如下图所示(本专栏使用的数据库软件为SQL SERVER 2012,以后不再说明): (2)关系操作:常用的关系操作有:选择,投影,连接,除,并,交,差等查询操作和增删改两部分。 (3)关系的完整性约束 关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中的实体完整性和参照完整性是关系模型必须满足的完整性约束,是由关系系统自动支持的;用户定义的完整性约束是应用领域需要遵守的约束。 实体完整性:即主码不能取空值(空值不是0,也不是空字符串,而是没有值,或不确定的值) 参照完整性:为了实现表和表之间的联系,将一个表的主码放到另一个表中作为外码。外码必须是另一个表中主码的有效值,或者是空值 下面介绍几个概念: 笛卡尔积:举例说明,有一组域D1={a,b}表示姓名,D2={男,女}表示性别,D3={1,2,3}表示年级;那么它们对应的基数m1=2,m2=2,m3=3.则笛卡尔积为: 该笛卡尔积的基数为2x2x3=12 关系:就是笛卡尔积的子集。列的个数,或者是说域的个数被称为目或度 关系代数 关系代数包括三个集合运算(交,并Mssq数据完整性约束,差),五个专门的关系运算(乘,除,选择,投影,连接) (1)并 表一:A 表二:B 那么 A\cup B 即A并B为 表3:A并B (2)差 表4:C 那么差C-B的结果为 表5:C-B (3)交:表A交C的结果为 表6:A交C (4)乘:乘运算也称作笛卡尔积 表7:D 那么C乘D即C X D的结果为 表8:C乘D (5)选择:选择就是从指定关系中选择某些满足条件的元组构成一个新的关系 其中 \sigma 为选择运算符,F为选择条件。例:\sigma A=a1(表8) 表9 (6)投影:投影是从指定的关系中选择某些属性的所有值(即选择某些列)组成的新关系。 例如: \pi c(表8) 表10 (7)连接:连接又称 \theta 连接。它是从两个关系的乘运算中选取属性间满足一定条件的元组,构成新关系。 其中 A 和 B 分别为 R 和 S 上属性个数相等且可比的属性组。 \theta 是比较运算符。连接运算是从 R 和 S 的乘运算 R×S 中选取(R 关系)在 A 属性组上的值与(S 关系)在 B 属性组上的值满足比较关系 \theta 的元组。 常用的两种连接是等值连接和自然连接。 \theta 为“=”的连接运算称为等值连接;自然连接是特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的 属性组,在结果中把重复的属性列去掉。 在这里用SQL语句演示: 学生表(student) 班级表(class)
结果为:
其结果是没有重复的ClassNo列的。 (8)除 表11 例如:使用表8除表11,得 表12 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |