Week 1
LIVE-Introduction
LIVE-Relational model and Relational Algebra
REC-ER Model
REC-Relational Algebra
目录
The three-level ANSI-SPARC architecture 三级ANSI-SPARC体系结构
西塔连接Theta join:R ⋈FS=σF(R X S)
关键概念:
逻辑数据:实体entities、属性attributes、关系relationship
实体:数据库中表示的组织中的不同对象
属性:对象的属性
关系:实体间的联系
数据模型:data model 对数据库组件的图形化描述
模式:database schema 数据库模式是对数据库的描述
数据:data 储存在数据库中的实际信息
DBMS:一种软件系统,用户可以定义、创建、维护和控制对数据库的访问
DDL:data definition language 数据定义语言
DML:data manipulation language 数据操作语言
数据库环境中的角色:
DA:数据管理-DBA:数据库管理员-数据库设计者-应用程序开发人员-终端用户
The three-level ANSI-SPARC architecture 三级ANSI-SPARC体系结构
目标:将每个用户的数据库视图与数据库的物理表示方式分开
用户:访问数据(特定视图)、更改用户的视图(不影响其他用户),无需处理数据库存储的详细信息,独立。
用户视图不受物理因素影响、内部结构不受物理因素变化影响、DBA可以在对用户视图影响最小的情况下改变数据库的结构视图
Three levels:
DBMS
DBMS优点:
控制数据冗余、数据一致性、相同量数据更多信息、数据共享、改进数据完整性、提高安全性、标准的执行、节约、平衡冲突、提高数据访问性、响应能力、生产率、对独立性的维护、并发性和备份与恢复服务
DBMS缺点:
复杂、size、cost、额外硬件hardware成本、转变成本、性能、故障带来的影响
关系模型:
relational model , In the relational model, all data is logically structured within relations (tables).所有数据在啊关系表中进行逻辑结构化
每个关系有数据的属性(attributes,列)组成,每个元组(tuple,行)包含每个属性的一个值
Relation(表): A relation is a table with columns and rows.一个表
Tuple(元组,行): A tuple is row of a relation.关系的行
Attribute(属性,列): An attribute is a named column of a relation.关系的命名列
Cardinality(基数): the number of tuples in a relation.元组的数量(行的数量)
Degree(度): the number of attributes in a relation.属性的数量(列的数量)
Domain(域): the set of allowable values for one or more attributes.一或多个属性的值集(列的集)
Relational database: A collection of normalized relations with distinct relation names.具有不同关系名称的规范化关系的集合
在SQL中创建表(创建关系)
Creat Table Branch(attributes1,attributes2,attributes3)
关系的性质
关系间不能重名、每个有关系的单元格只有一个值、attribute(属性、列)不能重名、每个属性的值在同一值域same domain、tuple(元组、行)不重名、属性的顺序无所谓、元组的顺序无所谓
Relational key关系键
候选键Candidate key:
A set of attributes that uniquely identifies a tuple within a relation.候选键:唯一标识关系中元组的一组属性
Uniqueness : In each tuple, candidate key uniquely identify that tuple.
Irreducibility: No proper subset of the candidate key has the uniqueness property.
主键Primary key:
Candidate key selected to identify tuples uniquely within relation.主键:唯一标识元组的候选键
外键Foreign key:
Attribute, or set of attributes, within one relation that matches candidate key of some other (possibly same) relation.外键:一个关系中匹配其他可能相同的关系的候选键的属性集
表示:一个关系表中:关系名称、属性(在括号里)、主键(带下划线)
例:Relation name (attribute 1 (key), attribute 2, … attribute n)
Integrity实体
空Null:
未知/不适用于元组、不完整/异常、没有值(和0/空格不同)
实体完整性Entity Integrity:
In a base relation, no attribute of a primary key can be null.在基本关系中,主键的任何属性不能为空
引用完整性Referential Integrity:
If foreign key exists in a relation, either foreign key value must match a candidate key value of some tuple in its home relation or foreign key value must be null.外键必须与主关系中某个元组的候选键值匹配或外键必须为空
一般约束条件General Constrainte:
对值的特定约束,如高度必须>0and<250
E-R model实体-关系模型
建立数据库:用data modelling(数据建模)/数据模型 data model(对数据库组件的图形化描述)
关系模型中,所有数据在关系表中进行逻辑结构化//一个关系是一个行列二维表//关系数据库(relation database)是一个关系的集合//行:一个案例,列:同类型数据
综述:
In a relational database, each row must be uniquely identified with primary key.
The tables in a relational database are connected or related by means of the data in the tables.
E-R model实体关系建模
E-R modelling is a high-level conceptual modelling technique for DB applications.用于数据库应用端高级建模技术
主要概念:
Entity(实体)、Attributes(属性)、Relationship(关系)
Entity(实体):
组织要在数据库中表示的一个不同的对象。数据模型的基本构建块、应储存的数据、具有相同属性的对象、独立的
用一个矩形表示,实体名称在矩形顶部大写单数。
Attributes(属性):
一个实体具有的特征或属性,数据的离散元素,在实体名称下面写
标识符(*):标记主键
Relationship(关系):
实体和其他实体关联,描述两个实体间的联系,用arc(弧线)表示
实体:STUDENT 属性:studentID等 关系:STUDIES下面那条线
1:m relationship一对多关系
例:一个国家很多城市,一个城市只属于一个国家
m:m relationship多对多关系
例:一个促销中包括很多项目,一个项目可以出现在许多促销中
Associative entity关联实体:
补充多对多关系中的缺失信息(通过两个1:m得到m:m)
关系键
Candidate Key候选键:
元组属性,唯一性uniqueness、不可重复性irreducibility
Primary Key 主键:
识别关系中唯一的元组(上图saleNo是SALE里面的主键)
Foreign Key 外键:
属性或属性集,匹配一个关系的候选键(上图saleNo和Itemno)
Composite Key 复合键:
两个或多个属性组成的候选键(上图saleNo和Itemnod的组合 若二者不同)
One to one relationship一对一关系:
例:一个部门有一个老板,一个老板属于一个部门
Recursive relationship递归关系
例:老板下面很多小老板 小老板下面更多员工
关系类型:递归关系,同一实体类型多次参与不同角色的关系类型。
Structural Constraints结构约束:
Multiplicity多重性:
对关系约束的主要类型,实体类型通过特定关系出现的单个关联实体类型可能出现的数量或范围。
二进制(binary)人际关系最常见的程度:one-to-one(1:1)one-to-many(1:*)many-to-many(*:*)
Relational Algebra关系代数:
与关系模型相关联的形式化语言。
Relational algebra operations 关系代数运算,一个或多个关系来定义另一个关系,不改变原始关系。
Closure 闭包属性,允许表达式被嵌套
基本操作:
选择Selection:σcondition (R)
处理单个关系R,并定义一个只包含满足指定条件(谓词)的R的元组(行)的关系。
预测
Projection:πcol1, . . . , coln(R)
单个关系R中,并定义一个包含R的垂直子集的关系,提取指定属性的值并消除重复。
笛卡尔积 Cartesian product:R X S
R的元组和S的元组的连接
Join:
笛卡尔积的导数,等价于执行一个选择运算,使用连接条件作为选择公式,对两个操作数关系的笛卡尔积。
自然连接 natural join:R ⋈S
结果是R和S中所有在公共属性名上相等的元组组合的集合。
西塔连接Theta join:R ⋈FS=σF(R X S)
R和S的笛卡尔积且满足F
并集 Union:R∪S
包含R和S的所有元组(重复元组合并),R和S中的属性必须一致
差集 Set Difference:R - S
属于R但是不属于S的关系,R和S中属性一致(可求并集)
交集 Intersection:R∩S
分离Division:R÷S
R在A上,S在B上,B是A的子集,C=A-B,R÷S是C上的关系,由R中元素组成,匹配S中的元素