关于数据库约束的意义?
数据库的约束:主键、唯一性、check、外键
我感觉他们唯一的作用就是限制不相关的数据输入到数据库中。然而没有警告,所有工作都是悄无声息的
基于此,我觉得,不如用程序把关,而不是用数据库把关
求高手指教一二
------解决方案--------------------
现在数据库设计时,都不采用这种结束了。
就像你说的,都在用户输入时就做验证了,也就是在程序中来实现。
因为数据库有约束,当不能插入数据时,只是返回错误信息,数据库本身并不能处理。
还不如在客户应用程序中来处理,比较方便的。
------解决方案--------------------有些东西光是程序端把关很容易出问题,程序端入口如果很多,你不觉得程序端验证很容易出问题么,
DB端入口只有一个,这不是很简洁?
------解决方案--------------------唯一约束的作用基本表在某一列或多个列的组合上的取值必须唯一。
要达到“限制不相关的数据输入到数据库中”的需求,要在客户端的程序去校验输入的数据。满足需求的数据就保存到数据库的表里,不满足的就提示警告信息并不允许保存到数据库中。
------------------------------------------------------
ORACLE DBA技术交流QQ群:9610122 (欢迎你的加入!)
------解决方案--------------------数据库的约束:主键、唯一性、check、外键
----------------------------------------
check 表内最方便验证数据的有效性,而且DML操作时不会引起太多等待。但是一般在前端验证。
外键 主要用于主外表关联。表间之间有限性验证。
主键 表内唯一性验证,且不能为空。主要定位特定行。