sql 学习

系统 1734 0
摘要: SQL Server使用英文字符串的匹配的时候默认是忽略大小写的,这样用起来是比较方便的,如果想不忽略大小写也可以修改配置,但是Oracle好像不能忽略大小写,在进行字符串匹配的时候就比较麻烦了。那么该怎么解决大小写敏感的问题,把需要的数据都查询出来呢?最常见的办法就是把查询的参数和字段中的内容都转化成大写或者都转化成小写,这样就可匹配了。 比如如下的查询: select * from hr.... 阅读全文
posted @ 2010-08-20 18:20 深蓝 阅读(538) | 评论 (0) 编辑
摘要: 一般的数据库是一个操作型的数据存储工具,比如一个学校的选课系统的数据库,学生选课系统由教务处建设和管理,主要用于课程的排课和学生的选课,教务处人员可以在选课系统中增加、修改、删除和查询排课信息,学生也可以在选课系统中对选课信息进行操作。由于该数据库面向的是选课,所以记录的是与课程安排与选课的信息,其数据库模型简化如下图所示: 与一般操作型的数据库不同的是数据仓库主要是面向查询操作,而且查询的数据来... 阅读全文
posted @ 2010-07-09 22:56 深蓝 阅读(246) | 评论 (0) 编辑
摘要: 问题 在做项目的时候经常会遇到这样的问题: 根据数据模型建立了数据库,但是数据库中却没有数据,在给客户做Demo的时候必须要一条一条的添加假数据,而且这些假数据还得像模像样的,不能乱输入,尽是看不出任何意义的“aaaaa”、“ttttttttttttt”、“123123”、“是打发斯蒂芬”这样的数据。... 阅读全文
posted @ 2010-06-30 18:09 深蓝 阅读(432) | 评论 (0) 编辑
摘要: SQL Server 2008 R2的主数据服务(Master Data Services,简称MDS)已经放出,目前是CTP版本,微软提供了下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=fe0c6a31-5ad6-4eea-a865-73bbe2608bd1在下载页面中提供了... 阅读全文
posted @ 2009-12-28 00:17 深蓝 阅读(970) | 评论 (1) 编辑
摘要: 在概念模型中主要有以下几个操作和设置的对象:实体(Entity)、实体属性(Attribute)、实体标识(Identifiers)、关系(Relationship)、继承(Inheritance)、关联(Association)、关联连接(Association Link)。 实体 实体就是我们抽象出的对象,比如:一个选课系统中,学生、教师、班级、课程等等都是实体。实体属性就是一个实体中所包... 阅读全文
posted @ 2009-12-10 10:10 深蓝 阅读(1167) | 评论 (1) 编辑
摘要: 绪论 Sybase PowerDesigner(简称PD)是最强大的数据库建模工具,市场占有率第一,功能也确实十分强大,现在最新版本是15.1,已经支持最新的SQL Server 2008等数据库,另外在PD15中还增加了好几种模型,界面也得到了进一步的美化,做出来的图更漂亮了。下面是一个在PD15中新建模型的窗口: PD本身除了进行数据库建模以外,还可以建业务模型、UML模型等,当然这些建模其... 阅读全文
posted @ 2009-12-09 19:44 深蓝 阅读(930) | 评论 (0) 编辑
摘要: SQL Server在安装到服务器上后,由于出于服务器安全的需要,所以需要屏蔽掉所有不使用的端口,只开放必须使用的端口。下面就来介绍下SQL Server 2008中使用的端口有哪些: 首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果我们要远程连接数据库引擎,那么就需要打开该端口。这个端口是可以修改的,在“SQL Server配置管理器”中切换到R... 阅读全文
posted @ 2009-11-30 23:24 深蓝 阅读(638) | 评论 (0) 编辑
摘要: 如果我们的SQL Server要保证高可用性,那么可以采用故障转移群集。最简单的故障转移群集是两台服务器,一台做活动的服务器,另一台做备用服务器,这就是AP模式的Cluster。另外一个模式就是AA模式,也就是两台服务器都是运行SQL Server实例。 SQL Server不像Oracle一样有RAC,所以不可能说两台服务器同时运行同一个实例,想要两台服务器都使用起来的话,那么只有各自运行一个... 阅读全文
posted @ 2009-10-29 19:23 深蓝 阅读(194) | 评论 (1) 编辑
摘要: 今天在把一些数据导入到SQL Server的时候遇到有个列被导入成float类型,而我实际需要的是varchar类型,所以要进行类型转换,转换时遇到了一点问题,所以写这篇博客记录一下。 SQL Server中的数值类型分为两种,一种是精确的数值类型,具体的数据类型有:bit、tinyint、smallint、int、bigint、smallmoney、money和decimal,这些数据类型能够... 阅读全文
posted @ 2009-08-27 20:53 深蓝 阅读(503) | 评论 (2) 编辑
摘要: 以前在虚拟机中安装了SQL Server 2008简体中文版用于做实验,当时由于一时偷懒,没有输入企业版的序列号,而是安装的企业试用版(Enterprise Evaluation),能够试用180天,半年的时间我想对一个虚拟机来说还是足够了。一直用这个虚拟机,做了很多实验也录制了不少视频教程,今天再打开虚拟机想做一个更改跟踪过期清除的实验,结果运行SQL Server Management Stu... 阅读全文
posted @ 2009-05-24 03:39 深蓝 阅读(1667) | 评论 (2) 编辑
摘要: 在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业。 阅读全文
posted @ 2009-04-13 00:51 深蓝 阅读(3751) | 评论 (4) 编辑
摘要: 在大型的数据库应用中,经常会遇到部分数据的脱机和多个数据库的合并问题。比如现在有一个全省范围使用的应用程序,每个市都部署了单独的相同的应用程序服务器和数据库服务器,每个月需要将全省所有市的数据全部汇总起来用于出全省的报表,这是一种很常见的数据库合并问题。对于这些应用,最简单的同步方法就是删除原有数据,然后重新填充新的数据,对于小数据量的表来说这并没有什么问题,但是如果每个市都有几百万几千万条数据,那么要将省数据库中的数据删除了再把每个市中的数据全部填充到省数据库中显然是不可行的。这种情况下应该使用跟踪数据更改的方法,将每个市这个月的数据更改应用到省数据库中(感觉有点像是差异备份一样,只记录更改的)。在SQL Server 2008中提供了两种跟踪数据更改的方案:变更数据捕获、更改跟踪。 阅读全文
posted @ 2009-01-07 11:28 深蓝 阅读(2219) | 评论 (8) 编辑
摘要: 策略管理是SQL Server 2008中的一个新特性,用于管理数据库实例、数据库以及数据库对象的各种属性。策略管理在SSMS的对象资源管理器数据库实例下的“管理”节点下。策略管理中包含三个节点:策略、条件、方面。方面就是策略要应用的对象,包括:服务器、表、触发器、视图、存储过程……这些方面对象都是系统定义好了的,仅供瞻仰不可更改。条件就是一个布尔表达式判断策略是否为真。策略就是在条件为假的情况下要执行的操作,即评估模式。策略中的评估模式有4种:按需、按计划、更改时记录和更改时禁止。 阅读全文
posted @ 2008-09-09 03:06 深蓝 阅读(2112) | 评论 (6) 编辑
摘要: SQL Server提供了链接服务器用于分布式查询异构数据库。通过链接服务器可以链接到Oracle、Sybase、DB2、SQL Server等大型关系数据库,也可以连接到Access、Excel等文件数据库,甚至可以连接到目录服务(AD)、索引服务等。要链接到一种数据库需要使用相应的接口。微软为很多数据库提供了驱动接口,所以可以直接使用,但是对于没有提供驱动的数据库比如Sybase,则需要在服务器上安装对应数据库厂商提供的驱动。使用SSMS或者使用T-SQL语句配置成功链接服务器后便可通过: [服务器名].[数据库名].[架构名].[对象名] 的形式来访问数据库。 阅读全文
posted @ 2008-07-21 17:00 深蓝 阅读(257) | 评论 (0) 编辑
摘要: 日志传送(log shipping)主要基于SQL Server代理,使用定时作业来完成,另外在配置日志传送之前必须要创建共享文件夹,用于辅助服务器访问。这里我们假设有数据库logTrans1需要进行日志传送,共享文件夹为“C:\data”,在T-SQL中配置日志传送主要有以下几步操作: 阅读全文
posted @ 2008-06-23 03:56 深蓝 阅读(289) | 评论 (0) 编辑
摘要: 前几天同事问我一个问题,一种CS架构的程序,直接把SQL Server作为服务端,每个客户端直接连接数据库操作,如果客户端打开的数量过多时SQL Server的连接数将会特别高,数据库端形成性能瓶颈,这种情况下怎么办?想了想,造成这种情况的原因是ADO.NET的内部机制造成的。ADO.NET中为了提高性能,所以使用了连接池,这样每个请求就不必都创建一个连接,然后认证,然后执行SQL,而是从连接池中直接取出连接执行SQL,执行完成后也并不是真正关闭连接,而是将该连接重新放回连接池中。如果有100个客户端,每个客户端在使用一段时间后连接池中保存了10个连接,那么在这种情况下,即使不在客户端做任何操作,SQL Server上都有1000个连接,这样不出性能问题才怪。
既然是连接池的问题,那么我就针对该问题想到了2个解决办法:
阅读全文
posted @ 2008-05-16 02:10 深蓝 阅读(2216) | 评论 (4) 编辑
摘要: 在以前的一篇文章中我讲到了Sybase ASE数据库的安装,接下来本篇就讲一下Sybase数据库与SQLServer2005数据库的同步,准确的说是使用SQLServer2005读取和写入Sybase数据库表。
为什么要这样做拉?因为在项目中有时需要做其他系统的数据接口,而接口中的数据是存放在Sybase数据库中,这个时候就可以使用SQLServer2005中的链接服务器来连接Sybase数据库,在前面我也写过一篇文章讲SQLServer2005与Oracle数据库的同步,大同小异,大家可以参考。闲话休说,言归正传,下面讲一下配置步骤:
阅读全文
posted @ 2008-04-22 01:52 深蓝 阅读(1171) | 评论 (10) 编辑
摘要: 在SQL2008中增加了对地理空间数据类型的支持,该类型分为2种:欧式(平面)几何geometry 和地理空间(椭圆体)几何geography 。欧式几何大家基本上都学过,是以坐标来表示,而地理空间就是使用经度和纬度来表示,由于平面几何比较简单(我记得好像是初中时候学的,高中学立体几何),所以我就从简单的学起,先学习geometry 数据类型。 阅读全文
posted @ 2008-03-17 02:34 深蓝 阅读(435) | 评论 (1) 编辑
摘要: FOR XML子句都是将行结果集转换为XML结果集,那么如果想要将XML文档转换成行结果集,这时就要使用OPENXML函数。OPENXML在SQL Server 2000中就已经提供,但是在SQL Server 2005对该函数进行了增强。 阅读全文
posted @ 2007-12-10 02:45 深蓝 阅读(317) | 评论 (3) 编辑
摘要: 有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据。不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步。 阅读全文
posted @ 2007-10-05 15:07 深蓝 阅读(289) | 评论 (0) 编辑
摘要: 以前的服务器,由于内存的价格过高,一般配的内存不是很多,超过4G的当然就不多了.现在的服务器,配置超过4G就很多,在配作SQL数据库服务器后,很多的人只选默认的设置,虽然可以正常使用,可是却把大量的内存给浪费(SQL服务使用的内存不会超过1.8G),系统的性能也不能因为的大内存而提升,这是很可惜的.
  在本文中,我大致讲一下配置的过程.(如果服务器的内存少于4G,不用配置)(网上完全讲这个的,没有见过,随手写一个) 阅读全文
posted @ 2007-09-29 16:11 深蓝 阅读(248) | 评论 (0) 编辑
摘要: 定义一个存储过程如下:
create   阅读全文
posted @ 2007-07-26 10:50 深蓝 阅读(642) | 评论 (2) 编辑
摘要: SMO是SQL Mangagement Objects的简称.与之相对应的是ADO.Net,不过不同的地方是ADO.Net是用于数据访问的,而SMO是用于设计的,虽然SMO能够再服务器上执行任意的SQL语句.另外一个不同的地方是ADO.Net可以访问计算机中任意数据源,而SMO对象是专门针对SQL Server而设计的.
在SMO中最重要的一个类就是Server.其他大多数对象都是Server对象的后代.比如Database,Table,View等等对象都是通过Server属性不断向下检索到的.
要在VS2005中使用必须引用SMO的程序集.我们建立好一个控制台应用程序,添加引用:Microsoft.SqlServer.ConnectionInfo和Microsoft.SqlServer.Smo. 阅读全文
posted @ 2006-10-27 02:33 深蓝 阅读(184) | 评论 (0) 编辑
摘要: 数据库快照,自定义函数与计算列
1.数据库快照
数据库快照就是保存某个数据库在快照那一瞬间的状态.快照和备份原理上有所不同,但是功能有一点相同那就是可以将数据还原为备份的那个时刻.快照的原理是新建一个数据库指针,在原数据库没有变化的情况下快照是不占用空间的,而数据库发生了变化,那么在变化前,被修改的数据页会先复制一份到快照文件中,然后再对原数据页进行修改.显然这样做的好处就是比备份数据库占用空间小.快照是只读的,你可以直接在SQL语句中把他当数据库用: 阅读全文
posted @ 2006-10-24 02:42 深蓝 阅读(101) | 评论 (0) 编辑
摘要: 在SQL Server2005中继续延续了微软在.Net中的设计思想 将XML和.Net紧密地结合到其中.用.Net在Sql2005中写存储过程定义函数我还没有研究过,今天就只简单得谈谈XML在SQL2005中的应用.
相对SQLServer2000而言,2005在数据类型上最大的一点改变就是增加了XML这个数据类型.要把这个东西搞懂先就必须要懂XML.
阅读全文
posted @ 2006-10-14 02:27 深蓝 阅读(96) | 评论 (0) 编辑
摘要: SQL Server 2005一个我非常欣赏的特性就是有了专门优化程序,据说在2K下面也有,不过我没有用过,估计也不会怎么样. 不说2K还是说说2005的这个好东东.

在Sql Server Management Studio中点击"工具"的"数据库引擎优化顾问"可以启动这个程序,当然也可以通过开始菜单中的SQL2005下面的"性能工具"下来打开程序.

打开该程序后输入正确的用户名密码就可以登录数据库.这里的优化是针对具体SQL语句的优化,所以要准备一个要优化的查询语句比如:

USE AdventureWorks ;
SELECT *
FROM Production.Product

把以上语句保存为一个文件,在Tuning Advistor中输入会话名称:TestIt,然后选择"工作负荷"中的"文件",并指定刚才保存的这个文件,当然下面就是要选针对的数据库了,我们用的是测试数据库AdventureWorks ,下面还有"要优化的数据库和表"好像官方说这下面和上面只要选了一个就可以了,不过似乎不行,我 阅读全文
posted @ 2006-10-13 03:04 深蓝 阅读(81) | 评论 (0) 编辑

sql 学习


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论