总结
SQL、DB、DBSM关系
- DB-数据库
- DBSM-数据库管理系统
- SQL-结构化查询语言
- DBSM-->(执行)-->SQL-->(操作)-->DB
SQL语言分类
- DQL-数据查询语言:select
- DML-数据操作语言:insert、dedlete、update 对表中数据增删改
- DDL-数据定义语言:create、drop、alter 对表增删改
- TCL-事务控制语言:commit、rollback
- DCL-数据控制语言:grant授权、revoke撤权
存储引擎(Oracle叫存储方式)
show engines \G
-- 查看当前数据库系统支持的存储引擎
- MyISAM
- 不支持事务
- 三种文件存储表(frm结构,myd数据,myi索引)
- 可被压缩,可以转换为只读表,提高检索效率
- InnoDB
- 支持事务,行级锁,外键,级联删除和更新,数据更加安全
- frm结构,tablespace数据,log事务日志文件
- 不可被压缩,不可转换为只读表
- MEMORY(HEAP)
- 不支持事务
- 内存数据库
- 仅支持表级锁,不支持大文本数据
- 查询速度快
数据库设计三范式
目的:减少数据冗余,由于表连接越多执行效率越慢,所以有时可以牺牲冗余增加速度
- 任何一张表都应该有主键,并且每个字段不可在分
- 非主键字段完全依赖主键,不能产生部分依赖
- 非主键字段直接依赖主键,不能产生传递依赖
- 一对一:主键共享(主键就是外键),外键唯一(外键加唯一约束)
- 一对多:两张表,多表加外键
- 多对多:三张表,关系表俩外键
Comments NOTHING