前言
看完mysql必知必会后,一直以来都有一个误区,认为码农在实际的过程中,只需要掌握,创建数据库,在数据库创建表,然后对表进行增删改查就完了。直到研一上又重新选修了《数据库系统概述》,才发现一个专业的DBA(数据库管理员)进行一套专业的数据开发也是有一套自己的规范的。
数据库设计的概念
数据库建设是指数据库应用系统从设计,实施到运行与维护的全过程。“三分技术,七分管理,十二分基础数据”突出了数据的收集,整理,组织和不断更新是数据库建设中的重要环节。从一开始的数据收集到后来的数据库建立,到最后的数据库维护每个阶段都是十分重要的。
为什么要进行数据库的设计?
良好的数据库设计对减少数据冗余和操作异常、对数据有限存储和高效访问有很大帮助。如果一开始的数据库设计的不够好,那么到后面可能你会发现一些令人糟心的问题:数据冗余大,不好查找等等。
数据库设计的几个阶段
1.需求分析阶段
2.概念结构设计阶段
3.逻辑结构设计阶段
4.物理结构设计阶段
5.数据库实施阶段
6.数据库运行和维护阶段
数据库设计的理论与实际
以我现在在做的一个项目:图书馆预约系统为例。
1.需求分析
理论:通过调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
实际:我们学生去图书馆借书的时候,基本事件首先有学生,图书馆会有很多书,借书这个行为通过学生和书之间发生联系。
2.概念结构设计阶段
理论:前一个阶段的需求在这个阶段应该抽象为信息世界的结构,来充分反映现实世界事物之间的联系。用像E-R图这种工具表示。
实际:每个学生都有一个学号,这个学号唯一标识了他/她,除此以外,还有相应的密码;
图书馆的书有图书ID,书名,库存数量,书籍介绍。
借书这个行为绑定了图书ID,学生ID,借阅的时间。
我们用E-R图进行表示
3.逻辑结构设计阶段
理论:将E-R图转变为数据库管理系统产品所支持的数据模型相符合的逻辑结构。
实际:
学生: {学号,密码}
书籍: {书籍ID,书名,数量,书籍介绍}
借书:{书籍ID,学号,时间,书籍}
4.物理结构设计阶段
理论:
- 选择合适的DBMS
- 规定数据库、表和字段的命名规范
- 根据所选的DBMS确定具体字段的字段类型
- 实际:
- 确定每个实体对应的数据类型,我已经把数据类型写在E-R图里面了
5.数据库实施阶段
理论:目前,企业级数据库有Oracle和SQL Server,这类数据库对数据的安全性和容量有较高要求。互联网项目使用的一般都是MySQL、PgSQL,所以根据需要根据自己项目的类型选择合适的数据库。并规定命名规范。命名规范需要遵循字段可读性原则和见名知义原则,不然随意的字段名还要建立数据字典,增加额外的工作量,没什么必要。
实际:大家最熟练的mysql语句操作!!!mysql常用语句大全:https://www.cnblogs.com/cxxjohnson/p/5914583.html
6.数据库运行和维护阶段
理论:这是一个周期比较长的过程。
用这套流程规范,我们来创建部署项目中的数据库。