1、数据准备:一张存储学生成绩的二维表格。
2、问自己问题:1、这样的二维表是否可以写入关系型数据库?2、关系型库的表结构要如何设计?3、表的每个字段类型该如何定义?4、如果后续要增加列,表要做如何调整?5、哪个列是主键呢?
3、业务分析:据我个人的经验与能力所理解,现实中的任何二维釉涑杵抑表格都是可以转化为关系型数据库表的。上面这个表格,单从数据层面讲,当然是可以在数据库中建一个漉胜衲仰表即可;但如果从也业务层面来讲,这需要拆分为三个表:学生表、课程表、成绩表。1、学生表:姓名、学号、年级、性别、年龄、住址、联系电话等;2、课程表:课程名、课程号;3、成绩表:学号、课程号、学期、考试类型、成绩
4、创建E-R模型
5、设计表:1、每个字段该定义何种类型?2、哪些字段值的是主键?3、哪些字段的值需约定范围?4、哪些字段值是唯一的?
6、通过上面的E-R图的关系来构建表的关联。-- 与学生表蔡龇呶挞关联ALTER TABLE score_info ADD FOREIGN KEY student_info_fk_1(sno) REFERENCES student_info(sno);--与课程表关联ALTER TABLE score_info ADD FOREIGN KEY student_info_fk_2(cno) REFERENCES course_info(cno);
7、增加与删除列ALTER TABLE score_info ad蟠校盯昂d column modify_date T朐袁噙岿IMESTAMP; -- 增加列ALTER TABLE student_info drop column phone; -- 删除列