事务控制语句(TCL Transaction ControlLanguage)
事务是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)
在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序
事务具有的属性:原子性(atomicity):不能在拆分啦
一致性(consistency):同时执行
隔离性(isolation):事务与事务之间没有关系
持续性(durablity):执行
设置默认事务提交方式
set autocommit=false 设置事务提交方式为”手动提交”
set autocommit=true 设置事务提交方式为”自动提交”
事务就是对数据库的多步操作,要么一起成功,要么一起失败
commit;手动提交事务
rollback :回滚事务
savepoint point2;保存还原点
rollback point2;回滚到point2还原点
外键: 给A表的某一列添加B表的某列为外键,那么A表中的该列值只能为B表列中的值
主键是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性。
表的外键是另一表的主键,外键可以有重复的,可以有空值,用来和其他表建立联系用
添加外键
索引 :
语法:create uniqueindex 索引名 ON 表名
主键是一种特殊的唯一索引,一般在创建表的时候制定
视图(View):
从一个或几个基本表中根据用户需要而做一个虚表。
视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据
视图只在使用时才从基表中搜集数据,在展现给用户
数据库设计:设计关系数据库,遵循不同的规范要求,设计出合理的关系型数据库,这些不同的规范
要求成为不同的范式,各种范式呈递次规范,越高的范式数据库永余越小
三大范式
第一范式:(1st NF ——First Normal Fromate)
第二范式:(2st NF ——Second Normal Fromate)
第三范式:(3st NF ——Thread Normal Fromate)
第一范式:每列都是不可再分的最小数据单元
第二范式:如果一个关系满足1NF,并且除了主键以外的其他列,都依赖于该主键,则满足第二范式
第二范式的要求每个表值藐视一件事情
第三范式:要求一个表中不能包含在其它表中已定义的非主键列
Navicat工具中,用模型来设计表,然后倒出生成sql文件,可以参考其sql语句建表
《Kotlin语法基础到实战开发》系列课程视频
http://edu.csdn.net/course/detail/6409?locationNum=7&fps=1&ref=srch&loc=1