多语言展示
当前在线:653今日阅读:23今日分享:25

关系型数据库建表的思维与步骤?

当下流行的主流关系型数据库不外乎Oracle、SQL Server、MySQL等,但对它们的数据表操作都离不开SQL语句。这里我分享下自己的思维与操作过程。
工具/原料
1

MySQL数据库

2

win10电脑

3

Navicat

方法/步骤
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、数据库的设计思维必须是以业务为导向的,毕竟任何技术都是为了解决现实问才有其意义的;2、做设计前必须把思路理清楚;3、熟练掌握SQL语句写法。

注意事项

多思考、多动手练习是学习的不二法门。

推荐信息