赞
踩
有志者,事竟成。
数据:数据是数据库中存储的基本对象,可以定义为:描述事物的符号记录
。
数据库:长期存储在计算机内的、有组织的、可共享的大量数据集合。
数据库管理系统:位于用户与操作系统之间的一层数据管理软件
。
数据库系统:在计算机系统中引入数据库后的系统,是由软件和硬件组成的完整系统
。
概念模型相关术语:
实体
:客观存在的、可以相互区别的事物或概念。
属性
:实体所具有的某一个特性。码
:能够唯一标识实体的属性集。域
:属性的取值范围。概念模型的组成要素
:
检索
和更新
两大类操作。联系
、他们之间的制约与依存关系
,以及数据动态变化的规则
。概念模型的特点
:
常用数据模型:
数据库三级模式:
数据库系统体系结构从数据库管理系统角度看数据库系统内部的模式结构,通常用三级模式结构:外模式、模式、内模式。
数据的局部逻辑结构
,也是数据库用户看到的数据视图。一个数据库可以有多个外模式。应用程序都和外模式打交道。数据库中全体数据的全局逻辑结构和特征的描述
,也是所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图,一个数据库只有一个模式
。数据的物理结构和存储方式的描述
。一个数据库只有一个内模式
。数据库二级映像
为了在内部实现数据库的三个抽象层次的联系和转换而生
外模式/模式
全局逻辑结构
,外模式描述数据的局部逻辑结构
,同一个模式可以任意多个外模式
数据与程序的逻辑独立性
模式/内模式
模式/内模式映像是唯一的
数据与程序的物理独立性
功能和作用:保证数据库系统中的数据能够有较高的逻辑独立性和物理独立性
数据库系统的外部体系结构
单用户结构的数据库系统
分布式结构的数据库系统
客户机/服务器结构的数据库系统
浏览器/服务器结构的数据库系统
关系数据结构
关系:数据之间的逻辑连接,用于描述数据实体之间的相互关系
域: 一组具有相同数据类型的值的集合,就是表的一列的取值范围
笛卡尔积: D 1 = { 1 , 2 , 3 } D_1 = \{1,2,3\} D1={1,2,3} D 2 = { A , B } D_2 = \{A,B\} D2={A,B}
关系:笛卡尔中有实际意义的元组构成关系(一张二维表)
候选码:能唯一标识关系中一个元组的某一属性组(可能不止一个)
主属性:候选码的诸属性称为主属性
非主属性:不存在与任何候选码中的属性称为非主属性
全码:关系模式的所有属性是这个关系模式的候选码,称为全码
性质
关系模式:关系数据库中的数据结构,它定义了表的结构和属性
关系数据库:是一种基于关系模型的数据库。它使用表和列来组织和存储数据
关系数据库操作:
完整性约束:
关系运算
##第三章 SQL语言
特点:
数据库定义:CREATE DATABASE 数据库名
数据库维护:ALTER DATABASE 数据库名
表定义:CREATE TABLE 表名(属性名 数据类型 属性约束条件, …,表约束条件)
常用数据类型:varchar(n), text , date, int , bigint, float …
###完整性约束定义
作用范围:列级约束,元组约束,关系约束
实体完整性
NOT NULL 约束
:该约束确保列中的每个值都不为空。
例如,将 ‘customers’ 表中的 ‘customer_name’ 列设为 NOT NULL 约束:
ALTER TABLE customers MODIFY customer_name VARCHAR(50) NOT NULL;
UNIQUE 约束
:该约束确保列或一组列中的每个值都是唯一的,即不能重复。
例如,将 ‘customers’ 表中的 ‘email’ 列设为 UNIQUE 约束:
ALTER TABLE customers ADD CONSTRAINT unique_email UNIQUE (email);
PRIMARY KEY 约束
:该约束确保列或一组列中的每个值都是唯一的,并用于唯一标识表中的每个记录。
例如,在一个新表中创建一个名为 ‘orders’ 的主键约束:
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE
);
参照完整性
FOREIGN KEY 约束
:该约束确保列或一组列中的值与另一个表中的值相匹配。这是关联两个表的常用方法。
例如,在 ‘orders’ 表中添加一个指向 ‘customers’ 表的 ‘customer_id’ 列的外键约束
ALTER TABLE orders ADD CONSTRAINT fk_orders_customer_id
FOREIGN KEY (customer_id) REFERENCES customers(customer_id);
违反参照完整性的处理方式:拒绝、联级删除(修改)、设置为空值,默认是拒绝
用户定义完整性
CHECK 约束
:该约束确保列中的每个值都满足特定条件。
例如,在 ‘employees’ 表中添加一个 CHECK 约束,以确保 ‘salary’ 列中的值大于等于 50000:
ALTER TABLE employees ADD CONSTRAINT check_salary CHECK (salary >= 50000);
DEFAULT 约束
:该约束指定在未提供值时使用的默认值。
例如,在 ‘orders’ 表中为 ‘order_date’ 列添加一个 DEFAULT 约束,以便在未提供值时使用当前日期:
ALTER TABLE orders MODIFY order_date DATE DEFAULT CURRENT_DATE;
INDEX 约束
:该约束创建一个索引,以提高对该列的检索效率。
例如,在 ‘products’ 表中为 ‘product_name’ 列添加一个索引:
CREATE INDEX idx_product_name ON products (product_name);
…
###索引
优点:可以加快查询速度
缺点:本身会占用用户数据库空间,会增加维护索引的时间成本
种类
聚集索引
:数据库表中的数据按照索引关键字的顺序存储。一张表只能有一个聚集索引
非聚集索引
:表的物理顺序和索引关键字顺序不同。一张表可以有多个非聚集索引
唯一索引
:索引关键字不允许重复。`聚集索引和非聚集索引都可以是唯一索引建立索引
在SQL中创建索引的常规语法如下:
CREATE INDEX index_name
ON table_name (column1 ASC, column2 DESC, ...);
其中:
index_name
是所创建的索引的名称,在同一表中索引名称必须唯一。table_name
是数据表的名称。(column1, column2, ...)
是包含一个或多个列的索引列列表。注意事项:
###数据查询:自己多写写SQL语句,增删改查
###数据更改
###视图
##第四章 Transact-SQL
不要求
##第五章 数据库管理与维护
###安全性管理
###并发控制
事务
事务是数据库运行的最小的、不可分割的工作单位
。ACID
)
原子性是事务概念本质的体现和基本要求
并发
事务的隔离性
导致以下问题)
并发控制
概念:使用某种方法来执行并发操作,使得一个事务的执行不受其他事务的干扰,避免造成数据的不一致
方法
禁止并发操作
锁的兼容性:(事务T1加了某个锁,T2还能不能加某个锁)
T2\T1 | 排他锁(X锁) | 共享锁(S锁) | –没有锁 |
---|---|---|---|
排他锁(X锁) | 否 | 否 | 是 |
共享锁(S锁) | 否 | 是 | 是 |
–没有锁 | 是 | 是 | 是 |
SQL Server的封锁技术
封锁协议
读取完毕立即释放S锁
读取完后不释放S锁
,而是等到事务T结束才释放三个封锁协议都规定对数据对象的更新必须加X锁,区别在于读取操作是否需要申请加锁,何时释放锁
封锁协议 | 排他锁(X锁) | 共享锁(S锁) | 不丢失更新 | 不读脏数据 | 可重复读 |
---|---|---|---|---|---|
一级封锁协议 | 必须加锁,事务结束释放 | 不加锁 | 是 | ||
二级封锁协议 | 必须加锁,事务结束释放 | 加锁,读完立即释放 | 是 | 是 | |
三级封锁协议 | 必须加锁,事务结束释放 | 加锁,事务结束释放 | 是 | 是 | 是 |
死锁和活锁
并发调度的可串行性
准则
两段锁协议(保证调度的可串行化)
两个阶段
对数据对象进行加锁和解锁数据备份
完全备份
(完全数据库备份):备份整个数据库,包括所有数据对象和事务日志
差分备份
(增量备份):仅备份自上次完全备份依赖对数据进行修改的内容
修改频繁的数据
数据恢复
撤销
该事务对数据库进行的修改
撤销
所有未完成的事务
并清除
事务对数据库的修改
关系
:实质上是一张二维表。表的每一行叫做一个元组,每一列叫做一个属性
关系模式
:就是这个元组集合的结构上的描述
关系数据库
:以关系模型为基础的数据库
数据依赖:函数依赖、多值依赖
函数依赖
:一个或多个属性的取值决定了另一个属性的取值
主码
:设 K 为 R ( U , F )中的属性或属性集合,若U完全函数依赖于K,则K为R的候选码
。若候选码多于一个,则选定其中一个为主码
主属性
,反之叫非主属性
或非码属性
全码
外码
:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码
,简称外码
###范式
模式分解
可以转换为若干个高一级范式的关系模式的集合,这种过程称为规范化(简单化
、单一化
、减少出现更新异常
)非主属性
都完全函数依赖于码,记作
R
∈
2
N
F
R\in 2NF
R∈2NF非主属性
都不传递函数依赖于R的候选码,记作
R
∈
3
N
F
R\in3NF
R∈3NF
关系模式的规范化过程:
###数据库设计的方法
###数据库设计的特点
数据库设计的步骤
需求分析阶段
概念结构设计阶段
概念模型特点
概念模型的E-R表示方法
实体关系:一对一(1:1),一对多(1:n),多对多(m:n)
E-R规则
概念结构设计的方法
数据抽象和局部视图设计
视图集成
逻辑结构设计阶段
极小化处理
物理结构设计阶段
数据库的实施
数据库的运行与维护阶段
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。