dsqdpn31467 2011-05-20 08:04
浏览 29
已采纳

Zend_Db的。 我是否需要在构建db表时手动设置主键和外键?

As I read J.Gilmore Zend Book (Models section):

class Game extends Zend_Db_Table_Abstract
{
 protected $_primary='id'; //line 4
}

[..]Line 4 identifies the table's primary key.By default the framework will 
presume the primary key is an automatically incrementing integer named id,so 
this line is not necessary [..]

I have a question:

  • Do I need to manually set primary and foreign key while building a table (Ex. in phpmyadmin with something like "PRIMARY KEY (id),FOREIGN KEY (post) REFERENCES users (id) ON DELETE CASCADE")?
  • Or I can handle tables relationships and fields nature just by referring to Zend code using $_primary,$_dependentTable,$_referenceMap and so on?

thanks

Luca

  • 写回答

2条回答 默认 最新

  • dqenv99518 2011-05-20 08:13
    关注

    Both. Although you can get away with an ORM dealing with relations, the database ensures at low-level those relations are respected. Always let the database do its job as much as possible, it is built for handling relations and preventing data corruption. What if your ORM has a bug?

    As a somewhat related example, say you have a field declared as int in database, you are responsible as a developper for making sure you use int's in your queries, but the database enforces that rule at a lower level, protecting your data in case you don`t.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算