想和大家一起讨论一下如何做数据库的设计,更确切的说,不是讨论一些数据库设计的原则,而是在工程上,数据库的设计是什么样子的。我是初学者,没有参加过规范的项目,做过的都是自己一个人单挑的微型项目,摸索了一阵时间。以下是我作SPLEB的一份数据库设计,请大家批评指教。
我的数据库设计方式
一、数据实体:罗列所有的数据实体
二、数据明晰:数据实体应该包含哪些数据
三、数据实体关系图:数据实体之间的关系
四、数据表格:数据库Schema表格
样例如下(数据库较小,数据实体关系极少,未做关系图)
<b>SPLEB</b><b>数据库设计</b><b></b>
一、数据实体
1, 系统设置(Config)
2, 数据源、数据库(Database)
3, 模板(Template)
4, 模板信息(TemplateInf)
二、数据实体明细
(1) 业务数据:命名空间(NameSpace)
(2) 逻辑数据:主键(ConfigID)
(1) 业务数据:数据库名称(DatabaseName)、连接字符串(ConnectionString)、数据库类型(DatabaseType)、映射信息文件名(ClassMapFileName)、上次使用时间(LastTime)
(2) 逻辑数据:主键(DatabaseID)
(1) 业务数据:模版名称(TemplateName)、生成代码语言(Language)、主模版文件名(MainFileName)、描述(Description)、模板使用次数(BuildTimes)、上次使用时间(LastTime)
(2) 逻辑数据:主键(TemplateID)
(3) 关联数据实体:模板信息
(1) 业务数据:模板内容(Content)、模板文件名(FileName)
(2) 逻辑数据:主键(TemplateInfID)
(3) 关系数据:对应模板主键(TemplateID)
(4) 关联数据实体:模板
三、数据表格
数据名称
字段名称
数据类型
备注
主键
ConfigID
命名空间
NameSpace
文本
DatabaseID
数据库名称
DatabaseName
非空
连接字符串
ConnectionString
长文本
数据库类型
DatabaseType
非空,可能的取值:
MsSqlServer、MsAccess、
Oracle
映射信息文件名
ClassMapFileName
上次使用时间
LastTime
时间
TemplateID
模板名称
TemplateName
生成代码语言
Language
非空,可能的取值
C#、VB
主模板文件名
MainFileName
描述
Description
模板使用次数
BuildTimes
整数
非空,默认0
日期
TemplateInfID
对应模版
TmplateID
外键
模板内容
Content
文件名
FileName
本文转自冬冬博客园博客,原文链接:http://www.cnblogs.com/yuandong/archive/2006/02/04/325303.html,如需转载请自行联系原作者