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

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

竹林之风7个月前 (02-20)技术积累1035

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

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

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

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

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

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

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

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

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

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

HTTP长连接与短连接、长轮询与短轮询及长轮询的实现概述

HTTP长连接与短连接、长轮询与短轮询及长轮询的实现概述

        HTTP长连接(long connection)与短连接(short connection)本质上是TCP长连接和短连接:短连接是指在一次HTTP请求和响应之后立即关闭本次TCP连接,...

Java相关的一些名词

Java相关的一些名词

Java语言:一种程序设计语言,版本号从1.0到1.4,从1.5起版本号变更为5、6、……;JDK版本号、Java平台版本号类同。Java平台:1998年12月发布JDK 1.2后,Java从与平台无关的语言变成Java 2平台,分为三个版...

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等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

发表评论

访客

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