关系型数据库建表的思维与步骤?
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 add column modify_date TIMESTAMP; -- 增加列
ALTER TABLE student_info drop column phone; -- 删除列
1、1、数据库的设计思维必须是以业务为导向的,毕竟任何技术都是为了解决现实问才有其意义的;
2、做设计前必须把思路理清楚;
3、熟练掌握SQL语句写法。