码迷,mamicode.com
首页 > 数据库 > 详细

数据库设计又一个新思路

时间:2016-06-21 12:40:16      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

==========================================聊天记录很有价值,以下是全部聊天记录=========================================

 

码妖】[广州]老衲(424469013) 10:09:28
服务器上定义好 数据库的各个表 主键 约束 外键 视图等
【码妖】[广州]老衲(424469013) 10:10:07
客户端 依照服务器上的样板 自动 增加 或 删除 ,各个表字段 主键 外键 视图等
【码妖】[广州]老衲(424469013) 10:10:15
有谁做过没
【码妖】[广州]老衲(424469013) 10:10:21
看看大家都是什么思路

【码妖】[广州]老衲(424469013) 10:13:01
或者 像 herbinate 一样,我直接利用 delphi 建立数据表类,每一个表 对应一个类
【码妖】[广州]老衲(424469013) 10:13:16
然后 这个类 可以直接 映射出来数据表
【码妖】[广州]老衲(424469013) 10:13:41
不知道 delphi界 有没有 这样的 第三方
【码虫】[厦门]叫兽叔叔(378464060) 10:14:21
ORM 有啊。。 RODA 就是啊。
【码帝】广州-咏南(254072148) 10:15:00
好像这样不是RAD的作法
【码帝】广州-咏南(254072148) 10:15:11
RAD不这样
【码霸】bǘ譮ロ乎ㄨi(274001335) 10:16:22
tms有
【码神】[东莞]青春(82611904) 10:16:23
我只拖控件
【码妖】[广州]老衲(424469013) 10:17:06
软件经常升级,表字段、外键、主键、约束、索引、视图等,经常变化,如何做到 软件升级了,数据库表的关系 跟着一起升级
【码帝】广州-咏南(254072148) 10:17:32
怎么都得改
【码农】[青岛]虾舞天涯(441010741) 10:17:37
键都变?也太。。。
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:18:04
额 不是应该先服务端升级 然后再客户端升级么
【码妖】[广州]老衲(424469013) 10:18:15
如果有一套框架 像herbinate一样,利用类来映射表,类的关系直接映射到表的关系上
【码帝】广州-咏南(254072148) 10:18:39
还是要改
【码妖】[广州]老衲(424469013) 10:18:44
这样,软件升级,我们只需 升级类,数据库的设计会自动跟随升级
【码神】[东莞]青春(82611904) 10:19:09
NoSQL
【码霸】海天子(28588343) 10:19:12
这种做法太累了吧
【码妖】[广州]老衲(424469013) 10:19:15
我目前做到了 数据库 跟随升级,但是没有做到 类映射
【码霸】海天子(28588343) 10:19:30
一个表映射一个类
【码霸】海天子(28588343) 10:19:45
太累了
【码霸】海天子(28588343) 10:20:05
delphi一个控件对应无数表
【码妖】[广州]老衲(424469013) 10:20:10
这样开发人员 只需关注 开发 无需关注数据库
【码妖】[广州]老衲(424469013) 10:20:23
数据库 的设计 随开发而变
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:20:24
ORM维护不方便,如果表要加字段,就要改程序,很烦的
【码妖】[广州]老衲(424469013) 10:20:29
软件 天天疯狂升级 无压力
【码霸】bǘ譮ロ乎ㄨi(274001335) 10:20:53
@老衲 
【码妖】[广州]老衲(424469013) 10:20:55
@[深圳]MarkWu 只改程序啊,总比 程序 + 数据库 都得改好
【码帝】广州-咏南(254072148) 10:20:55
RAD就是RAD
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:20:58
ORM性能没有直接用SQL高
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:21:01
客户不会主动去升级的吧
【码帝】广州-咏南(254072148) 10:21:07
就当RAD用
【码霸】海天子(28588343) 10:21:16
程序员不关心数据库表,难道实施人员关心啊
【码霸】海天子(28588343) 10:21:17
真提
【码霸】海天子(28588343) 10:21:23
真是的
【码神】[东莞]青春(82611904) 10:21:39
技术分享
【码妖】[广州]老衲(424469013) 10:21:48
@广州-咏南 我的意思不是数据库操作,插入、查询等 不是这些,仅仅 操作数据表的关系设计
【码霸】海天子(28588343) 10:21:49
这人的思路问题大大的
【码帝】广州-咏南(254072148) 10:21:49
见山非山,只是第二种境界
【码神】[东莞]青春(82611904) 10:21:54
什么时候程序员点一下鼠标就好了。。。
【码霸】海天子(28588343) 10:22:14
要程序员做什么啊
【码霸】海天子(28588343) 10:22:22
直接实施人员就好了
【码帝】广州-咏南(254072148) 10:22:37
直接用户就行了?
【码帝】广州-咏南(254072148) 10:22:43
想的好美
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:23:08
客户端能修改表结构   说明连接数据的的账号权限挺大的
【码神】[长春]swish(109867294) 10:23:20
@老衲 你这个想的不是不可以实现,但是灵活性基本没了,而且风险挺高
【码妖】【宁波】空(9534557) 10:23:29
老外经常讲:the first is right,then faster
【码霸】海天子(28588343) 10:23:35
一个用表映射一个类,这是理想的做法
【码霸】海天子(28588343) 10:23:58
不具可操作性
【码妖】【宁波】空(9534557) 10:24:03
总归是先做正确,然后优化让他快
【码妖】【宁波】空(9534557) 10:24:25
其实D的内裤都是如此
【码神】[东莞]青春(82611904) 10:24:29
@【宁波】空 只想so easy 
【码霸】海天子(28588343) 10:24:49
delphi一个控件,一条语句,几秒钟就能把数据显示出来了
【码妖】【宁波】空(9534557) 10:25:02
所以才有OrM
【码霸】海天子(28588343) 10:25:05
你去写个类对应,累不累
【码霸】[宁波]kazarus<kazarus@qq.com> 10:25:17
我目前写个工具,生成的.
【码帝】广州-咏南(254072148) 10:25:37
ORM,宝兰叫卖过
【码神】[长春]swish(109867294) 10:26:13
ORM 搞 Java 的人很喜欢
【码霸】[宁波]kazarus<kazarus@qq.com> 10:26:21
幸亏delphi xe 支持了 helper, 生成的类 能不动就不动,主要功能写在helper里.
【码妖】【宁波】空(9534557) 10:26:23
@[东莞]青春 映射其实最简单的做法就是建个映射表,soeasy!
【码妖】[广州]老衲(424469013) 10:26:35
 
 【码妖】[广州]老衲(424469013) 10:13:01
或者 像 herbinate 一样,我直接利用 delphi 建立数据表类,每一个表 对应一个类
【码妖】[广州]老衲(424469013) 10:13:16
然后 这个类 可以直接 映射出来数据表
【码妖】[广州]老衲(424469013) 10:13:41
不知道 delphi界 有没有 这样的 第三方
【码虫】[厦门]叫兽叔叔(378464060) 10:14:21
ORM 有啊。。 RODA 就是啊。
【码帝】广州-咏南(254072148) 10:15:00
好像这样不是RAD的作法
【码帝】广州-咏南(254072148) 10:15:11
RAD不这样
【码霸】bǘ譮ロ乎ㄨi(274001335) 10:16:22
tms有
【码神】[东莞]青春(82611904) 10:16:23
我只拖控件
【码妖】[广州]老衲(424469013) 10:17:06
软件经常升级,表字段、外键、主键、约束、索引、视图等,经常变化,如何做到 软件升级了,数据库表的关系 跟着一起升级
【码帝】广州-咏南(254072148) 10:17:32
怎么都得改
【码农】[青岛]虾舞天涯(441010741) 10:17:37
键都变?也太。。。
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:18:04
额 不是应该先服务端升级 然后再客户端升级么
【码妖】[广州]老衲(424469013) 10:18:15
如果有一套框架 像herbinate一样,利用类来映射表,类的关系直接映射到表的关系上
【码帝】广州-咏南(254072148) 10:18:39
还是要改
【码妖】[广州]老衲(424469013) 10:18:44
这样,软件升级,我们只需 升级类,数据库的设计会自动跟随升级
【码神】[东莞]青春(82611904) 10:19:09
NoSQL
【码霸】海天子(28588343) 10:19:12
这种做法太累了吧
【码妖】[广州]老衲(424469013) 10:19:15
我目前做到了 数据库 跟随升级,但是没有做到 类映射
【码霸】海天子(28588343) 10:19:30
一个表映射一个类
【码霸】海天子(28588343) 10:19:45
太累了
【码霸】海天子(28588343) 10:20:05
delphi一个控件对应无数表
【码妖】[广州]老衲(424469013) 10:20:10
这样开发人员 只需关注 开发 无需关注数据库
【码妖】[广州]老衲(424469013) 10:20:23
数据库 的设计 随开发而变
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:20:24
ORM维护不方便,如果表要加字段,就要改程序,很烦的
【码妖】[广州]老衲(424469013) 10:20:29
软件 天天疯狂升级 无压力
【码霸】bǘ譮ロ乎ㄨi(274001335) 10:20:53
@老衲 技术分享
【码妖】[广州]老衲(424469013) 10:20:55
@[深圳]MarkWu 只改程序啊,总比 程序 + 数据库 都得改好
【码帝】广州-咏南(254072148) 10:20:55
RAD就是RAD
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:20:58
ORM性能没有直接用SQL高
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:21:01
客户不会主动去升级的吧
【码帝】广州-咏南(254072148) 10:21:07
就当RAD用
【码霸】海天子(28588343) 10:21:16
程序员不关心数据库表,难道实施人员关心啊
【码霸】海天子(28588343) 10:21:17
真提
【码霸】海天子(28588343) 10:21:23
真是的
【码神】[东莞]青春(82611904) 10:21:39
技术分享
【码妖】[广州]老衲(424469013) 10:21:48
@广州-咏南 我的意思不是数据库操作,插入、查询等 不是这些,仅仅 操作数据表的关系设计
【码霸】海天子(28588343) 10:21:49
这人的思路问题大大的
【码帝】广州-咏南(254072148) 10:21:49
见山非山,只是第二种境界
【码神】[东莞]青春(82611904) 10:21:54
什么时候程序员点一下鼠标就好了。。。
【码霸】海天子(28588343) 10:22:14
要程序员做什么啊
【码霸】海天子(28588343) 10:22:22
直接实施人员就好了
【码帝】广州-咏南(254072148) 10:22:37
直接用户就行了?
【码帝】广州-咏南(254072148) 10:22:43
想的好美
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:23:08
客户端能修改表结构   说明连接数据的的账号权限挺大的
【码神】[长春]swish(109867294) 10:23:20
@老衲 你这个想的不是不可以实现,但是灵活性基本没了,而且风险挺高
【码妖】【宁波】空(9534557) 10:23:29
老外经常讲:the first is right,then faster
【码霸】海天子(28588343) 10:23:35
一个用表映射一个类,这是理想的做法
【码霸】海天子(28588343) 10:23:58
不具可操作性
【码妖】【宁波】空(9534557) 10:24:03
总归是先做正确,然后优化让他快
【码妖】【宁波】空(9534557) 10:24:25
其实D的内裤都是如此
【码神】[东莞]青春(82611904) 10:24:29
@【宁波】空 只想so easy 
【码霸】海天子(28588343) 10:24:49
delphi一个控件,一条语句,几秒钟就能把数据显示出来了
【码妖】【宁波】空(9534557) 10:25:02
所以才有OrM
【码霸】海天子(28588343) 10:25:05
你去写个类对应,累不累
【码霸】[宁波]kazarus<kazarus@qq.com> 10:25:17
我目前写个工具,生成的.
【码帝】广州-咏南(254072148) 10:25:37
ORM,宝兰叫卖过
【码神】[长春]swish(109867294) 10:26:13
ORM 搞 Java 的人很喜欢
【码霸】[宁波]kazarus<kazarus@qq.com> 10:26:21
幸亏delphi xe 支持了 helper, 生成的类 能不动就不动,主要功能写在helper里.
【码妖】【宁波】空(9534557) 10:26:23
@[东莞]青春 映射其实最简单的做法就是建个映射表,soeasy!
【码妖】[广州]老衲(424469013) 10:26:35
 
【码神】[长春]swish(109867294) 10:27:03
多版本怎么管理,你想过吗?
【码妖】[广州]老衲(424469013) 10:27:06
用类或结构的方式 来表达 数据表和表之间的关系
【码神】[长春]swish(109867294) 10:27:20
如果只是你说的那些东西,在客户端有足够的权限的情况下,还是可以实现的
【码霸】海天子(28588343) 10:27:27
@【码妖】老衲,你把简单的东西复杂化了
【码妖】【宁波】空(9534557) 10:27:33
最简单的做法就是建立map表格,放在数据库规则其他地方
【码妖】[广州]老衲(424469013) 10:27:37
@[长春]swish 软件版本A 那么数据库的关系就是版本A ,软件版本B 那么数据库的版本就是B 
【码妖】[广州]老衲(424469013) 10:27:44
数据库 随软件而变化 
【码帝】广州-咏南(254072148) 10:28:05
JAVA的眼光看DELPHI?
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:28:06
放服务端应该没问题 

放客户端 有点危险
【码妖】[广州]老衲(424469013) 10:28:09
客户不升级照常使用,客户升级了 数据库也会跟着升级 然后照常使用
【码妖】【宁波】空(9534557) 10:28:09
Pb在出来的时候就有了,他只是为了Ide
【码霸】海天子(28588343) 10:28:09
不是应该软件随数据库变化吗
【码霸】海天子(28588343) 10:28:21
不是先设置数据库再写软件吗
【码霸】海天子(28588343) 10:28:30
你的思路果真不一样
【码妖】【宁波】空(9534557) 10:28:33
就当对象的序列化
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:28:52
客户端不是有多个版本同时存在的情况吗
【码霸】[北京]鱼刺(346291668) 10:28:53
我看到图下的有两个断开的数据库,名称太牛了
【码神】[东莞]青春(82611904) 10:29:25
@[北京]鱼刺 就怕流氓有文化技术分享
【码妖】[广州]老衲(424469013) 10:29:38
@海天子 数据库随软件 而变化才对 
【码妖】【宁波】空(9534557) 10:29:45
数据库程序不管任何语言,第一步就是建库
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:29:51
 哈哈
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:29:57
ORM有3种开发模式,DB First, Module First, Code First
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:30:00
这个是 黄库吧
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:30:21
我们Delphi开发一般是先设计数据库,再写程序代码
【码妖】【宁波】空(9534557) 10:30:35
库其实就是地基
【码霸】海天子(28588343) 10:30:55
@老纳 数据库随变软件???????
我也是头会一会听说
【码神】[荆州]不得闲(75492895) 10:31:01
话说,数据库升级,我现在就用类似Android那红模式
【码妖】[广州]老衲(424469013) 10:31:03
@[深圳]MarkWu 我们Delphi开发一般是先设计数据库,再写程序代码 除非软件是一次性设计好了 不会再升级了,针对天天升级 数据库 天天变化的 软件 怎么搞
【码妖】[广州]老衲(424469013) 10:31:09
SB 
【码妖】【宁波】空(9534557) 10:31:09
模型和代码,其实都可以用库设计解决
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:31:11
老衲的想法是 Code First模式,这在java, .net中很流行
【码霸】海天子(28588343) 10:31:41
请问,一个数据库,有delph写的程序,有html的程序,有c++写的程序,这个数据库怎么随软件变???
【码妖】【宁波】空(9534557) 10:31:45
建库的动态模型啊
【码妖】[广州]老衲(424469013) 10:31:56
我目前就做到了
【码妖】【宁波】空(9534557) 10:31:57
不是死干
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:32:05
java,  是放在服务器端的
【码霸】海天子(28588343) 10:32:14
这完全不是一个正常的思维做的事情
【码妖】[广州]老衲(424469013) 10:32:27
 
【码妖】[广州]老衲(424469013) 10:32:43
数据表关系 完全 随服务器样板 动态变化
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:32:48
因为服务器端服务程序 不会有多个版本存在的情况
【码妖】[广州]老衲(424469013) 10:33:07
但是 我想进一步 看看有没有 这样的框架
【码妖】[广州]老衲(424469013) 10:34:06
@[长春]swish @【宁波】空 你们有经验 都没有 用到过  软件天天升级 数据库 表关系 天天变化
【码妖】【宁波】空(9534557) 10:34:23
可以动态,表动态,字段动态,相互映射,无非就是建Map,也可以在库里建,也可以自己写文件,其实数据库里把代码的对象序列化最容易
【码霸】海天子(28588343) 10:34:24
你做到了,花的时间肯定是别人同样做的几倍,
以后维护更麻烦
【码神】[长春]swish(109867294) 10:34:51
@老衲 没有
【码妖】【宁波】空(9534557) 10:35:03
@老衲 我有
【码霸】海天子(28588343) 10:35:22
软件天天升级,只在试运行阶段,真正运行就很少变动了
【码妖】【宁波】空(9534557) 10:35:41
@老衲 我不是升级,我压根不知道客户建什么表,都是动态的
【码妖】[广州]老衲(424469013) 10:35:45
我的软件 3万人用 正式阶段
【码妖】[广州]老衲(424469013) 10:35:50
我几乎2天升级一次
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:35:56
像手机app  版本迭代也挺快的 
【码帝】[广州]-幽灵(493498940) 10:36:04
@老衲 我们就是天天变
【码神】[长春]swish(109867294) 10:36:09
这牵涉到一个设计问题
【码妖】【宁波】空(9534557) 10:36:13
模型做好,迭代啊
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:36:15
但是也不可能所有手机app都是一个版本
【码神】[长春]swish(109867294) 10:36:27
有些东西不一定要加字段的
【码帝】[广州]-幽灵(493498940) 10:36:36
已经上线13年了。还在天天变。
【码神】[长春]swish(109867294) 10:36:48
象我们的dictionary表,通过type来区分不同的类型
【码神】[长春]swish(109867294) 10:37:06
所有的字典项目实际上基本都一个味
【码妖】【宁波】空(9534557) 10:37:12
 
【码神】[长春]swish(109867294) 10:37:25
然后再通过扩展的方式,扩展出特定字典类型的特有字段
【码神】[长春]swish(109867294) 10:37:34
用Pg的话,就是继承了
【码妖】【宁波】空(9534557) 10:37:41
数据库设计也要模型啊,不能死干
【码神】[长春]swish(109867294) 10:38:02
这样子,我要新加一个字典类型,根本不需要建立一个新表
【码帝】[广州]-幽灵(493498940) 10:38:18
@[长春]swish 我们全是新加表
【码帝】[广州]-幽灵(493498940) 10:38:48
那你的字典里有多少数据?
【码神】[长春]swish(109867294) 10:38:49
除非为了逻辑上好看,我不太倾向于建一堆表
【码霸】海天子(28588343) 10:38:59
全是新加表这应该是叫在原有平台上新增加业务模板
【码神】[长春]swish(109867294) 10:39:00
十几万吧
【码妖】[广州]老衲(424469013) 10:39:05
我也全是加新表 新字段 新外键 等等 一步到位 ,因为 很难第一次设计出来的数据表 能满足以后 不停变化的 年代
【码霸】[宁波]kazarus<kazarus@qq.com> 10:39:09
我跟你们的设计还有点差距.
【码神】[长春]swish(109867294) 10:39:13
光行政区划就是快4万
【码妖】[四川]努力的干(286883826) 10:39:18
pg最适合类似对象 ORM的映射 
【码神】[长春]swish(109867294) 10:39:33
剩下的各类字典,我也没统计到底有多少条记录
【码妖】[四川]努力的干(286883826) 10:39:54
以模板方式实现重用,,已经落后了
【码神】[长春]swish(109867294) 10:40:02
话说,在Pg里有一个好处,你对外都叫dictionary,但你可以通过字段值分区
【码妖】【宁波】空(9534557) 10:40:15
我全是数据字典,字符串和数据分开,
【码神】[长春]swish(109867294) 10:40:20
然后数据量的问题也就不是问题了
【码妖】[四川]努力的干(286883826) 10:40:36
数据量的话,分表分区就解决了
【码妖】[四川]努力的干(286883826) 10:40:44
一年的数据放一个表
【码神】[东莞]青春(82611904) 10:40:51
技术分享
【码神】[东莞]青春(82611904) 10:41:13
你这样后期写报表,要搞死人
【码妖】[四川]努力的干(286883826) 10:41:17
查询优化时,,使用时间约束。。
【码帝】[广州]-幽灵(493498940) 10:41:19
@[四川]努力的干 分表分区数据大了照样死锁。
【码霸】[黑龙江]梵(32055657) 10:41:36
数据库结构频繁变动, 不是个好设计,
【码神】[长春]swish(109867294) 10:41:45
 
【码妖】[四川]努力的干(286883826) 10:41:47
青春你不懂pg, 这不关报表啥事
【码神】[长春]swish(109867294) 10:41:50
字典表字段设计
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:42:25
分区视图能做到自动维护不
【码神】[东莞]青春(82611904) 10:42:28
一年一个表,,,你问一下阿木,,,技术分享
【码神】[东莞]青春(82611904) 10:42:38
阿木最会设计数据库了
【码妖】【宁波】空(9534557) 10:43:10
其实ORm最简单的做法就是把Map模型固定下来,修改MaP就修改映射,剩下就是Map放那里,最简单的Map就放数据库
【码神】[长春]swish(109867294) 10:43:17
id 项目的ID
name 项目的名称
type 项目的类型
parent 项目的父结点
enabled 是否启用
spellchars 拼音字头
visible 是否用户可见
ver_id 记录的版本id
ver_changetime 记录的变更时间
ver_changer 记录的变更人
【码神】[长春]swish(109867294) 10:43:33
几乎所有的字典都可以往这里装
【码妖】[四川]努力的干(286883826) 10:43:36
对的。。空兄,他们没有仔细研究过这个MAP映射。。
【码妖】【宁波】空(9534557) 10:43:37
一切都可以动态
【码妖】[四川]努力的干(286883826) 10:43:50
所以不理解 你所说的动态
【码妖】[四川]努力的干(286883826) 10:43:59
我恰好仔细研究过。。
【码妖】【宁波】空(9534557) 10:43:59
其实so easy
【码神】[长春]swish(109867294) 10:44:20
再有一个多对多的映射表,id1<->id2这样子关联就ok了
【码神】[长春]swish(109867294) 10:45:04
剩下的业务数据表单独建表
【码妖】[广州]老衲(424469013) 10:45:13
感觉@[长春]swish 你这个设计 好抽象大气的感觉,一下子 难以理解 不知道 你这个设计 有没有 相关的技术教程
【码神】[长春]swish(109867294) 10:45:29
没有啥教程呀
【码妖】[广州]老衲(424469013) 10:45:32
这叫什么设计 技术  什么思维模式
【码妖】[四川]努力的干(286883826) 10:45:39
这个举个例子。。就相当于,你去买衣服,,直接去商店买 ,买什么款式的自己选,,不用去找厂家。。
【码神】[长春]swish(109867294) 10:45:41
主要是你得将你的业务数据适当的抽象而已
【码妖】[四川]努力的干(286883826) 10:45:54
也不用管商店怎么找厂家选哪些款式。。
【码虫】[四川]老头<player1113@vip.qq.com> 10:46:08
其实这个方法用起来好不方便的,比如说要查个数据,要连主表扩展表数据一起查出来,痛苦得死人
【码妖】[四川]努力的干(286883826) 10:46:20
相当于屏蔽了后台的数据结构
【码神】[长春]swish(109867294) 10:46:26
@老衲 你看看 Starteam 的数据库设计,那个有点类似你要的感觉
【码神】[长春]swish(109867294) 10:46:35
字段名全是F1,F2,F3这样子命名的
【码妖】[四川]努力的干(286883826) 10:46:42
对于前台程序员。。是不需要关心实际的数据表结构的
【码神】[长春]swish(109867294) 10:46:54
然后有一个元数据表,记录每个字段对应的名称是啥
【码妖】【宁波】空(9534557) 10:47:18
@[长春]swish 对
【码虫】[四川]老头<player1113@vip.qq.com> 10:47:23
特别是要增删改,要疯的。我们现在用的基本上就是这个方法,加一个字段增删改,想死的感觉都有了
【码妖】[四川]努力的干(286883826) 10:47:23
你一个价格字段。。你前台程序员可以用price代表。。我后端数据库可以用123这个字段来存储
【码帝】[北京]猫猫,也叫老猫,请大家没事别圈我。(1765535979) 10:47:31
人家老衲说是,人家做到了。想做的更好。
你们却说人家这个不好?
【码妖】[四川]努力的干(286883826) 10:47:45
都可以。。前端根本不需要关心后端实际的数据表结构
【码神】[东莞]青春(82611904) 10:47:49
技术分享
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:47:50
@[四川]努力的干 你思路和RO DA是一样的
 
 
 
【码妖】[四川]努力的干(286883826) 10:48:20
就是这个思路,
【码妖】[四川]努力的干(286883826) 10:48:26
空兄说的也是这个
【码神】[东莞]青春(82611904) 10:48:33
@[四川]努力的干 又要搞DA 了?
【码妖】[四川]努力的干(286883826) 10:48:35
包括群主也是这个思路
【码神】[长春]swish(109867294) 10:48:39
这个东西就是那么回事吧,思路一人一个样,同一个思路交给不同的人实现,也会是不同的结果
【码神】[长春]swish(109867294) 10:49:03
用户扩展的设计我才考虑用 F1...这种
【码妖】[广州]老衲(424469013) 10:49:07
 @[长春]swish 你这个思路 我感觉 我难以理解,我应该 如何学习下 你这个思路 ,比如 百度 搜什么 是什么思维
【码神】[长春]swish(109867294) 10:49:47
实际上就是在数据内容的基础上,进行公共的一种抽象,具体叫啥,我从来没想过
【码神】[长春]swish(109867294) 10:49:57
类似面向对象的设计
【码妖】[四川]努力的干(286883826) 10:50:06
嗯,DA就是这样做的
【码妖】[四川]努力的干(286883826) 10:50:15
老衲去研究一下DA就明白了
【码妖】[四川]努力的干(286883826) 10:50:34
DA不光抽象出来。。还给配上接口方法。。
【码妖】[四川]努力的干(286883826) 10:51:56
其实跟ER数据库设计建模工具类似,,逻辑模型和物理模型之间也有一个映射
【码妖】[四川]努力的干(286883826) 10:52:34
而逻辑模型就是一个抽象的,,不具体到某个数据库的模型
【码妖】【宁波】空(9534557) 10:53:00
其实就是多了一个名词,Orm,其实就是一个P
【码妖】[四川]努力的干(286883826) 10:53:08
而物理模型则具体对应到每一个具体的数据库
【码妖】【宁波】空(9534557) 10:53:43
编程就是N多的各种词语,让你觉的云里雾里
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:53:54
ORM还是有它的好处的,至少是强类型,写代码会方便很多的
【码帝】[杭州]安尘<anchen8@vip.qq.com> 10:54:11
技术分享
【码妖】【宁波】空(9534557) 10:54:13
映射,动态表,20年前就干了
【码妖】[四川]努力的干(286883826) 10:54:26
我们今天说的,,不一定要映射成对象。。
【码妖】[四川]努力的干(286883826) 10:54:38
就像DA, 就不是映射成对象
【码妖】【宁波】空(9534557) 10:54:44
D5,就有了,
【码妖】[四川]努力的干(286883826) 10:54:45
他映射成了Dataset
【码妖】[四川]努力的干(286883826) 10:54:52
数据集。。
【码妖】[四川]努力的干(286883826) 10:55:14
而这个数据集还可以AS interface.  调用接口方法
【码妖】【宁波】空(9534557) 10:55:19
从Pd有的那一天就可以画表了,就有模型了
【码帝】广州-咏南(254072148) 10:55:35
转遍了宇宙,最后回到了RAD星球
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:55:37
DA可以映射成对象,也可以映射成DataSet的
【码妖】[四川]努力的干(286883826) 10:55:49
不映射成对象的目的,是为了提高性能效率
【码妖】[四川]努力的干(286883826) 10:56:07
有些时候不需要创建一堆对象来占用内存和网络带宽
【码妖】【宁波】空(9534557) 10:56:23
没有最好的语言,最好的模型,只有最好的玩家
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:56:24
DataSet使用起来没有ORM对象方便
【码妖】[四川]努力的干(286883826) 10:57:08
DAModel中我只看到了能映射成DS。。
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:57:13
ORM直接传个对象就OK, 而DataSet中需要查找或过滤才能找到自己要的记录
【码妖】[四川]努力的干(286883826) 10:57:21
没看到映射对象。。
【码妖】[四川]努力的干(286883826) 10:57:57
MarkWu能否截个图看看
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 10:58:19
DA中有个生成对象的功能
【码妖】[四川]努力的干(286883826) 10:58:29
那就是你胡说。。
【码妖】[四川]努力的干(286883826) 10:58:38
哪个框架不能生成对象?
【码妖】【宁波】空(9534557) 10:58:40
映射本身就是你应用模型,跟库没关系,最多你可以放库里
【码妖】【宁波】空(9534557) 10:59:07
dataset道理一样
【码妖】[四川]努力的干(286883826) 10:59:17
我们说的是数据库表映射。。
【码妖】[四川]努力的干(286883826) 10:59:25
必然谈及库
【码妖】[四川]努力的干(286883826) 10:59:34
否则都是瞎吹一通
【码妖】【宁波】空(9534557) 11:00:43
概念不重要,重要的是解决问题
【码妖】[广州]老衲(424469013) 11:01:30
在数据内容的基础上,进行公共的一种抽象,所有表的字段、类型、长度 一个表来抽象,所有表的索引 用一个索引表来抽象,所有表的主键、外键等 各用一个表来抽象,实现数据库表的关系设计,与数据库内容 分离
【码妖】[四川]努力的干(286883826) 11:01:37
对啊。。你泛泛而谈。。老衲是看不懂的
【码神】[荆州]不得闲(75492895) 11:02:51
RAD害了多少人
【码神】[荆州]不得闲(75492895) 11:03:06
导致多数人认为Delphi就是用来拖拖控件,写数据库的
【码帝】【东莞】-天明(464573018) 11:03:19
技术分享
【码妖】[四川]努力的干(286883826) 11:03:21
嗯,闲大说的对
【码妖】【宁波】空(9534557) 11:03:22
严重同感
【码霸】海天子(28588343) 11:03:36
这话说重了吧,难道拖拖控件写数据库不好吗
【码帝】【东莞】-天明(464573018) 11:03:46
都是从拖控件入门的
【码帝】广州-咏南(254072148) 11:03:49
闲大被害了吗
【码妖】[广州]老衲(424469013) 11:03:56
@[长春]swish 实现数据库表的关系设计,与数据内容 分离,数据设计是统一的,数据内容可以分多个表来存储? 是这个思维?
【码妖】[四川]努力的干(286883826) 11:03:56
而且很多人还以为delphi只能写数据库应用
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 11:04:09
RAD是个短平快的技术,确实害人的,搞得Delphier技术提高很难
【码神】[荆州]不得闲(75492895) 11:04:35
只是觉得罢了

技术分享
【码神】[长春]swish(109867294) 11:04:41
@老衲 我的想法是:逻辑接口统一,存贮按需分离
【码帝】广州-咏南(254072148) 11:04:44
以为它们都是SB?
【码帝】【东莞】-天明(464573018) 11:04:48
现在VS也是拖控件啊
【码神】[荆州]不得闲(75492895) 11:04:53
RAD使得很多人停留在浮躁层面
【码帝】广州-咏南(254072148) 11:04:59
以为它们只会拖控件
【码霸】海天子(28588343) 11:05:05
这说明你们写程序不是为了让程序写得更好,而以为了提高自己的技术的
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 11:05:13
.net结合了delphi的RAD和Java的设计思想
【码霸】海天子(28588343) 11:05:18
你们技术狂
【码神】[荆州]不得闲(75492895) 11:05:46
其实最近还好一点
【码帝】广州-咏南(254072148) 11:06:01
多抽象几层,让它妈都认不出来
【码神】[荆州]不得闲(75492895) 11:06:12
我当时刚开始学Delphi的时候,别人就说的是这货只能搞数据库
【码神】[荆州]不得闲(75492895) 11:06:18
 
【码霸】海天子(28588343) 11:06:45
写程序不是为了商业利益,而是为了技术的提高,我也是服了你们
【码神】[荆州]不得闲(75492895) 11:06:54
Java,我总觉得那货,搞个啥都要写个类,包装
【码妖】【宁波】空(9534557) 11:07:40
拖拖拉拉太容易,让人不会去想问题
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 11:08:17
Delphi在面向对象设计这块相对Java落后了很多
【码妖】[广州]老衲(424469013) 11:08:27
@[长春]swish 明白了 理解你的这个思路了。又学了一招 技术分享,我思考 思考 看能否结合上我的业务 
【码妖】【宁波】空(9534557) 11:08:32
@[深圳]MarkWu 谁说的
【码妖】【宁波】空(9534557) 11:09:12
D也可以写class比Java还早
【码妖】【宁波】空(9534557) 11:09:35
只是D程序员没有这么玩而已
【码帝】广州-咏南(254072148) 11:09:41
以JAVA的眼光看,DELPHI什么都不是
【码妖】【宁波】空(9534557) 11:09:48
过去拖拖拉拉可以解决了
【码神】[荆州]不得闲(75492895) 11:10:14
Java的设计思想很多来源于Delphi
【码帝】广州-咏南(254072148) 11:10:14
以OO的眼光看,过程啥都不是
【码霸】[深圳]MarkWu<wyh110536@21cn.com> 11:10:14
我说的是 “面向对象设计”,不是面向对象
【码神】[荆州]不得闲(75492895) 11:10:17
你们不知道么
【码霸】海天子(28588343) 11:10:17
拖拖拉拉可以解决,非要一个一个字母写才行
【码神】[荆州]不得闲(75492895) 11:10:20
【码妖】【宁波】空(9534557) 11:10:35
@[深圳]MarkWu 一样的
【码神】[荆州]不得闲(75492895) 11:10:36
以前的Java很多解决方案是Borland提供的
【码神】[荆州]不得闲(75492895) 11:10:38
好么
【码妖】[四川]努力的干(286883826) 11:11:07
 
【码神】[长春]swish(109867294) 11:11:10
以我的眼光,过去的我啥也不是,但并不代表现在的我是从石头缝里蹦出来的
【码妖】[四川]努力的干(286883826) 11:11:17
老衲,你先看懂这张图。。
【码帝】[番禺]代码狂人(2716715491) 11:11:26
技术分享
【码妖】【宁波】空(9534557) 11:11:27
只是最优秀的内裤把程序员养懒了
【码帝】广州-咏南(254072148) 11:11:27
从门缝里看闲闲,它是条条的
【码妖】[四川]努力的干(286883826) 11:11:29
就能学到如何映射了
【码神】[荆州]不得闲(75492895) 11:11:37
至少Delphi的组建思想是比较好的
【码神】[长春]swish(109867294) 11:11:44
相当好
【码神】[荆州]不得闲(75492895) 11:11:48
南郭,又来欺负我了
【码神】[荆州]不得闲(75492895) 11:12:10
而且也是提出来比较早的
【码神】[荆州]不得闲(75492895) 11:12:25
Java以前的很多技术方案来自于Delphi
【码妖】[广州]老衲(424469013) 11:12:40
@[四川]努力的干 被你的这张图 震撼了
【码神】[荆州]不得闲(75492895) 11:12:52
现在的Web也慢慢开始提倡WebComponent了
【码帝】[上海]易度变和(78211366) 11:13:01
就是DA的工具
【码帝】[上海]易度变和(78211366) 11:13:06
那个图
【码帝】广州-咏南(254072148) 11:13:30
那些框架,那些封装,抽象,闲闲你最后看到的是什么东西?
【码妖】[四川]努力的干(286883826) 11:13:39
是的,易度。。DA的思想都在那张图里
【码神】[荆州]不得闲(75492895) 11:13:46
啥框架,啥封装?
【码妖】[广州]老衲(424469013) 11:13:49
@[四川]努力的干 有没有 什么 官方网址 发来 我看看 多谢
【码神】[荆州]不得闲(75492895) 11:13:58
南郭,别整台高深了
【码神】[荆州]不得闲(75492895) 11:14:14
有时候跳狠了,小弟接不上
【码神】[荆州]不得闲(75492895) 11:14:17
 
【码神】[荆州]不得闲(75492895) 11:14:40
南郭在湖南哪里
【码帝】广州-咏南(254072148) 11:15:00
俺是湖北人
【码神】[荆州]不得闲(75492895) 11:15:18
尼玛,你又跑到广州了
【码帝】广州-咏南(254072148) 11:15:29
这人不装B哪镇得住台面
【码妖】[四川]努力的干(286883826) 11:15:31
【码妖】[四川]努力的干(286883826) 11:16:14
南郭先生。。这个B装的好。。技术分享

 

 

技术分享 2016-06-21 技术分享
【码帝】广州-咏南(254072148) 11:16:29
问它们些回答不了的问题,让它们回不过神来
【码神】[荆州]不得闲(75492895) 11:17:13
别装了,装多了,JJ没了
【码帝】【东莞】-天明(464573018) 11:17:33
拖控件也是面向对象编程
【码帝】广州-咏南(254072148) 11:17:37
有9条JJ
【码帝】【东莞】-天明(464573018) 11:18:51
别人封装好的控件,你们用的时候会结合自己的业务逻辑再组合封装一次吗?技术分享
【码神】[东莞]青春(82611904) 11:19:00
【码神】[东莞]青春(82611904) 11:19:25
直接拖到界面
【码神】[东莞]青春(82611904) 11:19:32
技术分享
【码帝】【东莞】-天明(464573018) 11:19:33
。。。
【码妖】[四川]努力的干(286883826) 11:19:37
就如同建房子。。
【码妖】[四川]努力的干(286883826) 11:19:44
别人封装好的砖头
【码妖】[四川]努力的干(286883826) 11:19:53
你拿来再做封装。。
【码妖】[四川]努力的干(286883826) 11:20:02
就成了墙壁
【码妖】[四川]努力的干(286883826) 11:20:06
柱头
【码妖】[四川]努力的干(286883826) 11:20:10
等等

数据库设计又一个新思路

标签:

原文地址:http://www.cnblogs.com/del88/p/5603127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!