请问三层数据库设计中大家有没有用到外键??? 只有这么点分了,请帮忙 在线,急 ( 积分: 20 )

  • 主题发起人 主题发起人 hubeizwj
  • 开始时间 开始时间
H

hubeizwj

Unregistered / Unconfirmed
GUEST, unregistred user!
两种方式
一.不用外键,
产品表: PRODID,PRODNAME
订单表:ORDID,PRDID,PRDNAME
将产品表的PRODID与PRODNAME保存时写入订单表
二.用外键
产品表: PRODID,PRODNAME
订单表:ORDID,PRDID,
不须将产品PRODNAME保存时写入订单表
但是在增加订单时:
Select a.prodid,a.prodName,b.orderid from 订单表 b inner join 产品表 a
on a.prodid=b.prodid
那就在增加时,填入对应的PRODID,与PRODNAME,在服务器提交时只更新PRODID到订单表,
在修改时,就有麻烦了,如果同时改动了PRODID与PRODNAME,可能更新成功,但实际上未更新数据;假控制修改时不可更改PRODNAME字段,那么如果基础表的PRODNAME被改动了,不是也更新不了数据?????
请高手说说是如何控制???
 
且使用ADO组件
 
怎么没人答
 
数据库设计应符合范式,无论是三层还是c/s。你说的情况不用外键是错误的。至于如何多表更新,建议学习一下李维的《Delphi5.x分布式多层应用》。
 
不管几层结构,都应该用外键
 
请问不用BDE,而用ADO如何作更新.
 
请问不用BDE,而用ADO如何作更新.
 
后退
顶部