数据库

数据库杂谈之:如何优雅的进行表结构设计

本文首发于知乎专栏,转载请注明出处 https://zhuanlan.zhihu.com/p/20785905数据库表结构设计作为后端软件开发不可或缺的一环,是每个后端工程师都会经历的过程。笔者也多次经历过这样的过程,也尝试过多种不同的设计方案,也从一些优秀的框架中学到不少,但并没有发现相关的文章对其进行总结。所以本文尝试把笔者看到的、学到的总结下来,希望对阅读本文的读者有

关系数据库SQL之可编程性函数(用户自定义函数)

前言在关系型数据库中除了前面几篇基本的数据库和数据表操作之外,还提供了可编程性的函数、存储过程、事务、触发器及游标。本文介绍的是函数。函数分为两种:系统函数用户自定义函数准备工作这里以银行存取款为例说明。1、创建数据表--创建账户信息表create table AccountInfo(--账户IDCustID int identity(1,1) primary key,--

六个可以替代传统事务解决并发问题的建议

增删改查是大部分框架的功能,如果有两个并发请求修改同一个数据,这个时候,你会怎么办?或者插入本来应该是唯一却重复的数据时应该怎么办?再或者插入和修改时有其它辅助动作比如保存到另外的表,这些情况,有什么好的解决方案?我想最开始,你会首先想到“事务”,事务确实能够让一组操作一起可靠安的全执行,他们要么全部执行,要么一个也别想执行。但如果有两个同时发生的并发事务怎么办?使用事务隔

关系数据库SQL之可编程性事务

前言前面关系数据库SQL之可编程性函数(用户自定义函数)一文提到关系型数据库提供了可编程性的函数、存储过程、事务、触发器及游标,前文已介绍了函数、存储过程,本文来介绍一下事务的使用。(还是以前面的银行系统为例)概述是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)特

关系数据库SQL之可编程性存储过程

前言前面关系数据库SQL之可编程性函数(用户自定义函数)一文提到关系型数据库提供了可编程性的函数、存储过程、事务、触发器及游标,前文已介绍了函数,本文来介绍一下存储过程的创建、执行、删除。(还是以前文中银行系统为例)概述存储过程是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数(如果该存储过程带有参数)来执行。语法创建存储过

战略性情绪分析的5大数据来源

【编者按】每个公司都想知道客户对自身的感受。而情绪分析可以获取更具细粒度的信息,还能用于提高员工的满意度。本文作者为 Andrew C. Oliver,文章系国内 ITOM 管理平台 OneAPM 编译呈现。在世界的某个角落,有人发推特说“这家航空公司太糟糕了!”在过去,这些抱怨就被忽视了。现在,许多航空公司会充满歉意地回应(“对于您的不愉快经历,我们深感抱歉——请发私信给

麒麟开源堡垒机应用发布功能代码分析

1.代码说明麒麟开源堡垒机目前发布的代码共计分为五个模块,可以在码云下下载,这二天我看了应用发布部分的账号同步代码,进行简单的分析以共参考。帐号同步程序的做用是把数据库的账户信息同步到发布机的本地账户,它是一个后台的服务程序,监听一个端口,接收客户端的请求。程序处理来自客户端的四种命令:扫描全表,同步账号;添加指定的账号;禁用指定的账号;生成BHO配置文件;其中扫描全表同步

在选择数据库的路上,我们遇到过哪些坑?(1)

【编者按】你会怎么选择数据库,是关系数据库、XML 数据库、资源描述框架(RDF),还是图形数据库?这篇演讲深入而生动地探讨了各种选择。本文系国内 ITOM 管理平台 OneAPM 编译呈现。备注:在去年十月于旧金山举办的 GraphConnect 大会上,FactGem 公司首席技术官 Clark Richey发表了这篇演讲,解释了他决定选择 Neo4j 数据的原因。我是

在选择数据库的路上,我们遇到过哪些坑?(2)

【编者按】你会怎么选择数据库,是关系数据库、XML 数据库、资源描述框架(RDF),还是图形数据库?本文的第1部分深入而生动地探讨了各种选择。在第2部分,将深入介绍使用 Neo4j 的注意点。文章系国内 ITOM 管理平台 OneAPM 编译呈现。过渡到 Neo4j 之后的经验和教训下面介绍一些有关运行 Neo4j 的实用技巧:1. 如果你是 Java 商城,请嵌入式地运行