数据库

第一章

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. 英文单词

EnglishChinese
Entity 实体
Attribute 属性
Domain
Entity Set 实体集
Entity Type 实体型
Key 码(也叫候选码)

2. p26 2-11图

2-11

  • 强实体:具有主键的实体,如:演员、电影
  • 若实体:不具有码的实体,如:角色
  • 联系级:将一对多关系联系起来,如:签约

3. p30 三个冲突

1. 命名冲突:

实体集名、联系级名、属性名之间同名异义和同义异名,如:实体集职工,人事部门叫职工,科研部门叫科研人员

2. 属性冲突:

属性值类型、取值范围、取值单位冲突。如:职工号在一个E-R模型里为整型,在另一个E-R模型里为字符串

3. 结构冲突:

  1. 同一对象在不同应用中具有的抽象不同
  2. 同一实体在各局部应用中包含的属性个数和属性排列次序(?)不完全相同

4. p35 具体数据测试完整性

5. p37 E-R关系模型转换(例2.2)

  1. 将每一个实体集转换成一个关系模型
  2. 将每个联系转换成关系模型(区分一对一(最简单),一对多(不需要加表,多方加码),多对多(需要加表)
  3. 合并模型(需要消除三种冲突)

说得简单,做的复杂 例题: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. 视图的概念、作用、创建

* 概念

一个视图是从一个或多个关系(表或视图)导出的关系。导出后,数据库中只有此视图的定义,没有实际生成的关系。因此视图是虚表

* 作用

  1. 简化用户操作
  2. 可以使用户以不同方式查询同一数据
  3. 为数据库重构提供一定程度的逻辑独立性

* 创建

create view <视图名> [列1,列2,列3……] 
AS <子查询> [WITH CHECK OPTION]
  • WITH CHECK OPTION 若有[WITH CHECK OPTION] 则今后对此视图进行增删改操作,系统会自动检查是否符合原定义视图子查询中的<条件表达式> 详见P75

添加新评论