当前位置:首页 > 技术积累 > 正文内容

关于数据库表字段设计的一点经验

竹林之风3周前 (02-20)技术积累228

        项目中我们通常使用ORM对数据库进行读写操作,在更新一条记录时大部分时候我们会先从数据库读取该记录,修改数据库实体类实例的属性后再更新。如果读取该记录时,返回字段列表未使用*或全部字段而是只返回部分字段,那么其它体类实例的其它属性值则为null,这样更新可能将表中对应字段也覆盖成null。

        大多ORM可以跟踪属性变化或有快照功能,可以只更新修改过的字段。但是若忘记使用快照或其它原因,就很可能把不该为null的字段覆盖为null了。这时关于数据库表字段设计的一点经验就是:

1、除时间类型等字段外,字段都设为不允许null,防止把不该为null的字段覆盖为null;

2、除时间类型等字段外,字段使用默认值,以避免使用null值(如字符串使用空、数值使用0,逻辑使用false等)。

        当然对应的数据库表实体类的属性默认值应为null,以防将未变更的相应字段覆盖为默认值。

扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:https://www.9icode.com/index.php/post/383.html

标签: 数据库
分享给朋友:

“关于数据库表字段设计的一点经验” 的相关文章

通用基础表逻辑设计(一)——配置、枚举和类别

通用基础表逻辑设计(一)——配置、枚举和类别

一、配置表        一个系统中往往有很多需要可自定义的参数,比如网站名称、联系地址等基础参数以及各种系统运行参数等等,这个时候就需要单独一个参数配置表来保...

IIS中使用PHP-CGI报500错误问题可能原因

IIS中使用PHP-CGI报500错误问题可能原因

        在IIS中使用CGI方式运行PHP网站突然报500服务器错误,需要判断当前系统的软件环境有何变化去一一排查,通常可能的原因有:(1)PHP程序因...

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几...

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

从被扫描记录看网站安全应该注意的一些细节

从被扫描记录看网站安全应该注意的一些细节

1、尽可能地隐藏服务器真实IP,减少攻击目标。例如使用负载均衡、网关等作为门户,由负载均衡或网关转发到后端服务器。2、服务器必须开放的服务(除HTTP、HTTPS等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。