Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lec 2, Relational Databases and Normalisation, Summary - Coggle Diagram
Lec 2
Relational Databases and Normalisation
数据库的作用
Data builds organisational memory — information about customers, employees, products, etc.
数据构建企业的“记忆”——记录顾客、员工、产品等信息。
就像你用手机记录朋友生日、地址和爱好,企业用数据库记录客户和交易,方便以后查找与决策。
表(Table)
A table represents an entity (如学生、课程、老师)
列(columns)= 属性;行(rows)= 实体的具体记录(记录每个人/每门课的信息)
学生表像Excel,每一行是一个学生,每一列是该学生的属性(如姓名、专业、电话)
Entity Relationship Diagram (ERD) 实体关系图
ERD是一种图形化表达的数据模型,描述组织中各种“东西”(实体)之间的关系。
实体:名词(如Student、Lecturer)
属性:实体的特征(如Student的Phone)
用图画出“学生选了哪些课程”,“课程由谁授课”,就像画家谱图,说明家人之间的关系。
关系:动词(如“enrolled in”)
数据模型的质量标准
Correct(语法正确)
Complete(包含全部信息)
Understandable(易懂)
Flexible(可适应变化)
Implementable(容易在系统中实现)
主键(Primary Key)和外键(Foreign Key)
主键唯一标识一个实体(如学生ID)
外键是出现在另一个表中、用于建立关联的字段(如Enrolled表里的StudentID)
数据规范化(Normalization)
目的:消除冗余,避免数据异常(如插入异常、删除异常、更新异常)
插入异常:不能添加课程,除非至少有一个学生选它
删除异常:一个学生退课会导致课程信息丢失
更新异常:课程费用更新时可能多个地方漏改导致数据不一致
SQL入门
INSERT 添加数据
SELECT 查询数据
UPDATE 更新数据
DELETE 删除数据
SQL中的JOIN
INNER JOIN:只显示两个表中都有匹配数据的记录
NATURAL JOIN:基于相同字段自动连接
JOIN条件:指明两个表如何匹配(常用主键-外键)
Summary
ER图 & 数据建模
如何识别实体、属性、关系,主键外键,ER图设计规范
规范化
三种异常:插入/删除/更新
SQL基础
SELECT语法、WHERE/GROUP BY/ORDER BY/JOIN 等