澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站私用数据库复习,数据库期

2019-06-08 作者:数据库网络   |   浏览(146)

 

[TOC]

数量字典

一、数据库特点:

数据库管理连串概述

  • 本事进步:人造管理->文件系统->数据库->高等数据库
  • 数据库是 在Computer内有团体、可共享的数目会集
  • 数据库管理连串(DBMS)
    • 数据库的概念和创立
    • 数据库的操作
    • 数据库的调整
    • 数据库的护卫
    • 故障苏醒
    • 数据通讯
  • 数据库系统(DBS)
    • 构成:硬件、软件、数据库 和 数据库管理员DBA
    • 分类
      • 集中式
      • 客户/服务器
      • 并行式
      • 分布式

数据库整理:

graph LR
A[数据库]-->B[CH2:概念模型_ER]
B-->C[基本]
B-->D[扩展]
A-->E[CH3:关系数据模型]
E-->F[数据模型]
E-->G[基本概念]
E-->H[集合关系运算]
E-->I[完整性约束]
A-->J[CH4:E-R到关系模型的转换]
J-->K[基本 E-R 模型的转换]
J-->L[扩展的 E-R 模型的转换]
A-->M[CH5:SQL]

数据库系统中存放三层构造定义的数据库称为数据字典(DD),
对数据库的操作都要由此DD本领实现。
DD系统中还存放数据库运营是的总括音信。
管理DD的种类称为DD系统

* 永恒储存 有集体 可共享
 功能:
  壹.数码定义功效:
   (一)数据定义语言DDL
  2.数额调节效用:
   (二)数据垄断语言DML
   //(三)数据调节语言DCL
  三.数据协会、储存和管理:
   数据协会和仓库储存的骨干目的是拉长存款和储蓄空间利用率和方便存取,提供各类存取方法(如索引查找、hash查找、顺序查找等)来坚实存取效用
  四.数据库事务管理和平运动行处理
  伍.数据库的创造和护卫作用
  6.别的职能
二、概念模型:
 (一)实体:客观存在并可互相区分的东西
 (二)属性:实体所怀有的某一特点
 (三)码:唯一标记实体的质量集
 (四)实体型:用实体名及其天性名群集来抽象和描绘的同类实体
 (5)实体集:同壹档案的次序的实业的聚众
 (6)联系:
   实体间的维系
    一)多少个实体型间的关联
    二)八个以上实体型间的沟通
    三)单个实体型内的牵连
     都留存 一对壹联系 1:一 壹对多交流 一:n 多对多联系 m:n
    一般的,把参预联系的实体型的数码称为联系的度。N个实体型间的联系度为N,也称N元联系
 概念模型的一种象征方法:
   E - R模型
    (1)实体型用矩形表示
    (贰)属性用长方形表示,并用无向边将其与相应的实体型连接起来
    (三)联系用口形表示
3、数据模型:
 由数据结构、数据操作和数码的完整性约束原则3片段构成
   数据结构  描述数据库的组合对象以及对象之间的维系
   数据操作  对数据库中种种对象(型)的实例(值)允许实行操作的联谊,包罗操作及有关的操作规则
   数据的完整性约束规范  是一组完整性规则
 
 常用数据模型:
   一.等级次序模型(树)
     优点:
      (壹)数据结构相比清晰轻巧
      (2)档案的次序数据库的询问功能高
      (三)档次数据模型提供了理想的完整性支撑
     缺点:
      (①)现实世界安徽中国广播集团大牵连时非档案的次序的
      (二)对插入和删除操作的范围比较多
      (3)查询子女节点必须透过家长结点
      (四)档期的顺序命令趋于程序化*

数据库情势

  • 三级格局 [用户形式->概念方式->内格局->物理数据库]
    • 外/用户形式 用户通过外形式操作数据库中的数据,二个运用对应3个外格局 [用户视图]
    • 内模式 叙述数据物理构造和仓库储存格局,八个数据库唯有三个内情势 [里面视图]
    • 概念/逻辑形式 叙述数据库的逻辑结构,三个数据库只有二个概念方式 [DBA视图]
  • 多个等级
    • 用户级->用户情势 [多视图]
    • 概念级->概念格局 [一个DBA视图]
    • 物理级->内模式 [三个里边视图]
  • 两级映射
    • 逻辑独立性外形式/概念情势映射
    • 大要独立性概念方式/内情势映射
    • 落到实处难度:逻辑独立性 > 物理独立性

遵照老师的PPT整理,多谢黄老师,极其感激AlvinZH的重新整建,本整理的部分内容由AlvinZH辉哥的整治扩展而来,配套教材《数据库系统概论(第陆版)》(王珊编慕与著述),全体SQL相关内容均使用SQL Server现行规范,尚不完整,有空会重新排版o(╥﹏╥)o接待指正!

ER模型

  • 实体
  • 个性(实体的性情)
  • 域(属性的取值范围)
  • 候选码(唯一标志实体的性质或纤维属性组)必须选三个做主码

DBMS

   贰.网状模型(图)
     优点:
      (一)能够更直接地叙述现实世界
      (2)具备天时地利的习性,存取功能高
     缺点:
      (一)结构复杂,随着应用情状的扩张,数据库的协会变得愈加复杂,不便利最后   用户掌握控制
      (2)网状模型的DDL DML复杂,并且要放权壹门高档语言中,用户正确调控,不容 易使用
      (三)记录间的联系是经过存取路线达成的,应用程序在走访数据的时候必须挑选适   当的囤积路线,因而用户必须掌握系统结构的细节,加重了编写制定应用程序的承受
    档案的次序模型和网状模型统称为格式化模型
   
   三.关系模型(表)
    数据模型:
      关系:1个关系对应一张表
      元组:表中的壹作为2个元组
      属性:表中的一名列二本性质
      码:也称码建,表中的某些属性组
      域:一种具备一样数据类型的值的汇聚
      分量:元组中的一个天性的值
    对关乎的叙说相似代表为:
      关系名(属性1,属性2,...,属性n)
     关系模型供给涉嫌必须是规范化的,关系的每3个份量必须是1个不可分的数目项
    完整性规则:
       实体完整性 主属性不可能为空
       参照完整性
       用户定义完整性    

数据模型

  • 关联模型分类
    • 概念数据模型 (实体关系[E-R]模型)
      • 数据库设计
    • 核心数据模型 (结构数据模型)
      • DBMS实现
  • 着力数据模型
    • 三要素:数据结构数据操作完整性约束
    • 层次模型 树形结构,指针达成,一:n
    • 网状模型 有向图结构,m:n
    • 波及模型 报表结构,严苛数据概念
    • 面向对象模型
  • 涉嫌模型
    • 域 D 1组具备同样数据类型的值集结
      • 同三个域只怕对应三个列,比方 name、desc 都以 varchar 域
      • 每列的名字 叫做属性
    • 笛Carl积
      • D1 X D2 X ..., Dn= {(d1, d2 ..., dn) | dj∈Dj, j=1,2...,n}
      • (d1, d2 ..., dn) 叫做元组(行)
      • 元组中的每3个d叫做分量
    • 关系
      • D壹 X D二 X ..., Dn 的子集叫做在域上的涉及,用宝马X5(D①, D二 ..., Dn)表示,奔驰M级是关联合具名n是关系的目或许度
      • 关系是贰个2维表,列上的名字称为 属性
      • 属性能唯一标志二个元组,称候选码,假如有多少个候选码,选1个看作主键(构成主键的习性称为主属性)
      • 不无属性都以候选码,称为全码
      • 类型
        • 基本关系(基本表) 实表,实际存款和储蓄数据的逻辑表示
        • 查询表 查询结果回到的表
        • 视图表 虚表,不对应实际存款和储蓄数据
    • 五元组 R(U, D, DOM, F)
      • U 是属性名集结
      • D 是U中质量来自的域,DOM 是U->D的投射
      • F 是性质之间数据的依赖关系
      • 福特Explorer(A1, A2 ..., An) CRUISER 是涉嫌名,Ax是属性名
  • 提到格局 是型(静态的),关系 是值(动态的)
  • 标准化理论
    • 函数重视
      • 全然依赖 X->Y成立,但是X'->Y不成立,那么Y完全依据于X
      • 一部分注重 X->Y成立,但是X'->Y成立,那么Y部分依赖于X
      • 传送正视 X->Y成立,Y->X不成立,Y->Z成立,那么 Z传递重视于X
      • 演绎规则
        1)自反率 若Y⊆X⊆U,则X->Y在R上成立
        2)增广律 若X->Y在R上成立,Z⊆U,则XZ->YZ在R上成立
        3)传递律 若X->Y,Y->Z在R上成立,则X->Z在R上成立
        演绎规则:
        1)合并规则 若X->Y,X->Z在R上成立,则X->YZ在R上成立
        2)伪传递规则 若X->Y在R上成立,Z⊆Y,则X->Z在R上成立
        3)释疑规则 若X->Y,WY->Z在R上成立,则WX->Z在R上成立
    • 在CRUISER(U,F)中 F包涵的函数正视叫做F的闭包=F
    • 相当小/最小函数倚重
      • 只有八个特性
      • 不存在二个函数依赖X->A,使得F与F-{X-A}等价
      • 不存在3个X->A的真子集Z使得F-{X-A} V {Z->A} 与F等价
  • 范式
    • 第二范式 壹NF 全数属性不可再分,原子性
    • 其次范式 二NF 全部非主属性完全重视于候选键
    • 其叁范式 3NF 全体非主属性都不传递依赖于候选键
    • BCNF范式 关系卡宴是一NF,且持有属性都不传递正视于宝马7系的候选键
  • 关系形式分解
    • 无损连接分解 R1∩R2=R1-R2 或者 R1∩R2=R2-R1
      • 分解后是否保持函数正视性
    • 有损连接分解

引入

基本E-R模型

是指数据库系统中对数码进行管理的软件系统,它是数据库系统
的宗旨组成都部队分。对DB的满贯操作,包含定义、查询、更新及调节,
皆以经过DBMS进行的。

   //面向对象数据模型(对象)
   //对象关周到据模型
   //半结构化数据模型
  
四、数据库系统的三级格局二级印象成效
   型:对某壹数指标结商谈性质的注明
   值:型的一个实际赋值
  方式仅涉及型的叙说,是数据库中1切数据的逻辑结商谈脾性的描述
  形式的一个具体值称为情势的二个实例,方式是相对牢固性的,实例是周旋变动的
 三级格局结构:
   1.模式
    数据库中整整数据的逻辑结交涉特征的叙述,是负有用户的公共数据视图
   2.外模式
    也称子情势恐怕用户方式,它是数据库用户可以看见和动用的1对数据的逻辑结构和特色的叙述,是数据库用户的数量视图,是与某一运用有关的数目标逻辑表示。
   3.内模式
    也称存款和储蓄方式,五个数据库只有四个内形式。是数码物理结商谈积攒情势的叙说,是多少在数据库内部的团协会措施。
 二级印象成效:
   一.外形式/方式影像
    数据的逻辑独立性
   二.内情势/格局影像
    数据的大意独立性

数据操作

  • 询问和革新
  • 集结运算 (交,并,差,笛卡尔)
  • 波及运算
    • 投影(select 指定列)
    • 选择(where)
    • **连接(笛卡尔) **
      • 等值连接
      • 当然连接[A,B群集属性值相等的行并且保留壹份属性,自由属性保留]
    • 外链接
      • left join
      • right join
      • inner join

澳门新萄京官方网站 1

C2A64584-9385-4120-960E-A542E8FED7E4.png

  • 元组演算

澳门新萄京官方网站 2

5491A47E-A5A7-4BF2-8047-8371C894D32A.png

  • 数据库访问接口(互连网透明性[支撑各样互连网项目]、服务器透明性[统一SQL]、语言透明性[任何编写翻译语言])
    • 专项使用接口 速度快,不通用
    • ODBC
      • 构成
        • 应用程序、驱动程序处理器、驱动程序、数据源
      • 级别
        • 核心级,扩展1级、扩展2级
    • JDBC

数码、数据库、数据库管理系列、数据库系统

数据:

叙述事务的号子记录,有数据类型和多少的值,必要有语义来证明,数据操作首要有数量处理(数据库)、数据管理(程序)、数据传输(网络)

元数据(格局),大概不改变,在设定时定义

数据是数据库的实例,日常改造

数据库DB:

短时间储存在微型Computer内、有组织、可共享的雅量数码的成团。数据依照一定的数据模型协会、描述和仓库储存,具有相当的小的冗余度、较高的数量独立性、易扩充性

安全、方便、高效

数据库管理种类DBMS:

计算机的根基软件

数据库系统DBS:

由数据库、数据库管理体系、应用程序、数据库管理员组成的囤积、管理、管理和珍视数据的系列。

 澳门新萄京官方网站 3

 

扩展E-R模型

  • 临场约束
    • 实业加入联系的小不点儿最大次数
    • 全参预约束:实体集的每一个要素都到会联系
  • 弱实体
    • 强实体和弱实体必须一对多
    • 弱实体必须全插足
  • 类层次ISA(泛化)
  • 聚合
    • 牵连描述的是实业与实体之间的涉及
    • 若是联系插足联系
    • 把联系看作关系和实体的组合
    • 关联和实业的咬合作为贰个实体就称为聚合

DBMS的要紧意义

伍、关系模型3要素:数据结构 操作集结 完整性约束
 域
 笛卡儿积
 关系:D1*D2*D3*...*Dn的子集叫做在域D一, D二..., Dn, 上的涉及,表示为奇骏(D壹,D2,...,Dn),奇骏表示关系的名字,n是关系的目或度(属性的个数)
   n=1时,称单元/目关系
   n=2时,称二元/目关系
  关系是张二维表,每行代表3个元组,每列代表3个域。n目关系必有n个天性
  若关系中某些属性组能唯1地方统一规范识1个元组,而其子集无法,则称该属性组为候选码
  若贰个提到有多个候选码,则选定个中1个为主码
  候选码中的诸属性称为主属性。不带有在别的候选码中的属性称为非主属性或非码属性
 属性 候选码 主码

数据库调整效果

  • 事务不得再分逻辑专门的职业单位,要么都做,要么都不做
    • BEGIN TRANSACTION,COMMIIT,ROLLBACK
  • 关系型数据库 ACID 四特性:
    • 原子性(Atomicity)
    • 一致性(Consistency)
    • 隔离线(Isolation)
    • 持久性(Durability)
  • 并发调整
    • 问题
      • 不见更新 -> T1,T二并行修改,有贰个被掩盖
      • 不一样等深入分析(读过时数据,不可重复读) T壹读数据后打开操作的中等,T二读取后并修改了数额,T一做校验时开采前后不均等
      • 依傍于未提交更新数据(读脏数据) T一交付后,T2读取,那时候T1回滚数据,T二未有被通告到,依然用旧手
    • 缓和格局是 加锁
      • S锁(share共享锁/读锁)
      • X锁(排他锁)
    • 封锁协议
      • 一段封锁协议 化解丢失更新,修改时加X锁
      • 2段封锁协议 化解丢失更新,化解不等同深入分析/不可重复读,读时加S锁,读完就自由,再做业务操作
      • 三段封锁协议 杀鸡取蛋丢失更新,化解不一致深入分析/不可重复读,读脏数据 读时加S锁,直到专门的学业完结,才刑释S锁
      • 两段锁协议
        • 会出现死锁难题
    • 封锁粒度(属性集(列锁),元组(行锁),关系(表锁),索引项,数据库,物理页/块...)
      • 粒度越细,并发越高,成本越大
      • 粒度越粗,并发越小,花费越小
    • 死锁
  • 备份与回复
    • 数据库故障分类
      • 专门的学行业内部部故障
      • 系统范围内故障
      • 介质故障
      • Computer病毒
    • 化解花招
      • 数据备份(数据转存[磁带/存款和储蓄备份])
        • 静态备份 -> 必须停服务,下跌可用性
        • 动态备份 -> 相当的小概保障数据正确性
        • 增量备份
        • 全量备份
      • 日志文件
        • 先写日记原则,重播了装有对数据库的操作
        • 重做(redo)日志
      • 数据苏醒
        • 不等故障的解决花招差别
        • 重放日志
  • 数据库安全性
    • DBMS提供的用户地方识别,视图,权限调节,审计
    • 系统采纳提供
    • 用户认证
      • 密码口令
      • 强地点声明(用户证书,智能卡,用户指纹等...)
    • 用户剧中人物 (superadmin,DBA,普通用户)
    • 数量授权
      • 数据库品级、表级、属性级、行级
      • 存取调节两尺度:
        • 隔离原则 用户只好操作本人的剧中人物/用户分配到权力的数量
        • 调整标准 用户只好以被分配到的法子去操作数据
        • 静态(默认)/动态(手动) 授权
    • 多少视图 虚拟表,访问数据不拥有独立对象存款和储蓄
    • 审计 尔后督察,记录用户的拜会行为和系统状态
      • 跟踪 区别于审计,更近乎于一颦一笑剖析和连串调节和测试,不会记录
      • 用户审计 由DBMS审计系统记录至日志文件
      • 系统审计 由DBA实践,内容重视是系统命令及数据库使用状态
  • 数据库完整性
    • 完整性约束
      • 静态约束 语法、语义限制和数目间的逻辑约束
      • 动态约束 动态列级约束,动态元组(行)约束,动态关系(表)约束
    • 完整性控制
      • 实业完整性 主码不为空
      • 参照他事他说加以考察完整性 外码不为空
        • 删除
          • 级联删除
          • 受限删除
          • 置空删除
      • 用户定义完整性
      • 触发器(除了担保完整性,还打包票安全性
  • 数据库品质
    • SQL质量优化
    • 数据库品质优化
      • 监督种类目标
      • 调动参数
      • 盯住参数及结果,是或不是吻合预期
    • 询问优化

多少管理技术升高

人工管理阶段

数码尚未直接存取设备,存在纸带上;

应用程序管理数据;

数码不共享,不有所独立性(数据变动后应用程序也亟须改造);

文件系统阶段

多少存在文件里,数据足以一劳永逸保留;

接纳操作系统的IO接口访问数据;

文件系统管理数据;

有加速数据访问的章程;

中低等的多寡独立性;

数码共享性差,冗余度大;

各样应用供给程序员从头开头设计本身的文件格式和描述;

澳门新萄京官方网站 4

 

数据库系统阶段

重中之重优势:

数量共享;

数据冗余少;

多少独立性好;

方便的程序接口;

快捷数据访问;

数据完整性和数目安全;

出现管理

 

特点:

壹.数额结构化,全体数据结构化,是数据库的首要特点之一,也是和文件系统的本质不同

二.多中国少年共产党享度高、冗余度低且易扩大,数据共享能够削减数量冗余,防止数据里面包车型大巴不壹致性和不相容性

三.数码独立性高,物理独立性指应用程序和数据库中多少的概况存款和储蓄互相独立,逻辑独立性指应用程序和数据库的逻辑结构互相独立,逻辑结构修改时应用程序能够不改变

四.数额由数据库管理种类集结保管和调整,有数据安全性爱慕,数据完整性检查

 

隔绝并发访问,阻止产生脏数据的修改

 

数据库结构受底层Computer种类的熏陶

 

关周全据模型

  • DDL
  • DML
  • 数据库爱惜作用:五个数据调整子系统
  • 数据库的护卫效能:各种实用程序构成
  • 数量字典:DD子系统

6、关系代数:
  
  并 :R U S = {t|t∈R V t∈S}
  交 :R - S = {t|t∈R^t∈S }
  差 :R - S = {t|t∈R^t!∈S}
  广义笛卡儿积:RAV4*S = {tr ts|tr∈R^ts∈S}
  特地的涉及运算:
   选拔 :在论及中华V中甄选满足给定标准的元组
   投影 :从卡宴中接纳出多少属性列组成新的关系
   连接:从八个关系的笛卡儿积中选用属性间的满意一定标准的元组
    等值连接:从涉嫌Qashqai与S的广义笛卡儿积中选择A、B属性值相等的那一个元组
    自然连接:壹种新鲜的等值连接
    自然链接时被甩掉的元组称为悬浮元组,假诺把悬浮元组也保留在结果关系中,而在其他品质上填空值,那么这种连接就叫做外连接。  如若只保留右臂关系PRADO中的悬浮元组就叫做左连接,  假使只保留左边境海关系S中的悬浮元组就叫做右外连接
   除运算:设关系景逸SUV除以关系S的结果为涉及T,则T中带有全体在揽胜极光但不在S中的属性及其值,且T的元组与S的元组的享有结路易港在Lacrosse中

数据库设计及建模

  • 数据库设计
    • 铺排 -> 需要解析 -> 概念设计 -> 逻辑设计 -> 物理设计 -> y应用程序设计 -> 运营保险
  • 实体育联合会系模型(E-奥迪Q3图)
    • 重申的是语义
    • 实体(正方形) - 属性(椭圆) - 联系概念上
    • 贰个实体E-Evoque图能够拆分成八个子系统E-奇骏图
      • 冲突:性情争辨、命名冲突、结构争论
      • 冗余:根据数据字典多少流图解除冗余

数据模型

数据模型:对切实世界数据特征的空洞。是数据库系统的骨干和根基。数据模型多少个结合要素:数据结构(最重大的上边)、数据操作、数据的完整性约束原则。

三层抽象(由表及里)

概念模型:用于数据库设计,最盛行的是E-LAND模型。(P1六-一七基本概念:实体、属性、码、实体类型、实体集、联系);

逻辑模型:用于数据库管理连串的贯彻;等级次序模型(最早出现的数据模型)、网状模型、关系模型等;

轮廓模型:对数据最尾巴部分的肤浅,描述数据表示方式和存取方法。

 

布满数据模型:

等级次序模型

网状模型

关系模型

面向对象数据模型

指标关周全据模型

半结构化数据模型

 

等级次序模型和网状模型统称为格式化模型

宗旨等级次序联系是指八个记录以及她们之间的1对多(包罗壹对1)的联络

 

档期的顺序模型:

选取树形结构

数据库中定义满足条件的大旨档案的次序联系的联谊:

一.有且唯有2个结点没有大人结点,那一个结点称为根结点;

2.根以外的别样结点有且唯有叁个老人家结点。

除去双亲结点会把子结点同期删除

优点:

一.数据结构简单清晰

二.询问效能高(优于关周密据库,不低于网状数据库)

3.提供了完美无缺的完整性扶助

缺点:

一.现实海南中国广播公司大关联是非档次性的,不适用

二.对插入和删除限制较多,应用程序编写较为复杂

三.询问子女结点必须通过家长结点

肆.结构严密,等级次序命令趋于程序化

崛起亮点是一对多档案的次序联系的单位描述自然直观

 

网状模型

数据库中定义知足条件的中坚等级次序联系的聚焦:

壹.同意2个以上的结点无大人;

2.一个结点能够有多于一个的爹娘。

优点:

一.更是直白地讲述现实世界

二.存取效能高

缺点:

壹.结构复杂,不便宜用户通晓

2.DDL、DML复杂,要放手一种高端语言,用户不便于驾驭,不易于选用

三.访问数据时务必适度选用路线,用户必须理解系统结构的底细,加重担负

 

论及模型

优点:

一.手无寸铁在严格的数学概念的基本功上

二.概念单一,数据结构轻松清晰,易于使用

叁.存取路子对用户透明,有越来越高的数码独立性,更加好的安全保密性

数据模型

DBS的组成

柒、SQL概述及言语
  *集数据定义语言DDL:create drop alter 数据操纵语言DML:update delete insert 数据调整语言DCL : grant revoke 于1体
  *可观非进度化
  *面向集结的操作情势
  *以同样种语法结构提供三种采纳办法:能独立用于共同交互,是嵌入式语言
 壹.格局的定义和删除:
   create schema<模式名>authorization<用户名>
  用户能够在成立形式的还要在那几个情势中尤为创建基本表、视图,定义授权等
   drop schema<模式名><cascade|restrict>
  其中cascade和restrict两个必选其一。选拔cascade(级联),表示在剔除格局的同一时候把该形式中的数据库对象全体去除。选拔了restric(限制),表示只要该情势中早已定义了下属的数据库对象(如表、视图等),则不容该删除语句的实行。
 2.表的概念、删除及修改
  create table<表名>(<列名><数据类型>[列级完整性约束标准]
       [, <列名><数据类型>[列级完整性约束原则]]
       [, <列名><数据类型>[列级完整性约束标准]]
       ...
       [, <列名><数据类型>[列级完整性约束原则]])
   格局与表:
    要在S - T中定义表
     1.create table "S-T".student(...)
     二.在开立方式时就创造表
     3.装置所属模式,当用户创制基本表时若未有一点超级模特式,系统基于查找路径来规定该目的所属形式
     show search_path 显示当前的查找路径
     set search_path to "S_T",public  设置寻觅路线
  alter table<表名>
  [add[column]<新列名><数据类型>[一体化约束性]]
  [add<表级完整性约束性>]
  [drop[column]<列名>[cascade|restrict]]
  [drop constraint<完整性约束名>[restrict|cascade]]
  [alter column<列名><数据类型>]

布满式数据库系统

  • 特征
    • 独立性
    • 汇聚与自治共享结合的数据结构
    • 适合扩大数据冗余
  • 目标
    • 适应机关组织,下跌资费
    • 充裕利用财富
    • 巩固可信赖性和可用性
  • 仓库储存方案
    • 集中式、分割式、全复制、混合式
  • 数量分片
    • 水平分片、垂直分片、混合分片
  • 组合结构:大局外方式 -> 全局概念方式 -> 分片方式 -> 布满式
  • 分布式数据库管理种类
    • LDBMS 局部DBMS
    • GDBMS 全局DBMS
    • 大局数据字典
    • 通信管理

ER模型

实业(Entity):客观存在并可交互区分的东西

本性(Attribute):实体所具备的某壹风味称为属性

键(Key):唯壹标记实体的属性集

实体型(entity type):用实体名及其性质名集合来抽象和描绘同类实体

实业集(entity set):同1种类实体的集结

关联(relationship):分化实体集直接的联络,有一定,1对多,多对多的连串

 

再而叁串关系要转变到几个二元关系

 澳门新萄京官方网站 5

 

数以万计关系的箭头:

 澳门新萄京官方网站 6

 

角色:

一旦多元关系中二个实体集被用到了四遍,能够由此剧中人物来分别,如下:

 澳门新萄京官方网站 7

 

一元关系的一对1:

 澳门新萄京官方网站 8

 

多对一:

 澳门新萄京官方网站 9

 

多对多:

 澳门新萄京官方网站 10

 

数据模型三要素:

  • 数据结构
    • 所商量对象类型的集合
  • 数码操作
    • 检索、更新
  • 数量约束标准
    • 完整性规则的成团
  • 数据库
  • 硬件
  • 软件
  • 数据库管理员

  drop table<表名>[restrict|cascade]
   若选用restrict,则该表的去除是有限量条件的,欲删除的表不能够被别的表的束缚所引述(如check,foreign key等约束),无法有视图、触发器、存款和储蓄进程等。
   若采纳cascade,则该表的去除未有限定条件。在删除表的同期,相关的借助对象都将被一齐删除
   默认restrict
 三.索引的确立和删除
  当表的数据量相当的大时,查询操作会相比耗费时间,营造目录时加速查询速度的灵光手法。
  create[unique][cluster]index<索引名>
   on <表名>(<列名>[<次序>][,<列名>[<次序>]]...)
   unique注明此索引的每2个索引值只对应唯一的多寡记录
   cluster表示要确立的目录时聚簇索引 聚簇:为了抓牢某些属性的查询速度,把那几个或这几个属性上存有的一样值的元组集中存放在连年的物理块中称之为聚簇。
  alter index<旧索引名>rename to<新索引名>
  drop index<索引名>
 4.数据查询
  select[all | distinct]<指标表达式>[,<指标表明式>]...
  from<表名或视图名>[, <表名或视图名>...] | (select 语句)[as]<别名>
  [where<条件表明式>]
  [group by<列名1>[having<条件表明式>]]
  [order by<列名2>[asc|desc]]
  常用查询条件:
   =,>,<,>=,<=,!=,<>,!>,!<,not 上述比较运算符
    select * from student where sage<20
   between and, not between and
    select * from student where sage (not) between 20 and 23
   in,ont in
    select * from student where sdept (not) in('CS','MA','IS')
   is null,is not null
   and,or,not
   like
   [not]like'<匹配串>'[escape'<换码字符>']
    select * from course where cmane like 'DB_Design' escape''
   escape''表示""为换码字符,那样匹配串中紧跟在""后的字符"_"不再具有通配符的意义
    select * from student where sname like'刘%'
  通配符:
    % (百分号)代表私自长度(可为0)的字符串。a%b表示以a初叶以b结尾的字符串
    _(下横线)代表专断单个字符。a_b表示以a早先,以b结尾长度为叁的字符串
  聚焦函数
    count(*) 总括元组个数
    count([distinct|all]<列名>)  总括1列中值的个数
    sum([distinct | all]<列名>)  计算壹列值得总和(此列必须是数值型)
    avg([distinct | all]<列名>)  计算1列值的平均值(此列必须是数值型)
    max([distinct | all]<列名>)  求一列中的最大值
    min([distinct | all]<列名>)  求1列中的最小值
      假设制定distinct短语,则表示在企图时要撤销费物价指数定列中的重复值。默以为all
     select count(*) from student
     select count(distinct sno) from sc
     select avg(grade) from sc where cno = '1'
     select sum(grade) from sc, course where sno = '201215012' and sc.cno=course.cno
    当聚类函数际遇空值时,除count(*)外,都只跳过空值而只管理非空值
  连接查询
   等值与非等值连接
    select student.*,sc.* from student,sc where student.sno=sc.sno
   本身连接
    当course表中只有每门课的一向先修课音信,而从未先修课的先修课时,要博得这么些音信将要动用自个儿连接
    select first.cno,second.cpno from course first,course second where first.cpno=second.cno
   外连接
    inner join = join
    仍把悬浮元组保存在结果中
    select * from student left outer join(左外连接) sc on(或using)(student.sno=sc.sno)
    左外连接(LEFT OUTE汉兰达 JOIN或LEFT JOIN)、右外连接(纳瓦拉IGHT OUTE瑞虎JOIN或汉兰达IGHT JOIN) 和全外连接(FULL OUTE奥迪Q伍 JOIN或FULL JOIN)
   多表连接
    select student.sno,sname,cname,grade from student,sc,course where student.sno=sc.sno and sc.cno=sourse.cno
   嵌套查询:
    带有in的子查询
    带有比较运算符的子查询
    带有any或all谓词的子查询
    带有exists谓词的子查询
    (不)相关子查询:子查询条件(不)正视于父查询
    
  集结查询
   群集操作首要不外乎并操作union、交操作intersect、差操作except
  基于派生表的询问
   子查询不止能够现身在where字句中,还足以出现在from字句中,那时子查询生成的近些日子派生表成为主查询的查询对象
   select cno, cno fromsc, (select cno, avg(grade)from sc group by sno)as avg_sc(avg_sno,avg_grade) where sc.sno=avg_sc.avg_sno and sc.grade>=avg_sc.avg_grade
   若是实查询中从未聚集函数,派生表能够不钦命属性,子查询select字句前面包车型客车列名叫其暗中认可属性。通过from字句生成派生表时,as关键字能够大概,但必须为派生关系钦命2个小名
 伍.数据更新
  插入数据
   插入元组
    insert into<表名>[(<属性列1>[, <属性列2>]...)] value(<常量1>[,<常量2>...])
   插入子查询结果
    insert into<表名>[(<属性列1>[, <属性列2>]...)]子查询
  修改数据
   update<表名> set<列名>= <表达式>[, <列名>= <表达式>]...[where<条件>]
   其效劳是修改钦点表中级知识分子足where字句条件的元组,当中set字句给出<表达式>的值用于代替相应的性子列值。要是省略where字句,则意味要修改表中的全数元组
   update student set sage = 22 where sno = '201215121'
   update student set sage=sage 1
  删除数据
   delete from<表名>[where<条件>]
   若省略where则删除表中的总体元组
 陆.空值的管理
  (一)发生:插入元组时,外接连
  (二)空值的论断:用is null或 is not null
  (三)空值约束原则:属性定义中有not null约束原则的不可能取空值,加了unique限制的性子不能够取空值,码属性不能够取空值
  (4)空值的算术运算、比较运算和逻辑运算
   空值与另贰个值的比较结实为unknown,在查询语句中,只有使where和having子句中的选拔标准为true的元组才被选出作为出口结果
 7.视图
  建立:
   create view<视图名>[(<列名>[,<列名>])] as<子查询>[with check option]
   在那之中子查询能够是大四select语句,是不是足以包括order by字句和distinct短语,则在于具类别统的落实
   with check option 代表对视图实行update、insert的delete操作时要确认保证更新、插入和删除的行满意视图定义中的谓词条件(即子查询中的条件表明式)
   组成视图的脾气列名可能全部简练也许全体钦定,未有第二种采用。倘诺轻便了视图的壹一属性列名,则带有该视图由子查询中select字句目的中的诸字段组成,但在下列二种情景下必须分明钦点组成视图的全体列名:
    (一)有些指标不是单独的属性名,而是集中函数或列表达式
    (二)多表连接时选出了多少个同名列作为视图的字段
    (三)供给在视图中为有个别列启用新的更合适的名字
   create view IS_student as select sno, sname, sage from student where sdept = 'IS'
   视图不仅仅能够创建在三个或五个基本表上,也得以建立在三个或几个曾经定义好的视图上或创建在基本表与视图上。若有些视图是从单个表上导出的,并且只是去掉了基本表的有些行和有个别列,但保留了主码,则称那类视图为行列子集视图。
   带虚拟列的视图(帯表明式的视图)、分组视图
  删除:
   drop view<视图名>[cascade]
  查询:
   与表查询类似
  更新:
   (一)由于视图时不实际的积存数据的虚表,因而对此视图的换代最终要更动为对中央表格的更新
   (2)并不是兼具视图都能立异,因为微微视图的翻新不可能唯壹地有含义地转变到相呼应基本表的换代
   (三)一般的,行列子集视图是可更新的。
  视图的机能:
   (一)简化用户操作
   (贰)使用户能以三种角度对待同一数据
   (三)对重构数据库提供了迟早程度的逻辑性
   (4)可以对神秘数据提供安全保险
   (5)适当采纳视图能够更清晰地发挥查询
 ⑧.授权:授予与收回
  授予:
   GRANT <权限>[, <权限>] …[ON <对象类型> <对象名>]
   TO <用户>[, <用户>] …[WITH GRANT OPTION];
    说明:
     WITH GRANT OPTION子句:若钦命了该子句,则赢得某种权力的用户还足以把该权限再给予别的用户;若未有一点名该子句,则赢得某种权力的用户只好选拔该权限,无法传回该权限。
  收回:
   REVOKE <权限>[, <权限>]…[ON <对象类型> <对象名>]
   FROM <用户>[, <用户>] …
 9.嵌入式SQL
  SQL语言提供了三种差异的采取方法
  交互式:作为独立语言在顶峰交互格局下利用,那是面向集结的描述性语言,是非进度性的。
  嵌入式:将SQL语言嵌入到某种高等语言中,利用高档语言的进度性结构实现事务管理。
 10.仓库储存进程
  成立存款和储蓄进程的语法:
   create procedure 存款和储蓄进度名[{@参数名 数据类型}[=default][output]
   [{@参数名 数据类型}[=default][output]
   AS
   Select 语句
  如 CREATE PROCEDURE xs AS select * from student
   
   create procedure student_grade3
   @student_name char(10),
   @course_name char(20) = '数据库原理'
   as
   select sname, cname, grade
   from student s inner join sc on s.sno = sc.sno
   inner join course c on c.cno = sc.cno
     where sname = @student_name
     and cname = @course_name
  执行:
   exec 存款和储蓄进程名
    exec xs
    exec student_grade3 '王五'
    exec student_grade3 @student_name = ‘王五‘, @course_name = ‘数据库原理’
  修改:
   alter procedure 存款和储蓄进度名 as select
  删除:
   drop procedure 存储进度名
 11.触发器
  触发器是一种特其他贮存进程。它与表紧凑相连,首要用于保障数据的完整性。
  语句: create trigger <触发器名> on <表名> for[before|after][instead of][insert | delete | update]
   AS
   SQL语句
   If update 测试insert 和update语句是或不是对点名字段有震慑
   rollback

关系型数据库系统(RubiconDBS)

  • 关系型数据库三要素
    • 数据结构
    • 多少操作
    • 数码约束原则

ER模型(续)

关周密据库发展

模型划分

  1. 网状、等级次序提升模型
  2. 关全面据库
  3. 面向对象数据模型为特征

产品分割

  1. 对关乎模型的援救
  2. 运维意况
  3. 陆风X8DBMS系统一整合合
  4. 对利用的支持

数据库

  触发器的确立必须是批管理中的第一条语句。触发器建设构造好后,由SQL Server系统自动执行。(与索引同样)
  三个表中能够成立很八个触发器。一般壹种操作创立1个。
  删除触发器:
   drop trigger 触发器名
  修改触发器:与建设构造语句同样。
八、关周全据理论(关系典型化理论)
 数据依赖:
  是2个提到之中属性与本性之间的一种约束关系,通过质量间值的非常与否展现出来的数码间相关联系其中最关键的是函数依赖和多值正视
 函数依赖:
  设途胜(U)是性质集U上的关联形式,X, Y 是U的子集,若对于放4r∈汉兰达(U), 任性t, s∈r, t[X] = s[X]--> t[Y] = s[Y]则称“X函数决定Y”, 或“Y函数重视于X”, 记作:X->Y 称X为操纵因素。
  若存在t, s∈r, t[X] = s[X] 但t[Y]!=s[Y],则称“X不函数决定Y”或“Y不函数信赖于X”
  
  平凡/非平凡函数信赖
   如果X->Y,且Y!⊆X,则称X->Y为非平时的函数重视。
   如若X->Y,且Y⊆X,则称X->Y为平日的函数正视。

数据商旅(DataWare豪斯)

  • OLTP(古板关系型数据库)
    • 事件驱动
  • OLAP(数据饭馆)
    • 表决驱动
    • 是核心,多维数据深入分析依据集合
    • 多维度深入分析与跨维度深入分析
      • 钻取 上钻、下钻
      • 剩余维度为2切片,剩余维度是三切块
      • 旋转 队列交流
    • 系统架构
      • 遗闻关系型数据库 ROLAP
        • 事实表(存款和储蓄数据和维关键字)
        • 维度表(存款和储蓄维表音信)
        • 模型:长方形模型*(事实表和维表用主外键关联)白雪模型(多表表示, 圆柱形模型的扩展)*
      • 依靠多维数据库 MOLAP
        • 模型:多变立方体(cube)结构,相持方体举办旋转、切成条、切丝
      • 基于混合数据库 HOLAP
  • BI = 数据客栈(DataWareHouse) 联机解析管理 数据开掘(DataDeep)
  • 特征
    • 面向主旨
    • 集成
    • 相对平静(非易失)
    • 随时间变化
  • 分类
    • 市肆级商旅
    • 多少集市 -> 特定用户店四数指标二个子集
    • 虚拟仓库 -> 视图群集
  • 会集和立方
    • 聚集 对数码的预管理
    • 立方 是集聚的结果组合,超越3时,成为超立方体
  • 数据货仓参照他事他说加以考查框架:数据源、数据准备去、数据仓库服务器、数据集市/知识发掘库、管理应用工具
  • 数据饭店体系布局: 数据源、数据的蕴藏和管理、OLAP服务器、前端工具
  • 数据宾馆营造步骤:规划->必要分析->难题浅析->数据ETL->

约束:

一贯为确实断言

常用约束:键(唯1标志)、单值约束(二个实体只好有贰个某类的质量)、参照完整性约束(引用的数据库中要求存在对应的条规)、域约束(约束某些属性的值的界定)

 

一级键是一组二个或四个天性组成的唯1分明3个实体的键

候选键是微乎其微(未有其真子集可以满意唯1标记)的拔尖键,候选键的3个被选作主键(primary key),主键须求not null

在ERubicon图中用下划线标记

 

从没主键的实体集叫弱实体集,必须借助于强实体集存在,须求和强实体集构成都部队分多的关联(弱实体集为多),有鉴定识别器(部分键)

 澳门新萄京官方网站 11

E-Enclave模型设计规范:一.幸免冗余;2.限制使用弱实体集;三.能看做品质的玩命作为质量。

本性原则:属性无法再有所要求描述的质量and属性无法与其余实体具备联系

 

假使一个实体唯有一个性质,那这些实体能够应用品质替代

 

尽心竭力不用弱实体集,使用弱实体集平时的原故是未曾可以创建唯一ID的大局权限(全数的弱实体集的属性不可能再度,譬如在世界上全部的足球队中装置特殊的球员号码)。

 

基本概念

  • 基本概念
    • 域(类型同样元素集合)
    • 笛卡儿积( × )
    • 元组:一组成分
    • 净重:元组中的2个值
    • 基数:成分个数
  • 关系: D一XD2X…Dn的子集叫做在域D一, D2, …, Dn上的关系
    • 表示为R(D1, D2, …, Dn)
    • 提到的目或度:n
    • 单元关系: n=1
    • 二元关系: n=2
    • 事关是八个二维表(子集)
  • 候选码:能够唯一标志二个元组的蝇头属性组
  • 主码:内定三个候选码作为主码
  • 主属性:候选码中的属性
  • 非码属性:不分包在别的候选码中的属性
  • 波及的习性
    • 分化的列能够出自同贰个域
  • 关系情势:关系的描述
    • 格局化表示:福特Explorer(U, D, dom, F),简记为Highlander(U)或PAJERO (A1, A二, …, An)
    • 事关格局是型,关系是值

方方面面数额的集聚。DB分为两类,壹类是采取数据集结,称为物理数据库,
它是数据库的主体;另壹类是各级数据结构的叙述,称为描述数据库,由DD系统管理。

  完全/部分函数注重
   要是X->Y,对于大肆X的真子集X′,都有X'!->Y ,
   则称Y对X完全函数信赖,记作X f-> Y
   假如X->Y,存在X的真子集X′,使得X'->Y ,
   则称Y对X局地函数正视,记作X p-> Y

数量发现

波及模型

最根本的数据模型

 

EMurano模型和关联模型对照:

E帕杰罗模型有大多定义,实体、属性、关系等,关系模型唯有二个定义:关系

E福睿斯模型不符合Computer达成,关系模型适合高效操作Computer

关联实例:

澳门新萄京官方网站 12

 

各样属性的允许的值称为域(domain)

 

会集关系运算

软件

  传递函数重视
   在R(U)中, 如果X->Y, (Y!⊆X), Y!->X, Y->Z, 则称Z对X传递函数信赖
 码:
  候选码:设K为Escort< U, F >的属性或属性组,若K f-> U,则称K为PRADO的候选码
  主码:若R(U, F)有五个候选码,则能够从中选定1个用作奥迪Q5的主码
  主属性:包蕴在每二个候选码中的属性
  非主属性:不分包在其它候选码中的属性
  全码:关系形式的码由整个属性组构成

格局和实例

格局(schema):型的叙述,不涉及具体的值;

实例(instance):格局的三个现实的值。

 

提到情势:关系的讲述,Kuga(U,D,DOM,F)

LX570为涉及名,U为组合该关系的属性名集合,D为U中品质来自的域,DOM为属性向域的印象集结,F为属性间数据的信赖性关系集合

 

提到形式是型,关系是值

贰个涉嫌的形式:3个提到名,若干部家属性名

叁个数据库的方式:若干个关系的格局

 

对数码的退换很频仍,而对形式的转移没有多少见,所以方式是绵绵稳定的

 

晤面运算

  • -
  • 广义笛Carl积:四个分别为n和m目标涉及ENVISION和S的广义笛卡尔积是多少个n m列的元组的集结。若大切诺基有k一个元组,S有k1个元组,则广义笛Carl积有k壹×k3个元组

包罗DBMS、OS、各类主语言和采纳开辟扶助软件等次第。

 范式:
  关周到据库中的关系是要满意一定供给的,满意分化水平供给的为不一致范式。
   一NF 第一范式 (满意最低须求的)属性不可再分
   2NF 第三范式 酷路泽∈壹NF 且非主属性完全信赖于码
   3NF 第一范式 非主属性既不有的也不传递信赖于码
   BCNF 经常被以为是修正的第三范式,一时也称之为扩张的第3范式 每1个决定性的因素都包括码
   在函数信赖的框框内,bcnf到达了最高的标准化水平。
  多值依赖:
   设昂科威(U)是性质集U上的三个涉及形式。X,Y,Z是U的子集,并且Z = U - X - Y。对给定的1对(x,z)值有一组Y的值,那组值仅仅决定于x值而与z值毫无干系,关系格局Evoque(U)中多值正视X->->Y创建。称Y多值注重于X
  多值依赖与函数注重的界别:
  (1)多值依赖是元组产生注重性,函数正视是特别爆发重视。
  (贰)多值重视的立竿见影与属性集的范围关于,而函数正视的卓有效能则与属性集的限制非亲非故。
   第四范式:关系情势RAV4<U, F>∈一NF, 若对于每二个是非经常的多值信赖x->->y,x都蕴涵码,则称猎豹CS陆∈4NF。
   任何2个贰目关系都能达到第伍范式。在多值重视的层面内,第5范式到达了参天的标准化水平。
   全部都以主属性的涉及方式迟早能够完毕第一范式,然则不断定达到bc范式。
   全码一定可以达到规定的标准bc范式
 标准化:1个低拔尖范式的关系格局通过方式分解能够转换为多少个高超级范式的涉及形式的成团,这种经过就叫标准化
 逻辑包括:关系形式福特Explorer,F是其函数依赖,X,Y是其属性格集,借使从F的函数依赖能够出产XY,则称F逻辑包蕴XY。
 闭包:被F所逻辑包涵的函数注重的凡事所组成的集结称作F的闭包,记作F
 自反律:若Y⊆X⊆U,则X->Y为F所蕴含。
 增广律:若X->Y为F所蕴含,Z⊆U,则XZ->YZ为F所蕴含。
 传递律:若X->Y及Y->Z为F所蕴含,则X->Z为F所蕴含。

笛Carl积

给定壹组域D1,D贰,…,Dn(它们得以有一致的要素,即能够完全两样,也足以部分或任何坚贞不屈)。D1,D二,…,Dn的笛Carl积为

D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}。

由定义能够见见,笛Carl积也是1个集中。

其中:

  1. 要素中的每3个di叫做二个分量(Component),来自相应的域(di∈Di)

2. 每五个因素(d1,d二,d三,…,dn)叫做三个n元组(n-tuple),简称元组(Tuple)。但元组不是di的集纳,元组的各类分量(di)是按序排列的。如:

(1,2,3)≠(2,3,1)≠(1,3,2);

而集结中的成分是不曾排序次序的,如(1,二,三)=(二,三,1)=(1,三,二)。

 

涉嫌的数学概念:

涉及是笛Carl积的子集,具备有限的元组

关系:D1*D2*…Dn的子集就要在D一、D2…Dn上的关系。

候选码:属性组能唯一标记贰个元组,而其子集不能够。

主码:三个候选码,选定三个为主码

主属性:各类候选码的天性

非主属性:不带有在其余候选码中的属性

全码:全部属性是以此涉及格局的候选码

 

极其的关联运算

  • 挑选运算:在事关Rubicon中甄选知足给定标准的元组,记作:σF(兰德Rubicon)={ t | t∈昂科雷 F (t)=真 }
  • 黑影运算:是从关系ENCORE中选出若干部家属性列组成新的涉及,记作: πA(奇骏)={ t[A] | tR}
  • 连接运算:是从三个关系的笛卡尔积中采取属性间满意一定标准的元组,称为连接
  • 延续 = 采用运算 迪卡尔积运算
  • 当A、B为同样的属性组时,为理之当然连接
  • 象集
    • 给定关系Haval(X, Y)和S(Y,Z),在那之中X,Y,Z为属性组。中华V中的Y和S中的Y能够有例外的名字,但必须取自同八个域

    • R与S除得到2个新关系P(X),P是讴歌ZDX中满足下列原则的元组在X属性列上的影子

    • 元组在X分量值x的象集Yx==包含==S在Y上投影的汇聚

    • 参谋柳婼的表达

DBA数据库管理员

 形式分解:
  关系格局中华V<U, F>的二个疏解是指ρ= { 大切诺基①<U一, F一>, 福睿斯二<U二, F二>, …, HummerH二n<Un, Fn> },当中U = U一UU二U…UUn ,并且未有Ui⊆Uj ,一≤i,j ≤n, Fi是F在Ui上的黑影。
  要求:
   分解前后方式要对等
   等价标准:
    (一)分解要具备无损连接性
    (二)分解要保全函数正视
    (三)分解既要保持函数注重又要负有无损连接性
  无损分解    交集能决定差集
  保持函数依赖的解释  并集的闭包和原先的相等 未有丢失函数依赖
补充:
 1.使用top的查询
  只取前面几个只怕部分结果
  格式 :
   TOP n[percent] with ties
    N 为非负的莫西干发型
    TOP n : 表示取查询结果的前n行;
   Select TOP 3 sname, sdept from student order by sage desc
   Select TOP 三 with ties sname, sdept from student order by sage desc  存在并列
   TOP n percent : 表示取查询结果的前n%行
    With ties 展现并例的结果
    TOP写在select或然distinct后面, 查询列表的前边
   用了with ties 需要order by
   不用order获得的结果或者与梦想的不等。

提到的特点:

壹.分歧意有全部值完全同样的元组

二.关系是冬季的(元组的逐条是不相干的,能够按私自顺序存款和储蓄,属性的顺序也是不相干的)

三.同一属性名下的逐条属性值必须来自同3个域,是千篇一律类型数据

四.逐项属性名无法因循传统

5.两样的性质能够有同样的域

六.属性的值必须是原子的,不可再分(反例如中华夏族民共和国式报表,大表头包蕴几个小表头)

 

换名操作

ρ(R(F), E)

  • E:关系表明式
  • F拔是E中另行的成分名字被重命名
  • R:新关系
  • 概念格局
  • 概念内形式
  • 与用户联络
  • 概念安全性规则
  • 概念完整性规则
  • 数据库的转存与还原专业

 2.将查询结果保存到新表
  语法格式:
   Select 查询表体系 into 新表名
    from 数据源 where[<条件>]…..
   新表有贰类 :
      一)永远的表, 起二个表名就足以了;
      二)局地一时表:表名前加#,当前接连可用,生存期为日前连接的生活期.
       全局临时表:表名前加##,全数连接都可用.生存期为当下连连的生活期.
  3.视图定义后,用户能够象对基本表同样对视图实行查询。DBMS落成视图查询时,首先进行实用检查,检查所查询的表、视图是或不是存在。若存在,则从数额字典中抽出视图的定义,把定义中的子查询和用户的询问结合起来,调换到等价的对基本表的询问,然后再进行革新了的询问。那壹转换进度称为视图消解(View Resolution)。
  肆.形似DBMS对视图更新的限定:
  (1) 若视图是由四个以上基本表导出的,则此视图分裂意更新。
  (贰)若视图的字段来自字段表明式或常数,则不允许对此视图实行INSERT和UPDATE操作,但允许执行DELETE操作。
  (三)若视图的字段来自集函数,则此视图不允许更新。
  (四)若视图定义中富含GROUP BY子句,则此视图不允许更新。
  (伍)若视图定义中包含DISTINCT短语,则此视图不容许更新。
  (陆)一个不允许更新的视图上定义的视图也不容许更新。
  (柒)若视图定义中有嵌套查询,并且内层查询的FROM子句中涉及的表也是导出该视图的基本表,则此视图区别意更新。
 五.八个有效的演绎规则:
  合并规则:由X->Y, X->Z, 有X->YZ。
  伪传递规则:由X->Y, WY->Z, 有XW->Z。
  分解规则:由X->Y, Z⊆Y, 有X->Z。
 陆.关于情势分解的若干结论:
  (一)分解具备无损连接性和平消除说保持函数依赖是三个互相独立的标准。具备无损连接性的疏解不必然保持函数重视,保持函数注重的阐述不料定有着无损连接性。贰个涉及情势的表达可能有两种情景。
  (2)若必要表达具备无损连接性,那么分解后的情势必然能落得BCNF。
  (3)若要求表明保持函数重视,那么分解后的情势总能够完毕三NF,但不自然能达到规定的标准BCNF。
  (四)若供给表达既具有无损连接性,又保证函数依赖,则表明后的形式可以完毕三NF,但不必然能完毕BCNF。

关联操作

提到操作:查询、插入、删除、修改(P43)

询问:选取、投影、连接、除、并、差、交、笛Carl积;在那之中挑选、投影、并、差、笛Carl积是二种基本操作。

 

小结

三层情势两级影象

七.ACID独家代表怎样
  一致性
  原子性
  隔离性
  持久性
 8.达成数据库安控的常用方法
  用户标记和辨别
  存取调控
  视图机制
  审计
  加密

事关模型(续)ELAND模型到事关模型的转账

波及:指现实的表

主干气象:

1.实体集E调换到具备E的品质的关系(表)

2.关联奇骏转变到具备属性的涉嫌(表),做相关的实业的键和关联卡宴的习性

 

特别意况

1)一对多、1对一涉嫌

贰)弱实体集

 

各种为主关系运算
  • ∩ 连接 ÷ 这七个可由其它七个代表
  • 当然连接是可整合的
  • 论及运算的结果是关系
  • 外方式 用户与数据库的接口
  • 逻辑格局 数据库中全体数据的全部逻辑结构的叙说。
  • 内模式

注:where字句不饿能用集中函数作为表明式,需采取having

关联的联合

壹.1对多关系能够转变为贰个独立的关联,也足以与“多”端的关系合并,给“多”端的关系里加三个本来的“壹”作为质量

2.一对壹关乎得以转变为一个独自的关联,也能够与自由一端的关系合并,增加3个被统壹的壹端作为质量

 

弱实体集的关联:

涉及包蕴弱实体集的富有属性以及其直属的强实体集的键

 澳门新萄京官方网站 13

 

Hosts(hostName)

Logins(loginName, hostname, time)

无需At表,At成为了Logins的一片段

 

完整性约束

严防数据中语义不平等

域完整性约束(表内):限制属性值的限制(限制是还是不是可感到空)

实业完整性约束(表内):分化元组的有些属性不可能平等(主键、唯壹键约束)

参照他事他说加以考察完整性约束(表与表):一个表的有些属性是其余表的某部属性(外键,那些特性需假设被参照的表的主键或候选键)

 

唯一键约束:

可以唯一区分不一样的元组,允许有null值,一张表只好有三个主键然则能够有八个唯一键

 

完整性约束

  • 实体完整性:主码中的属性不可取空值
  • 参照完整性:
    • 外码:设F是关系奥德赛的一个或一组属性,要是F与关系S的主码Ks相呼应,则称F为关系翼虎的外码(外键)
    • 参谋关系CRUISER(F,..,...),被参照关系S。
    • F的取值必须为:
      • 恐怕取空值
      • 要么等于S中有些元组的主码值
  • 参照他事他说加以调查完整性的表征:
    • 在被参照关系中要害字的值在参谋关系中不分明出现
    • 但在参照他事他说加以考察关系中冒出的要害字值在被参照关系中必须求出新
    • 值得注意的是外键大概出自于同1关系,相当于被参照关系便是参照关系

可观的数目独立性

波及代数

从数据库中寻觅供给的内容

亟待使用高档查询语言:

答辩:关系代数

实践:SQL

 

E-君越模型到关系模型的调换

应用程序和数据库的数据结构之间相互独立。其分成两类,壹是情理数据独立性;2是逻辑数据独立性。
指标是为了保留外形式和应用程序不受影响。

波及代数:

对事关的演算来发挥查询。(运算:运算对象、运算符、运算结果)

运算对象(Operands)

关系

运算符(Operators)

对关系的操作

Five basic RA operations:

Basic Set Operations(集合运算)

       union(并), difference (差)(no intersection, no complement)

Selection: s(选择)

Projection: p (投影)

Cartesian Product: X(笛Carl积)

 

会合运算:

差:R1-R2 = {t|t∈R1^t∉R2}

选择:选择澳门新萄京官方网站 14分选帕杰罗中满意条件C的条条框框

黑影:π A一,…,An (福特Explorer),采用RAV4中的A一…An列组成新的元组,会去除重复的元组

笛卡尔积:Odyssey1 x 奥迪Q3二 ,奥迪Q5一和途乐2中的每一个元组组合

 

Derived operations

intersection(交)

complement(补)

join(连接)

 

交:Lacrosse1∩奇骏贰,CR-V一和Tucson第22中学国共产党有的具备元组,科雷傲一和R2的形式必须一致,等价于Tiguan1-(奥迪Q7一-RAV4二)

连接:

θ连接

澳门新萄京官方网站 15

当然连接

等值连接

外部连接

 

θ连接:

 

由定义可见,当自然连接的三个事关远非集体性质时,结果是笛卡尔积

θ为比较运算符,输入瑞虎壹(A一,…,An), 奥迪Q3二(B一,…,Bm),输出S(A1,…,An,B一,…,Bm),S中的全部元组都知足θ,运算时方可先求笛Carl积,然后从中筛选符合条件的结果

 澳门新萄京官方网站 16澳门新萄京官方网站 17

当然连接:

θ连接的θ条件为等于,而且非常的尺度同名,最终结果只保留壹列同名属性

 澳门新萄京官方网站 18

 

求解步骤:

1.求笛Carl积RAV四×S

2.挑选具备满足r[Ai]=s[Bj]的元组

3.解除重复属性

澳门新萄京官方网站 19

 

等值连接:

θ的规范化为等于时为等值连接,同名的列须求用表名加点来分别

 

外部连接:

防止音讯遗漏,先求连接,然后把外接连的表的从未有过相配上的元组全部加多进连接的结果中,用null来代表未相称上的值

左外连接 = 自然连接 左侧表中失配的元组。

右外连接 = 自然连接 右边表中失配的元组。

全外连接 = 自然连接 两侧表中失配的元组。

 澳门新萄京官方网站 20

 

主干 E-Highlander 模型的改变

  • 实业集到关系的改造 --关系表
    • 属性     --关系表中的属性
    • 主关键词   --关系表中的主关键字
    • 属性域    --关系表中的属性的域
  • 关系到事关的调换

    • 多对多

      • 各样出席联系的实体集的主关键字属性,作为外键存在
      • 装有外键构成该实体集的主关键字
      • 调换集小编的天性 -- 一般属性
    • 一对多

      1. 将一对多关系调换为三个单身的关联表【缺点一】多二个表【缺点二】连接麻烦
      2. 将联系和多的十一分实体集转变为2个涉嫌表【缺点】浪费空间
    • 一对1关系怎么转移?

关系模型基本概念

字段 、 属性 、 列
字段值 、 属性值
笔录类型、 关系格局
记录 元组、 行
品质同样的元组集结、 关系、 表
天性个数、 元数
元组个数、 基数
域 值得集结、 属性值的取值范围
元组数目最为、 Infiniti关系、 Computer钻探有限关系

除运算

论及锐界除以S的结果为T,则T包含全部在奥迪Q3但不在S中的贰属性集及其值,且T的元组与S的元组的装有结金奈在S中。(可用以验算除运算)

主意一:设CRUISER(X,Y)和S(Y)是四个关系,则Haval÷S = ∏X(R) -∏X(( ∏X(R) X S) - R )。

主意二:利用象集,参照他事他说加以侦查   妙啊!

福睿斯S÷S的意思正是:在途达和S的联系汉兰达S中,搜索与S中全数的元组全都有关系的PRADO元组。

 

事关代数缺陷:不能够传递闭包

 

 

 

壮大的 E-Qashqai 模型的转移

  • 负有参预约束的关联合公司的调换
  • 弱实体集
    • 三个弱实体集总是插足三个2元1对多联系
    • 据此用地点的方法二。浪费空间的后天不足不再存在
  • 类层次

    1. 八个实体集调换来多少个涉及表

      • 超类删除时子类也要同一时候被去除
      • 在子类的关系表中不要求父类的非主属性(体现承继性)
      • 【特点】
      • 当查问涉及到父类的天性和此外一些细节属性时必要延续操作
      • 当查问仅提到到父类的性质时则在父类关系上进展就能够
      • 另一个独到之处是足以储存非子类的实体
    2. 多少个实体集转变到三个涉及表

      • 仅生成三个事关:他们都包括超类Employees的习性,除了主关键字约束以外,无需定义任何自律
      • overlap约束只好用通用约束机制来促成
      • 【特点】
      • 首要缺点是心有余而力不足积累非子类的实业
      • 亮点是仅提到子类的查询仅在2个关联上进行就能够,无需额外的总是操作
      • 但事关到具有子类的查询则须要在八个事关上进行;

涉嫌方式的三类完整性规则

实体完整性、 主键不为空
参照完整性、 外键是不是为空视具体而定

备注:一外键的值必须参照相应主键的表中的主键值,可能可以为空。
二主键和外键能够在同一个关联格局中
用户自定义完整性、 具体的数据约束

SQL

关周到据库典型语言SQL

提到方式的3层种类布局

关联方式、 记录类型、 逻辑格局
子方式、 用户描述、 外方式
积累方式、 描述怎么样物理存款和储蓄、 内形式

DDL数据定义语言:

create、drop、alter、commit、rename、truncate。(P80-P85)

RESTSportageICT:表示删除时有限制规范,有依附对象不允许删除;

CASCADE:级联删除,删除时有关的正视性对象也被剔除。

建议看一下成立表、修改表、删除表、创造视图、删除视图看一下。比方主键怎么写啊(PKoleosIMA奥迪Q⑤Y KEY),唯1(UNIQUE)、视图检查(WITH CHECK OPTION)等。

 澳门新萄京官方网站 21

 

概述

关系方式的花样定义和长处

数据结构、 简明准确
多少操作、 独立于数据存款和储蓄
数据完整性规则

查询

DQL数据查询语言(P8玖-P1壹伍)SQL是结构化查询语言

SELECT [ALL|DISTINCT] <目标表达式> [,<目标表达式>]...

FROM <表名或视图名> [,<表名或视图名>...] | (<SELECT 语句>)[AS] <别名>

[WHERE <条件表达式>]

[GROUP BY <列名1> [HAVING <条件表达式>]]

[ORDER BY <列名2> [ASC|DESC]];

若是要结实中有新的列名,用as

 

亟需删除结果中的一样元组,用distinct

 select distinct branch_name from loan

封存全部的元组用all(默许保留全数)

select all branch_name from loan

壹.SELECT语句后边可接:算术表明式、字符串常量、函数(举例调换大小写)、属性外号(as后的始末)等

  1. WHERE语句前边可接:比较、范围(BETWEEN AND)、会集(IN)、相配(NOT LIKE %_)、空值(IS NULL)、多种标准

       注:ESCAPE ‘<换码字符>’对通配符进行转义;             eg:

       Order by私下认可升序,asc升序,desc降序,

总得用在询问最终,能够有五个排序关键字

       五个单引号表示三个单引号

       相配中%相称狂妄字符串,_匹配任性字符

  1. 空值:不可能用‘=’,判别用IS|IS NOT。空值具有不明明。

       3-valued logic: TRUE, FALSE, UNKNOWN.

假定TRUE = 1, FALSE = 0, and UNKNOWN =        ½,AND = MIN; OR = MAX, NOT(x) = 1-x。

  1. 汇集函数:COUNT、SUM、AVG、MAX、MIN

       注:WHERE语句中不能够用聚焦函数作为标准表明式,SELECT、HAVING中技能用。

       集函数内足以用distinct/all,总结 不另行的/全数的 结果

       集函数在计算时倘若值全为null,结果也为null,不然全体的null被忽略,只总计非null

  1. 分组Group by:遵照某1列或多列分组,值特其余为一组,目标是细化集函数的机能对象,分组后集函数功能于每壹组,每组有一个函数值

       注:要是运用了汇聚函数,则SELECT后只好接集中函数大概GROUP BY前边的本性(属性集)。

  1.    WHERE:作用于基本表或视图,选取满意条件的元组,对原始表筛选;

       HAVING:效用于组,采纳满意条件的组,条件是组属性/集函数,对原来表经管理后的表筛选。

7. 

SELECT  S  FROM  R1,…,Rn   WHERE  C1  GROUP BY a1,…,ak  HAVING  C2

举办顺序:

       a.总结FROM-WHERE部分,得到有全体福睿斯1,…,Rn质量的表;

       b.根据属性a1,…,ak分组;

       c.总结C第22中学的集函数,只保留满意C二的组;

       d.总括S,再次来到结果

  1.    连接:有重名属性用表名加点表示,未有重名属性可以直接代表,在where里连接,实际上试行时是遍历FROM中表的具有元组,依次推断是还是不是顺应WHERE;

       自己连接:取外号操作,在FROM中显式定义多少个同表的元组变量;eg:

       外连接:

FROM S LEFT|RIGHT|FULL OUTER JOIN SC ON (S.Sno=SC.Sno)

       SQL Server不支持 Natual join

       inner join等同于在where里写连接条件,Kuga JOIN S on <condition>是θ连接

 澳门新萄京官方网站 22

 

  1.    子查询:就算实查询的结果能够保障唯有3个元组,则足以用作值

       在FEOM和WHERE中都可插入子查询。

       不相关子查询:子查询的询问条件不借助于父查询。

       相关子查询:子查询的查询条件重视于父查询。eg:澳门新萄京官方网站 23

 

       注:

              子查询中最棒用元组变量来定名结果元组

              子查询中不可用O昂科雷DE景逸SUV BY。

              有些嵌套查询能够用接二连三替代,有个别非凡。

              一些带EXISTS或NOT EXISTS谓词的子查询不能够被别的花样的子查询等价替换;

              全数带IN谓词(IN谓词一般出现在where中后跟子查询)、比较运算符、ANY和ALL谓词的子查询都能用带EXISTS谓词的子查询等价替换。

              ANY(SOME):某个

              ALL:所有

    对应集函数:澳门新萄京官方网站 24

 

              EXIST:存在。不回去数据,只产生逻辑真值。

       全称量词转变(难点):选修了整整课程->未有壹门课不选。(P110)

       特称量词调换(难点):选修了A选的凡事学科->未有壹门A选过的课不选。(P11一)

  1. 相会查询:并(UNION)、交(INTE奥迪Q三SECT)、差(EXCEPT)。对多少个SELECT结果开始展览操作。

 澳门新萄京官方网站 25

SQL语言的组成部分

  • 数量定义语言(DDL : Data Definition Language)
    • 担当数据结构定义与数据库对象定义的言语
    • CREATE
    • ALTER
    • DROP
    • 操作的靶子包含涉及表、视图、索引等。
  • 多少操纵语言(DML : Data Manipulation Language)
    • SELECT
    • INSERT
    • UPDATE
    • DELETE。
    • 它们分别用于查询、加多、修改和删除表中的行
  • 数量调整语言(DCL : Data Control Language)
    • 在SQL语言中,是壹种可对数码访问权进行调节的吩咐,
    • 由 GRANT 和 REVOKE 四个指令组成。
  • 事务管理语言(TPL: Transaction Processing Language )
    • 它的话语能保障被DML语句影响的表的全部行及时得以更新。蕴含BEGIN TRANSACTION,COMMIT和ROLLBACK。

关联合检查询语言和关联演算

DML、 查询 更新
提到查询语言: 关系代数、 关系演算、 关系逻辑

SQL续

数据库三级情势

  • SQL语言也援助关全面据库三级情势种类布局
    • 内情势:存款和储蓄文件(逻辑结构)
    • 模式:基本表
    • 外形式:视图 一些基本表

关联代数

伍基本操作: 并 差 笛卡尔积 投影 选用
4组合操作: 交 连接 自然连接 除法
7扩充操作: 改名 广义投影 赋值 外连接 外部并 半连接 聚焦操作

等值连接、 笛Carl积 等值
理当如此连接、 等值连接 去除重复等值属性列

DDL数据定义语言:

create、drop、alter、commit、rename、truncate。(P80-P85)

       REST福睿斯ICT:表示删除时有限制规范,有依附对象(作外键、包罗视图、触发器等)不允许删除;

       CASCADE:级联删除,删除时有关的正视对象也被删去。

       提议看一下创建表、修改表、删除表、创设视图、删除视图看一下。举个例子主键怎么写啊(PLANDIMACR-VY KEY),唯1(UNIQUE)、视图检查(WITH CHECK OPTION)等。

       多属性键:Primary key(a, b)(a, b为属性名)

 

primary key 和 unique

一.每种关系足以有1个主键,可是足以有多少个unique

2.主键的值恒久是not null,而unique的值能够有null(最多叁个)

3.数据库管理种类会给主键暗中认可塑造目录

肆.都能够看作外键被引述

 

DML数据操作语言:insert、update、delete。(P1一五-P11玖)

       1.

INSERT INTO <表名> [(<属性列1>[,<属性列2>]…)]  注:可以指定属性插入

       VALUES (<常量1>[,<常量2>]…);

       INSERT INTO <表名> [(<属性列1>[,<属性列2>]…)]

       子查询;

 

    注:使用子查询时在insert into 表A 后自然要写明属性,若是子查询的数据类型与要插入的表中的品种分裂时,会进行强制变换

       2.

UPDATE <表名>

       SET <列名>=<表达式>[,<列名>=<表达式>]…

       [WHERE <条件>];

 

       3.

DELETE FROM <表名>

       [WHERE <条件>]; 

 

注:不写where时会删除表里全部的元组

 

 

数码定义基本成效

否认的操作、 差操作
搜寻不学C2课的学员

不当格局 πSNAME,AGE(σCNO≠‘C二’(S⋈SC))
必然要用“差”的样式:
πSNAME,AGE(S)-πSNAME,AGE(σCNO=‘C2’(S⋈SC))

漫天风味、 除法操作

πSNO,CNO(SC)÷πCNO(C)

视图(VIEW):

视图是从1个或多少个基本表(视图)导出的表。视图与基本表区别,视图是两个虚表,数据库中只存储视图的概念,而不存放视图所对应的数目,对视图查询时才会按视图的定义从基本表中查询。(P1二一-12玖)

作用:简化用户的操作;使用户能以各个角度对待同一数据;对重构数据库提供了迟早水准的逻辑独立性;能够对地下数据提供安全维护。(压题哈哈哈)

CREATE VIEW <视图名> [(<列名1>[,<列名2>]…)]

AS <子查询>

[WITH CHECK OPTION];

 

注:必须内定视图的有着列名的事态:

        a.有指标列不是独自的属性名,而是聚焦函数或表明式

        b.多表连接时选出了多少个同名列作为视图的字段

        c.须要在视图中为有个别列启用新的列名

一.行列子集视图:单表导出,单纯抽出的一点列和行,并且保留了主码。

2.视图消解:把视图的概念和询问结合起来调换为等价的对基本表的询问,诸多关周密据库对行列子集视图的查询能够准确调换,非行列子集视图就不自然了。

3.更新视图:也亟需退换为对基本表的翻新。一般的,行列子集视图是可更新的

with check opinion可更新视图,会在增加和删除改时关全面据库管理种类会检讨视图定义中的条件,借使不满足会拒绝推行操作,比方插入的多少与where子句中的条件不符,会拒绝插入。使用select * 的视图可扩大性差。

四.视图的遵守:P128-P12玖

 

作用:

壹简化查询

二屏蔽底层数据库的改造,达成数量独立

三提供权限,差异的用户可以选择不一样的表中的两样字段,可以消除三个用户能够查阅区别表中的有的字段的难点,把用户能够查看的字段放进三个视图

 

方式定义

  • SQL提供了三级格局结构的概念功效,相关的定义语句如下:
操作对象 创建 删除
模式(命名空间) CREATE SCHEMA DROP SCHEMA
关系表 CREATE TABLE DROP TABLE
视图 CREATE VIEW DROP VIEW
索引 CREATE INDEX DROP INDEX
  • 创设方式基本语句
    • CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
    • CREATE SCHEMA <模式名>AUTHORIZATION<用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]
    • DROP SCHEMA <模式名> <==CASCADE|RESTRICT==>

SQL基本概念

基本表、 本人独立的表、 1个关联一个基本表、 3个基本表1个存款和储蓄文件 一个表诺干索引

视图、 2个之上基本表导出的表

索引

目录(INDEX):索引是对数据库表中1列或多列的值举行排序的壹种结构,使用索引可急速访问数据库表中的特定音信,数据库索引类似图书目录,能够加速查询速度。(二零17年课题)

(壹)     关周到据库管理系列会活动选拔卓绝的目录作为存款和储蓄路线,用户没有供给显式选取索引。

(二)     聚簇索引:聚簇索引的目录项顺序与表中记录的大要顺序一致。所以在三个基本表上最八只可以创建3个聚簇索引。对于基于聚簇索引列的查询(非常是限量查询),能够抓牢查询功效。

(三)     聚簇索引的适用范围:聚簇索引列存在大气非重复值;相当少对基表进行增加和删除操作;十分的少对内部的变长列进行改换操作。

宣称格式:

CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);     

·  用<表名>钦点要建索引的基本表名字

·  索引能够创设在该表的壹列或多列上,各列名之间用逗号分隔

·  用<次序>钦定索引值的排列顺序,升序:ASC,降序:DESC。缺省值:ASC

·  UNIQUE申明此索引的每一个索引值只对应唯一的数量记录

·  CLUSTECR-V代表要白手起家的目录是聚簇索引,营造聚簇索引后,基表中数据也要求按钦定的聚簇属性值的升序或降序存放。也即聚簇索引的目录项顺序与表中记录的情理顺序一致,三个基本表只好创造一个聚簇索引

适用范围:

    a.聚簇索引列存在大气非重复值

    b.相当的少对基表举办增加和删除操作

    c.非常的少对里面包车型客车变长列进行改变操作

 对于已含重复值的习性列不能建UNIQUE索引,对有个别列营造UNIQUE索引后,插入新记录时DBMS会自行检查新记录在该列上是或不是取了重复值。这一定于增添了二个UNIQUE约束

设计原则

·  索引是情理结构划设想计的重大内容之1

·  选择索引列的相似规范如下:

  ·  平时作为挑选运算比较列的属性应安装为索引列

    ·  在学生表中,常依据学生姓名进行找出,则学生姓名应设定为索引

  ·  对索引列的广泛查询的询问结果占总记录数的百分比不宜过高

    ·  学生表中性别列的取值唯有“男”或“女”,在那一个列上建索引意义不大(除非选拔位图索引)

  ·  索引列数量应尽量少

    ·  索引太多会促成数据更新速度变慢

  ·  在查询条件子句中尽量不要对索引列进行函数计算

    ·  举个例子设salary为索引列,则salary/六千>age/50那样的语句会产生数据库非常小概接纳索引

    ·  应改换成salary>四千*(age/50)的情势,即表明式左侧是独立的索引列

基本表定义

  • SQL基本建表语句
    • CREATE TABLE表名
    • (<列名一> 数据类型 [列级约束],
    • [<列名二> 数据类型 [列级约束],]
    • ……,
    • [表级约束])。
  • 封锁比方
    • primary key
    • foreign key
    • references

Foreign Key (Cpno) REFERENCES Courses (Cno)

 数据类型
     char(n) :固定长度为n的字符串
     varchar(n): 可变长度为n的字符串
     smallint: 短整数
     int: 长整数
     numeric(p,s) :定点数。由p位数字组成,包括s 位小数 
     float(n): 精度至少为n位数字的浮点数
     real:取决于机器精度的浮点数
     double precision:取决于机器精度的双精度浮点数
     date: 日期,格式为年、月、日,YYYY-MM-DD 
     time: 时间,格式为时、分、秒, HH:MM:SS 
  • 修改表

    • 加上列|完整性约束:

      • ALTER TABLE <表名>** ADD** <列名> <数据类型> [完整性约束]
        • 修改表:在学生表中加多字段Sclass,字符类型,长度20
        • Alter table Students add Sclass char(20)
        • 扩展课程名称必须取唯一值的自律标准
        • Alter table Courses add unique (Cname)
    • 去除列|完整性约束:

      • ALTER TABLE <表名> DROP <列名> <数据类型> [完整性约束]
    • 修改列:

      • ALTER TABLE <表名>ALTER COLUMN<列名> <数据类型>
        • 将年龄的数字类型由字符型改为整型
        • Alter table Students alter column Sage int
  • 删除表

    • Drop table <表名> [restrict|cascsde]
    • Restrict: 表删除有限制规范,不可能被其余表的羁绊所引述,不可能有视图、触发器、存款和储蓄进度或函数
    • Cascade:把贰个基本表的定义连同表上的享有记录、索引以及由此基本表导出的具备视图都删除,并释放相应的存款和储蓄空间

复习题库

数据库操纵效能、 DML、 查询更新
数据库调控效果、 DCL、 revoke commint等

完整性约束

数据库的完整性:数据的科学和相容性。(看下概念P一5柒)

封锁是数据库要求强制实施的成分之间的涉及,必须一贯为真,幸免出现不一样等

自律分类:

       1.码(主键、候选键)P奔驰M级IMALX570Y  (A1, A二, .., An) or UNIQUE (A1, A二, ..., An),插入时会检查是或不是已插入了键同样的元组;

       2.属性约束,NOT NULL, CHECK,注:check里对品质约束,出现的其余质量需求写在子查询里,check只在insert/update时检查;   e.g:澳门新萄京官方网站 26

 

       三.元组约束 eg:

澳门新萄京官方网站 27

       4.外键或参阅完整性,需要有个别属性是另2个表里的主键,能够定义在性质后

REFERENCES <relation> ( <attributes> )

也可以定义在建表里作成分

FOREIGN KEY ( <list of attributes> ) REFERENCES <relation> ( <attributes> )

       对被引述的表的元组修改的拍卖:(三种能够的章程)

              a.暗中认可default:拒绝修改被引述的表的元组

              b.级联cascade:在引用的表中和被引用的元组举办同样的操作,主删外删,主改外改。比方Beers和Sells表,删除Beers中的元组,会把Sells里关系被删除的beer的元组删除,同理对Beers的元组修改会对Sells里的值也修改

              c.设空值set null:把引用的表的值设为null,主删外NULL,主改外改。举例Sells的被剔除的beer被null替换

       要是要在修改时不采取私下认可的(拒绝实施),需求显式在建表时证实

澳门新萄京官方网站 28

 

       伍.断言:复杂的check语句拿出来单独写。

       格式:

CREATE ASSERTION <断言名> <check子句>

每一遍对关乎修改都要实行,功用不高,系统无法“智能”推断曾几何时实行断言检查。

drop constraint <约束名>

能够去除约束

drop assertion <断言名>

能够去除断言

 

SQL查询语句基本组织

  • SQL查询语句的骨干协会
    • ==SELECT== [DISTINCT] <目标列> [,<目标列>]
    • ==FROM== <基本表 (视图)> [,<基本表 (视图)>]
    • [==WHERE== <条件表明式>]
    • [==Group by== <列名1> [==having== <分组表明式>] ]
    • [==Order By== <列名2>[ ==asc | desc== ]];

函数正视

FD(Function Dependency)、 形为x->Y的命题 、 函数正视
F、 函数重视集
被F逻辑蕴含的函数正视、 F |=X->Y
函数信赖集(F)的闭包、 F 、 被(F)逻辑包含的函数正视的汇聚
FD和关键码联系、 超键、 候选码
属性集X的闭包、 X = {属性A|F|=X->A}
FD推理规则完备性、 函数信赖集生产的X->Y都在其闭包中
FD集的微小依赖集、 (超键之于候选键)

  • 每一种FD右边不冗余
  • FD间不冗余
  • 各种FD右侧单属性

触发器

       1.格式

CREATE TRIGGER <触发器名>

              {BEFORE|AFTER|INSTEAD OF} <触发事件>ON <表名>/*指明触发器激活的时间*/

              REFERENCING NEW|OLD ROW AS <变量>/*指出引用的变量*/

              FOR EACH {ROW|STATEMENT}                 /*指明触发器类型,即动作发生频率*/

              [WHEN<触发条件>] <触发动作>             /*当触发条件为真时才触发动作体*/

       二.触发事件-条件-动作规则,当特定的连串事件(插入、更新等)产生时,假设规则的规范创立,则推行规则中的动作,不然不实行该动作。

       三.为了解决断言作用低,不会咬定是还是不是应该实施check的主题材料,允许使用者钦定曾几何时实行check

       四.触发事件 AFTEGL450 /BEFORE /INSTEDA OF,instead of是对视图的修改,会把被instead of的对基本表的修改替换来对视图的更动,SQL Server专有

       伍.触发器类型,for each row会对每一行都进行,for each statement只进行一遍,默认是后世

       陆.REFERENCING里引用的始末,借使是for each row,则能够引用old row| new row表示修改前后的元组,如若是for each statement,则足以引用old table| new table表示修改前后的表

       七. Inserted 、Deleted指代改动的表,前者指用户插入的数码,后者指用户删除的数额

若果是update事件,则Inserted、Deleted表里都有内容(update的实质是先delete再insert) 假如只是insert、delete事件,则唯有对应的表里有内容

例:视图的触发器

 澳门新萄京官方网站 29澳门新萄京官方网站 30

 

 

SQL单关系查询

候选码的求法

率先来看候选键的概念:若关系中的某壹属性组的值能唯1地方统一标准识3个元组。

若W是候选键,则必须满意八个条件:W的闭包是U;W未有冗余。

设关系形式Highlander中U=ABC.......等N个天性,U中的属性在FD中的意况:

  1. 只在左部出现; 一定期存款在于某候选码个中
  2. 不在左右油不过生; 一定存在于具有候选码中
  3. 只在右部出现; 一定不在候选码中
  4. 左右涌出; 与候选码组合,知足属性集闭包是U,明确候选码。

存款和储蓄进度和触发器

Transact-SQL数据库编程

品质查询

  • 钦命列顺序无关
  • 用*意味着全体属性
  • 列能够涵盖运算符
  • 用户可以点名外号

事关格局的表明

情势分解、 Computer中数量存款和储蓄、 不在泛关系r、 在数据库方式中
无损分解、 损失分解、 投影连接能不能够破镜重圆、 寄生元组
泛关系借使、 先存在r泛关系再商量分解、 无借使之与悬挂元组(自然连接被遗失的)
方式分解优点、 化解冗余操作特别、 分解的数据库能够积攒悬挂元组存款和储蓄泛关系中无法累积的消息
情势分解缺点、 检索需再而三、 有泛关系大概寄生元组、 无泛关系大概悬挂元组

储存进程

积累进度:一组实现一定效率的SQL 语句集。系统提供/用户自定义存款和储蓄进程。

职能:在服务器端快捷试行SQL语句,功用高

       降低了客户机和服务器之间的通信量

       方便实行公司规则

语法:

       1.声明:

declare @局部变量 <变量类型> [,@局部变量 <变量类型>……]

  全局变量用@@开始

       2.赋值:

select @局部变量 = 变量值

set @局部变量 = 变量值

       3.注释:

--单行注释;
/*
多行注释
*/ 

 

       四.流程序调节制:begin end ,if else,

              分支判别

                     格式a:

CASE <运算式>

           WHEN <运算式> THEN <运算式>

            …

           WHEN <运算式> THEN <运算式>

           [ELSE <运算式>]

           END

                     格式b:

                            

CASE

        WHEN <条件表达式> THEN <运算式>

          …

         WHEN <条件表达式> THEN <运算式>

         [ELSE <运算式>]

         END

              循环: 

WHILE <条件表达式>

           BEGIN

           <命令行或程序块>

           [BREAK]

           [CONTINUE]

           [命令行或程序块]

           END

              等待: 

WAITFOR {DELAY <‘时间’> | TIME <‘时间’>| ERROREXIT | PROCESSEXIT | MIRROREXIT}

                     时间必须为DATETIME类型

                     a.DELAY:用来设定等待的岁月,最多可达2四 小时

                     b.TIME:用来设定等待甘休的年华点

                     c.EENVISIONROREXIT:直处处理非经常中断

                     d.PROCESSEXIT:直随地理常常或不规则中断

                     e.MI昂CoraROREXI: 直到镜像设备战败

              GOTO: 跳转到以”:”结尾的标志符

              RETURN: RETURN [(整数值)],停止近日先后,再次回到到上一个调用它的次序或别的程                            序,括号内能够钦点2个重返值,否则会依赖程序实施结果重返默许值

              EXEC: 用于实施存款和储蓄进程,EXEC <存款和储蓄进程名>[参数1[,参数2]……]

              PEvoqueINT: 打字与印刷,CONVERT()能够把不是字符串的剧情强制转换到字符串

 

触发器的功力

一.透过数据库中有关的表张开级联修改。

二.禁止或回滚违反引用完整性的退换,从而撤废所尝试的多少修改专门的学问。

3.落到实处比 CHECK 约束定义的界定越来越复杂的限制。

四.找到数据修改前后表状态的差别,并依靠此差距选拔行动

 

元组查询

  • 行使==distinct==关键字去掉重复行(SQL语句中select默许不排除重复)
  • 询问满意条件的元组:
WHERE子句常用查询条件 谓词
比较 =, >, <, >=, <=, !=, <>, !>, !< not 上述比较运算符(例如not=)
确定范围 between and, not between and
确定集合 in, not in
字符匹配 like, not like
空值 is null,is not null
多重条件 and, or
  • 字符匹配查询
    • 通配符
      • %:任意长度的字符串。
      • 例如:a%b == acb, addgb,ab…
      • _:大四单个字符
      • 例如:a_b == acb, adb…

无损分解测试

树立表格

  • 属性Aj做列、 模式Ri做行;
  • 队列有6续填aj、 行列无交叉填bij。
    追踪Chase
  • 基于正视集F|=X->Y;
  • 两行X一样则修改使两行Y也同样
  • 两行Y、 aj > 下标小的bij
    有一个行全aj 是无毒分解

无损分解丰富要求定理:

  • Ri是涉及方式陆风X8的二个分解
  • (奥迪Q5一交Lacrosse二)->(福睿斯一-RAV4二)或(冠道二-奥迪Q3一) 注释:即推导属于FD,在凭仗集中

保持函数注重FD的解说天性

  • 壹验证F中的各样FD是不是被随机数据库情势逻辑包括
  • 二 关系格局函数正视闭包F = 全部的数据库情势函数信赖闭包
  • 无损分解本性与保险函数信赖分解天性毫无干系、 结合形式分解的利害
  • 形式分解与方式也就是、 数据等价 语义等价
  • 多少等价、 不会丢掉消息,无损分解天性
  • 语义等价、 数据库情势有同样的信赖集闭包,保持FD分解天性

表明天性比方、 四个特色

事关方式CRUISER(ABC),ρ={AB,AC},解析在F一={A->B},
F二={A->C,B->C},F3={B->A},F肆-{C->B},B->A}下的解释性子?
1解析无损分解:本田CR-V一交LX5702=A 、 AB-AC=B 、 AC-AB=C;
即满足A->B或许A->C信赖的是无毒分解:F一、F二。
2深入分析保持FD分解:关系方式函数注重闭包 = 全部数据库情势函数依赖闭包;
即:F1满足;F2不满足,丢失B->C;F3满足; F4不满足,丢失C->B;

关系形式的范式、 (一NF、 2NF)过时、 三NF、 BCNF

  • 1NF、 关系r的属性值不可再分
  • 二NF、 一NF 各种非主属性完全函数信赖于候选键
  • 3NF、 一NF 每一个非主属性都不传递信赖与陆风X8的候选键。(假使有,分解后,那就是外键的原因)
  • 澳门新萄京官方网站,DCNF、 一NF 各类属性都不传递依赖于瑞鹰的候选键
  • 平时FD: 类似 A ->AB ;ABC->ABC等无价值的FD
  • 主属性:包括候选码的属性组
  • 传送正视:类似A->C,C->B;

定理:满足BCDF->满足3NF

  • BCNF、 无损分解、 不自然保持FD分解
  • 提到情势Highlander优先BCDF分解,假使BCDF不知足保持FD,则表达为叁NF

3NF分解算法

论及形式Lacrosse(U),主键W,CRUISER上还应该有FD X->Z。并且Z是非主属性(Z不属于X),
X不是候选键,那样W->Z正是1个传递依赖。此时内需讴歌MDX分解为三个方式
R1(XZ),主键X;
福睿斯二(Y),在这之中Y=U-Z,主键照旧W,外键X(参照大切诺基壹)。
借使奥迪Q5一、Rubicon2还不是3NF,那么在再度上述,直到数据库情势为三NF。

BCNF分解算法

和三NF解释算法很像,只是FD X->Z,其中Z也能够是主属性。

总括三NF BCNF分解算法: 消除传递注重,产生外键

分解成三NF格局集的合成算法?

  • 求F的小不点儿依赖集,把左部同样的FD合并性
  • 对各种细微依赖聚焦的FD X->Y 去构成三个格局XY
  • 组成的形式聚焦,即便每一种格局都不包括Highlander的候选键,那么把候选键单独作为3个情势。

分解3NF举例
关联方式奇骏(ABCDE),Lacrosse的小不点儿重视集{A->B,C->D}。
从注重集可知帕杰罗的候选码为ACE。
先依照最小注重集 生成ρ{AB,CD}格局,不包括候选码ACE
加盟候选码的形式,获得 ρ{AB,CD,ACE}

部分正视和传递正视是情势发生冗余和分外的四个第二原因,
鉴于三NF只解决了非主属性对候选键的有的正视和传递依赖,
固然如此质量已经很好了,但仍旧还应该有小部分存款和储蓄极度。

方式设计艺术

  • ρ是BCNF或3NF模式集
  • 无损分解
  • 保持函数依赖集

标准化理论

摘抄:

关系情势的标题:

  • 多少冗余:重复出现,浪费空间。(尽大概少)
  • 更新非常:更新代价(最棒未有)
  • 插入分外:插入部分音讯时心中无数插入(最棒未有)
  • 删除相当:大概删除了此外想要的数量(最佳未有)

 

 

SQL多涉及查询

错题集

  1. 数据库系统的大旨是( D )
    A) 编写翻译系统 B)数据库 C)操作系统 D)数据库管理种类

  2. 宣布用户使用观点的数据库局地逻辑结构的模型是( C )
    A) 概念模型 B)逻辑模型 C)外部模型 D)内部模型
    备注: 概念模型;表明用户使用观点的数据库全局逻辑结构的模型

三.对关周详据库来说,上边( C )说法是不当的
A)外键和呼应的主键能够不一样名,只要定义在依然故我值域上就能够
B)分歧的习性可对应于同一值域
C)行的逐1能够自由调换,但列的各类不可能轻巧交换
D) 关系中的任性五个元组不能毫无二致

注释
壹 外键的值必须参照相应主键的表中的主键值,大概可以为空。
二 主键和外键能够在同三个涉及形式中

4.数据库系统生存期分八个品级:规划、供给解析、概念设计、逻辑设计、物理设计、完毕、运维保险。

5.下边关于形式分解的叙说中,不正确的是(D )
A) 若叁个情势分解保持函数信赖,则该解释一定有所无损连接性。
B) 若须求表达保持函数重视,那么方式分解能够直达三NF,但不断定能达成BCNF
C) 若需求表达既具有无损连接性,又保险函数重视,则格局分解能够高达三NF,但不肯定能落得BCNF
D) 若供给表达具备无损连接性,那么格局分解一定能够完结BCNF

注释
A选项,保持FD—>无损分解,不能够逆推
B选项,BCNF->三NF,无法逆推
C选项, BCNF 满意无损分解,不自然满意保持FD分解;所以优先使用BCNF分解,假诺那么些才采取3NF讲解。

三.下述哪一条不是由于涉及情势设计不当而引起的(B )
A) 数据冗余 B) 丢失修改 C) 插入万分 D) 修改1贰分

1.别样五个2元关系在函数注重的局面内必能达到( D )
A) 1NF B)2NF C)3NF D)BCNF

备注 二元关系

设关系形式LX570(ABCD),F是汉兰达上创设的FD集,F={AB→CD,A→D}。
一)试表明宝马X3不是二NF方式的说辞。
2)试把R分解成2NF模式集。

注释:
一福特Explorer的候选键是AB,则非主属性为C和D,并且AB→D成立。而已知A→D,由此AB→D为非主属性D对候选键的局地正视。
2 R分解为:R1(AD)主键是A;
R2(ABC)主键是AB,外键是A。
对于三NF的论断:是不是?非主属性传递正视于候选键

函数正视

非经常函数注重

完全函数重视

部分函数依赖

传递函数信赖

1.函数注重:(概念省略,X、Y是性质组U的子集)X函数分明Y或Y函数重视于X,记作X→Y。举个例子:系号→系名,学号→姓名。

  (壹)函数依赖不是指涉嫌方式PAJERO中的某个关乎满意的羁绊规范,而是指安德拉上的整整关系都要满足的封锁标准。函数重视关系的留存与时间非亲非故,而只与数码里面的语义规定有关。 函数信赖的留存与时光非亲非故,只与数码里面包车型大巴语义定义有关。

  (二)函数信赖的骨干本性:扩展性,投影性,合并性,分解性,

二.非平凡的函数正视X→Y:X→Y,但Y不分包于X。暗中认可作者么研商的都以非通常的函数依赖。

三.平凡的函数依赖X→Y:X→Y,但Y包蕴于X。必然创建(好像是废话)。

四.若X→Y,则称X为这些函数注重的调控属性组,也称决定因素,Y为借助因素。

5.完全函数注重:在奥迪Q7(U)中,假诺X → Y,并且对于X的别样八个真子集X’,都有X’ /→ Y,则称Y对X完全函数正视。记作X F→ Y。

  推论:单一调控因素明确是全然函数重视。

  例:(学号,课程号)→成绩

陆.部分函数依赖:在库罗德(U)中,要是X→Y,且Y不完全函数正视于X,则称Y对X部分函数重视。记作X P→ Y。

  例:(学号,课程号)→课程名  (因为课程号→课程名,而科目号是(学号,课程号)的真子集)

7.传递函数信赖:在奔驰G级(U)中,假使X→Y(Y不包括于X),Y /→ X,Y→Z(Z不带有于Y),则称Z对X传递函数重视。记为X 传递(t)→ Z。

  注:条件中要有Y /→ X,是因为一旦Y→ X,则Y←→ X,则X直接→ Z,属于直接函数依赖,而非直接。

  例:系号→系名,系名→系首席营业官名。

汇聚操作

  • 在座集合操作的各查询结果的列数必须一致,对应项的数据类型也必须1律
  • 集结操作首要有: 并union、交intersect和差except
  • 在union, intersect, except中缺省气象下:消除重复元组
    • 在后加上all,保留重复元组

SQL形式定义

SQL格局、 方式名和方式具备者的账户、 包涵各样成分定义(基本表、视图、索引等);
一个情势 、 3个仓库储存空间、 基本表的成团;

方式创建 : Creat Schema <情势名> Authorization 用户名;
形式撤消、 Drop Schema STU [Cascade(级联)|Restrict(约束)];
Cascade级联合展销毁全体成分、 Restrict约束。

习于旧贯性选用DATABASE替换Schema词, 语句为 Create DATABASE 。
SQL语句不区分轻重缓急写。

1.候选码:设K为RAV4<U,F>中的属性或性质组合,若K F→ U,则称K为奥迪Q5的候选码(候选键)。(即U完全依赖于K)。

2.超码:若U部分正视于K,即K P→ U,则称K为超码(超键)。候选码是小小的的超码

3.候选码恐怕多于三个,可选个中二个看成主码。包罗在其余三个候选码中的属性称为主属性;不分包在别的3个候选码中的属性称为非主属性(非码属性)。最简单易行的情景,单个属性是码(主码或候选码);最极致的动静,整个属性组U是码,称为全码。(主码和候选码都简称码)

4.论及形式Kuga中的属性或性质组X不是汉兰达的码,但X是另3个涉及形式的码,则称X为本田UR-V的外部码(外码)

多涉及连接操作

  • 等值连接

    • 正如运算符
    • between ... and ...
    • 本来连接
      • 在等值连接中把对象列中的重复属性列去掉
  • 本身连接

  • 外连接

    • 在形似连接中,唯有满意条件的元组才方可看作结果输出,外接连则分裂(左、右外连接),把甩掉的元组保留在结果关系中,而在此外属性上填空值
      • 左外连接
        • From子句的写法:Students LEFT OUTER JOIN Employee
        • From子句的写法:Students RIGHT OUTER JOIN Employee
        • From子句的写法:Students FULL OUTER JOIN Employee
  • 复合条件连接

    • and , or

基本表

基本表创制

Create Table <表名> (<列名 类型>,<完整性约束>);

Creat Table T (t# char(4),tname char(8) Not NULL, Primary Key(t#),Foreign Key(tname)References T2(tname2#));
完整性约束了t#为主键,tname为外键且非空且钦命了对应T二表中tname二的参照他事他说加以侦查完整性

基本表修改

Alter(改换成分)、 Add、 Drop、 Modify(修改)

  • 新列 Alter Table <表名> Add <列名> <类型>
  • 删列 Alter Table <表名> Drop <列名> [Cascade|Restrict]
  • 修改原有列的品类宽度 Alter Table <表名> Modify <列名> <类型>

基本表撤除

Drop Table <表名> [Cascade|restrict]
索引 : 功效只限查询、 起到主键的听从

  • 始建索引 Create [Unique] Index <索引名> On <表名>(<列名>)
  • 注销索引 Drop Index <索引名>

范式

澳门新萄京官方网站 31

 

1.第二范式(1NF):每四个重量必须是不可分的多寡项(关系中每一个属性都是不可再分的大致项)。

2.第二范式(二NF):若宝马X5满足第3范式,且每三个非主属性完全函数正视于其它二个候选码。

  测算:候选码为单属性或许全码,则属于二NF。

  特点:不存在非主属性对候选码的一些函数正视。

  1NF→二NF:化解非主属性对候选码的一部分函数注重,把壹部分函数重视投影出来单独成表。(一事一表)

3.其叁范式(三NF):若中华V满意第二范式,且它的每个非主属性都不传递信赖于任何候选码。

  定义:关系情势宝马7系<U,F>属于第一范式,若HummerH第22中学不存在那样的码X,属性组Y及非主属性Z(Y不含有于Z)使得X→Y,Y→Z创造,Y/→X,则称奥迪Q7属于三NF。

  定义精通:三NF的定义由一NF推过来的,不太好通晓,推断的话用上上行贰NF演绎过来的就足以了,那个定义同期也能够作证,若景逸SUV属于叁NF,则宝马X3必属于二NF。

  特点:每三个非主属性对候选码未有部分函数依赖,也尚未传递函数依赖。

  缺点:三NF只限制了非主属性对键的依靠关系,而从不范围主属性对键的正视。

  二NF→三NF:解决非主属性对键的传递函数依赖,把传递重视投影出来单独成表。(一事一表)

4.BCNF:关系形式帕杰罗<U,F>中,每一个操纵因素都包罗Murano的一个码(候选键),则Rubicon属于BCNF。

  定义:关系形式福特Explorer<U,F>属于第二范式,若X→Y(Y不带有于X)时X必含有码,则途睿欧属于BCNF。

  特点:排除别的性质对候选码的传递函数重视和一部分函数重视。在函数正视范畴内实现深透分手,化解插入和删除分外。

  3NF→BCNF:解决原关系中主属性对键的局地函数重视和传递函数重视。

  推论:如果R属于BCNF,则

       a.福特Explorer中有着非主属性对每3个码都以完全函数信赖;

       b.Sportage中具备主属性对每贰个不含有它的码,都以截然函数依赖;

       c.Odyssey中并未有其余性质完全函数信赖于非码的别的1组属性。

  定理:倘诺RAV四属于BCNF,则RAV4属于3NF早晚创造。反之不确定创立,因为三NF的不通透到底性(大概存在主属性对码的一部分依赖和传递依赖)。

 

先是、2范式(部分第三范式)的弱项:

1.数量冗余

二.插入非常

三.删除至极

四.立异特别

 

SQL嵌套查询

子查询不得以选择order by,只有最后结果能够

  • 不相关子查询求解方法由里向外(in, 相比较符)
  • 相关子查询求解方法由活跃里([not] exists)子查询要求用到父查询的列
    • SQL中绝非全称量词,不过 All x(P) = !( ョx (!P) )

SQL数据查询

句型 Select - From - Where -;

Where 子句、 条件表明式

  • 算术运算符
  • 逻辑运算符 and 、 or 、 not
  • 聚焦成员身价运算符 in 、 not in
  • 谓词 exists、 all、 some、 unique(唯一)
  • 聚合函数 avg、min 、 max 、 sum 、 count
  • 子句的演算对象足以是另2个select子句,即嵌套select语句

where s# in (select语句)
where exists (select语句)

Select子句

  • 聚合函数 count(*) count|sum|avg|max|min(<列名>)

select Count(*),Avg(age)
select count(distinct s#) form sc 因为能够选修多门,加了distinct,表明总计选课的总人口,而不是上选修课的人次树

select完整句法

where行条件子句、 group分组子句、 having组条件子句、 order排序子句

select<列名序列或列表达式序列>
from<表和(或)视图序列>
[where<行条件表达式>]
[group by<列名序列>
    [having<组条件表达式>]]
[order by <列名[asc|desc]>,...]

select句法实践进程:

  1. 读取form子句表、视图的多少,推行笛Carl积操作
  2. 采用满足where子句中条件表明式的元组
  3. 按group子句钦定列的值分组,同期提取满意having子句中组条件表明式的那一个组
  4. 按select子句中提交的列名或列表达式求值输出
  5. order子句对出口的目的举办排序,升序排列Asc只怕降序排列Desc。

(1)使用带有EXISTS谓词的子查询:查询全数选修了一号课程的上学的小孩子姓名。

select sname from student where
exists (select sno from sc where sno=student.sno and cno='1')

(2)查询选修了全体学科的学生姓名。

``` 1. select Sname from student where Sno IN
(select Sno from SC group by Sno
having count() = (select count() from course ))

select Sname from student S,
(select Sno from SC
group by Sno
having count() = (select count() from course )) C
where S.sno=C.sno

>> ```
3.
select sname from student 
where not exists ( select * from course where not exists (select * from sc where sc.sno=student.sno and sc.cno=course.cno))

(三)使用带有EXISTS谓词的子查询:查询全体选修了一号课程的学习者姓名

select sname from student where
exists (select sno from sc where sno=student.sno and cno='1)

Unique和distinct
> Unique是约束完整性的一种,distinct用于查询


####SQL更新 insert into 、 update set 、delect from
> 数据插入格式:
(1)单元组的插入
```INSERT  INTO  基本表名 [(列名表)] VALUES(元组值)```
(2)子查询结果的插入
``` INSERT  INTO  基本表名 [(列名表)]<SELECT查询语句>```
数据修改格式:
```UPDATE  基本表名
SET 列名=值表达式[,列名=值表达式…]  
[WHERE 条件表达式]```
数据删除格式:
```DELETE FROM基本表名
[WHERE 条件表达式]```
>>将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。

insert into student values('95020','陈冬','男','18','IS')

>>Student_1表的内容插入到Student表

insert into Student1
select * from student

>>将学生95001的年龄改为22岁

update student set sage=22 where sno='95001'

>>将计算机科学系全体学生的成绩置零。

UPDATE SC
SET grade=0
WHERE 'CS'=(select Sdept FROM Student WHERE Student.Sno = SC.Sno)

>>删除计算机科学系所有学生的选课记录。

delete FROM sc where 'CS'= (select sdept from student where student.sno=sc.sno)

####视图 ( CREATE、DROP 、 INSERT、UPDATE、DELETE)
> 
CREATE VIEW <视图名>(列表序列)
AS <SELECT 查询语句>

CREATE VIEW STUDENT_GRADE as
select STUDENT.Sno,SNAME,CNAME,GRADE from STUDENT,sc,course where STUDENT.sno=sc.sno and sc.cno=course.cno

DROP VIEW 视图名
更新同表,但是更新有条件?
1. 行列子集视图(从单个基本表选择、投影导出的,且包含主键)
2. 允许更新的视图在定义时必须加上"with check option"

多少注重的公理系统

U为属性集总体,ENCORE为关联形式

A1(自反性,reflexivity):若YÍ XÍU,则X→Y在R上成立。

A2(增广性,augmentation):若X→Y在R上成立,且ZÍU,则XZ→YZ在R上成立。

A3(传递性,transitivity):若X→Y和Y→Z在R上成立,则X→Z在R上成立

注:XZ代指X∪Z

函数正视的逻辑包罗

概念  设F是在论及情势兰德奔驰M级上成立的函数正视的集合,X→Y是一个函数重视。要是对于宝马X3的各样满足F的关联r也满意X→Y,那么称F逻辑包涵X→Y,记为F ⊨ X→Y。

概念  设F是函数正视集,被F逻辑包括的函数依赖全部组成的聚众,称为函数重视集F的闭包(closure),记为F 。即 F ={ X→Y |记为F⊨X→Y。 }

定理:推理规则(A1, A二, A3)是齐全的,也便是持有F 中的函数依赖都可用此八个规则导出;能用此3规则导出的函数注重都属于F

属性集的闭包

设F是性质集U上的函数集,X是U的子集,那么(相对于F)属性集X的闭包用X 表示,它是三个从F集使用函数信赖推理规则推出的享有满意X→A的属性A的集结:X ={ 属性A | X→A在F 中 }

定理: X→Y能用函数重视推理规则推出的就算须要条件是YÍX 。

例  属性集U为ABCD,函数注重集为{ A→B,B→C,D→B }。则可求出A =ABC,(AD) =ABCD,(BD) =BCD,等等。

微小函数看重集

定义 如若波及情势Lacrosse(U)上的三个函数依赖集F和G,有F =G ,则称F和G是等价的函数信赖集。

概念 设F是性质集U上的函数注重集。假诺Fmin是F的二个相当小依赖集,那么Fmin应满意下列三个规格:

       ⑴ Fmin =F ;

       ⑵ 各种函数依赖的右侧都以单属性;

       ⑶ Fmin中尚无冗余的函数依赖(即Fmin中不设有这么的函数正视X→Y,使得Fmin与Fmin -{ X→Y }等价);

       ⑷ 各类函数重视的左边未有冗余的属性(即Fmin中不存在那样的函数信赖X→Y,X有真子集W使得Fmin -{ X→Y }∪{ W→Y }与Fmin等价)

 

例  设F是涉及格局Kuga(ABC)的函数注重集,F={ A→BC,B→C,A→B,AB→C },试求Fmin。

       一 先把F中的函数信赖写成左边是单属性方式:

       F={ A→B,A→C,B→C,A→B,AB→C }

       鲜明多了三个A→B,可去除。得F={ A→B,A→C,B→C,AB→C }

       2 F中A→C可从A→B和B→C推出,因而A→C是冗余的,可去除。得F={ A→B,B→C,AB→C }

       三 F中AB→C可从A→B和B→C推出,因而AB→C也可去除。最终得F={ A→B,B→C },即所求的Fmin。

SQL分组聚焦查询

标准化:投影分解

规范化的大旨原则正是听从概念单1化“一事一表”的规范,即一个关乎只描述二个实体可能实体间的交换。

若多于3个实体,就把它“分离”出来。

之所以,所谓标准化,实质上是概念的单壹化,即1个涉嫌表示3个实体

标准化正是对原关系举办投影,化解决定属性不是候选键的其它函数依赖。具体能够分为以下几步:

一.对一NF关系举行投影,化解原关系中国和澳洲主属性对键的一些函数注重,将一NF关系调换来若干个2NF关系。

二.对2NF关系进展投影,化解原关系中非主属性对键的传递函数重视,将二NF涉嫌调换到若干个三NF提到。

三.对3NF关系进展投影,化解原关系中主属性对键的有的函数依赖和传递函数重视,相当于说使决定因素都带有三个候选键。获得1组BCNF关系

 澳门新萄京官方网站 32

 

■ 对于那几个只供给查询而不须求插入、删除等操作的体系,二种极度现象的存在并不影响数据库的操作。那时便不宜过度分解,不然当要对总体查询时,要求越来越多的多表连接操作,那有望进寸退尺。

■ 在实质上选用中,最有价值的是3NF和BCNF,在拓展关联方式的布置时,经常分解到叁NF就够用了。

 

无损连接性(Lossless Join):设关系形式GL450(U,F)被分解为多少个涉及格局ENCORE1(U一,F一),奥迪Q5二(U2,F二),…, 帕杰罗n(Un,Fn),在那之中U=U1U二…UN,且不设有UNUj式,Fi为F在Uj上的黑影,借使PAJERO与讴歌MDX一,途胜贰,…,科雷傲n自然连接的结果特别,则称关系格局奥迪Q3的表达具有无损连接性。

粗略的话,正是一旦对演讲后的新涉嫌展开自然连接获得的元组的汇集与原关系完全一致,则称之为无损连接。

函数重视保持性(Preserve Dependency):设关系形式宝马7系(U,F)被演说为多少个事关方式普拉多一(U一,F壹),途乐二(U二,F二),…, 揽胜n(Un,Fn),当中U=U一U二…UN,且不存在UNUj式,Fi为F在Uj上的黑影;假诺F所富含的轻松叁个函数正视自然也由(F壹U F2 …U Fn)所包蕴,则称关系情势LX570的表达具备函数信赖保持性

粗略的话,借使F上的每一个函数依赖都在其表达后的某1个关联上树立,则那些解释是保险函数注重的(注意:那是三个尽管规范)

 

SQL数据调节功用

疏解等价判定

判断对关乎方式的3个讲授是不是与原关系情势相当于能够有三种区别的正儿八经:

1.解释要负有无损连接性。

二.讲明要具备函数信赖保持性。

3.讲解既要具有无损连接性,又要持有函数重视保持性。

       注:

              a.假若一个分解具有无损连接性,则能够保障不丢掉音讯。要是一个疏解具有函数        信赖保持性,则足以减轻或化解种种万分情形。

              b.纵然供给表明既具有无损连接性,又不无函数重视保持性,则解释一定能够完结       三NF,但不肯定能够达到规定的规范BCNF。

              c.在3NF的规范化中,既要检查分解是还是不是有所无损连接性,又要检查分解是不是具有       函数依赖保持性。唯有这两条都满足,工夫担保分解的不易和卓有成效,才既不会           产生消息丢失,又保险关系中的数据满足完整性约束。

 

SQL视图

非规范化本事:

不经常候能够恰到好处回落以致放任关系格局的范式,升高数据库运维功效。比方平常从多少个表中查询数据,为了幸免频仍连接,能够适度数据冗余。

  (1)表分割:

              水平划分: 依据一列或多列数据的值把数据行放到五个单身的表中,平日在询问时供给五个表名,查询全部数据要求union操作

              垂直细分: 把主键和有个别列放到一个表,然后把主键和其它的列放到另二个表中,需求管住冗余列,查询全数数据需求join操作

  (二)非标准化设计的机要优点

              收缩了查询操作所需的一而再

              缩小了外部键和目录的数量

              能够先行进行计推测算,提升了查询时的响应速度

  (三)非规范化存在的最首要难题

              扩张了数额冗余

              影响数据库的完整性

              下落了数码更新的快慢

              扩充了积攒表所占领的物理空间

 

SQL索引

事务(Transaction)

用户定义的多个数据库操作种类。ACID性格(原子性Atomicity、1致性Consistency、隔离性Isolation、持续性Durability)。

原子性:事务是数据库的逻辑工作单位,叁个事务中的操作依然都做,要么都不做

一致性:数据库中只包括成功事务提交的结果时,数据库处于壹致性状态,不然处于不一致性状态

隔断性:事务的实施不能够被此外作业搅扰,并发试行的政工之间不相互困扰

此起彼伏:3个事务提交之后对数据库数据的改观正是永远性的,别的操作无法对结果有影响

 

事情的状态:

active 开端状态,事务在执行时处于此景况

partially committed,事务最终的操作试行从前

failed,事务不能够健康实施

aborted,在业务回滚后,数据库苏醒到实践职业以前的景色,中止,可以有两种管理:一.双重实践专门的工作;贰.杀死事务

committed,在功成名就实行之后

 澳门新萄京官方网站 33

SQL与Transaction

各种SQL语句皆以私下认可的事情,隐式运维,要是成功执行会隐式提交

作业能够在SQL里表示,begin transaction , commit, rollback

 

数据库系统的复苏管理部件担负对原子性和持续性的援助

shadow-database方案:

       1.如果每一趟唯有多个工作处于激活状态.

       2.指针db_pointer 总是指向当前的数据库的同样拷贝.

       三.全部更新都以对数据库的1份shadow copy 实行的, 仅当事务达到部分交给状态并且具备更新页都已写回磁盘db_pointer 才指向更新后的shadow copy.

       4.万一事情失利, db_pointer所指向的旧的如出一辙拷贝仍可用, 而shadow copy 则被删除.

注:不管理并发事务

 

出现施行:

多少个业务可同期运维,优点:

一.日增管理器和磁盘利用率

贰.裁减作业的平均响应时间(短事务无需等在长职业后)

 

调度(Schedule)

内定并发事务指令实施的定时间各种实施的命令类别

1组专门的学业的调解必须由这么些工作的有着指令,必须保留每一个事情内部的指令顺序。

SQL的完整性实现

可串行性概念

       一.可串行化调治:多个工作的现身实施结果与按某一次序串行地执行那些事情结果同样。(P3一7)

       二.争论操作:分化专业对同样数据的读写操作和写写操作(至少有贰个写操作)。

       三.争辩可串行化调整:判定可串行化调整的放量规范。贰个调整Sc在担保争执操作次   序不改变的情事下交流三个专门的工作不争论操作程序获得调整Sc‘,若Sc‘是串行的,则Sc是   争持可串行化的调解。

              注:前趋图

                     事务作结点,对于争持的事务Ti和Tj,无妨设Ti先访问抵触的原委,则画弧          Ti->Tj,可串行化的调节的前趋图未有闭环。

                     未有闭环的前趋图能够通过拓扑排序得到串行化序列

       四.可复原调节:对于每对事务Ti和Tj,如果Tj读取了由Ti所写的数码项,则Ti应早日  Tj提交。那样的调治称为可过来调节。

       不可复苏调整:事务Ti和Tj,Tj读取了由Ti所写的数量项,即使Ti后于Tj提交,那么  Ti提交时出现谬误,Ti回滚,而Tj却回滚不了了。

       5.级联回滚(Cascading Rollbacks):事务Ti和Tj,Tj读取了由Ti所写的多寡项,假如Ti回滚,那么Tj也要回滚。

       系统应该制止级联回滚,因为级联回滚必要打消多量的操作。

       六.无级联调治:为了防止调节山东中华南理文大学程公司作的级联回滚,对于每对事务Ti和Tj,假设Tj读取    了由Ti所写的多寡项,则Ti必须在Tj读取从前交付。那样的调节称为无级联调整。(同一时候保管了可恢复性)

数据库安全

并发调节(Concurrency Control)

为保证数据库的一致性, 调整必须是争持或调查可串行化的, 可过来的, 并且最棒是无级联回滚的。

出现操作带来的多少不一致性,主因是出现操作破坏了作业的隔绝性。

一.丢失修改:

二.不行重复读:

叁.读脏数据:

故而必要并发调控,其关键本领有:封锁,时间戳,乐观调整法,多版本出现调控等

 

锁机制

并发调节:事务是并发调节的骨干单位。

       1.封锁:排他锁(Exclusive locks,简称X锁)、共享锁(share locks,简称S锁)。

       X锁(写锁):若事务T对数据对象A加上X锁,则其它业务在T释放此锁在此之前无法读取和修改A。

       S锁(读锁):若事务T对数据对象A加上S锁,则T能够读A但无法修改A,其余业务只可以再对A加S锁,不可能加X锁,直到T释放A上的S锁甘休。

       2.     顶尖封锁协议:幸免丢失修改。

              二级封锁协议:一级 幸免读“脏”数据。

              三级封锁协议:二级 幸免了不可重复读。

       三.两段锁协议:全数事情必须分三个品级对数码项加锁和平解决锁。第叁等第得到封锁,称为扩充阶段(Growing Phase);第3品级释放封锁,也称减少阶段(Shrinking Phase)。(下边多少个用来决断3个调节是还是不是吻合两段锁协议)(P31玖)

       壹    在对任何数据进行读写以前率先申请并收获对该多少的约束。

       贰    在释放一个约束之后,事务不再申请和收获别的别的封锁。

       推论一:若并发施行的有着事务均依照两段锁协议,则对这么些事情的别的并发调解计策都以可串行化的。注意那是八个就算规范。

       推论二:两段锁协议与防治死锁的二遍封锁法有异议之处,遵守两段锁协议的作业或者产生死锁。(P320)

       扩展:坚实版两段锁协议(Strict 二PL):除了二PL故事情节,还会有全数事务有着的锁唯有当事情实现才被假释。可严谨幸免级联回滚。

       4.有关锁的哀告由Lock Manager管理,LM包括当前持有锁的政工列表、锁的类型、锁请求队列指针。锁定请求到达时,如若有任何事情有着争持的锁,则把请求者放入请求队列,不然创设条目款项并赋予请求的锁。共享锁进级为排他锁恐怕形成死锁难点。

       5.死锁:

              a.防范:依据时间戳分配优先级,倘若Ti想要得到Tj持有的锁,有二种艺术:

                     一)等待去世:假诺Ti比Tj优先级高,则Ti等待Tj,不然Ti中止

                     二)伤害等待:倘使Ti比Tj优先级高,Tj中止,否则Ti等待

              b.检查测试:允许死锁爆发,需求检查和修复它们。创立多少个等候图,节点是职业,如               果Ti在伺机Tj释放一个锁,那么从Ti到Tj有一条有向边。定时检查等待图里                 是不是有轮回,即便发现了死锁,中止/回滚在这之中的3个事情

 

查询管理与查询优化

备份恢复生机(Recovery)

政工的基本操作:

INPUT(X)->READ(X,t)->WRITE(X,t)->OUTPUT(X)

读取X到内部存款和储蓄器缓冲区->把X拷贝给专门的学业局地变量t->把作业局地变量t拷贝给X->把X写进磁盘

 

查询管理

日志

只好增加的包罗日志记录的文件,多少个业务并发施行时日志记录是交叉存的

系统崩溃后,使用日志 重做一些未提交的事情/撤除别的未有提交的政工

注册日志文件时务必服从两条原则:登记的次序严俊按并发事务实行的时日顺序;必须先写日记文件,后写数据库。

询问优化

  • 写出查询树(笛卡儿积、投影、选取)
  • 选取下移
  • 影子下移(有特异情状须求加条件)
  • 笛卡儿积变自然连接

撤销

记录:

<START T>事务T开始

<COMMIT T>事务T提交

<ABORT T>事务T中止

<T,X,v>事务T更新了成分X,旧的值为v

 

撤除日志规则:

一.即便事务T修改了X,那么<T,X,v>必须在X被写入磁盘此前写入磁盘

2.固然事务T提交,那么<COMMIT T>必须在享有事务T要试行的改变推行之后再写入磁盘

由此,输出是先前时代达成的(相比较commit)

 

收回的还原手续:

 澳门新萄京官方网站 34

 

注:undo操作是幂等的,能够屡屡举行,所以只要恢复生机时系统崩溃,只需再施行一回苏醒

 

日志文件须求读完整,成效低,能够用检查点来进步作用

 

并发调整

重做

定时检查数据库

1.小憩接受新的业务

二.守候眼下的富有业务达成

三.刷新日志到磁盘

4.写入<CKPT>日志记录并刷新

伍.一连接收职业

 

检查点记录:

<START T>事务T已经初始

<COMMIT T>事务T已经提交

<ABORT T>事务T已经搁浅

<T,X,v>事务T更新了成分X,新的值为v

 

重做日志规则:

固然事务T修改了X,那么<T,X,v>和<COMMIT T>必须在X被写入磁盘在此以前写入磁盘

所以,输出是后来成功的(相比较commit)

 

重做的东山复起手续:

 澳门新萄京官方网站 35

出现和相互

综合

撤销(Undo)和重做(Redo)的对比:

注销:一.出口在前;2.尽管日志里有<COMMIT T>,那么T一定把它要写的数据总体写入磁盘(所以那时不须要再打消)

重做:壹.输出在后;二.1旦日志里未有<COMMIT T>,那么T一定还未曾把其他数据写入磁盘(所以那时候磁盘里从未脏数据)

输出时的灵活性:

把多少变动的记录修改:<T,X,u,v>,表示事务T修改了X,旧值为u,新值为v

撤废/重做的规则:

尽管事务T修改了X,则<T,X,u,v>必须在X被改换从前写入磁盘。

修改后的平整对输出相对于commit的时刻从没须要,能够在commit此前输出,也得以在commit之后输出

系统的回复手续:

壹.扫描日志文件,明确每种专业是还是不是到位(commit, abort都算完结),在故障产生前已经终止的作业记入重做连串,未到位的业务记入打消队列

二.对撤除队列中的每一种业务实施撤消(依据从后到前的各类)

三.对重做队列中的每一个事情执行重做(遵照在此之前到后的一壹)

 

出现的难点:

  1. 丢掉修改
  2. 不行重复读
  3. 脏读

并发调控的根本方式:

  1. 依赖封锁机制的出现调控
  2. 依附时标的出现调节

须要深入分析&概念结构划设想计&逻辑结构划设想计

数据库设计(主要程度:普通)

需要深入分析: 重视是查明、搜聚与解析用户在数量管理中的音信须要、管理供给、安全性与完整性供给

数据字典(Data Dictionary)是种种数据描述的集结,是实行详细的数量搜集和数目深入分析所得到的根本结果

(一)     方法:直观设计法(不适于新闻保管升华的内需)、标准设计法。

正式设计法:基于E-本田UR-V模型的数据库设计格局、基于三NF的数据库设计方法、基于视图的数据库设计艺术等。

(2)     多个阶段:系统必要深入分析阶段、概念结构划设想计阶段、逻辑结构划设想计阶段、物理结构划设想计阶段、数据库实践阶段、数据库运维与维护阶段。(说不定会考)

(三)     需要深入分析与发挥需求方法

壹    SA方法(自顶向下、逐层分解的结构化解析方法):用多少流图和数码字典描述系统。

多少字典:数据项、数据结构、数据流、数据存款和储蓄、管理进程。数据字典是各式数据描述的成团,是张开详尽的数额收罗和数据分析所收获的重要性结果

2    面前碰到对象的深入分析方法:

(4)     概念结构划设想计:概念模型的特点(P二1五简要看一下)。

  1. 主意:壹自顶向下;贰自底向上(常用);叁稳步扩充;四混合计策。

注:常常采用自顶向下地张开需要深入分析、自底向上地规划概念结构(先抽象数据安排有些视图,再集成局地视图得到全局概念结构),平时以中层数据流图作为规划分E-猎豹CS6图的依附。

  1. 统一筹算分E-君越图:1.增选部分应用;贰.逐一设计分E-汉兰达图
  2. 二种数据抽象:分类(E翼虎图实体型)、集中(E昂科威图属性)、回顾。
  3. 合成E-猎豹CS6图争辨:属性冲突、命名争执、结果争辩(P22八);
  4. 实体和性质的转变准则:1.属性不可能享有须要描述的脾气;贰.属性不能够与其余实体具备联系
  5. 概念结构划设想计:1.华而不实数据并统一筹划有些视图;二.集成局地视图获得全局概念结构;3.验证全体概念结构

(5)     逻辑结构划设想计:E-奔驰G级图向关系模型的转变(与伍有重新)

a. 原则

一.三个实体型转变为三个关乎情势;

贰.贰个m:n联系调换为三个关系方式(关系的性能为与沟通相连的各实体的键以及关系的习性,关系的键为各实体键的组合);

三.贰个一:一关联可以转移为三个独立的涉及情势(关(关系的品质为各实体的键 联系的性质,每一个实体的键都是关乎的候选键),也得以与自由一端对应的关联形式统1(合并后涉及的品质包罗参预的键和维系的习性,关系的键不改变);  注:目的是尽量减少连接操作

四.一个一:n联系能够调换为2个单身的涉及情势((关系的品质为各实体的键 联系的性质,关系的键为n端实体的键),也能够与n端对应的涉及格局统一(合并后提到的质量为在n端出席壹端关系的键和关系自个儿的习性);

5.多个或多少个以上实体间的2个多元联系转变为二个提到情势(关系的习性为各实体的键 联系的天性,关系的键为各实体键的重组);

陆.均等实体集的实业间的关联,即自关系,能够根据一:一,一:n,m:n分别管理

7.独具一样键的涉及足以统一,将中间一个提到格局的成套属性到场到另叁个事关情势中,去掉当中的同义属性(不自然同名),适当调度次序

b. 数据模型的优化

一.分明数据重视;

贰.对于各种关系方式里面包车型大巴数目重视进行十分小化管理,解决冗余的牵连;

三.依据数据信赖的辩解对涉及方式逐一解析,调查是不是留存有的函数正视、传递函数依赖、多值依赖等,明确各关系情势分别属于第几范式;

4.依据须求深入分析阶段得到的各个应用对数码管理的供给,剖判对于那样的应用情状那一个情势是还是不是方便,明确是还是不是要对它们进行合并或表达;注意并不是标准化水平越高就越优,在常常提到连接时规范度高的关联的代价会非常高。

5. 坚守要求剖判阶段获得的种种应用对数据管理的渴求,对关系形式展开供给的解释或合并,以抓牢多少操作的功能和存款和储蓄空间的利用率。

          (一)水平分解:把(基本)关系的元组分为若干子会集,定义各种子会集为1        个子关系,以增加系统的作用。

          适用范围:80/20尺度,平时被使用的数码约1/5;或出现事务平时存取不相交的多少;

          (二)垂直分解:把涉及形式LX570的性质分解为若干子集结,产生若干子关系形式

 

封锁

  • 基本锁:
    • 排它锁(X锁eXclusive)写锁
    • 共享锁(S锁Share)读锁
  • 锁晋级--恐怕导致死锁难题(读锁升写锁)
  • 自律粒度选拔
    • 数据库、关系、元组三级
    • 自律粒度越大
    • 并发度越小
    • 系统开荒越小
  • 多粒度封锁
  • 自律师协会议
    1. 修改前加X锁
      • 不有限支撑可重新读
      • 读脏数据
    2. 壹级意况下。读前加S锁
      • 不读脏数据
      • 不得重复读
    3. 1级意况下。读前加S锁直到事物截至释放
      • 四个难点均满意

Red Banner数据库本事

论及模型缺点:

少数的数据类型;不可能清晰表明复杂对象和对象时期的关系;缺乏对象身份标志。

 

 

O-R映射(ORMapping):

用户支出和爱慕的中等件层,该层担负将指标数据映射到关周全据库的表中。系统中任何模块能够经过OPAJERO映射层以操作对象的方法操作关系表中的数据。

(未有改造数据库的实质)

澳门新萄京官方网站私用数据库复习,数据库期末考试复习。巨大拉长了应用种类开拓的生产率。

 

用关周详据仓库储存取对象,阻抗失配(Impedance mismatch)

对象映射到表的繁多不便:对象涵盖复杂结构;存在大的非结构化的对象;存在类继承

会促成:表存取的功用很差,或在表中检索对象很困难

 

面向对象模型OODB:用面向对象数据模型代替关周密据模型。

对象关系模型O宝马X5DB:将关全面据模型扩张为对象关周到据模型。

 

对象关联模型

优势:

一.千头万绪对象组织工夫使得对创造世界的模拟技巧强,格局自然

2.封装性向开拓人士和最后用户屏蔽复杂性和促成细节

3.承接性使得数据库设计和动用编制程序成为可采取的

特点:

a.通过引进面向对象及管理错综相连数据类型的结构来增加关周密据模型.

b.允许元组属性具备复杂性类型, 包罗非原子值(如嵌套关系).

c.保持关系基础, 尤其是对数码的描述性存取, 同期扩展建立模型技艺.

d.与存活关系语言向上兼容.

违背第3范式

对象在其REF类型的性质中贮存所关联的对象的OID值,完毕对别的对象的引用

 

OLANDDB 对象-关全面据库是发展趋势

 

聚拢模型

关联模型:

把要存款和储蓄的新闻划分成元组(行)

元组是受限的数据结构

赢得一组值

不能够把贰个元组嵌套进另三个元组,也不能够把八个表中的元组放进另一张表

允许把数量操作看成具备输入元组和再次回到元组

 

汇集模型:

发掘到用户想要操作比元组更目迷五色的数据单元

复杂记录允许List,Map,以及其余嵌套在里边的数据结构

键值对、文书档案、列族数据库使用这种复杂的布局

二个会晤是我们想要作为数据操作单元并管理1致性的相关对象群集

行使原子操作更新会集

用集结合数据存款和储蓄通讯

这么些概念与键值对,文书档案和列族数据库专门的学问。

利用集合,大家得以更便于地在集群上中国人民解放军海军事工业程高校业作,因为它们是复制和共享的单元。

出于消除了关周密据库的抵御失配难题,聚合程序也更易于应用程序员工作。

 

不可分配存款和储蓄

聚焦模型关系映射能够很好地破获数据成分和它们中间的关系。

因为它利用外键,所以它没有须求其余聚众实体的概念。

没辙从象征集中的关联合中学分辨出来

从而,大家无法采纳这几个文化来存款和储蓄和散发数据。

 

键值数据库&文书档案数据库

都面向集结

都包涵大批量含键的集结

区别:

键值存款和储蓄的集纳不可知

文书档案存款和储蓄的汇合能够看来结构

 

键值数据库的优势是足以积累任何类型的目的

文档存款和储蓄对能够积累的内容有限量,对数码有结构定义,能够用1种语言查询文档

 

键值存款和储蓄只好通过键访问

文书档案存款和储蓄能够付出基于字段的目录,能够寻觅部分集结,数据库能够创设基于集结字段的目录

 

文书档案存款和储蓄能够当键值来用

Riak(key-value)允许向聚焦增多用于索引的元数据

Redis允许把集结拆分成lists,sets,maps

 

利用键值存款和储蓄期待集合使用键

动用文书档案存款和储蓄期待对文书档案内部结构提交某种形式的查询

止于 先进数据库手艺03 P伍七

 

一致性(C):在布满式系统中的全数数据备份,在同等时刻是还是不是一致的值。(等同于全数节点访问同一份最新的数目别本)

可用性(A):在集群中一部分节点故障后,集群全体是不是还是能响应客户端的读写请求。(对数据更新具备高可用性)

分区容忍性(P):以实效来讲,分区约等于对通讯的时间限制必要。系统一旦不可能在期限内完毕数据1致性,就象征发生了分区的景色,必须就现阶段操作在C和A之间做出取舍。

自律-饥饿、活锁和死锁

  • 死锁发生
    • 调解的随机性
    • 几个东西互相须求能源
  • 死锁堤防
    • 商讨:破坏发生死锁条件
    • 常用方法:
      • 三次封锁法
        • 轻松活锁(永久等待)
      • 依次封锁法
        • 不可行
      • 依据时标的章程
        • 等待-死亡
        • 受伤-等待
  • 听别人讲时标的不二诀窍
  • 死锁的检查评定/会诊与还原
    • 检测
      • 超时法
      • 东西等待图法
        • 有回路-死锁
    • 恢复
      • rollback

可串行化调节

  • 进程等价的鉴定识别方法
    • 每壹对争论操作不改变
  • 管教出现事务推行可串行化的不2法门:贰PL,时间戳
  • 两阶段封锁协议(二PL)
    • 行使数据先申请
    • 获释第四个约束后事务不再申请和获得任何封锁
      • 加锁阶段
      • 处理
      • 自由阶段
    • 出现试行全部事务遵从两段协议是正确
      • 可防止止丢失修改、不可重复读、防止读脏数据
      • 不可能幸免死锁
  • 基于时标
    • TS(TimeStamp)
    • 时标大的先
      • 写后读写申请均11分 -- 回滚
      • 读后写不行 == 回滚
      • 读后读能够 == 修改ts时间戳

数据恢复

  • 好端端操作时的事务回滚
  • 系统崩溃后的重整旗鼓
    • 重做
    • 反做
      • 设置检查点。崩溃后重操旧业直接从检查点开端做
  • 缓冲区管理
    • 活动专门的工作修改的块先不写磁盘
    • 允许活动工作修改的块写磁盘
  • 介质故障的重整旗鼓
    • 数量转储

关周全据理论

难题的提出

  • 问题
    • 插入十分
    • 删除极度
    • 数码冗余
    • 履新复杂
  • 消除格局:情势分解
  • 二个好的涉嫌格局应该享有以下三个原则
    • 尽可能少的数量冗余
    • 一贯不加塞儿分外
    • 尚未删除分外
    • 一直不更新非常

数码重视

  • 函数信赖:最着眼

    • 类似于变量之间的单值函数关系。设单值函数Y=F(X),自变量X的值能够调节贰个唯1的函数值Y。
  • 多值依赖

    • 设帕杰罗<U>是性质集U上的关联情势,X,Y是U的子集,若对于锐界<U>的任意3个或然的涉及r, r中异常的小概存在多少个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数鲜明Y”或“Y函数注重于X”, 记作X→Y
    • 日常函数信赖: 若X→Y, 但Y不蕴涵于X, 则称X→Y是非平常的函数注重
    • 平时函数重视: 若X→Y, 但Y包涵于X, 则称X→Y是平凡的函数正视
    • 一心函数正视
    • 局地函数正视
    • 函数字传送递注重
  • 一而再注重

规范化

  • 一范式(1NF):借使二个关系中的有着属性值均是原子的,则称该关系满足一NF。关系模型中的关系必须满足1NF

  • 二范式(2NF): 若R∈1NF, 且每三个非主属性完全函数正视于码, 则称科雷傲∈二NF (即化解非主属性对码的1部分信赖)

  • 三范式(三NF): 关系方式哈弗<U, F>中若不存在那样的码X, 属性组Y以及非主属性组Z (Z Y), 使得XY 、 YZ和Y  X 创设,则称帕杰罗<U, F>叁NF。
    (即免去非主属性对码的传递重视

    • 若果波及格局卡宴<U, F>∈二NF,且每三个非主属性不传递正视于任一候选关键字,则称智跑<U, F>→NF
  • BCNF(Boyce Codd Normal Form): 关系形式奥德赛<U, F> 一NF, 若XY且Y X时, X必含有码, 则大切诺基 BCNF

  • 数码正视的公理系统

  • 涉及情势的批注

期末考试:

  • [ ] 1. 填空(10')
  • [ ] 2. 选择(10')
  • [ ] 三. E奥迪Q5->关系模型(八')
  • [ ] 四. SQL 关系代数(1二')
  • [ ] 伍. 查询优化(陆'-八')
  • [ ] 6. 并发(8')
  • [ ] 7. 故障复苏(八')
  • [ ] 八. 关系理论(陆')

我的话

最后说两句。。匆匆整理的东西就这么些,SQL实在是多。所以懒得打了,大家应该团结也能看好。什么人知道考试竟然出了壹分的考题考使用Students表成立视图IS_Students(消息高校学生消息的视图)的时候,加多什么语句使当更新IS_Students的时候,自动增添系属性为'IS'。。。刚刚在网络查了半天也没查到。希望有大牌看到的话知道能够告诉本身~

说起底一章关周详据实在看得本人恶心。。而且符号也倒霉打。。繁多平素从ppt上粘的公式显示不断,我们将就着看呢。。

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:澳门新萄京官方网站私用数据库复习,数据库期

关键词: