【Database】
Jesse621
学无止境。
展开
-
ADO连接SQL数据库的几种方式
VB使用ADO数据库可以分为有源数据库和无源数据库,即是否使用了DSN数据源。一、使用DSN连接。使用 ODBC DSN 连接数据库有两种方式,一种为SYSTEM DSN、一种为DSN文件,因此在使用DSN连接方式之前必段创建一个SYSTEM DSN或DSN FILE.1、ODB原创 2011-07-26 15:02:00 · 7922 阅读 · 5 评论 -
数据库的抽象设计
在设计数据库的时候也可以利用在编写代码的的抽象类概念,尤其是在有很多业务有重复的功能的情况下。以往我们在做教务的时候都是分开做的,像选课,考试,以及评教系统等等,都是各自维护自己的基础数据,而在一个学校内,学生和教职工是一样的,这些数据就可以共享,用一个系统来维护,而其他系统直接拿来用就可以,避免各个系统的数据不一致问题。数据库分布抽象示意图:业务分析:基础数据维护系统:负责所原创 2013-03-10 11:31:08 · 5355 阅读 · 5 评论 -
存储过程和触发器的取舍问题(优缺点分析)
由于要给同学分享一些关于数据库中存储过程和触发器的知识,我想了想,这是很细节的技术,一般只要用了都会很快掌握其使用方法。经过这么多年,我一般在设计数据库的时候也都会或多或少的使用存储过程和触发器,原因很简单:良好的性能,业务也好实现。可是在做上次的项目的时候,由于业务很复杂,存储过程和触发器的数量均都达到上百之多,这是一件很恐怖的事情,尤其是在出了错调试维护的时候,就会想没有这些东西多好。下面我从原创 2013-07-24 16:50:22 · 16019 阅读 · 49 评论 -
SQL清空以TB开头表中的数据
exec sp_msforeachtable 'alter table ? nocheck CONSTRAINT all' exec sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all' --从系统表中读取TB开头的表名之后逐条删除Declare @name varchar(100)Declare TbNameCur CURSOR原创 2013-06-04 20:53:07 · 4010 阅读 · 19 评论 -
SQL中的一些批量操作技巧
最近在忙基础数据的导入工作,测试的时候经常需要清空数据库,MS做的很友好,集成了很多批量处理的方法,大概说一下常用的:触发器的启用和禁用:--禁用:ALTER TABLE trig_example DISABLE TRIGGER trig1--恢复:ALTER TABLE trig_example ENABLE TRIGGER trig1--禁用某个表上的所有触发器A原创 2013-06-03 21:19:09 · 3620 阅读 · 16 评论 -
SQL Server xtype的介绍
sysobjects 表 在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。 列名 数据类型 描述 name sysname 对象名。 Id int 对象标识号。 xtype char(2) 对象类型。可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAUL原创 2013-06-03 21:04:45 · 3659 阅读 · 11 评论 -
Update语句执行原理
SQL中的Update语句,其实是执行了两步操作,Delete原来的一条记录,Insert新记录。因此在Update触发器中会出现两个临时表,即:Deleted和Inserted,分别存取删除的记录和更新的记录。 另外,在执行update语句的时候,即使更新的内容和原来记录一模一样,也是执行了上述操作,在有Update触发器的时候也会触发。为了数据的合理性,应该在设置触发器的时候做好原创 2012-12-13 10:35:22 · 6424 阅读 · 6 评论 -
SQL Server字符串比较时区别大小写方法
在SQL Server中默认对大小写是不敏感的,例如userName='jesse'和userName='JESSE'结果是一样的。在验证密码的时候可能就需要对字符串大小写敏感,需要做一些处理,介绍两种方法: 法Ⅰ:转换成二进制再比较,由于大小写的编码不同。例如:select * from T_User where cast(field as varb原创 2012-08-12 16:33:23 · 15075 阅读 · 11 评论 -
触发器实现级联修改数据库中的相关表
数据表关系图: 数据库中有三张表,新闻类别表(category),新闻表(news),评论表(comment),News表的categoryId和category表中的ID外键关联,comment表中的NewsId和News表中的Id外键关联。 在sql中执行:delete from category where Id =1如果news表和comme原创 2012-07-26 21:09:21 · 8017 阅读 · 6 评论 -
SQL事务-解析
事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是做为最小的控制单元来使用的。他包含的所有数据库操作命令作为一个整体一起向系统提交或撤消,这一组数据库操作命令要么都执行,要么都不执行。 事物的四个属性(ACID): ①原子性(Atomicity):事务中的所有元素作为一个整体提交或回滚,事务的元素是不可分的,事务是一个完整操作。 ②一致性原创 2012-08-11 21:33:38 · 3912 阅读 · 4 评论 -
用户DSN,系统DSN,文件DSN的区别
ODBC(Open Database Connectivity)DSN(Data Source Name)“ODBC数据源管理器”提供了三种DSN,分别为用户DSN、系统DSN和文件DSN。1. 用户DSN会把相应的配置信息保存在Windows的注册表中,但是只允许创建该DSN的原创 2011-07-26 14:43:05 · 8921 阅读 · 4 评论 -
触发器别忘了用游标
update触发器只会被update触发一次,无论更新的记录数是多少,同理Delete触发器也是一样,对于处理集合性的数据,sql往往是同时处理的,没有按照先后顺序,这样相应的触发器就不会一一触发。这里就需要用游标处理,我用我现在正在做的一个项目的触发器代码供参考:USE [BasicDataSystem]GO/****** Object: Trigger [dbo].[TR_Class原创 2012-12-12 10:00:11 · 6200 阅读 · 3 评论