数据库系统(期末重点)

Chapter 1 数据库基本概念


1.1 基本概念

数据库的4个基本概念

  • 数据(data):描述事物的符号记录称为数据
  • 数据库(database):数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
  • 数据库管理系统(DBMS):DBMS是计算机的基础软件,主要功能为数据定义、数据操纵、数据库的事物管理和运行管理、数据库的建立和维护
  • 数据库系统(DBS):数据库系统是由数据库、数据管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。

数据管理技术发展和特点
数据管理三个阶段:人工管理->文件系统->数据库系统
文件系统特点——面向某一应用;共享性差、冗余度大;独立性差;记录内有结构、整体无结构;由应用程序自己控制;
数据库系统的特点——数据结构化;数据共享性高、冗余度低且易扩充;数据独立性高; 数据由数据库管理系统统一管理和控制;

DBS的层次结构
在这里插入图片描述

1.2 数据模型

数据模型分类

  • 概念模型:也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计
  • 逻辑模型:它是按计算机系统的观点对数据建模,主要用于DBMS的实现
  • 物理模型:是对数据的最底层抽象,它描述在系统内部的表示方法和存取方法,是面向计算机系统的

1.2.1 概念数据模型

信息世界的基本属性

  • 实体(entity)
  • 属性(attribute)
  • 码(key)
  • 实体型(entity type)
  • 实体集(entity set)
  • 联系(relationship)

概念模型的一种表示方法:实体-联系方法(E-R方法 or E-R模型)
E-R图的组成——实体型、属性、联系

1.2.2 逻辑数据模型

逻辑数据模型三要素

  • 数据结构:描述数据库的组成对象以及对象之间的联系
  • 数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则
  • 数据的完整性约束:一组完整性规则

常用的逻辑数据模型

  • 层次模型、网状模型
  • 关系模型
  • 面向对象数据模型、对象关系数据模型、半结构化数据模型

关系模型的基本概念

  • 关系(relation):一张表
  • 元组(tuple):表中的一行
  • 属性(attribute):表中的一列
  • 码(key):表中的某个属性组,可以唯一确定一个元组
  • 域(domain):一组具有相同数据类型的值的集合
  • 分量:元组中的一个属性值,关系的每一个分量必须是一个不可分的数据项
  • 关系模式:对关系的描述,一般表示为关系名(属性1,属性2,属性3,…,属性n)

1.3 数据库系统的结构

数据库系统的体系结构采用三级模式结构并提供两级映像功能

1.3.1 三级模式结构

外模式(external schema)
  外模式也称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
  一个数据库可以有多个外模式,而一个应用只能有一个外模式。
模式(schema)
  模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
  一个数据库只有一个模式。
内模式(internal schema)
  内模式也称存储模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
  一个数据库只有一个内模式。

1.3.2 两级映像功能

为了实现三个抽象层次的联系和转换,DBS在三级模式之间提供了两层映像
外模式/模式映像
  外模式和模式之间的对应关系(可多)。
  当模式改变时,由DBA对各个外模式/模式映像作相应改变,可以使外模式保持不变。应用程序是依据外模式编写的,从而应用程序不必改变,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
模式/内模式映像
  唯一
  当数据库的存储结构改变时,由DBA对模式/内模式映像作出相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性
在这里插入图片描述

Chapter 2 关系数据库


  按照逻辑数据模型的三要素,关系模型由关系数据结构关系操作集合关系完整性约束三部分组成。

2.1 关系数据结构

2.1.1 关系

  详细定义书P39(如何从域和笛卡儿积推导到关系)
  在用户看来,关系模型中数据的逻辑结构是一张二维表。表的每一行对应一个元组,每一列对应一个域。
  看懂定义2.1 2.2 2.3 理解基本概念
超码
  可以唯一标识一个元组的属性或属性组
  如果k是超码,那么所有包含k的属性组都是超码
候选码(candidate key)
  可以唯一标识一个元组的最小属性或最小属性组,称为候选码,也是最小超码。
  候选码的诸属性称为主属性,不包含在任何候选码中的属性称为非主属性非码属性
  如果关系模式的所有属性是这个关系的候选码,称为全码
主码(primary key)
  若一个关系中有多个候选码,则选定一个作为主码
总结,超码包括候选码,候选码包括主码
关系的三种类型

  • 基本关系(基本表或基表)
  • 查询表
  • 视图表

基本关系的6条性质

  1.  列是同质的,同列的分量是同一类型数据,来自同一域
  2.  不同列可以出自同一域
  3.  列的顺序无所谓
  4.  行的顺序无所谓,但不允许相同的元组出现在同一关系里
  5.  任意两个元组的候选码不能取相同值
  6.  每一个分量都必须是不可分的数据项

2.1.2 关系模式

  关系模式是对关系的描述,是关系的抽象。关系是关系模式在某一时间的状态和内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的。关系和关系模式是“值”和“型”的关系。
  形式化表示—— R ( U , D , D O M , F ) R(U, D, DOM, F) R(U,D,DOM,F),R:关系名;U:属性名集合;D:域;DOM:属性向域的映像集合;F:属性间数据的依赖集合。

关系数据库
  所有关系的集合构成一个关系数据库,关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

2.2 关系操作

  操作的对象和结果都是集合
两大部分

  • 查询(选择、投影、连接、除、并、交、差)
  • 更新(增加、修改、删除)

2.3 关系完整性约束

关系模型中的三类完整性约束

  • 实体完整性(entity integrity)
  • 参照完整性(referential integrity)
  • 用户定义完整性(user-defined integrity)

实体完整性
  主码取值唯一
  主码中的属性即主属性不能取空值
参照完整性
  F是关系R的一个或一组属性,但不是R的码,Ks是关系S的主码。如果F与Ks相对应,则称F是R的外码,称R为参照关系,S为被参照关系,R和S不一定是同一关系。
在这里插入图片描述
则对与R中每个元组在F上的取值必须:(要么为空,要么在Ks的值中选一个)

  • 或者取空值(F的每个属性值均为空值)
  • 或者等于S中某个元组的主码值

用户定义完整性
  反映某一具体应用的关系数据库所指定约束条件
  反映某一具体应用所涉及的数据必须满足的语义要求

违反完整性约束的处理
  实体完整性、用户自定义完整性——拒绝执行
  参照完整性——拒绝执行;接受此操作,同时执行一些附加操作,以保证数据库状态正确(外键删除,级联更新、删除);

2.4 关系代数

传统的集合运算

  • 笛卡儿积

参与运算的关系具有相同的n个属性,相应属性取自同一域。
举例见书P49

专门的关系运算

  • 选择
  • 投影(取出列形成新关系,再去重)
  • 连接(非等值连接、等值连接、自然连接、外连接)
  • 等等

举例见书P53-P55
在这里插入图片描述

Chapter 3 关系数据库标准语言SQL


  结构化查询语言SQL集数据查询、数据操纵、数据定义和数据控制功能于一体,集数据库定义语言(DDL)、数据库操纵语言(DML)、数据库控制语言(DCL)于一体。
  DDL(create)
  DML(select insert delete update)
  DCL(授权、回收)

SQL功能 动词
数据查询 SELECT
数据定义 CREATE、DROP、ALTER
数据操纵 INSERT、UPDATE、DELETE
数据控制 GRANT、REVOKE

SQL支持的三级模式结构
在这里插入图片描述

3.1 数据类型

数据类型 含义
CHAR(n)
CHARACTER(n)
长度为n的定长字符串
VARCHAR(N)
CHARACTERVARYING(n)
最大长度为n的变长字符串
CLOB 字符串大对象
BLOB 二进制大对象
INTINTEGER 长整数(4字节)
SMALLINT 短整数(2字节)
BIGINT 大整数(8字节)
NUMERIC(p,d) 定点数,由p位数字(不包括符号、小数点)组成,小数点后面有d位数字
DECIMAL(p,d)
DEC(p,d)
同NUMERIC
REAL 取决于机器精度的单精度浮点数
DOUBLE
PRECISION
取决于机器精度的双精度浮点数
FLOAT(n) 可选精度的浮点数,精度至少为n位数字
BOOLEAN 逻辑布尔量
DATE 日期,格式为YYYY-MM-DD
TIME 时间,格式为HH:MM:SS
TIMESTAMP 时间戳类型
INTERVAL 时间间隔类型

3.2 数据定义

在这里插入图片描述
定义模式

create scheme <模式名> authorization <用户名>

删除模式

drop scheme <模式名> <cascade|restrict>

定义基本表

  • 17
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值