数据库
一、数据库系统
1、相关概念
- Data:数据,是数据库中存储的基本对象,是描述事物的符号记录。
- Database:数据库,是长期储存在计算机内、有组织的、可共享的大量数据的集合。
- DBMS:数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,用于科学地组织、存储和管理数据、高效地获取和维护数据。
- DBS:数据库系统,指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员(DBA)构成。
- 数据模型:是用来抽象、表示和处理现实世界中的数据和信息的工具,是对现实世界的模拟,是数据库系统的核心和基础;其组成元素有数据结构、数据操作和完整性约束。包括概念模型和逻辑模型。常用的数据模型:层次模型、网状模型、面向对象模型、对象关系模型、关系模型。
- 概念模型:也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。(现实世界中对象的抽象)
- 逻辑模型:是按计算机系统的观点对数据建模,用于DBMS 实现。(E-R图)
- 物理模型:是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
- 实体和属性:客观存在并可相互区别的事物称为实体。实体所具有的某一特性称为属性。
- E-R 图:即实体-关系图,用于描述现实世界的事物及其相互关系,是数据库概念模型设计的主要工具。 实例用方框,联系用菱形,属性用椭圆。
- 关系模式:从用户观点看,关系模式是由一组关系组成,每个关系的数据结构是一张规范化的二维表。
- 型/值:型是对某一类数据的结构和属性的说明;值是型的一个具体赋值,是型的实例。
- 数据库的三级系统结构:外模式、模式和内模式。
- 模式:是对数据库中全体数据的逻辑结构(数据项的名字、类型、取值范围等)和特征(数据之间的联系以及数据有关的安全性、完整性要求)的描述。
- 内模式:又称为存储模式,是对数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
- 外模式:又称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。通常是模式的子集。一个数据库可有多个外模式。
- 数据库的二级映像:外模式/模式映像、模式/内模式映像。
2、重点知识点
-
数据库系统由数据库、数据库管理系统、应用系统和数据库管理员构成。
-
数据模型的组成要素是:数据结构、数据操作、完整性约束条件。
-
实体型之间的联系分为一对一、一对多和多对多三种类型。
-
常见的数据模型包括:关系、层次、网状、面向对象、对象关系映射等几种。
-
关系模型的完整性约束包括:实体完整性、参照完整性和用户定义完整性。
-
阐述数据库三级模式、二级映象的含义及作用。
数据库三级模式反映的是数据的三个抽象层次: 模式是对数据库中全体数据的逻辑结构和特征的描述。内模式又称为存储模式,是对数据库物理结构和存储方式的描述。外模式又称为子模式或用户模式,是对特定数据库用户相关的局部数据的逻辑结构和特征的描述。数据库三级模式通过二级映象在 DBMS 内部实现这三个抽象层次的联系和转换。外模式面向应用程序, 通过外模式/模式映象与逻辑模式建立联系, 实现数据的逻辑独立性。 模式/内模式映象建立模式与内模式之间的一对一映射, 实现数据的物理独立性。
二、关系数据库
1、相关概念
- 主键: 能够唯一地标识一个元组的属性或属性组称为关系的键或候选键。 若一个关系有多个候选键则可选其一作为主键(Primary key)。
- 外键:如果一个关系的一个或一组属性引用(参照)了另一个关系的主键,则称这个或这组属性为外码或外键(Foreign key)。
- 关系数据库: 依照关系模型建立的数据库称为关系数据库。 它是在某个应用领域的所有关系的集合。
- 关系模式: 简单地说,关系模式就是对关系的型的定义, 包括关系的属性构成、各属性的数据类型、 属性间的依赖、 元组语义及完整性约束等。 关系是关系模式在某一时刻的状态或内容, 关系模型是型, 关系是值, 关系模型是静态的、 稳定的, 而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
- . 实体完整性:用于标识实体的唯一性。它要求基本关系必须要有一个能够标识元组唯一性的主键,主键不能为空,也不可取重复值。
- 参照完整性: 用于维护实体之间的引用关系。 它要求一个关系的外键要么为空, 要么取与被参照关系对应的主键值,即外键值必须是主键中已存在的值。
- 用户定义的完整性:就是针对某一具体应用的数据必须满足的语义约束。包括非空、 唯一和布尔条件约束三种情况。
2、重要知识点
-
关系数据库语言分为关系代数、关系演算和结构化查询语言三大类。
-
关系的 5 种基本操作是选择、投影、并、差、笛卡尔积。
-
关系模式是对关系的描述,五元组形式化表示为:R(U,D,DOM,F),其中
R —— 关系名
U —— 组成该关系的属性名集合
D —— 属性组 U 中属性所来自的域
DOM —— 属性向域的映象集合
F —— 属性间的数据依赖关系集合 -
笛卡尔乘积:
设R是n元关系,S是m元关系,R和S的的笛卡尔积定义为
R×S={(r1,…,rn,s1,…,sm)|(r1,…, rn )∈R∧(s1, …,sm )∈S}
集合A{a1,a2,a3} 集合B{b1,b2}
笛卡尔积 A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)} -
选择运算:
设R是一个n元关系,F是一个形如riθc的公式,其中θ∈{=,≠,>,<,≤,≥}
R的选择操作定义为F®={(r1,…,ri ,…,rn )|(r1,…,ri ,…,rn )∈R∧riθc }
即取出符合条件的 -
投影运算:
设R是一个n元关系,R的投影操作定义为
∏i1,i2,…,im® = {(ri1, …,rim)|(r1 ,…,ri1,…,rim,…,rn)∈R}
从R中选择符合条件的,同时看横行,两横行相同只保留一个
三、SQL
1、相关概念
- SQL:结构化查询语言(Structured Query Language)的简称, 是关系数据库的标准语言。SQL 是一种通用的、 功能极强的关系数据库语言, 是对关系数据存取的标准接口, 也是不同数据库系统之间互操作的基础。集数据查询、数据操作、数据定义、和数据控制功能于一体。
- 数据定义:数据定义功能包括模式定义、表定义、视图和索引的定义。
- 嵌套查询:指将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中的查询。
2、重要知识点
- SQL 数据定义语句的操作对象有:模式、表、视图和索引。
- SQL 数据定义语句的命令动词是:CREATE、DROP 和 ALTER。
- RDBMS 中索引一般采用 B+树或 HASH 来实现。
- 索引可以分为唯一索引、非唯一索引和聚簇索引三种类型。
- SQL 创建表语句的一般格式为
CREATE TABLE <表名> ( <列名> <数据类型>[ <列级完整性约束> ] [,<列名> <数据类型>[ <列级完整性约束>] ] … [,<表级完整性约束> ] ) ; - <数据类型>可以是数据库系统支持的各种数据类型,包括长度和精度。 - 列级完整性约束为针对单个列(本列)的完整性约束, 包括 PRIMARY KEY、 REFERENCES 表名(列名)、UNIQUE、NOT NULL 等。 - 表级完整性约束可以是基于表中多列的约束,包括 PRIMARY KEY ( 列名列表) 、FOREIGN KEY REFERENCES 表名(列名) 等。
- SQL 创建索引语句的一般格式为
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名> (<列名列表> ) ; - UNIQUE:表示创建唯一索引,缺省为非唯一索引; - CLUSTER:表示创建聚簇索引,缺省为非聚簇索引; - <列名列表>:一个或逗号分隔的多个列名,每个列名后可跟 ASC 或 DESC,表示升/降序,缺省为升序。多列时则按为多级排序。
- SQL 查询语句的一般格式为
SELECT [ALL|DISTINCT] <算术表达式列表> FROM <表名或视图名列表> [ WHERE <条件表达式