基于数据字典的通用查询系统(三)数据库的设计
今天继续,数据库设计
在前面,分析到了,在数据库中,对我们有用的,主要是表,列,连接,数据结构这四种信息,而且对于每一种信息,要即有数据库含义的表示,也要有面向对向的表示。
而在数据结构中,我们设计的比较简单,最后只归纳出了四种有用的数据结构。
这样,我们要在数据库中设计三张表,来保存表,列,连接的信息。
各个表的结构都很简单,列表如下
1. 表SE_Table----用来保存数据库中表的信息
ID |
int |
自增长ID |
Show |
varchar(50) |
对用户表示的信息 |
Exp |
varchar(50) |
数据库表名 |
2. 表SE_Col ----用来保存数据库中表的列的信息
ID |
int |
自增长ID |
ColShow |
varchar(50) |
对用户表示的列名 |
ColExp |
varchar(50) |
在数据库中的列名 |
ColTable |
varchar(50) |
所属的表名 |
ColStateString |
varchar(200) |
附加信息 |
ColType |
int |
数据类型 |
3. 表SE_Join ----用来保存数据库中表之间关系,也就是连接的信息
ID |
int |
自增长ID |
Parent |
varchar(50) |
主表 |
ParentCol |
varchar(50) |
主表连接的列 |
Child |
varchar(50) |
外键表 |
ChildCol |
varchar(50) |
外键表连接的列 |
注意一点的是,在这里,虽然表SE_JOIN 中将主键表,外键表分开对待,但是在以后的算法实现部分,你会发现实际上在查询时是不区分对待的。
对于ColType字段的使用,我会在以后说明
系列文章连接
三。数据库设计。
四。实体类设计
五。算法实现