本文章将解决三个问题:
1.数据库设计有关概念
2.如何使用er图
3.对于三大范式的理解
数据库设计:
1.为什么要设计数据库?
1.防止代码冗余
2.防止占用不必要的内存空间
3.良好的数据库设计可以保证数据的完整性,节省数据的存储空间,方便数据更新,以及方便进行数据库应用系统的开发
2.设计数据库步骤:
1.收集数据:分析和讨论用户要求,理解数据库实现思路
2.找出标识实体:找出数据库要管理的实体,名词。像java面向对象中的对象一样
3.标识每个实体的属性(多个)
4.标识每个实体之间的关系
如何使用er图:
根据设计数据库步骤找出实体的属性以及每个实体的关系。
可以在此链接中绘制er图:https://www.processon.com/,注册登录搜索er图模板
er图如图所示:
注意作图规范:1.长方形代表实体(对象),菱形代表实体之间的关系,圆圈(椭圆)代表实体的属性
2. m,n 代表无限的意思m——n 代表多对多,n(或m)——1代表多对一,1——n(或m)代表一对多
三大范式:(很重要考试必考)
第一范式:要求每列都是不可再分的最小数据单元,通俗来讲一列只干一件事情
第二范式:满足第一个范式基础之上,要求每一个表只描述一件事情,比如说学生表只描述学生相关信息
第三范式:在前两个范式的基础之上,要求各列必须和主键直接相关,不能间接相关。比如有5列数据,分别是学号,学生姓名,年龄,性别,科目,成绩。其中studentid 表中可以写学号(pk),学生姓名,年龄,性别。
score表中可以写,学号,科目(pk),成绩。每个表要写的内容要与主键直接相关。