0611个人笔记

1、为什么使用关系型数据库?

	- 持久化/管理数据(方便查询)
	- 一致性--->事务---->锁
			- 并发数据访问---->五类问题
								- 第一类丢失更新:事务A撤销时,把已经提交的事务B的更新数据覆盖了
								- 第二类丢失更新:事务A覆盖事务B已经提交的数据,造成事务B所做的操作丢失
								- 脏读:A事务读到了B事务还未提交的数据
								- 不可重复读:A事务重新读取前面取到的数据,读到了B事务已经提交后的修改过的数据
								- 幻读:A事务读取数据,读到了B事务已提交事务后插入的新数据

2、锁

共享锁、排他锁、表锁、行锁

	 - MyISAM---->读数据
	 - InnoDB---->行锁、事务----->互联网高并发
	 - Memory

设置事务隔离级别让MySQL自动选择合适的锁
修改事务隔离级别:select session transaction isolation level read committed;读提交
查询事务隔离级别:select @@tx_isolation;
级别分类
- READ UNCOMMITTED -->脏读
- READ COMMITTED —>不可重复读
- REPEATABLE READ —>幻读
- SERIALIZABLE —>无任何问题
事务隔离级别越高,性能越差,一致性越高,数据越安全

3、数据库完整性

			- 实体完整性(每个实体都是独一无二的,没有冗余)
			- 域完整性(录入的数据都是有效的)
							- 数据类型和数据长度
							- 非空约束
							- 默认值约束
							- 检查约束(设定条件)
			- 参照完整性(父表没有的记录子表也不能出现)-外键
					- 注意:实际项目中出于性能的考虑会去掉外键约束

范式理论(Normal Form)—>设计表
- 数据库表的规范程度
- 1NF:字段不可分割
- 2NF:非主键字段都依赖主键
- 3NF:消除传递依赖
- 实际项目中可能为了提升性能反范式设计

SOA —>Service-Oriented Architecture
- SasS:Software as Service
- PasS:Platform as Service
- IasS:Infrastructure as Service
如何把软件做成服务----->跨(编程)语言跨(操作系统)平台
- RMI / RPC:远程方法调用(调用过程调用)-nameko(三方库)
- WebService —>SOAP(简单对象访问协议)
- RESTful ----> HTTP ---->JSON

认证
CBV加装饰器;FBV写自定义类=xxx
待更新~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值