随笔分类 - 数据库
数据库
摘要:五 监视与优化 建立底线监视的底线,将底线以后的增长、活动和性能、数据定义更改都记录到一个图表供日后分析 监视工具Windwos事件日志任务管理器系统监视器Management Studio 管理对象(连接)Management Studio 查询属性(数据行数,时间)Management Studio 执行计划(分析查询过程性能)DDL触发器(监视数据结构更改) 索引记录写入时有消耗,读取时有很...
阅读全文
摘要:在数据库中创建程序集CREATE ASSEMBLY hellowordFROM 'c:\test.dll'WITH PERMISSION_SET = SAFE 查看数据库配置特性sp_configure 创建登陆sp_addlogin 把登陆名添加到固定服务器角色中sp_addsrvRolemember 添加主体到数据库角色sp_addRolemember 添加应用程序角色sp_setappRol...
阅读全文
摘要:将TSQL查询直接输出为XML SELECT * FROM [Effect.功能]FOR XML AUTO(RAW,EXPLICIT), ELEMENTS(XMLDATA,BINARY BASE64) 查询系统版本 EXEC XP_MSVER 列举数据库用户及其权限 SELECT * FROM sys.server_principalsSELECT * FROM sys.server_pe...
阅读全文
摘要:三 维护与自动化 还原类型:完全还原、差异还原、事务日志还原、时间点还原 在数据库对象名称或文本前加上N使后面的文本显示成Unicode 另外两种类型的维护: 处理数据库物理状态:检查数据库文件一致性和收缩数据库DBCC CHECKDB('database name')检查库 DBCC CHECKTABLE('table or index name')检查表或索引 CHECKALLOC...
阅读全文
摘要:二 体系结构和工具 系统数据库: master:保存系统所有操作使用的数据,包括安全、挂载、配置、所有数据库及其对象 model:创建其他数据库的模板 msdb:包括用来进行维护、复制的所有计划信息、作业、警报和操作员 三 维护与自动化 三种恢复模式 1.简单恢复模式:存入数据库后就从事务日志中删除,适合数据不常改变的数据库 2.完整恢复模式:存入数据库后就仍保存在事务日志中,所有生产...
阅读全文
摘要:十八 在关系数据库内查找对象 查找策略:(与数据库封装策略相匹配) 蛮力方式、查询对象、元数据驱动 错误处理策略: 使用异常标识严重的错误,而使用返回值处理逻辑错误。 几项查找对象时的实现策略 总是返回一个集合 针对查询列表采用代理和惰性初始化 对高开销属性使用惰性读取 使用级联插入、删除、更新的总结 谨防循环 谨防级联失控 只缓存那些不太可能经常发生改变的数据 十九 实现引用...
阅读全文
摘要:十七 实现并发控制 两个活动彼此进行交互基本方式三种: 脏读、不可重复读、幻读 三种锁定类型 悲观锁定:实体在内存中整个期间会在数据库中锁定 乐观锁定:只在发生冲突时检测并进行解决 过度乐观锁定 事务的三个基本概念 ACID属性 两段式提交:BEGIN COMMIT 嵌套事务
阅读全文
摘要:十四 对象-关系数据库映射 关系数据库中所有关联都是双向的对象模型中对象的三种关系:关联、聚合、组合在关系数据库中都以同样的方式来映射他们(外键)多重性为多时,关系可以通过一个集合属性和操纵该数组的操作来实现 一对一关系:可以在其中任意一个表中建立外键,选择在哪个表建立外键时要考虑潜在变成一对多的需求 一对多关系:需要一个从单表到多表的外键来实现多对多关系实现有两种方式:1.在其中一个表中建立多个...
阅读全文
摘要:用属性标识取代类型代码 where ishome=true 好于 where type='home' 类型代码的方法,应用与列名以及列中的值是耦合在一起的 而属性标识列的方法,应用只与列名耦合 实体完整性:主键,索引域完整性:限制列输入有效性 check约束 非空约束 唯一约束 主键约束 外键约束引用完整性:外键 级联事件探查器IIS SQL XML标量函数 内嵌表值函数 多语句表值函数 ...
阅读全文
摘要:用户完整性: 主键、索引。域完整性:CHECK约束、外键。 数据库封装策略: 蛮力方式,数据访问对象,持久化框架,服务。 映射继承结构的四种方法: 将整个类层次体系映射成一个表 将每个具体类映射成自己的表 将每个类映射成它自己的表 将类映射成一个通用结构
阅读全文
摘要:存储过程中跳过错误: if @@error 0 goto pass ……pass: ORACLE中可以用异常块 begin ...... begin insert into ...... exception when 需要继续向下执行的异常 then ...
阅读全文
摘要:CONVERT的使用 declare @binvalue varbinary(256),@vcharvalue nvarchar(256)set @binvalue=convert (varbinary (20) , 'select')select convert (varbinary (20) , 'select')select convert (varchar (20), 0x73656c65...
阅读全文
摘要:declare @id int, @--声明变量declare Response cursor for SELECT FROM [InventionToolOldEffect].[dbo].[avibg] WHERE (是否效应 = 1)ORDER BY 效应编号 --声明游标 open Response --打开游标fetch next from Responseinto@id...
阅读全文
摘要:重置IDENTITY USE InventionToolGODBCC CHECKIDENT ('[Effect.分组]', RESEED, 0)GO 查询某表当前IDENTITY DBCC checkident('[Effect.组]', NORESEED) 中文表名或者带符号的表名要用[]括起来 利用@@Cursor_Rows确定游标中的行数 两种复制表的语句 select * into...
阅读全文
摘要:现MSSQL设置级联删除时候有个问题,简单说就是: 一个表中不能两次使用外键的级联删除或级联更新。 错误提示是: 将 FOREIGN KEY 约束 'FK_Effect.效应实例_Effect.效应' 引入表 'Effect.效应实例' 中将导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其它 FOREIGN KEY 约束。...
阅读全文
摘要:六.结构的重构 删除列: 用Alter Table set unused 隐藏列 任何情况下select * 都不是个好方法 删除列不忘备份,创建临时表,包含原表的主键和删除的列 删除表: 将表改名,但注意有些数据库会自动更新对改名表的外键引用,SO手动删除外键 不忘备份表create table ... as select * from ... 引入计算列: 两种方法,基于数据源的触...
阅读全文
摘要:UNIQUE约束:使字段值不重复 创建一个名为nameunique的约束,此约束将使名称这一列不可重复 alter table [dbo].[Effect.效应] add constraint [唯一名称] unique(名称) CHECK约束:使字段内容满足约束,如使AVI1编号为五位数字 通过CHECK约束向导填写 AVI1编号 LIKE '[0-9][0-9][0-9][0-9][0-9...
阅读全文
摘要:沙盒部署层次:开发沙盒、集成沙盒、测试沙盒、演示沙盒、生产环境 五.数据库重构策略 5.2唯一地标识每一次重构 版本标识方法:构建编号(单团队开发适用),日期/时间戳(多团队开发),唯一标识 5.4建立数据库配置表,保存数据库结构的版本号 5.5触发器虽然性能上有瓶颈但绝大多数情况优于视图或批量同步 5.11不要复制SQL语句,最好将SQL放到一个包或类中,或从元数据生成SQL,或保存在XML...
阅读全文
摘要:几个相关概念 数据库模式定义语言DDL(Data Description Language) 数据操纵语言DML(Data Manipulation Language) 物理数据模型PDM(Physical Data Model) 概念数据模式CDM (Conceptual Data Model) 数据库重构分类: 1.结构重构:对表或视图所作变更,如列的移动、拆分 2.数据质量重构:改进...
阅读全文
摘要:近日开始着手重新设计效应模块的数据库, 从图书馆借来一堆关于数据库的书籍, 发现一本《数据库重构》内容比较新颖。 上网一查此书还获过2007年第17届Jolt生产效率大奖, 虽然这次的任务重新设计数据库与数据库重构还是有挺大区别, 不过粗略翻了翻此书之后觉得启获良多, 我还是决定趁此机会研读此书。
阅读全文
浙公网安备 33010602011771号