数据库基本概念
结构体系: 内模式(物理,存储文件),模式(概念,基本表),外模式(用户,视图)
独立性:内模式/模式(物理独立性) 模式/外模式(逻辑独立性)
完整性:参照完整性(外键),实体完整性(主键),用户自定义完整性
数据模型: 网状(图结构),层次(树形结构),关系(二维表:列->属性,行->元组)
DBS(数据库系统)
1.DB(数据库),即存储在磁带、磁盘、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合。
2.DBMS(数据库管理系统)。它是一组能完成描述、管理、维护数据库的程序系统。它按照一种公用的和可控制的方法完成插入新数据、修改和检索原有数据的操作。
3.DBA(数据库管理员)
五个默认数据库
Master、Model、Msdb、Tempdb、Resource
九个核心动词
数据查询:SELECT
数据定义(表/视图/查询/存储过程/自定义函数/索引/触发器等):CREATE (创建)、DROP(删除)、ALTER(修改)
数据操作:INSERT(插入)、UPDATE(更新)、DELETE(删除)
数据控制:Grant(授权)、revoke(回收权限)
SQL语言主要分成四部分
1.DDL(数据库定义语言)用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束。
2.DML(数据操纵语言)数据操纵分成数据查询、插入、删除、修改。
3.DCL(数据库控制语言)数据库控制语言 授权,角色控制等。
4.TCL(事务控制语言)事务控制语言。
数据库设计的六大步骤
需求分析—>概念结构设计—>逻辑结构设计—>物理结构设计—>数据库实施—>运行与维护
SQL创建表
CREATE TABLE 表名()
1.约束constraint <约束名> NOT Null/Null
2.主键 primary key
3.外键 FOREIGN KEY REFERENCES <主表名>(<列名>)
4.默认值 default<值>
5.检查约束 check (列名 between 值 and 值) ,值<=列名<=值
6.自增列 identity(起始,步长)
SQL查询
1.语句结构
SELECT 列/函数 (保存临时表:into 表名)
from 表/多表 (多表:A join B on 条件)
where 条件
group by 列名 (分组)
having 条件 (用来对分组之后的信息进行过滤)
order by 列名 asc(升序)/desc(降序)
2.语句补充
top 3 pecent (前3%)
distinct 列名(去重)
like %(代表任意个字符) _ (代表单个任意字符)
SQL插入
insert into 表名 (列名1,列名2,列名2...)values(列值1,列值2,列值3...)
SQL更新
update 表名 set 列名1=列值1,列名2=列值2,列名3=列值3... Where 条件
SQL删除
delete from 表名 where 条件
存储过程
create/drop/alter procedure 存储过程名()
@参数名 类型, @参数名 类型 (类型后边加output的是输出参数,没加的是输入参数)
as begin
内容
end
触发器
1.创建触发器 create trigger 触发器名 on {table/view}
2.启用 Enable trigger 触发器名
3.禁用 disnable trigger 触发器名
数据字典五大主要元素
1.数据项
2.数据结构
3.数据流
4.数据存储
5.处理过程
关系代数
1.传统的集合运算(行的角度)
并(∪)、交(∩)、差(-)、笛卡尔积(*)
2.专门的关系运算(行+列的角度)
选择(σ),投影(Π),连接(θ),除(÷)
where select join
函数依赖
A->B ,B->C,A->C (传递函数依赖)
A<->B ,B->C,A->C (直接函数依赖)
关系模式的范式
第一范式:每个属性不可再分
第二范式:满足第一范式,且每个非主属性都完全依赖于R的主码(候选码)
第三范式:满足第二范式,且每个非主属性都不传递依赖于R的每个码
BC范式:满足第三范式,且只有一个码
拓展:码(超码、候选码,主码)
超码>候选码(最小超码)
主码∈候选码