数据库的约束:主键、唯一性、check、外键
我感觉他们唯一的作用就是限制不相关的数据输入到数据库中。然而没有警告,所有工作都是悄无声息的
基于此,我觉得,不如用程序把关,而不是用数据库把关
求高手指教一二

解决方案 »

  1.   

    这个事情,是仁者见仁吧,举例如果是java平台开发,要使用Hibernate等第三方数据库访问层的话,不设置各种约束是很方便的,否则在hibernate映射配置时很繁琐。再有JSP web开发,现在JQuery的库对用户输入的验证很方便,而且可能通过正则表达式、代码等就地解决。
      

  2.   

    Hibernate设置麻烦,但是作用明显
    JQuery的UI验证,后台还是必须还要验证检查的,要不把这些验证全部丢在客户端,那系统安全性不是非常差么
      

  3.   

    就是说数据库知识返回一个错误信息,数据依然可以插入数据库图表中吗?
    还有,Java有没有办法捕捉到这些错误信息,并进行相关处理。
      

  4.   

    唯一约束的作用基本表在某一列或多个列的组合上的取值必须唯一。
    要达到“限制不相关的数据输入到数据库中”的需求,要在客户端的程序去校验输入的数据。满足需求的数据就保存到数据库的表里,不满足的就提示警告信息并不允许保存到数据库中。
    ------------------------------------------------------
    ORACLE DBA技术交流QQ群:9610122 (欢迎你的加入!)
      

  5.   

    数据库的约束:主键、唯一性、check、外键
    ----------------------------------------
    check 表内最方便验证数据的有效性,而且DML操作时不会引起太多等待。但是一般在前端验证。
    外键  主要用于主外表关联。表间之间有限性验证。
    主键  表内唯一性验证,且不能为空。主要定位特定行。
      

  6.   

    出发点不一样,也许你侧重的是应用,你还能通过诸如,js或者java来进行判定,抛开其他语言如果是单一的数据库应用呢?你是否就觉得我的约束或者其他的对象也能像其他语言中的js或者java方法那样获得同样的数据验证效果呢?