高性能mysql(1)-数据库概论

数据库概论

数据库语言

数据库操纵语言:DML
数据库定义语言:DDL
数据库控制语言:DCL

数据库标准模式

三级模式

外模式:某一用户能够看见的和处理的数据结构描述
概念模式:从全局角度理解/管理的数据结构的描述,含相应的关联约束体现在数据之间的内在本质联系
内模式:存储在介质上的数据的结构描述,存储路径,存储方式,索引方式

两层映像

  • E-C映像:将外模式映射为概念模式,从而实现数据概念视图向外部视图的转换,便于用户使用和观察
  • C-I映像:将概念视图映射为内模式,从而实现数据概念视图向内部视图的转化,便于计算机存储

两个独立性

  • 逻辑的独立性:当概念模式变化的时候,可以不改变外部模式只需要改变E-C,无需改变程序
    -物理的独立性:可以不改变概念模式只需要改变C-I,从而不改变外模式

数据模型

数据模型:规定模式统一描述方式的模型,包括数据结构,操作,约束数据模型是对模式本身结构的抽象,模式是对数据本身结构的抽象。现在的数据库基本都是关系模型。

关系模型

  1. 描述数据库各种数据的基本结构形式。(Table/Relation)
  2. 描述表与表之间可能发生的各种操作。(关系运算)
  3. 描述这些操作所应遵循的各种约束条件。(完整性约束)

关系

  1. 域(列):一组值的集合。这组值具有相同的数据类型。
  2. 元组(行):从每一个域中任取一个值所形成的一种组合。
  3. 笛卡尔积:所有可能元组的集合。
  4. 关系:笛卡尔积中具有意义的某些元组的集合。
  5. 属性名:每一列的名字
  6. 表:由关系集合和属性名构成
    关系模式是关系的结构,关系模式是稳定的,关系是关系模式某一时刻的数据,是随时间而变化的。(可以大致的理解为表示关系模式而每一组数据是关系)

关系模型的完整性(*)

  • 超键 : 关系中的一个属性组,其值能唯一标识这个元组,但是可能含有多余属性,去掉这个属性不影响其功能。
  • 候选键:关系中的一个属性组,其值能唯一标识这个元组,从其中去掉任何一个属性就不具备唯一标识这个元组的功能。即不含多余属性的超键,则称这个属性组为候选键
  • 主键:当有多个候选键的时候选取一个候选键作为主键,一般选取只有一个属性的候选键作为主键,主键不能为null。
  • 外键 :关系R中的一个属性组,他不是关系R的候选键,但是却和另一个关系Y的候选键相对应,称为外键,外键可以为null。
  • 主属性:包含在任何一个候选键中的属性被称为主属性。其他属性被称为非主属性。

三个完整性(*)

  • 实体完整性:关系中的主键不能为空值空值,不知道或者无意义的值。
  • 参照完整性:如果关系R的外键Fk和关系Y的主键Pk对应,则R中的每一个元组的Fk值或者等于Y中某个元组的Pk值,或者为空值。

例如,如果在学生表和选修课之间用学号建立关联,学生表是主表,选修课是从表,那么,在向从表中输入一条新记录时,系统要检查新记录的学号是否在主表中已存在,如果存在,则允许执行输入操作,否则拒绝输入,这就是参照完整性。
参照完整性还体现在对主表中的删除和更新操作,例如,如果删除主表中的一条记录,则从表中凡是外键的值与主表的主键值相同的记录也会被同时删除,将此称为级联删除;如果修改主表中主关键字的值,则从表中相应记录的外键值也随之被修改,将此称为级联更新。
要注意的是再建立表的时候设置联级更新的时候在外键约束上必须开启此操作[On delete cascade],否则将违反约束条件。

  • 用户自定义完整性

范式和反范式(*)

函数依赖

简单来说函数依赖就是某个属性集决定另一个属性集时,称另一属性集依赖于该属性集。
例如:

一个关系:
U={学号,姓名,年龄,班级,班长,课号,成绩}
班号 -> 班长
学号,课号 -> 成绩

完全函数依赖

例如:U={学号,姓名,年龄,班级,班长,课号,成绩}
{学号,课号} -> U             完全依赖
{学号,课号} -> 姓名         部分依赖

学号就可以确定姓名

传递依赖

例如:U={学号,姓名,年龄,班级,班长,课号,成绩}
学号->班号 ,班号->班长
学号-> 班长

第一范式

第一范式(1NF)是指数据库表的每一列都是不可分割的原子数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

第二范式

若关系R(U)满足第一范式,且U中的每一个非主属性完全函数依赖于候选键,则称R(U)属于第二范式。
使用单值候选键可以有效的避免部分函数依赖

第三范式

关系R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码。
满足范式的数据库设计可以有效的减少数据的非受控冗余,但是随之带来的问题就是表之间的管理变多了,在查寻数据的时候难免要关联多张表,加大了数据库的开销,所以在实际的应用中都是范式和反范式混合使用的。

子查询(**查询优化很多都是基于此展开的)

in

表达式 [Not] in 子查询
语义:判断表达式的结果是否在子查询的结果之中

some

表达式 [<,>,<=,>=,<> ] some 子查询
语义:表达式值至少有一个结果和子查询结果的某一个值满足运算关系,则为真

all

表达式 [<,>,<=,>=,<> ] all 子查询
语义:表达式值结果和子查询所有值满足运算关系,则为真

exists

[not] exists 子查询
语义:子查询中有无结果存在

总结:
查询 最低 ,最高 等,一般使用 <=all ,>=all
查询 不是最低,不是最高使用 >some <some
查询 所有,没有 一般用 not exists

关系代数操作

并运算:子查询 Union [All] 子查询
交运算:子查询 Intersect[All] 子查询
差运算:子查询 Except[All] 子查询
通常情况下自动删除重复元组:不带All ,若要保留重复元组,则带ALL
在mysql中不支持差运算和交运算

连接操作

Inner join          内连接 
Left outer join      左外连接
Right outer join     右外连接
Full outer join      全外连接
Natural  join       自然连接

关于连接操作的区别:
连接操作的区别

视图

在三级模式两级映射结构中对应概念模式的数据在SQL中被称为基本表 ,而对应外模式的的数据称为视图。视图不仅包含外模式还包含了其E-C映像。视图在SQL中只存储由其基本表导出视图所需的公式,即由基本表产生的视图映像信息,其数据并不存储,而是在运行过程中动态产生和维护的。对视图数据的更改最终要反应在对基本表的更改上。

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

推荐阅读更多精彩内容