关系型数据库 期末复习(未完

关系型数据库

  • 绪论
    • 概念间的关系
    • 数据库的历史
    • 信息和数据
    • 数据模型
  • 关系模型
    • 数据结构
    • 关系完整性
    • 关系操作
      • 语言
  • 关系代数语言

绪论

概念间的关系

数据->数据库->数据库管理系统->数据库系统

数据库的历史

人工管理阶段 -> 文件系统阶段 -> 数据库系统阶段

数据库系统结构:三级模式、二级映射

  • 外模式:用户
  • [概念]模式
  • 内模式:数据库的物理存储

信息和数据

信息抽象于现实,可用E-R图描述,包括:

  • 实体 entity :具体的事物 或 抽象概念 或 他们之间的联系
  • 实体集 entity set
  • 属性 attribute
  • 属性域 domain :属性的取值范围
  • 码 key :唯一标识实体的属性(集)
  • 实体型 entity type
  • 联系 relationship
    不同实体型之间有三种联系:1:1,1:n,m:n (可以没有)

数据由信息转化,对应计算机,包括:

  • 字段 field 或数据项 data item:标记实体的属性
  • 记录 record
  • 记录型
  • 文件
  • 码 key

数据模型

分类:层次模型 hierarchical model ,网状模型 network model,关系模型 relational model ,面向对象数据模型 object oriented data model ,对象关系数据模型,半结构化数据模型等
操作:增删改查
数据结构

  • 码、主关键字 primary key:唯一标识
  • 域 domain
  • 行=元组 tuple =记录
  • 列=属性 attribute =字段
  • 主属性包括主码、候选码
  • 分量

完整性约束:实体完整性、参照完整性、用户定义完整性(用户自定义域)

关系模型

描述:关系名(属性1,属性2,……属性n)
关系的每一个分量必须是不可分的数据项

数据结构

  • 域 domain
    值域,表示属性的取值范围
    域中所包含的值的个数称域的基数(m)
  • 笛卡尔积 cartesian product
    D 1 × D 2 = { ( d 1 , d 2 ) ∣ d i ∈ D i } D_1\times D_2=\{(d_1,d_2)|d_i\in D_i\} D1×D2={(d1,d2)diDi}
    ( d 1 , d 2 ) (d_1,d_2) (d1,d2)[二]元组,其中的每一个值叫做分量
    笛卡尔积的基数是各域的基数之积
  • 关系 relation
    笛卡尔积的子集叫在域D1,…Dn上的关系,表示为 R ( D 1 , D 2 , . . . , D n ) R(D_1,D_2,...,D_n) R(D1,D2,...,Dn)
    R是关系的名字,n是关系的
    若关系中,某一属性组的值能唯一地标识一个元组,而其子集不能,则称候选码,候选码的诸属性称为主属性。候选码可只包含一个属性,也可能包含全部属性,此时称为全码
    从候选码中选出一个来作为主码,主码也可以是多个属性共同构成的。
    外部码,在本关系中不是码,但是其他某一关系的码。
    笛卡尔积没有意义,其子集才有意义。关系必须是有限集合。
    关系可有:基本表(实际)、查询表、视图表(虚表)

关系完整性

  • 实体完整性 entity integrity
    主属性不能取空
  • 参照完整性 referential integrity
    属性F是关系R的属性但不是R的码,K是关系S的主码,F与K定义在同一个域上(相对应),则F是R的外部码,R是参照关系,S是被参照关系(目标关系),R中任一元组在F上的值为:F=S中某个元组的K值 或 空值
  • 用户定义完整性 user-defined integrity
    用户自定义域

关系操作

增删改查
查询包括:选择投影、连接、除、、交、笛卡尔积
标粗的是基本操作,其他操作可以用五种基本操作来定义和导出

语言

  • 关系代数语言 relational algebra 查询 ISBL
  • 关系演算语言 relational calculus 查询 元组演算:ALPHA 域演算:QBE
  • 关系数据库标准语言 SQL(structured query language) 更加强大

只需要给出查询,不需要考虑如何实现查询

关系代数语言

集合运算:

  • 并union:R和S具有相同目n,且相应属性取自同一个域 R ∪ S = { t ∣ t ∈ R ∨ t ∈ S } R\cup S=\{t|t\in R\vee t\in S\} RS={ttRtS}
  • 差except:R和S具有相同目n,且相应属性取自同一个域 R − S = { t ∣ t ∈ R ∧ t ∉ S } R- S=\{t|t\in R\wedge t\notin S\} RS={ttRt/S}
    从R中减去和S相同的
  • 交intersection:R和S具有相同目n,且相应属性取自同一个域 R ∩ S = { t ∣ t ∈ R ∧ t ∈ S } R\cap S=\{t|t\in R\wedge t\in S\} RS={ttRtS}
  • 广义笛卡尔积 cartesian product:连接

引入表示符号:

  • 关系 R ( A 1 , A 2 , . . . , A n ) R(A_1,A_2,...,A_n) R(A1,A2,...,An)
    t ∈ R , t\in R, tR,其中t是元组
    t [ A i ] t[A_i] t[Ai]表示元组t中的分量Ai
    A是属性列/域列
    A ˉ \bar{A} Aˉ表示从关系中去掉A属性后剩余的属性组

  • R是n目关系,S是m目关系, t r ∈ R , t s ∈ S t_r\in R,t_s\in S trR,tsS
    $\stackrel\frown{t_rt_s} $是元组的连接 concatenation,是一个(n+m)列的元组

  • 给定关系R(X,Z),XZ为属性组,定义当t[X]=x时,x在R中的象集images set是 Z x = { t [ Z ] ∣ t ∈ R , t [ X ] = x } Z_x=\{t[Z]|t\in R,t[X]=x\} Zx={t[Z]tR,t[X]=x},它表示R中属性组X上值为x的各元组在Z上分量的集合

关系运算:

  • 选择运算 selection/restriction:选择元组 σ F ( R ) = { t ∣ t ∈ R ∧ F ( t ) = t r u e } \sigma_F(R)=\{t|t\in R\wedge F(t)=true\} σF(R)={ttRF(t)=true}
    F是一个公式,由逻辑运算符 ∨ ∧ ¬ \vee \wedge \neg ¬连接算数表达式 > < ≥ ≤ = ≠ > < \ge \le = \ne ><≥≤==构成
  • 投影运算projection:选择列 π A ( R ) = { t [ A ] ∣ t ∈ R } \pi_A(R)=\{t[A]|t\in R\} πA(R)={t[A]tR},取消重复行
  • 连接运算join: R ⋈ F S R\underset{F}{\Join} S RFS
    • 等值连接:F中算数表达式是=, R ⋈ A = B S R\underset{A=B}{\Join} S RA=BS
    • 自然连接(常用且默认):进行比较的分量必须是相同的属性,并且在结果中去掉重复的属性 R ⋈ S R\underset{}{\Join} S RS,会有悬浮元组消失
    • 半连接 :自然连接后仅保留对R属性的投影
    • 左外连接:若S中找不到匹配的元组,则不匹配的元素用空值匹配
    • 右外连接:若R中找不到匹配的元组,则不匹配的元素用空值匹配
    • 全外连接:所有不匹配的元组均用空值匹配
  • 除:R(X,Y),S(Y,Z), R ÷ S = { t r [ X ] ∣ t r ∈ R ∧ Y X ⊇ π Y ( S ) } R\div S=\{t_r[X]|t_r\in R\wedge Y_X\supseteq \pi_Y(S)\} R÷S={tr[X]trRYXπY(S)}
    X的象集Yx包含S在Y上的投影

运算之间的转换:
R ∩ S = R − ( R − S ) 或 S − ( S − R ) R\cap S=R-(R-S)或S-(S-R) RS=R(RS)S(SR)
R ÷ S = π X ( R ) − π X ( ( T ∗ π Y ( S ) − R ) R\div S=\pi_X(R)-\pi_X((T*\pi_Y(S)-R) R÷S=πX(R)πX((TπY(S)R)
此处应看ppt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/161452.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

逆向学习记录(1)windows系统基本配置

我的环境&#xff1a;win10系统64位。 可以在虚拟机上操作。改天记录一下如何安装虚拟机及里面的系统。 1、查看windows版本情况 按下winr&#xff0c;输入winver&#xff0c;即可。 2、新装的windows系统&#xff0c;桌面上没有我的电脑图标&#xff1f; 在桌面上右键&…

D-Link账号密码泄露

构造payload&#xff1a; /getcfg.php SERVICESDEVICE.ACCOUNT&attackture%0D%0AAUTHORIZED_GROUP%3D1漏洞证明&#xff1a; 文笔生疏&#xff0c;措辞浅薄&#xff0c;望各位大佬不吝赐教&#xff0c;万分感谢。 免责声明&#xff1a;由于传播或利用此文所提供的信息、技…

shell script函数function篇

function fname(){ 程序段 } #这个比较熟悉了&#xff0c;和其他计算机语言定义函数的格式都是相同的&#xff0c;上案例&#xff0c;自定义printf函数 总结&#xff1a;函数定义的格式&#xff0c;和其他语言大同小异&#xff0c;不同的是在函数调用方面&#xff0c;c和java…

社区牛奶智能售货机为你带来便利与实惠

社区牛奶智能售货机为你带来便利与实惠 低成本&#xff1a;社区牛奶智能货机的最大优势在于成本低廉&#xff0c;租金和人工开支都很少。大部分时间&#xff0c;货柜都是由无人操作来完成销售任务。 购买便利&#xff1a;社区居民只需通过手机扫码支付&#xff0c;支付后即可自…

ICCV2023 Tracking paper汇总(一)(多目标跟随、单目标跟随等)

一、PVT: A Simple End-to-End Latency-Aware Visual Tracking Framework paper&#xff1a; https://openaccess.thecvf.com/content/ICCV2023/papers/Li_PVT_A_Simple_End-to-End_Latency-Aware_Visual_Tracking_Framework_ICCV_2023_paper.pdf github&#xff1a; https://…

阿里云多款ECS产品全面升级 性能最多提升40%

“阿里云始终围绕‘稳定、安全、性能、成本、弹性’的目标不断创新&#xff0c;为客户创造业务价值。”10月31日&#xff0c;杭州云栖大会上&#xff0c;阿里云弹性计算计算产品线负责人张献涛表示&#xff0c;通过持续的产品和技术创新&#xff0c;阿里云发布了HPC优化实例等多…

一个使用uniapp+vue3+ts+pinia+uview-plus开发小程序的基础模板

uniappuviewPlusvue3tspiniavite 开发基础模板 使用 uniapp vue3 ts pinia vite 开发基础模板&#xff0c;拿来即可使用&#xff0c;不要删除 yarn.lock 文件&#xff0c;否则会启动报错&#xff0c;这个可能和 pinia 的版本有关&#xff0c;所以不要随意修改。 拉取代码…

网络资料(忘传了)

1网络分层模型和应用协议 1.1分层模型 1.1.1分层的意义 当遇到一个复杂问题的时候&#xff0c;可以使用分层的思想把问题简单化 比如&#xff0c;你有半杯82年的可乐&#xff0c;想分享给你的朋友王富贵&#xff0c;但你们已经10年没有联系了。要完成这件事&#xff0c;你可…

Spring Boot中解决跨域问题(CORS)

1. 跨域介绍 首先解释什么是跨域&#xff0c;跨域就是前端和后端的端口号不同&#xff1b;会产生跨域问题&#xff0c;这里浏览器的保护机制&#xff08;同源策略&#xff09;。 同源策略&#xff1a;前端和后端的协议、域名、端口号三者都相同叫做同源。 我们看一下不同源&am…

Mac安装VMware

去官网下载一下VMware Download VMware Fusion | VMware | SG 下载完成之后&#xff0c;打开直接闪退&#xff0c;参考这篇文章解决 解决macOS13安装Fusion13闪退的问题-CSDN博客 然后即可成功顺行

C# list<T>去重

文章目录 C# list<T>去重值类型去重List<object>object is intobject is decimalobject is charobject is boolobject is string List<int>List<string> 引用类型去重 C# list去重 值类型去重 List object is int //object is intList<object&g…

跳跳狗小游戏

欢迎来到程序小院 跳跳狗 玩法&#xff1a;一直弹跳的狗狗&#xff0c;鼠标点击屏幕左右方向键进行弹跳&#xff0c;弹到不同物品会有不同的分数减扣&#xff0c;规定的时间3分钟内完成狗狗弹跳&#xff0c;快去跳跳狗吧^^。开始游戏https://www.ormcc.com/play/gameStart/198…