数据库设计

数据库设计

设计原则:
尽量遵守三个范式:

三范式:1NF: 每个域均为原子性(字段独立)
		    eg: address(北京市昌平区***)    ,这个address 就不满足第一范式,仍能拆分。
       2NF : 每一列都和主键相关,而不是和主键部分相关(联合主键)
       
       3NF : 每列都必须和主键直接相关,而非间接相关。

设计步骤:

	需求分析   --->  概念结构设计(E-R图)  ---> 逻辑设计(E-R图 =》多张表)
    --->  物理设计(确定索引、存储方法、结构、位置)  --->  开发测试  ---> 上线、维护

E—R图: 实体关系模型图

1 : 1        外键加唯一约束、主键做外键
1 : N		  直接加外键即可(外键加在多的一方)
N : N	  新建一张关系表,并将其设为联合主键

数据库优化

(1)尽量避免使用 * 
(2) 防止索引发生失效
	
 引起索引失效的场景:
	1. 索引列不能使用null / not null
	2. 索引列不能使用函数及包含       eg:(%内容%)索引失效   (内容%)索引效率降低
	3. 索引列不能计算
	4. 索引列不能使用 !/  !=  /  <>
	5. 索引列不能使用 or, 要用 union 代替
	
	in 和 exists     in先执行子查询,exists 先执行主查询
	not exists 代替 not in 

数据库备份及还原

备份:(安全)
mysqldump -u root -p 数据库名 > 路径       #  > 重定向

还原:
mysql -u root -p  <  路径/a.sql             
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值