数据库&领域模型
moon66sun
精于企业业务流程管理,流程咨询、项目实施、软件开发
展开
-
SQL Server系列:数据库迁移
软件项目在进行系统升级或者服务器迁移时,会遇到数据库的迁移,通常可以通过数据库备份再还原的方式进行,但是如果数据量比较大,如180W条数据,10多G备份文件,如果通过上述方式,通常需要很大的服务器内存及很长的时间,是否有新工具可以加速这个过程?...原创 2022-03-11 09:50:09 · 1197 阅读 · 0 评论 -
SQL系列:日志压缩
USE[master] ALTER DATABASE XXXBiz SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE XXXBiz SET RECOVERY SIMPLE --简单模式 USE XXXBiz DBCC SHRINKFILE (N'XXXBiz_log' , 1, TRUNCATEONLY) --设置压缩后的日志大小为2M,可以自行指定 USE [master] ALTER DAT...原创 2022-03-08 10:04:55 · 428 阅读 · 0 评论 -
SQL系列:更新XML类型字段
SELECT schemadata, * FROM INCIDENTS WHERE INCIDENT=31 AND PROCESSNAME=N'XXXXX'DECLARE @XMLVar XML Select @XMLVar=schemadata FROM INCIDENTS WHERE INCIDENT=31 AND PROCESSNAME=N'工程变更流程'--替换属性set @XMLVar.modify('replace value of (/IncidentData/Globa.原创 2022-02-23 10:23:11 · 958 阅读 · 0 评论 -
SQL系列:更新Text类型字段
UPDATE WX_Reports_Design SET reportConfig =REPLACE(reportConfig,'dbConnect','WiXinDB')SELECT charindex(reportConfig,'dbConnect' ) FROM WX_Reports_Design--定义替换的字符串declare @s_str varchar(8000),@d_str varchar(8000) select @s_str='DMM/' --要替换的字符串.原创 2022-02-23 10:21:13 · 1377 阅读 · 0 评论 -
领域驱动设计系列:概述
在进行DDD学习之前,推荐几本书,让自己做沉浸式阅读Head First 设计模式:学习基础的面向对象概念和重要的设计模式,为实际落地作准备 UML和模式应用:学习如何建模 企业应用架构模式:拓宽一下眼界 实现领导驱动设计:很厚重的一本,相对老艾的更加务实,推荐重复阅读 领域驱动设计:软件核心复杂性应对之道,DDD开山之作,挺玄幻的...原创 2022-02-15 10:22:07 · 794 阅读 · 0 评论 -
Sql存储过程
实例1:只返回单一记录集的存储过程。银行存款表(bankMoney)的内容如下IduserIDSexMoney001Zhangsan男30002Wangwu男50003Zhangsan转载 2014-03-13 11:50:25 · 620 阅读 · 0 评论 -
百万级数据框架:提高查询速度
处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where nu转载 2014-05-09 13:49:38 · 640 阅读 · 0 评论 -
测试问题:C#连接SQL2000却报连接2005错误
本机测试一般用(local),用127.0.0.1或是192.168.1.2有时侯会出错 答:我也到过这个问题?我的解决办法就是:vs2005中自带的有SQLSERVER2005的组件,其实,在连接SQLSERVER2000的时候,系统默认到SQLSERVER2005中去了。只要你下载一个SQLSERVER2005的一个安装包。下载SQLServer2005_SSMSEE.ms转载 2014-05-20 17:16:17 · 493 阅读 · 0 评论 -
SQL Server中行列转换 Pivot UnPivot
PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完整语法:table_sourcePIVOT(聚合函数(value_column)FOR pivot_columnIN())转载 2014-07-02 11:00:46 · 437 阅读 · 0 评论 -
SQLite数据库系列:基础
1. 介绍SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 - 只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。如果您正在寻找一个嵌入式数据库项目或解决方案,SQLite是绝对值得考虑。转载 2015-05-12 15:14:42 · 441 阅读 · 0 评论 -
SQL Server 系列:WITH (NOLOCK)浅析
概念介绍开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种。它等同于 READUNCOMMITTED 。 具体的功能作用如下所示(摘自MSDN): 1: 指定允许脏读。不发布共享锁来阻止其他事务修改当前事务读取的数据,其他事务设置的排他锁不会阻碍当前事务读取锁定数据。允许脏读可能产生较多的并原创 2015-06-03 10:06:45 · 2421 阅读 · 0 评论 -
数据库事务并发:概述
数据库事务并发问题 多个事务同时访问数据库时候,会发生下列5类问题,包括3类数据读问题(脏读,不可重复读,幻读),2类数据更新问题(第一类丢失更新,第二类丢失更新):1,脏读(dirty read)A事务读取B事务尚未提交的更改数据,并在这个数据基础上操作。如果B事务回滚,那么A事务读到的数据根本不是合法的,称为脏读。在oracle中,由于有version控制,不会转载 2015-06-03 10:06:42 · 402 阅读 · 0 评论 -
PowerDesigner系列:使用PowerDesigner创建数据库表图文并茂版
使用建数据库表。一直很忙,没有时间写东西。这次搞点会声会色的,嘿嘿此技能为项目经理必备技能。本次主角: 在下建立一项目:类型的在处选择建立表图:在工具条上选择表格工具,创建出一个表来。然后双击他,可以对其进行修改。改名字为用户表,建立三个字段,为主键:再建立一个表:地址原创 2012-06-13 14:52:09 · 565 阅读 · 0 评论 -
PowerDesigner系列: 建立数据库模型
打开PowerDesigner,点击File->New2. 选择Conceptual Data Model,并修改Model name.3. 在Palette工具栏中点击Entity工具,并在工作区中建立两个Entity.4. 双击一个Entity.在弹出的Entity Properties中输入Name,Code.其中Name是在显示时使转载 2013-02-28 13:51:45 · 475 阅读 · 0 评论 -
如何从数据库的完整日志模式还原误删除的数据 .
原理与实现要点:假设出问题的数据库为A, 新恢复后的数据库为B1.前提:A数据库的恢复模式必须为:完整。2.备份A数据库的日志,假设文件名为log.bak3.使用A数据库的最近的完整备份,使用 WITH NORECOVERY 的方式,恢复为B数据库4.使用恢复日志的方式,指定还原的时间点(T),将Log.bak文件还原到B数据库,完成后,B数据库的内容即是T时间之前的完转载 2011-12-23 15:20:27 · 801 阅读 · 0 评论 -
SQL系列: If Exists Update Else Insert
IF EXISTS (SELECT * FROM Table1 WHERE Column1='SomeValue') UPDATE Table1 SET (...) WHERE Column1='SomeValue'ELSE INSERT INTO Table1 VALUES (...)insert intotable(* ) select *from原创 2022-03-08 09:53:27 · 567 阅读 · 0 评论 -
SQL2005 备份数据库 还原数据库 bak文件
1、备份数据库 选择想要备份的数据库->右击->Tasks->Backup->一切默认,生成*.bak文件-->SQL= backup database dbname to disk='c:\dbname.bak' 2、恢复数据库 选择想要恢复的数据库->右击->Tasks->Restor Database->from device->按提示进行 ->options->选择 ove原创 2011-12-26 13:30:59 · 947 阅读 · 0 评论 -
什么是数据仓库
什么是数据仓库 数据仓库概念始于上世纪80年代中期,首次出现是在被誉为“数据仓库之父”WilliamH.Inmon的《建立数据仓库》一书中。随着人们对大型数据系统研究、管理、维护等方面的深刻识认和不断完善,在总结、丰富、集中多行企业信息的经验之后,为数据仓库给出了更为精确的定义,即“数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合”。数据仓库并没有严格的数据原创 2010-05-13 19:21:00 · 851 阅读 · 0 评论 -
数据库表设计系列:字典数据
在稍大一些的项目中,我们总是需要管理各种各样的类型类型数据(如商品类型、游戏类型。。。)。对于这些类型的管理类似,如果为每一种类型都建立一张表去维护(而在项目中,正常出现50种类型),那工作量是可想而之大,并且我们不得不去了解每一个类型表的名字,以去关联它。 因此,我们需要一种数据模型以完成对多种多样类型管理的需求。字典表dictionary转载 2013-01-22 17:07:53 · 2126 阅读 · 0 评论 -
数据库表设计系列:历史数据问题之单、多记录变更
在各种应用软件中,客户总是希望看到自己操作关键业务的历史数据(更或者是将来的历史数据,如本年计划明年的商品价格),并且要跟踪变化来源于哪一个版本。历史记录,如果我们按某次修改时,需要新增的记录条件的角度来看,如果只需要新增一条记录(如商品价格的变动,一次只变动),我们称之为单记录变更;如果我们需要新增一条记录,并且还需要在不同的表中新增对应的详细记录并且是一对多的关系时(如报价时,我们需要储存报价转载 2013-01-22 17:49:31 · 7348 阅读 · 0 评论 -
数据库表设计系列:树形结构数据
1 概述树形数据,主要关注的是:1> 如何将数据高效地以树形的形式展现给用户2> 通过某个节点找到所有的父节点。3> 获取某个节点的所有的后继节点(包括子节点的子节点)至于添加、修改、删除和通过一个父节点获取对应的子节点,都是可以很容易的实现。2 邻接模型2.1业务:文件存放位置,在档案管理中,需要为文件的存放位置建模,文件存在抽屉,然后抽屉在某个柜子中,柜子在某个房间转载 2013-01-22 17:55:02 · 1412 阅读 · 0 评论 -
SQL系列:like模糊查询
SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下:1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)原创 2013-02-21 14:08:48 · 3879 阅读 · 0 评论 -
在SQL Server 2005中实现表的行列转换
在SQL Server 2005中实现表的行列转换 PIVOT和UNPIVOT关系运算符是SQL Server 2005提供的新增功能,因此,对升级到SQL Server 2005的数据库使用PIVOT和UNPIVOT时,数据库的兼容级别必须设置为90(可以使用sp_dbcmptlevel存储过程设置兼容级别)。 在查询的FROM子句中使用PIVOT和UNPIV转载 2011-12-23 15:23:00 · 424 阅读 · 0 评论