关系模型

  • 数据模型三要素
    数据结构(静态特性):描述数据库的组成对象及对象间的联系
    常用来命名数据模型:层状模型,网状模型,关系模型
    数据操作(动态特性)
    数据上的约束:一组完整性规则的集合

两种非常重要的数据模型
1.关系数据模型
2.半结构化数据模型(XML)


高效性 易用性


关系模型的组成
(1) 关系数据结构:
关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
(2) 关系操作集合:常用的关系操作包括查询、插入、删除、修改等
(3) 关系完整性约束:
<1> 实体完整性约束: 若属性A是基本关系R的主属性,则属性A不能取空值。(注意:说的是主属性,不仅仅指键属性)
<2> 参照完整性约束: 若属性(组)F是基本关系R的外码,它与基本关系S(或者R本身)的主码Ks相对应,则对于R中每个元组在F上的值必须为:空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。
<3> 用户定义的完整性:针对某一具体应用所涉及的数据必须满足的语义要求,对关系数据库中的数据定义的约束条件。


  • 关系:命名的二维表 用来描述事物及事物间的联系
  • 属性
  • 关系模式:关系名和其属性集合的组合(无序集合)
    关系名(属性1,属性2...)
  • (关系)数据库模式:数据库的关系模式的集合
  • 域:属性的数据类型,取值范围
    关系名(属性1:string,属性2:integer...)
    域必须是原子的(域中的元素是不可再分的单元)
  • 元组:除首行外其他的每一行
    (分量1,分量2,……)
  • 分量:元组的属性(元组的每个分量有特定顺序)
  • 键:属性(组),可唯一确定一个元组,若删去其中一个就不能(否则叫超键)
    A,B为键的话就代表没有哪两个元组A,B上的分量均相同(仅仅A或仅仅B
    相同是可以的
  • 候选码:具有键的性质的属性(组)
  • 主属性:包含在候选码中
  • 非主属性
  • 主码(主键):在关系模式中用下划线表示
  • 全码:若一个关系的所有属性一起才能构成该关系的码
  • 外键:a(被参照)表的主键作为b(参照)表的外键

  • 关系实例:一个给定关系中元组的集合
  • 当前实例:当前元组集合
  • 模式:关系名和属性集合,不太变(数据库的逻辑设计)
  • 实例:元组集合,经常变(给定时刻数据库中数据的一个快照)

在SQL中定义关系模式
1.数据定义:用于定义数据库模式的子语言
2.数据操纵:用于查询和更新数据库的子语言


SQL区分三类关系
1.表:存储的关系,存储在数据库中
2.视图:通过计算来定义的关系,不在数据库中存储,只在需要的时候被完整或部
分地构造
3。临时表:执行数据查询和更新时由SQL处理程序临时构造,处理结束后被删除
不会存储在数据库里


数据类型
char(n):最大为n个字符的固定长度字符串(未满的空间会被自动填充)
varchar(n):最大n个字符的可变长度字符串(结束符标记,未满空间不会被填充)
bit(n)
bit varying(n)
boolean:true,false,unknown
int/integer
shortint
float/real
double precision:精度更高
decimal(n,d)
numeric
date:DATE'1983-06-17'
time:TIME'15:00:02.5'


  • 模式图

关系查询语言

  • 过程化语言:用户指导系统对数据库执行一系列操作以计算出结果
  • 非过程化语言:用户只需描述所需信息
    实际使用的查询语言两种成分都有

关系代数

一种抽象的查询语言
关系模型数据操纵语言的一种传统的表达方式 ,使用户可以对数据进行查询和修改。

原子操作数:代表关系的变量和代表有限关系的常量
操作:并,交,差;选择(消除某些行),投影(消除某些列);组合两个关系元组:笛卡儿积(所有可能的连接),连接(有选择的连接);重命名
关系代数的表达式称为查询


并,交,差
前提:R和S的模式具有相同的属性集,且顺序相同(属性名不同,可以改名。)


投影:π{小小的下标:title,year,length}(Movies)
会对结果产生的关系进行去重


选择:
σ{小小的下标作为元组选择的条件:length>100 and studioName='fox'}(Movies)


运算施加在单个关系或一对关系上,运算结果也总是单个关系


  • 笛卡尔积运算:RXS其结果包含来自两个关系元组的所有对,无论属性值是
    否匹配(有序对的集合)
    若R和S中都有属性m,则要重命名R.m,S.m
  • 自然连接:natural join R⋈S两个关系上的自然连接运算所匹配的元组在两个关系
    共有的所有属性上取值相同,生成连接元组,共同的属性只用写一列
    悬浮元组:不能和另外关系中的任何一个元组匹配

注:
自然连接由笛卡尔积、选择、投影三个步骤实现的:
笛卡尔积:拼接元组
选择:选出公共属性上相同的行
投影:去掉一组公共属性

自然连接符合结合律:
(R1⋈R2)⋈ R3 等价于 R1⋈(R2⋈ R3)
可简记为 R1⋈R2⋈ R3

  • θ连接:R⋈{小小的下标表示条件:C}S
    先得到RXS 然后在得到的关系中寻找满足条件C的元组
    若R和S中都有属性m,则要重命名R.m,S.m
    笛卡尔积、选择——》θ连接

关系表达式树


重命名:ρ{小小的下标:S(A1,A2,A3……)}(R)
把关系R的名字改成S,并且属性的名字改成A1,A2……


并,差,选择,投影,积运算,重命名无法用其它操作来实现


一般参与运算(尤其连接运算)的数据越少速度越快(所以优化应该是可以先选择,投影再连接。)


代数表达式的线性符号


用关系代数表示约束
1.引用完整性:在一个关系属性A列中出现的值也必须在同一个或不同关系相应列
B中 π{下标A}(R)⊆π{下标B}(S)(下标中可以有多个属性)
2.键约束:键上值相同,其它属性不同的两个元组是不存在的
σ{下标:MS1.name=MS2.name and MS1.addr≠MS2.addr}(MS1XMS2)=Φ
(MS1,MS2都是movieStar重命名之后的关系)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容