数据库 – 是否需要对数据库的唯一约束?

我最近一直在想.让我们说我们正在使用JSF Spring JPA / Hibernate(或任何其他技术)进行webapp,并且假设我们有一个“User”实体.我们希望用户拥有唯一的登录信息.如果我们想要这样做,那么我们可以在“登录”列上放置一个@UniqueConstraint,但我们的应用程序仍然必须在用户注册期间检查用户输入是否有效(唯一),没有这个并且只有数据库约束我们只会得到一个错误.这让我想到,DB约束真的有必要/有帮助吗?当他们试图给我们任何好处时,我能想到的唯一两次就是有人试图破解我们(但我想我们的应用程序应该是sql注入证明)或者我们尝试手动更改数据库内容(不应该真的发生了).实际上,现在我考虑一下,DB约束一般是必要的/良好实践吗?就像弦乐的长度等

解决方法

对我来说,绝对是的,请参阅Dan Chak的 Database as a Fotress,来自97 Thinks Every Software Architect应该知道.他说这比我做得好多了.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...