概念
百度百科对数据库设计的给了如下的描述:
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。
数据库设计的设计内容包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护。
现在的web应用大多数都是基于数据库的,一般大牛不会去写代码的,而是进行应用的设计,数据库的设计就是应用中十分重要的一环。数据库设计好了之后,建立模型,然后编码也可以开始了。
我等小菜鸡在这个时候也是来学习一下数据库设计的知识,说不定那天就要自己去整个系统出来呢?
回到之前的概念上来,我们里解构一下
数据库模式:我只知道数据库有几个设计的范式,不好意思都忘光了,好像最多都有7个范式了,两者应该有共同的地方。
存储数据:数据库一个最基本的功能不就是数据的存储与检索么?
应用需求:数据库可以有哪些操作:增删改查,现实生活中的人类活动(不要走极端,比如分子原子,细胞的运动轨迹之类的)几乎都可以用数据库来记录和处理,数据库一个牛逼之处就是可以满足人们对事务的追求。对我一个比较震撼的地方就是Activity工作流那块,工作流是人类活动中比较常见的,如果你用过activity的话,你就会明白它的底层就是靠几张表去支撑的。
数据库应用系统:现在牛叉的应用几乎上都是数据库应用系统,即使你的应用啥实际的功能都没有,你的有个用户登陆系统吧,你说要不要数据库吧。所以说,不要整天唧唧歪歪那个语言好用那个不好用,都只是用来进行事务、逻辑的处理的,如果你嫌不好用,可以自己写一个咯。
数据库的设计内容那么多项,我曾也参与过一些需求,但是规模不大,也就3、4张表的设计,那家伙就是分析了需求就开始物理结构的设计啊,一边设计数据库,一边编码,刚开始的时候模型变化地比较频繁。在这里要提高功力感觉还是要系统地学习一下才好。
下面的学习都将以mysql为例。
以下列举参考资料
数据库设计入门经典
数据库设计与开发
数据库设计教程
数据库设计解决方案入门经典
数据库课程设计
设计有效的数据库系统
MySQL核心技术
数据库系统实现
MySQL开发者 SQL权威指南