我们谈论生活,讨论技术,借由文字,抵达心灵。
外连接外连接运算是连接运算的扩展,可以处理由于连接运算而缺失的信息 外连接运算:左外连接、右外连接、全外连接左外连接 ⟕取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值 null 填充所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中 ⟕说人话:保留左边表的所有信息,其他的如果对不上,填 null右外连接 ⟖取出右侧关系中素有与左侧关系中任一元组都不匹配的元组,用空值 null 填充所有来自左侧的关系属性,构成新的元组,将其加入自然连接的结果中。全外连接 ⟗完成左外连接和右外连接的操作。也就是,填充左侧关系中所有与右侧关系中任一元组都不匹配的元组,并填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接的结果中关系代数转成 SQL 语言投影:π$_?$(?)SQL:SELECT ?from ?举例:投影:π$_{A,B,C}$(R)SQL:SELECT A,B,C from R选择:σ$_?$(?)SQL:where ?举例:π$_B$(σ$_{B>'6'}$(R))SELECT B from R where B>'6'笛
关系代数运算符投影投影运算 是从关系的垂直方向进行运算,在关系 R 中选出若干属性列 A 组成新的关系,记作 π$_A$(R)。其定义是:π$_A$(R)={t[A] | t∈R}选择选择运算是从关系的水平方向进行运算,是从关系 R 中选择满足给定条件的诸元组,记作 σ$_F$(R)。其定义是:σ$_F$(R)={t | t∈R $\land$ F(t)= True}F 一般是一个表达式,F 中的运算对象是属性名(或者 列的序号)或 常数、运算符、算数比较富、逻辑运算符 下面是:σ$_{B='5'}$ (S),一开始把所有行选择了,但是有条件,要 B=5。这里的 5 有单引号,指的是 值。σ$_{B='5'}$ (S) 可以写作 :σ$_{1='5'}$ (S)列的序号,就是从左往右标序号,如果选择 / 投影列时,没有单引号。如果写作 1=5,那就不是第一列的值是否是 5,而是判断 第一列的值和第五列的值是否相等连接连接运算是从两个关系 R 和 S 的笛卡尔积中选取满足条件的元组。θ 连接从 R 与 S 的笛卡尔积中选取属性间满足一定条件的元组XθY 是连接的条件,θ 是 比较运算符。
关系模型的定义关系的描述成为 关系模式,他可以形式化地表示为:R(U,D,dom,F)R:关系名U:组成关系的属性名集合D:属性组 U 中属性所来自的域dom:属性向域的映象集合F:属性间数据的依赖关系集合,比较重要通常简记为 R(U) 或 R(A$_1$,A$_2$,...,A$_n$) 其中,R 为关系名,U 为属性名集合,A$_1$,A$_2$,...,A$_n$ 为各属性名关系模型 由 关系数据结构、关系操作集合、关系完整性约束 三部分组成关系模型中的关系数据结构:一张二维表格关系模型中的关系操作集合:关系代数,常见的关系操作:选择、投影、连接、除、并、交、差等查询操作 和 增加、删除操作等关系模型中的关系完整性约束:实体完整性:关系中主码的值不能为空 或 部分为空,也就是说,主码中属性 即主属性不能取空值,部分是空也不行参照完整性:如果关系 R$_2$ 的外码 X 与 关系 R$_1$ 主码相对应(基本关系 R$_1$ 和 R$_2$ 不一定是不同的关系,即 它们可以是同一个关系),则 外码 X 的每个值必须在关系 R$_1$ 中主码的之中找到,或者为空值用户定义的完整性
数据模型的分类:概念数据模型:从信息世界中抽象的数据模型结构数据模型:从计算机世界中抽象出的 DBMS 支持的数据模型DBMS:Data Base Management System 数据库管理系统概念数据模型用于信息世界建模,一般采用 实体-联系方法(E-R 方法)表示实体:人、物、或者 系统属性:描述实体的特性,学号、姓名、性别、出生日期等。属性的具体取值:属性值。用以表示一个具体实体,如 属性组合(1,张三,男,10/03/79,99011)在学生表中表示一个具体的学生码:唯一标识实体的属性集 称为 码,如学号是学生实体的码。码可以 唯一标识 一套记录或者一个人域:属性的取值范围,比如 性别域是(男,女)联系:实体(型)之间的对应关系一对一联系(1:1):实体集 A 中的每一个实体,实体集 B 中至多有一个实体与之联系,反之亦然一对多联系(1:n):实体集 A 中的每一个实体,实体集 B 中有 n(n ≥ 0)个实体与之联系,而对于实体集 B 中每个实体,实体集 A 中至多只有一个实体与之联系。比如 班 和 学生之间的联系是一对多联系多对多联系(n:n):实体集 A 中的每一个实
上下文无关文法是被广泛地用于表示 各种程序设计语言 的 语法规则一般 第一行第一个是 开始符号,(上面的 E),→ 意味着 可以从 E 变成 xxx| 是 或的意思,也就是 E 可以变成 T,或者 E 也可以变成 E+T,但是不能两个同时变假设最后 N → 7,之后就不能往后面推了,所以这个时候 就会把 7 称为终结符号,就是后面这一串 是终结符号后缀式、中缀式中缀式比较常见的表达式,比如 1+2、1-2、1x2、1/2 等后缀式:把运算符放到后面,12+、12-、12x、12/ 等中缀式:a?b,?特指 +-x/后缀式:ab?优先级:括号、乘除、加减优先级相同,就是从右向左算中缀式:1-2x(3+4)/5转成后缀式(3+4)---> (34+) 这是一个整体1-2x34+/51-2x34+5/1-234+5/x1234+5/x-波兰逆式 又叫做 后缀式栈:特点:先进后出,后进先出1234+5/x- 从左向右扫描,遇到数字就入栈,遇到操作数再操作,遇到符号从栈里弹出数后缀表达式可以通过 栈 求值,转换成中缀表达式语法树根据语法树,把后缀式、中缀式算出来根左右通过中序遍历,可以得
Luckyxyz