概念
DMS:数据库、硬件、软件、人员组成
DBMS:关系数据库系统、面向对象数据库系统、对象关系数据库系统。
数据库系统体系结构
集中式数据库系统(数据,软件,访问都集中在同一地方)
客户端/服务器数据库系统(前端显示,后端存储处理)
并行数据库系统(多个物理上在一起的CPU)
分布式数据库系统(多个地理上分开的CPU)
数据模型
数据模型按不同的应用层次(概念数据模型,基本数据模型)
概念数据模型:对数据和信息建模,强调语义表达功能
基本数据模型:计算机系统观点,对数据建模,用于DBMS实现。
概念: E-R模型
□ 实体 ○属性 ◇联系
基本:层次模型、网状模型、关系模型(描述了在数据库中结构化和操纵数据的方法)
ER模型转换为关系模式
1:1 一张表
1:N 可一张 、可二张
N:M 另生成一张
数据库规范化
超键:关系模式中能唯一标识元祖的属性集
候选键:能唯一标识元祖并且不含多余属性的属性集 就像候选人
主键:随意一个候选键(被选中的候选键) 就像总统
外键:略
函数依赖:有重复列依赖于唯一性字段列
第一范式:每一个列,不能再分割成多个列
第二范式:属性 完全依赖 于主键 (单关键字没有部分依赖,至少第二范式)
第三范式:满足第二范式 ,某些数据元素不依赖其他非主属性
仓库号,省份,仓库面积,城市
仓库号,面积,城市------省,城市
模式分解
无损连接分解:关系模式拆分完之后还能还原
何为分解:成绩表(学号、姓名、课程号、课程名、分数)
成绩表(学号、课程号、分数)
学生(学号、姓名)
课程(课程号、课程名)
多对多关系模式表拆分成多张表
关系代数与元组演算
关系数据语言的分类
关系代数语言 关系演算语言 结构化查询语言
关系代数是一门抽象的查询语言,它用对关系的运算来表达查询。
并(union):2表属性相同,去重后并一张
差(Difference):R-S,在R里面但不在S里面的记录集合
笛卡尔积(Cartesian product):S1与S2所有的组合 S1*S2
投影(Projection):列投影,选择需要的列
选择(Selection):按记录筛选数据
交(Intersction):二个集合的公共部分
联接(Join):通过共同属性联接两个表(笛卡尔积,筛选出属性C相同的字段,去掉重复的列)
除法(Division):R与S公共列,在R中寻找相同值,且满足R中除公共列外其余列记录相等。结果去重
元组关系演算
以元组变量作为谓词变元的基本对象
元组关系演算语言ALPHA
SQL(Structured Query language)
功能:
数据定义
数据管理
数据查询
过程化语言 从低到高一步一步写
非过程化语言 无需关注底层,直接再高层操作
CHECK语句用于限制列中的值的范围
create view viewname as *** [with check option]
with check option 修改和插入操作时候,保证视图显示条件
create index on table(column) asc
升序排列,含空值显示在最后面。
having:对每一个组的限制
where:对每一条记录的条件限制
嵌套查询:select from where(select from table)
转义
select * from dept where loc like '%e%%' escape 'e';
学习笔记