数据库
数据库数据特点
Massive 数据量大
Presistent 持久
Safe 安全
Multi-user 多用户
convenient 方便
Efficient 高效
feliable 可靠
一个数据库网站
https://db-engines.com/en/
数据库的基础概念
数据和信息
信息:客观事物的存在方式和状态
数据:用来记录信息的可识别的符号 是信息的具体表现形式
数据与信息的连接:数据是信息的载体 信息是数据的内涵
数据库 数据管理系统 数据库系统 数据库管理员
数据库:
是长期存储在计算机内 有组织的 可共享 ,可存储,可读写的数据集合
数据库管理系统:
用户与操作系统之间的一层数据管理软件
数据库系统的体系结构
三层模式 两层印象
逻辑模式:数据库中全体数据的逻辑结构和特征的描述,逻辑模式与具体的物理实现细节无关,是一种体现用户需求的公共数据结构,(类似于中间件),一个数据库只有一个逻辑模式
外模式:具体使用者看到的数据结构(局部数据的逻辑结构和特征),一个应用有多个外模式
内模式:数据物理结构和存储方式的描述,数据在数据库内部的表示方式,一个数据库只有一个内模式
外模式印象:每一个外模式对应一个外模式印象,定义外模式与逻辑模式的对应关系
内模式印象:定义数据全局的逻辑结构与存储结构之间的对应关系
两级印象保证数据的逻辑独立性和物理独立性。
当内模式改变了,只要改变内模式印象就可以不改变逻辑模式
当逻辑模式改变了,改变两级印象,就可以不改变外模式和内模式
数据模型
数据模型要满足模拟真实世界,便于理解,便于实现。
数据结构
数据操作
数据的约束条件
关系模型
半结构化模型
网状模型//早期模型
层次模型
XML //网络数据表示格式,传输和存储数据
JSON
不同的模型具体区别就是数据结构不同
数据管理技术的产生和发展
人工管理阶段
文件管理阶段
数据库系统
关系数据库
关系数据模型
关系型: 表 、SQL
非关系型: noSQL
关系数据库系统: 是支持关系模型的数据库系统
关系模型:
关系数据结构
关系操作
完整性约束
关系数结构:
单一的数据结构:关系
实体及实体间的联系均用各种关系来表示
数据的逻辑结构:二维表
关系模型中的数据结构就是一张二维表
关系模型建立在几何代数之上
域:一组具有相同数据类型的值的集合
笛卡尔积:
笛卡尔积每行代表一个元组,每列代表一个域。
关系:
关系也是一个二维表
每行表示一个元组
每列是一个域,表示一个属性
码(key,键)
候选码:在关系中唯一能标识元组的属性或属性集
主属性:候选码的各个属性
主码:用户选作元组表示的候选键
全码:关系的说有属性是这个关系的全码
基本关系的性质:
列是同质的
列的顺序无所谓
行的顺序无所谓
什么是关系模式
关系模式是对关系的描述
学生(学号,姓名,年龄,性别,籍贯)
R(A1,A2,A3,A4,A5)
关系是关系模式在某时刻的取值
关系数据库:
在一个给定的应用领域中,实体及实体之间联系的关系的集合构成一个关系数据库
关系操作:
查询 插入 删除 修改
关系操作特点:
集合操作方式
关系数据语言的种类:
关系代数的语言
关系演算的语言
关系的完整性约束:
实体完整性
参照完整性
用户定义的完整性
(前两者必须满足)
实体完整性:
主码唯一且不为空
主属性不能取空
参照完整性:
外码:
一个关系中的某个属性是某个关系的主码,外码作为主码的关系是参照表
外码必须取参照表的合适值或者空置
用户自定义的完整性:
用户自己定义的规则
关系数据语言
关系代数
一种抽象的数据查询语言
用对关系的运算来表达查询
关系代数 关系演算 :早期 ,现在不用
关系代数:
并 差 交
投影 选择
笛卡尔积、连接
重命名
运算对象:关系
运算符:4类
运算结果:关系
投影:
选择:
笛卡尔积:
连接Join:
等值连接,大于连接,小于连接
自然连接:在等值连接上去除重复的列
重命名:
等价运算:
运算符优先级:
表达树:
SQL (Structured Query Language)
DDL
数据定义语言
定义表:
创建表
删除表
修改表定义
定义基本表:
关系名(表名)
属性名(列名)
属性数据类型
完整性约束
SQL支持的数据类型:
整型:
bigint 8个字节
int 4个字节
smallint 2个字节
tinyint 1个字节
bit 只能取0或者1
精确数值数据:
decimal (p,q) p数据宽度,q小数点后面的位数
numeric
浮点数类型:
float 8个字节存储数据 ±3.04E+308
real 位数为24 4个字节 ±3.04E+38
字符串数据类型:
char : char(n)固定长度为n个字符的字符串
varchar:varchar(n),可变长度,最长长度为n个字符串
日期时间数据:
data :DATE ‘yyyy-mm-dd’
time:‘hh:mm:ss’
datatime:
主键唯一不能为空值,唯一键可以为空值。
FOREIGN外键 REFERENCE参照表
修改基本表:
删除基本表:
DML
数据操作语言
DCL
数据控制语言
INDEX
定义索引
VIEW
定义视图
嵌入式SQL
当前使用