数据库所谓的主键,外键,以及关系的作用到底是干什么?如果程序调用数据库有问题,运行中数据库肯定会报错。反之,如果程序调用数据库设计得合理,例如在写入数据库前就进行判断,主键列决不插入相同值。那么请问主键、外键、关系设不设置还有什么关系??难道就是为了程序逻辑设计有错误时,报错,提醒一下,然后再修改程序吗??
我不知道自己表达得是否清楚。

解决方案 »

  1.   

     楼主想的太简单了 你想难道所有的都用程序涞? 数据库就存储数据不做什么?
    那你的数库效率可能会很“高”(BS)
    呵呵 数据库控制的话比 程序控制要好 耦合性 要强!  
      

  2.   

    主键和外键的存在肯定有它的理由你控制的再好也会出现问题假如很多用户同时提交相同的数据,你怎么判断呢?
      

  3.   


    我碰到过没有设置主键,前台程序就是插不进数据
      

  4.   

    其實你也可以不設啊!微軟沒有強制要求你設置主健什麽的,不同的人有不同的需要,根據需要來的!
      

  5.   

    我是初学者,其实我知道肯定有用处,我想了解到底在哪能发挥这些要素的作用
      

  6.   

    首先,我觉得楼主提出的问题有一定道理,如果程序逻辑合理,确实可以不需要。我认为,一是对数据逻辑性的检查,因为数据库也是应用程序的一个逻辑层面,我们可以利用数据库提高的很多特性,来提高应用软件整体的效率等方面;二是如果利用主外键查询,效率有提高。
      

  7.   

    主外键主要是为了实现数据引用的完整性
    1。如果在数据库层面设置了主外键,引用完整性是得到了保证,但在导入导出数据时必须先导主表,再导外键表
    如果不设置,则可在主键表,外键表中任意修改数据,造成数据的不完整性
    2。目前实际应用中,多是在前端程序中控制主外键表中数据的一致性
      

  8.   

    答案在帮助里:主键,外键
      

  9.   

    有了数据库的这些限定键,就会使得数据库的完整性得以保持.此外,数据库的建立不是单单为了与程序对接的.有的只是单单在数据库里管理的,那么这些数据库表就有必要通过主键,外键来约束了.