摘要: 越来越觉得我们这个专业实在太难学了,一是要学习的知识面太多,二是其中逻辑关系复杂。我想即使是世界上最聪明的大脑投身我们这个行业,肯定也会惊呼脑袋不够用。 面对如此繁多的知识点,越来越感到力不从心。长期以来,我们的专业学习都是各自为战,交流虽有,但显然还不足以减轻丝毫我们的学习负担。 迫切地感到要改善我们整个实验室的学习效率就应该将单兵式作战转化成集团式作战。 采取每个人先精通一二,然后互通有无... 阅读全文
posted @ 2008-07-04 22:22 湘西小刁民 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 十八 在关系数据库内查找对象 查找策略:(与数据库封装策略相匹配) 蛮力方式、查询对象、元数据驱动 错误处理策略: 使用异常标识严重的错误,而使用返回值处理逻辑错误。 几项查找对象时的实现策略 总是返回一个集合 针对查询列表采用代理和惰性初始化 对高开销属性使用惰性读取 使用级联插入、删除、更新的总结 谨防循环 谨防级联失控 只缓存那些不太可能经常发生改变的数据 十九 实现引用... 阅读全文
posted @ 2008-07-01 22:21 湘西小刁民 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 十七 实现并发控制 两个活动彼此进行交互基本方式三种: 脏读、不可重复读、幻读 三种锁定类型 悲观锁定:实体在内存中整个期间会在数据库中锁定 乐观锁定:只在发生冲突时检测并进行解决 过度乐观锁定 事务的三个基本概念 ACID属性 两段式提交:BEGIN COMMIT 嵌套事务 阅读全文
posted @ 2008-06-29 22:20 湘西小刁民 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 十四 对象-关系数据库映射 关系数据库中所有关联都是双向的对象模型中对象的三种关系:关联、聚合、组合在关系数据库中都以同样的方式来映射他们(外键)多重性为多时,关系可以通过一个集合属性和操纵该数组的操作来实现 一对一关系:可以在其中任意一个表中建立外键,选择在哪个表建立外键时要考虑潜在变成一对多的需求 一对多关系:需要一个从单表到多表的外键来实现多对多关系实现有两种方式:1.在其中一个表中建立多个... 阅读全文
posted @ 2008-06-27 22:18 湘西小刁民 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 用属性标识取代类型代码 where ishome=true 好于 where type='home' 类型代码的方法,应用与列名以及列中的值是耦合在一起的 而属性标识列的方法,应用只与列名耦合 实体完整性:主键,索引域完整性:限制列输入有效性 check约束 非空约束 唯一约束 主键约束 外键约束引用完整性:外键 级联事件探查器IIS SQL XML标量函数 内嵌表值函数 多语句表值函数 ... 阅读全文
posted @ 2008-06-24 22:14 湘西小刁民 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 则当条件失败时,Assert 方法将显示“断言失败”对话框。断言失败时发生的操作是由 Listeners 或 Listeners 属性控制的。 可以重写 System.Diagnostics.TraceListener.Fail(System.String) 方法来写入事件日志而不是显示“断言失败”对话框。 调试和跟踪共享相同的 Listeners 集合,因此,如果将一个侦听器对象添加到应... 阅读全文
posted @ 2008-06-15 22:17 湘西小刁民 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 用户完整性: 主键、索引。域完整性:CHECK约束、外键。 数据库封装策略: 蛮力方式,数据访问对象,持久化框架,服务。 映射继承结构的四种方法: 将整个类层次体系映射成一个表 将每个具体类映射成自己的表 将每个类映射成它自己的表 将类映射成一个通用结构 阅读全文
posted @ 2008-06-06 22:06 湘西小刁民 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 编程语言通常使用两种方法记录字符串长度。 一种在开始处储存字符串长度,一种用一个特殊字符来表示结束标记。 Pascal字符类型采用是前者,C、.Net采用的是后者 后一种字符类型时for(int i;i<s.lenght;i++)是及其低效的 阅读全文
posted @ 2008-05-24 22:12 湘西小刁民 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 存储过程中跳过错误: if @@error 0 goto pass ……pass: ORACLE中可以用异常块 begin ...... begin insert into ...... exception when 需要继续向下执行的异常 then ... 阅读全文
posted @ 2008-05-16 22:07 湘西小刁民 阅读(126) 评论(0) 推荐(0) 编辑
摘要: CONVERT的使用 declare @binvalue varbinary(256),@vcharvalue nvarchar(256)set @binvalue=convert (varbinary (20) , 'select')select convert (varbinary (20) , 'select')select convert (varchar (20), 0x73656c65... 阅读全文
posted @ 2008-05-15 22:02 湘西小刁民 阅读(237) 评论(0) 推荐(0) 编辑
摘要: declare @id int, @--声明变量declare Response cursor for SELECT FROM [InventionToolOldEffect].[dbo].[avibg] WHERE (是否效应 = 1)ORDER BY 效应编号 --声明游标 open Response --打开游标fetch next from Responseinto@id... 阅读全文
posted @ 2008-05-15 22:00 湘西小刁民 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 重置IDENTITY USE InventionToolGODBCC CHECKIDENT ('[Effect.分组]', RESEED, 0)GO 查询某表当前IDENTITY DBCC checkident('[Effect.组]', NORESEED) 中文表名或者带符号的表名要用[]括起来 利用@@Cursor_Rows确定游标中的行数 两种复制表的语句 select * into... 阅读全文
posted @ 2008-05-13 22:58 湘西小刁民 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 现MSSQL设置级联删除时候有个问题,简单说就是: 一个表中不能两次使用外键的级联删除或级联更新。 错误提示是: 将 FOREIGN KEY 约束 'FK_Effect.效应实例_Effect.效应' 引入表 'Effect.效应实例' 中将导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其它 FOREIGN KEY 约束。... 阅读全文
posted @ 2008-05-12 22:57 湘西小刁民 阅读(2037) 评论(1) 推荐(0) 编辑
摘要: 六.结构的重构 删除列: 用Alter Table set unused 隐藏列 任何情况下select * 都不是个好方法 删除列不忘备份,创建临时表,包含原表的主键和删除的列 删除表: 将表改名,但注意有些数据库会自动更新对改名表的外键引用,SO手动删除外键 不忘备份表create table ... as select * from ... 引入计算列: 两种方法,基于数据源的触... 阅读全文
posted @ 2008-05-12 22:55 湘西小刁民 阅读(181) 评论(0) 推荐(0) 编辑
摘要: UNIQUE约束:使字段值不重复 创建一个名为nameunique的约束,此约束将使名称这一列不可重复 alter table [dbo].[Effect.效应] add constraint [唯一名称] unique(名称) CHECK约束:使字段内容满足约束,如使AVI1编号为五位数字 通过CHECK约束向导填写 AVI1编号 LIKE '[0-9][0-9][0-9][0-9][0-9... 阅读全文
posted @ 2008-05-11 22:56 湘西小刁民 阅读(988) 评论(0) 推荐(0) 编辑
摘要: 沙盒部署层次:开发沙盒、集成沙盒、测试沙盒、演示沙盒、生产环境 五.数据库重构策略 5.2唯一地标识每一次重构 版本标识方法:构建编号(单团队开发适用),日期/时间戳(多团队开发),唯一标识 5.4建立数据库配置表,保存数据库结构的版本号 5.5触发器虽然性能上有瓶颈但绝大多数情况优于视图或批量同步 5.11不要复制SQL语句,最好将SQL放到一个包或类中,或从元数据生成SQL,或保存在XML... 阅读全文
posted @ 2008-05-10 22:54 湘西小刁民 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 几个相关概念 数据库模式定义语言DDL(Data Description Language) 数据操纵语言DML(Data Manipulation Language) 物理数据模型PDM(Physical Data Model) 概念数据模式CDM (Conceptual Data Model) 数据库重构分类: 1.结构重构:对表或视图所作变更,如列的移动、拆分 2.数据质量重构:改进... 阅读全文
posted @ 2008-05-09 22:53 湘西小刁民 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 近日开始着手重新设计效应模块的数据库, 从图书馆借来一堆关于数据库的书籍, 发现一本《数据库重构》内容比较新颖。 上网一查此书还获过2007年第17届Jolt生产效率大奖, 虽然这次的任务重新设计数据库与数据库重构还是有挺大区别, 不过粗略翻了翻此书之后觉得启获良多, 我还是决定趁此机会研读此书。 阅读全文
posted @ 2008-05-08 22:52 湘西小刁民 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 表和字段的设计准则 1.数据的标准化上3NF通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。 简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。 2.考虑各种变化姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。所以,在建立系统存储客户信息时,在单独的一个数据表里... 阅读全文
posted @ 2008-05-06 22:51 湘西小刁民 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 用echo输出的中文显示成乱码, 其实应该是各种服务器脚本都会遇到这个问题, 根本还是编码问题, 一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8 这时候要正常显示中文需要转化一下编码方式,比如 echo iconv("GB2312","UTF-8",'中文');就不会乱码了 还有其他方法,比如 在php的echo前面加入header("Content-Type:text/htm... 阅读全文
posted @ 2008-04-21 22:37 湘西小刁民 阅读(80623) 评论(0) 推荐(3) 编辑