实体关系(E-R 图)
对客观世界抽象的模型展示(实体, 关系 ,属性,连线)
- 矩形框:标示实体
- 菱形框:标示连线,在框中计入联系名
- 椭圆形框:实体或联系的属性,将属性名计入框中,对于主属性在名称下面划线
- 连线: 实体与属性,实体与联系,联系与属性用于描述关系等
下面简单绘制一个员工和部门之间的E—R图
实体之间的关系
- 一对一:个人信息和档案
1.外键添加唯一约束
2.主键做外键
- 一对多(多对一):学生对班级
1.添加外键
- 多对多 学生和课程
1.加入关系表,利用联合主键
数据库优化
sql优化(1.减少查询次数,索引)
1.尽量减少* 的使用(* 转换为列名,再去查询)count(*) 用count(1)代替
2.索引失效的状况。
i索引列不要使用is null 或者is not null ,会导致索引失效
ii 索引列上不要使用函
iii 索引列不要进行计算 select col from table where col/10 > 10
iv 索引列不要使用 not != <>
#查询不等于9527的学生编号
select *from class where sid != 9527
修改为(不要使用Or ,它也会导致索引失效)
select * from class where sid >9527 union select * from class where sid < 9527
v 索引列不要使用Or (可以用union 替换)
vi 索引列不要包含 (like '%s%')
3.exists 和 in 的选择
exists 先执行主查询
in 先执行子查询
先过虑再关联,还是先关联再过滤
备份和还原
mysql dump -root -proot dbname >desktop/t.sql
mysql -u root -p < desktop\backup.sql