
数据库基础
文章平均质量分 52
lmdcszh
学其神而用其形
展开
-
数据库锁(二)——应用
上一篇博客大概介绍了数据库锁的机制、类型,是理论基础,这篇博客重点从代码的角度总结。 先来看一些实例: 1、独占锁(排它锁X) 第一个连接:在一个线程中启用了一个事物。use DRP ----事先建好的数据库begin tran update t_One set A='aa'原创 2012-11-22 23:22:53 · 564 阅读 · 3 评论 -
谨慎使用触发器
在做教务基础数据的时候遇到了这样一个问题,在基础数据库中是否使用触发器? 因为有其他的系统依赖于基础数据库,为了使数据结构解耦和良好的扩展性,没有采用一贯的在一个表中添加相关的外键字段,而是将关联提取到第三章表中,专门管理这些关联,如果将来有新的关联,那么就新建一张关联表,这样就避免了修改原有的表结构。这样耦合性虽然低了,但是表操作起来就比较麻烦一些,而且很难避免使用一些视图进行查询,这原创 2012-12-10 09:18:04 · 715 阅读 · 4 评论 -
事务隔离级别
当不同的事务,对同一资源进行一些相关的操作的时候,彼此对公共数据的更改,会影响到其他事务对数据的操作,这样就导致了数据的不一致性。前两篇博客,介绍了一些事务的锁,这里侧重总结一下事务的隔离级别。 一、准备工作: 1、创建银行账号表:CREATE TABLE dbo.BankAccount( BankAccountId CHAR(16) NOT NU原创 2012-11-30 23:31:08 · 876 阅读 · 2 评论 -
sql池理论基础
什么是sql池? 简单的说,sql池就是一个存放sql语句的缓冲库。什么时候使用sql池? 程序在处理业务的时候执行速度往往是很快的,导致系统系能降低的一个很重要的原因就是数据库的瓶颈。(至于对性能的影响有多大,还有待于使用demo做测试,但影响性能是肯定的,而且会随着与数据库交互的频繁度增加,影响越大)。在数据库中对数据的处理速度也是很快的,很大一部分资源消耗在了对数据库原创 2012-12-14 09:45:05 · 842 阅读 · 4 评论 -
inner join cross join 创建视图
创建视图的时候选择表的顺序不一样,会有不同的视图结果呈现。反应到创建视图的语句上就是inner join cross join这些字段的差别上。下面就举一个例子。先将TB_Course表拖出,再拖出TER_CourseQuestionTypeLink表,最后拖出TE_QuestionType表。这里值得注意的是,在TB_Course表中,没有QuestionType的外键字段,而是将两者的原创 2013-01-03 20:04:50 · 1221 阅读 · 1 评论 -
Oracle表的管理之创建和维护
这里主要记录一下Oracle中关于表的创建和维护的操作。一、表名规范: 1.字母开头 2.长度不超30字符 3、不能使用保留字二、数据类型:在学习Oracle之前,有必要了解一下Oracle和sql中不同的数据类型。Oracle中没有sql那么多的类型。 1、char 定长 最大2000字符,查询比较快,适用于经常要查询的语句 2、varchar2 变长 最大400原创 2013-03-01 09:56:30 · 561 阅读 · 1 评论 -
Oracle边用边学
最近的项目开发使用Oracle数据库,边学边用,下面是记录的关于Oracle的一些基础的命令语句,Oracle的增删改查语句和sql基本上差不多,但是有它自己的特性,这里主要就记录一下不同的地方,同时也可以作为自己的一个知识备忘录,供以后工作中随时翻阅。一、连接和用户、密码类型命令:1、在sql plus中显示当前登录用户:show user2、退出:exit3、进入sqlpl原创 2013-03-01 09:01:13 · 583 阅读 · 1 评论 -
通过句柄、指针、内存看变化
句柄:标识程序中不同对象和同类对象的不同实例的个数。如:一个窗口、图标、输入、输出设备、控件、文件等。为什么句柄:方便内存变更管理,源于虚拟存地址。数据的地址需要变动,使用句柄来记录管理这个变动。句柄管理:有些数据、对象独到内存后,如果长时间不用或者其他的原因,会有专门的内存管理方法,致使这个内存的真是地址发生转变,被挤到硬盘中,这块儿硬盘叫做虚拟内存。系统为进程分配了原创 2013-07-02 20:23:56 · 2037 阅读 · 8 评论 -
Oracle优化之sql基本功
花了几个小时学习了花了几个小时学习了转载 2014-08-31 11:49:22 · 2592 阅读 · 9 评论 -
Oracle之sql语句优化
Oracle sql语句优化原理总结原创 2014-08-30 20:11:54 · 2622 阅读 · 7 评论 -
数据库锁(一)——基础概要
这两天在重构考试系统的时候,对数据库的锁,做了一下简单的学习,这里集锦一下数据库锁的零星知识。 锁的意义在于数据的安全、完整性和一致性,不做赘述。为什么需要锁? 多个用户对数据库并发操作时,会带来数据不一致的问题,大致分为以下三种情况:A:丢失更新 A、B两个用户对同一数据进行修改,其中B用户破坏了A用户的修改结果,这样在A用户的事物中,就会导原创 2012-11-22 19:24:30 · 610 阅读 · 2 评论 -
数据库表的设计基础
数据库设计的三少原则:1、 数据表的数目要少2、 数据表的字段要少3、 组合主键的字段要少正确认识数据冗余:数据冗余可以简单的分为低级冗余和高级冗余。低级冗余就是字段的重复出现;对于一个已经存在单价和数量的表总额就是高级冗余。低级冗余肯定要尽可能的避免,高级冗余牺牲空间提高速度。数据表的分类: 感觉这个对我的帮助挺大的,因为明白了分类之后才会有一个原创 2011-12-16 10:43:22 · 987 阅读 · 0 评论 -
存储过程——as 位置的作用
对比下面两段存储过程:1、ALTER procedure [dbo].[proc_GetUserID] @user_ID varchar(20) AS select User_ID from Teacher_User whereUser_ID=@user_ID 2、ALTER procedure [dbo].[proc_GetUserID] ASdecla原创 2012-01-03 09:16:19 · 3871 阅读 · 1 评论 -
带输出参数的存储过程
先看下面的一小段存储过程:ALTER procedure [dbo].[StuInfo_GetStuInfo_CardID]@CardID varchar(20) , @Available varchar(20),@intCountCardID intoutput as beginselect @intCountCardID= count(CardID) from Studen原创 2011-12-22 14:06:40 · 1273 阅读 · 0 评论 -
存储过程(一)-----格式框架
存储过程是数据库服务端的代码,是一个大型系统中不可缺少的代码的一部分,在公司中有各自的书写规范,千变中的不变是核心的格式写法,这里结合实际的例子,总结一下存储过程的写法。/*收费系统 获取用户ID*/ /* 如果存在 proc_GetUserID 的同名存储过程,那么删除后创建新的存储过程*/if exists (select name from sysobjects wher原创 2012-01-01 20:29:50 · 884 阅读 · 1 评论 -
又见sql注入
提到sql注入,绝大多数程序员多不陌生,但是,很少有人会想到,微软在asp.net的默认配置中,已经对敏感字符做了初步过滤。 前天学校使用考试系统进行vb考试,其中某些学生抽到的填空题的答案中包含有:a当时出现这个问题后,让学生进行了二次登陆,然后再提交,这样交卷的问题就临时解决了。考试完毕后查看了一下出现问题的考生,发现在二次登陆的时候,系统自动将a<b的答案清除了。也就是原创 2012-06-09 14:43:22 · 1905 阅读 · 28 评论 -
sql与Excel间的“表”对话
sql和Excel都有强大的数据处理功能,接触电脑不久,我们便会使用Excel来处理数据。对于咱们程序员来说,sq也是一个天天面对的另一种“表”。我们在学习sql的时候多数都是突兀的来学习它的增、删、改、查,很少考虑到它与另外的一个邻家,我们很熟悉的Excel有什么关联?其实sql和exce应该属于一大家的兄弟了。都是微软的产品,虽然sql是微软与其他公司一块儿开发的,但是终究脱离不了数据处理原创 2012-06-14 21:51:34 · 1395 阅读 · 18 评论 -
ROW_NUMBER()添加索引实现真分页
分页是一个很常见的需求,大的说,有两种思路,一种是假分页,另一种则是真分页。假分页是从数据库中查出全部的数据,但是只在控件中显示出一部分,这样做的效率肯定是比较低的。个人觉得学会真分页,也就只是在数据库中,查询需要的那部分数据,是数据库操作的一个基本操作。这里借分页技术,学习SQL中几个比较重要的内置函数和CTE(Common Table Expression)通用数据表表达式。先把代码贴原创 2012-09-21 16:25:45 · 1630 阅读 · 2 评论 -
数据库存取缓冲区的LRU与MRU算法
原文链接:http://news.dayoo.com/tech/201005/21/10000617_102079584.htm转载 2014-10-01 11:01:15 · 11980 阅读 · 5 评论