我们谈论生活,讨论技术,借由文字,抵达心灵。
左外连接语句其结果包括第一个命名表(“左” 表,出现在 JOIN 子句的最左边)中的所有行,不包括右表中的不匹配行:SELECT course.课程名, teacher.姓名 FROM course LEFT JOIN teacher ON (course.任课教师编号 = teacher.教师编号)右外连接语句其结果中包括第二个命名表(“右” 表,出现在 JOIN 子句的最右边)中的所有行,不包括左表中的不匹配行SELECT course.课程名, teacher.姓名 FROM course RIGHT JOIN teacher ON (course.任课教师编号 = teacher.教师编号)全外连接链接结果中包括不匹配的行,即保留不匹配信息,可以使用全外连接。FULL OUTER JOIN,不管另一个表是否有匹配的值,此运算符都包括两个表中的所有行SELECT course.课程名, teacher.姓名 FROM course FULL JOIN teacher ON (course.任课教师编号 = teacher.教师编号)子查询一般子查询一个查询是另一个查询的条件。se
SQL 语言SQL Server 数据库的体系结构SQL Server 数据库的体系结构,是由 视图、基本表、存储文件 三级结构组成。视图:外模式、基本表:模式、存储文件:内模式SQL 语言分类:按照用途可以分为:DDL,数据定义语言,Data Definition LanguageDML,数据操纵语言,Data Manipulation LanguageDQL,数据查询语言,Data Query LanguageDCL,数据控制语言,Data Control LanguageSQL 数据定义语言建立数据库:基本语句:CREATE DATABASE 数据库名建立基本表基本语句:CREATE TABLE 表名 ( 列名 数据类型, ... -- 其他列名,就一直写 列名数据类型, 直到列名都写完 完整性约束, ... ) 表级完整性约束有三种子句:主键子句(PRIMARY KEY):实体完整性,检查子句(CHECK):用户自定义完整性外键子句(FOREIGN KEY):参照完整性定义列时使用的基本数据类型:INTEGER:整数,也可以写成 INTFLOAT(n):浮点数
外连接外连接运算是连接运算的扩展,可以处理由于连接运算而缺失的信息 外连接运算:左外连接、右外连接、全外连接左外连接 ⟕取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值 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$ 中主码的之中找到,或者为空值用户定义的完整性
Luckyxyz