了解 关系数据库之前 首先要了解 ER图
什么是ER图 和E-R模型
E-R模型有三个重要概念:实体 属性 联系
实体 就是实现世界的一个现实和虚拟的对象
属性 是对象的特质
联系 实体之间的关联
基本需求
比如 需求 学校管理系统 学生可以选择一个主修专业 学院 有多个 专业 学校管理系统还要管理课程表和学生成绩 课程由学院开设
学生可以选修 多门课程
参考设计
分析 实体 与 属性 (来自需求分析阶段 )
学生:学号,姓名,性别,民族,生日
专业:专业号,专业,类别
学院:学院号,学院,院长
课程:课程号,课程名,学分
整理好后 开始用软件画图 网上有很多ER的软件
第一步画出 实体与属性
、
第二步 关系图
多个学生 主修一个专业 (1对多)
一个学院设置多个专业(1对多)
一个学院开设多门课程 (1对多)
多个学习可以自由选择多门课程 (多对多)
到此 实例关系也有了 设计表(关系模型)
学生(专业号,学号,姓名,性别,生日,民族);
专业(学院号,专业号,专业,类别);
学院(学院号,学院,院长);
课程(学院号,课程号,课程名,学分);
成绩表(学号,课程号,成绩)(关系表)
1对多的情况下 我们可以用在表里增加关系表的Id 来关联
多对多 中间要有一个关系表 来表名俩个表的关系
成绩表里存储 可以查这个一个学员 多门课程的成绩 也可以查 一门课程所有学员的成绩 就很棒
那么 我晋级一下 如果要增加一个教师实体 教师隶属于学院 一位教师对应多门课程 一门可能对应 多位教师
每一位教师 上的每一门课 都有学堂号和课时数 思考一下
ER表
所有老师属于 学院 1对多 在老师属性里增加学院ID就可以了 老师与课程 多对多关系 有一个临时表 里面有课堂号 和课时信息
表设计
生成物理表 就是sqlserver创建表的过程
在关系里 已经总结了
这就是创建表所有的需要的东西(表名 字段都有了) 当然创建表还会涉及到主键,约束 之类的 不符合这篇文章的内容 就放在以后说
学生(专业号,学号,姓名,性别,生日,民族);
专业(学院号,专业号,专业,类别);
学院(学院号,学院,院长);
课程(学院号,课程号,课程名,学分);
成绩表(学号,课程号,成绩)(关系表)
可以多参考别的博客 一起理解
https://blog.csdn.net/csdn_blog_lcl/article/details/78609119