💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
下面我们以一个BBS简易论坛的数据库设计为例 来看看设计数据库的步骤: **(1)收集信息(与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务)** BBS论坛的基本功能: 用户注册和登录:后台数据库需要存放用户的注册信息和在线状态信息; 用户发贴:后台数据库需要存放贴子相关信息,如贴子内容、标题等; 论坛版块管理:后台数据库需要存放各个版块信息,如版主、版块名称、贴子数等; **(2)标识对象(标识数据库要管理的关键对象或实体)** 实体一般是名词: 用户:论坛普通用户、各版块的版主。 用户发的主贴。 论用户发的跟贴(回贴)。 **(3)标识每个实体的属性(Attribute)** ![2015-08-11/55c96c52a2ce2](http://box.kancloud.cn/2015-08-11_55c96c52a2ce2.png) ![2015-08-11/55c96c648192b](http://box.kancloud.cn/2015-08-11_55c96c648192b.png) ![2015-08-11/55c96c94295c2](http://box.kancloud.cn/2015-08-11_55c96c94295c2.png) **(4)标识对象之间的关系(Attribute)** 跟贴和主贴有主从关系:我们需要在跟贴对象中表明它是谁的跟贴。 版块和用户有关系:从用户对象中可以根据版块对象查出对应的版主用户的情况。 主贴和版块有主从关系:需要表明发贴是属于哪个版块的。 跟贴和版块有主从关系:需要表明跟贴是属于哪个版块的。 **(5)绘制ER图** ![2015-08-11/BBS——E-R图](http://box.kancloud.cn/2015-08-11_55c96d035b4f3.png) **(6)将ER图装换为表格** * 将各实体转换为对应的表,将各属性转换为各表对应的列。 * 标识每个表的主键列,需要注意的是:没有主键的表添加ID编号列,它没有实际含义,用于做主键或外键,例如用户表中的“UID”列,版块表中添加“SID”列,发贴表和跟贴表中的“TID”列 * 在表之间建立主外键,体现实体之间的映射关系 。 **(7)将ER图装换为表格** ![2015-08-11/55c96d7f83066](http://box.kancloud.cn/2015-08-11_55c96d7f83066.png) ![2015-08-11/55c96da4a30b2](http://box.kancloud.cn/2015-08-11_55c96da4a30b2.png)