关系模型

关系模型

  • 关系数据库基于关系模型,是一个或多个关系组成的集合
  • 关系通俗来讲就是表(由行和列构成)
  • 关系模型的主要优点是其简单的数据表示,易于表达复杂的查询
  • SQL语言是最广泛使用的语言,用于创建,操纵和查询关系数据库,而关系模型是其基础

 

联系:一些实体之间的联系

关系:是一种数学概念,指的是表

实体集和联系集能表示真实的世界

关系-表,元组-行能表示机器的世界

 

关系基本结构

前提知识:

笛卡尔积:指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员  。

例:假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

 

一般地,给出集合D1,D2,……Dn(Di=aij|j=1……k)

  • 关系r是:D1xD2x……xDn的子集,即一系列D域的笛卡尔积

因而关系是一组n元组(a1j,a2j,……anj)的集合,其中每个aij属于Di

 

属性类型(表的列)

关系的每一个属性都有一个名称

域:每个属性的取值集合称为属性的域

属性值必须是原子的,即不可分割(1NF,第一范式)

  • 多值属性不是原子
  • 复合属性不是原子

特殊值null是每一个域的成员

空值给数据库访问和更新带来了困难,因此应尽量避免使用空值

 

关系的概念

涉及两个概念:关系模式和关系实例

关系模式描述关系的结构

关系实例表示一个关系的特定实例,也就是所包含的一组特定的行。

类似于C语言中的变量。

变量-关系;变量类型-关系模式;变量值-关系实例。

 

关系模式

A1 A2 ……An是属性

关系模式   R=(A1,A2,……An)

具体实例   r(R)  用于表示关系模式R上的关系

关系实例

关系的当前值(关系实例)由表指定

一个元组t代表表中的一行

如果元组变量t代表一个元组,那么t[name]表示属性name的t值

 

关系的特征

  • 无序性(但不能重复)

 

码、键

若K值能够在一个关系中唯一地标志一个元组,则K是R的超码

若K是最小超码,则K是候选码

若K是一个候选码,并由用户明确定义,则K是一个主键(通常用下划线标记)。

 

外键

若A表中的主键出现在B表中(不为主键),则称B表中的为外键。

A表中的叫做外码被参照关系,B表中的叫做外码依赖的参照关系。

注意:参照关系中的外码的值必须在被参照关系中实际存在或为null

 

例:

instructor (ID,name,dept_name,salay)        参照关系

department (dept_name,building,budget)    被参照关系

也可用图来构建。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值