随笔分类 -  数据库

摘要:1、B树索引这是最常见的索引,几乎所有的关系型数据库系统都支持B树结构的索引,也是被最多使用的,其树结构与二叉树比较类似,根据行id快速定位到行。大部分数据库默认建立的索引就是这种索引。B树索引在检索高基数数据列(高基数列是指该列有很多不同的值,该列所有不同值的个数之和与该列所有值的个数之和的比成为列基数)时提供了比较好的性能,B树索引是基于二叉树的,由分支块和叶块组成。在树结构中,位于最底层的块成为叶块,包含每个被索引列的值和行所对应的rowid。在叶节点的上面是分支块,用来导航结构,包含了索引列(关键字)范围和另一索引快的地址。2、聚集索引没错,这是sqlserver里很重要的一个索引,也 阅读全文
posted @ 2013-06-01 15:19 郗晓勇 阅读(307) 评论(0) 推荐(0)
摘要:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。其实道理很简单,比如我们要从字典中查找一个字,那么这个字典就是我们所要面对的数据库,索引就好比是字典前面的拼音或者部首索引表,当需要查询一个字的时候我们首先去检索拼音或者部首索引表,然后再去字典中查找具体的位置,这样我们就加快数据库的查询速度。索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了(下一篇文章将介绍常见的索引)。显而易见的字典本身的内容以及前面的拼音检索表就是聚簇索引,因为他们都是按照26个字母的顺序排列的。而后面的部首检索表就是一个非聚簇索引 阅读全文
posted @ 2013-05-31 20:24 郗晓勇 阅读(312) 评论(0) 推荐(0)
摘要:1、逻辑设计的规范化所谓逻辑设计的规范化就是使得数据库的逻辑更加合理。说白了就是我们平时所说的三范式。具体内容可以参考笔者之前的文章。现在总结如下:第一范式:原子不可再分第二范式:只能依赖主键第三范式:不能依赖其他其实三范式说到底就是方便查找、防止冗余,比如第一范式中原子性,就是把信息单元化,方便用户的查询,试想如果数据不容易查询还要数据库干什么?第二范式和第三范式是从不同的方面来描述其他非主键的字段,第二和第三范式保证了数据库的不冗余。这使得数据库在新增和更新的时候效率大大提高。数据库范式中一共有五个,这里就只介绍三个。因为在实际项目中会发现真正能遵守三范式的项目很少,有很多项目为了提高查找 阅读全文
posted @ 2013-05-31 10:45 郗晓勇 阅读(559) 评论(0) 推荐(0)
摘要:把数据库比喻成一个大的仓库,那么数据就是这个仓库中的货物,之前接触的DataSet、DataTable以及ResultSet都属于运输货物的卡车,通过一定的执行条件将需要的货物(数据)筛选出来之后放入卡车(ResultSet等)中运送到需要的地方(程序)。有了上面的一个比喻再来看Windows中Oracle10G的各个服务相信就比较容易理解了。1. OracleService+ ?数据库的主服务,此服务必须启动才能使用Oracle,后面的?是全局数据库名称。用于表示该仓库是否可用,如果此服务停止那么表示这个仓库不能使用。后面的数据库名称和仓库的名称是一个性质的,就是个名字而已。2. ? +TN 阅读全文
posted @ 2013-04-30 23:20 郗晓勇 阅读(251) 评论(0) 推荐(0)
摘要:开发过程中总避免不了遇到恶心的乱码,或者由乱码引发的一系列问题。出现乱码是字符集的原因一般而言和逻辑没有太大关系,也就是说整个系统大的方向没有问题,小的地方出现了漏洞,进而导致程序不能正常运行,所以说出现乱码是一件令人非常很恶心的事情。这里简要介绍一下自己遇到的乱码问题和解决问题的过程中的想法以及大致的操作,我们要学会的是如何分析问题进而解决问题,而不仅仅是照着网上的操作去一次次的解决眼前的困难,“鱼”与“渔”的区别就在于此。交代背景:要实现的功能很简单,用dom4J读取XML文件然后借助Spring以及Hibernate将数据写入到MySql数据库(多表)中,当然整个过程是由Spring控制 阅读全文
posted @ 2012-11-28 16:42 郗晓勇 阅读(180) 评论(0) 推荐(0)
摘要:安装Sybase数据库成功后会自动生成的下列系统数据库:●主数据库master;●模型数据库model;●系统过程数据库sybsystemprocs;●临时数据库tempdb。(1)master数据库包含许多系统表和系统过程,从总体上控制用户数据库和SQLServer的操作,构成了SYBASE系统的数据字典。MASTER数据库主要记录信息为:●登录帐号(SQL服务器用户名);syslogins,sysremolelogins●正在执行的过程;sysprocesses●可修改的环境变量;sysconfigures●系统错误信息;sysmessages●SQL服务器上每个数据库的信息;sysdat 阅读全文
posted @ 2012-02-11 00:09 郗晓勇 阅读(572) 评论(0) 推荐(0)
摘要:1、和安装其他的程序一样,有个准备的阶段。2、少不了显示一些信息,当然这里的意思还是让你等一会儿。3、安装的通用手法----Next,点吧你没有其他的选择。4、这里是安装软件的许可建议,只有点击同意才能安装,如果想看的话选择自己能看懂的语言可以看看,不要奢望这里选择中文后安装的sybase就是中文版的,就目前笔者看到的而言sybase没有中文版!!!(孩子,还好学习英文吧……)5、选择要装的路径。6、当这个路径没有的时候安装程序会自动提示创建。7、这里选择安装的模式,从上到下分别是典型、全部、定制安装。(其实选择经典就可以)8、在安装开始之前再次显示安装信息。9、终于看到进度条了,距离成功不远 阅读全文
posted @ 2012-02-10 23:57 郗晓勇 阅读(287) 评论(0) 推荐(0)
摘要:数据库设备所有的数据库都创建在数据库设备上。所谓数据库设备,不是指一个可识别的物理设备,而是指用于存储数据库和数据库对象的磁盘原始分区或操作系统文件。增加一个新的数据库设备时,必须对这些设备“初始化”。初始化的过程就是将物理磁盘、磁盘分区或操作系统文件变为SYBASE数据库可以识别的设备。初始化数据库设备使用DISKINIT命令:DISKINIT NAME=设备名, PHYSNAME=物理设备名, VDEVNO=虚拟设备号, SIZE=块数其中,NAME指数据库设备名,此名将用于CREATEDATABASE和ALTERDATABASE命令。PHYSNAME是原始磁盘分区或操作系统文件名。VDE 阅读全文
posted @ 2012-01-31 23:54 郗晓勇 阅读(712) 评论(0) 推荐(0)
摘要:Sybase数据库的组成(1)进行数据库管理和维护的一个联机的关系数据库管理系统SybaseSQLServer;SybaseSQLServer是个可编程的数据库管理系统,它是整个Sybase产品的核心软件,起着数据管理、高速缓冲管理、事务管理的作用。(2)支持数据库应用系统的建立与开发的一组前端工具SybaseSQLToolset;ISQL是与SQLServer进行交互的一种SQL句法分析器。ISQL接收用户发出的SQL语言,将其发送给SQLServer,并将结果以形式化的方式显示在用户的标准输出上。DWB是数据工作台,是SybaseSQLToolset的一个主要组成部分,它的作用在于使用户能 阅读全文
posted @ 2012-01-31 23:44 郗晓勇 阅读(263) 评论(0) 推荐(0)
摘要:历史背景1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。SYBASE主要有三种版本,一是UNIX操作系统下运行的版本,二是NovellNetware环境下运行的版本,三是Windows NT环境下运行的版本。对UNIX操作系统目前广泛应用的为SYBASE 12.6。SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQL Server近年来不断 阅读全文
posted @ 2012-01-31 23:37 郗晓勇 阅读(615) 评论(0) 推荐(0)
摘要:通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。连接查询是关系数据库中最主要的查询,连接查询根据连接方式可以分为三种:内连接,外连接,交叉连接等。下面进行简单介绍以上三种连接。(为了演示方便首先建两个表,过程略)表一表二l内连接内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。按照具体的连接方式,内连接可分为三种:1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。select * from Table_1 inner join Ta 阅读全文
posted @ 2011-08-12 01:00 郗晓勇 阅读(322) 评论(0) 推荐(0)
摘要:写过一篇存储过程入门的博客,那仅仅是入门,下面和大家一起深入学习存储过程(也许以后还会有更深入^_^)以经典的注册为例子,篇幅有限只写了核心部分,其他略过。无参数无返回值的存储过程以默认的信息进行注册其中存储过程代码如下 1: USE [Test] 2: GO 3: /****** Object: StoredProcedure [dbo].[MyProcedure1] Script Date: 04/04/2011 20:55:13 ******/ 4: SET ANSI_NULLS ON 5: GO 6: SET QUOTED_IDENTIFIE... 阅读全文
posted @ 2011-04-05 00:02 郗晓勇 阅读(1843) 评论(0) 推荐(0)
摘要:引言 关系型数据库是现在广泛应用的数据库类型,对关系型数据库的设计就是对数据进行组织化和结构化的过程。对于小规模的数据库我们处理起来还是比较轻松地,但是随着数据库规模的扩大我们将发现用户操控数据库的SQL语句将变得笨拙、复杂。更糟糕的是很有可能导致数据不完整,不准确。所以我们有必要将数据设计的更加符合规范。 怎样使我们的数据库更加规范呢,前人总结了三个范式(其实一共有五个,但是一般的数据库只需满足三个就已经很高效了。) 主要内容: 注意:斜体字部分为逻辑性语言,不容易理解,但很准确;粗体字部分为通俗语言,容易理解... 阅读全文
posted @ 2011-03-15 08:57 郗晓勇 阅读(6423) 评论(2) 推荐(3)
摘要:存储过程的官方定义是这么说的: 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。 其实说的再简单一点,她就是一个过程而已,对!就是和你所熟知的那个Sub……End Sub实质上是一个东西。 存储过程除了与一般的过程拥有同样的优点外(多次调用,可移植性好等),还在一定程度上减少了网络流量(只需要传送调用过程的语句);而且通... 阅读全文
posted @ 2011-02-26 15:27 郗晓勇 阅读(466) 评论(0) 推荐(0)