数据库
第一章
1. DB\DBMS\DBS\DBA的概念
- DB:DataBase 数据库
- DBS:DataBase System数据库系统
- DBMS:DataBase Management System数据库管理系统
- DBA:DataBase Administrator数据库管理员
2. DBA的职责:
- 用户与数据库开发人员之间沟通
- 设计数据库
- 决定数据库的完整性约束条件和不同用户的存取权限
- 维护
- 重构
3. 面向用户的软件体系结构,C/S 模式、B/S模式的概念
- C/S: Client/Server 客户/服务器 系统,由服务器和多个客户机组成
- B/S: Browse/Server 浏览器/服务器 系统,基于互联网的分布式存储方式,一般由客户机、应用服务器、数据库服务器三部分组成
4.三级模式的作用,以及外模式、模式、内模式、外模式/模式映像、模式/内模式映像的概念
-
三级模式的作用:
有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。
-
外模式:
也称子模式或用户模式,是个别用户组的数据库视图。是模式的子集。不同用户的外模式不同。一个应用程序智能启用一个外模式,但一个外模式可以被多个应用程序使用。使用外模式描述语言(Sub-DDL)来描述外模式
-
模式:
也称逻辑模式,是数据库中全体数据在逻辑上的视图。通常以某种数据模型为基础,定义数据库中全部数据的逻辑结构。模式不是数据库本身,仅仅描述数据库的结构。使用模式描述语言(模式DDL)来定义模式
-
内模式:
也称存储模式。定义数据库中全部数据的物理结构,也定义数据库的存储方法、存取策略。使用内模式描述语言(内模式DDL)来描述和定义内模式
-
其他:
对于一个数据库系统来说,只有一个模式和一个内模式,但可以有多个外模式
模式/内模式映像是唯一的,但有多个外模式/模式映像,每一个外模式都有一个外模式/模式映像。 -
数据的逻辑独立性:
数据库的模式发生改变时,只需要改变存在于外模式和概念模式之间的映射转换,无需改变外模式或应用程序
-
数据的物理独立性:
数据库的内模式改变时,只要改变概念模式和内模式之间的映射转换,不必改变模式,不必改变内模式。
第二章
码和主键的区别 :
1. 码和主键都可以起唯一标识作用
2. 码有多个,主键在一个实体集里只有一个
0. 名词解释
名词 | 意思 |
---|---|
关系 | 表 |
属性 | 字段 |
域 | 字段的类型与取值范围,如INT,VARCHAR(255) |
元组 | 表里的其中一行 |
分量 | 一个元组在一个字段上的值称为该元组在此属性上的分量 |
候选码 | 码 |
主码 | 主键 |
外部码 | 外键 |
关系模式 | 一般表示为:关系名(属性1,属性2,属性3……) 如:学生(学号,姓名,性别) |
1. 英文单词
English | Chinese |
---|---|
Entity | 实体 |
Attribute | 属性 |
Domain | 域 |
Entity Set | 实体集 |
Entity Type | 实体型 |
Key | 码(也叫候选码) |
2. p26 2-11图
- 强实体:具有主键的实体,如:演员、电影
- 若实体:不具有码的实体,如:角色
- 联系级:将一对多关系联系起来,如:签约
3. p30 三个冲突
1. 命名冲突:
实体集名、联系级名、属性名之间同名异义和同义异名,如:实体集职工,人事部门叫职工,科研部门叫科研人员
2. 属性冲突:
属性值类型、取值范围、取值单位冲突。如:职工号在一个E-R模型里为整型,在另一个E-R模型里为字符串
3. 结构冲突:
- 同一对象在不同应用中具有的抽象不同
- 同一实体在各局部应用中包含的属性个数和属性排列次序(?)不完全相同
4. p35 具体数据测试完整性
5. p37 E-R关系模型转换(例2.2)
- 将每一个实体集转换成一个关系模型
- 将每个联系转换成关系模型(区分一对一(最简单),一对多(不需要加表,多方加码),多对多(需要加表))
- 合并模型(需要消除三种冲突)
说得简单,做的复杂 例题:P43 17,18,19
第三章
1. SQL语言的分类
- DDL:Data Definition Language,数据定义语言。负责创建、修改、删除表、索引、视图等对象,由动词Create、Alter、Drop组成
- DML:Data Manipulation Language,数据操作语言。负责数据库中数据的插入修改查询删除操作,由动词Select、Insert、Update、Delete组成
- DCL:Data Control Language,数据控制语言。用来授予和撤销用户的权限,由动词Grant和Revoke组成
2. create table 语句使用
3. 索引的概念、作用、创建,聚簇索引和非聚簇索引
* 概念
??????
* 作用
提供多种存取路劲,加快查询速度
* 创建
create [UNIQUE][CLUSTERED|NONCLUSTERED] index <索引名>
on <表名|视图名>(<列1 排序方式,列2 排序方式……>)
* UNIQUE
索引的每一个索引值只对应于表或视图中唯一的记录,可允许存在NULL但不允许存在多个NULL
* CLUSTERED
规定此索引为聚簇索引。一个表/视图只允许有一个聚簇索引。建立聚簇索引后,表在磁盘中的物理存储顺序将与聚簇索引中的一致。在最常查询的列上建立聚簇索引可以加快查询速度。在经常更新的列上建立聚簇索引则DBMS维护索引的代价太大
* NONCLUSTERED
规定此索引为非聚簇索引,是SQL的默认选项。一个表可以有多个非聚簇索引。数据的物理存储顺序独立与索引存储顺序。每个索引行均包含非聚簇键值和一个或多个行定位器。每个索引均可以提供对数据的不同排序次序的访问
4. Select语句的使用
P55 - P69
5. 视图的概念、作用、创建
* 概念
一个视图是从一个或多个关系(表或视图)导出的关系。导出后,数据库中只有此视图的定义,没有实际生成的关系。因此视图是虚表
* 作用
- 简化用户操作
- 可以使用户以不同方式查询同一数据
- 为数据库重构提供一定程度的逻辑独立性
* 创建
create view <视图名> [列1,列2,列3……]
AS <子查询> [WITH CHECK OPTION]
- WITH CHECK OPTION 若有[WITH CHECK OPTION] 则今后对此视图进行增删改操作,系统会自动检查是否符合原定义视图子查询中的<条件表达式> 详见P75
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于