9core.com - 九核技术交流网

九百链
为了更好的解决实际工作中遇到的问题,本站开设了QQ群 ASP+PHP+JSP+.NET①:9793624
ASP+PHP+JSP+.NET②:17775294
网站通告: 新开设QQ群,群号:17775294 九核WEB技术专业论坛 官方QQ群 9793624
搜索: 您的位置主页> 程序开发 > 数据库技术 >
  • 2008-05-07SQL Server 2005改进后的几个实用新特性
  • SQL Server 2005相对于SQL Server 2000做了很大的改进,许些新特性是非常实用的。本文中将通过几个具体示例进行详细的说明。( 这些例子引用Northwind库) 1. TOP 表达式 SQL Server 2000的TOP是个固定值,是不是觉得差强人意,现在改进了。 --前n名的订单 declare @n int set @n = 10 select TOP(@n) * from Orders 2. 分页 不知大家过去用SQL Server 2000是如何分页的,大多都用到了临时表。SQL Server 2005就支持分页,性能也非常不错。 --按Freight从小到大排序,求20到30行的结果 select * from(select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders) a where row between 20 and 30 3. 排名 select * from(select OrderId, Freight, RANK() OVER(orde .... [阅读全文]
  • 来源:作者:
  • 2008-05-06如何查看并导出数据表中字段的注释信息
  • 查看并导出SQL Server 2000数据表中字段的注释信息:此示例为导出某个表注释的语句:(表名是bbs_bank_log) 以下为引用的内容:SELECT sysobjects.name AS 表名, syscolumns.name AS 列名, systypes.name AS 数据类型, syscolumns.length AS 数据长度, CONVERT(char, sysproperties.[value]) AS 注释FROM sysproperties RIGHT OUTER JOINsysobjects INNER JOINsyscolumns ON sysobjects.id = syscolumns.id INNER JOINsystypes ON syscolumns.xtype = systypes.xtype ON sysproperties.id = syscolumns.id AND sysproperties.smallid = syscolumns.colidWHERE (sysobjects.xtyp .... [阅读全文]
  • 来源:作者:
  • 2008-05-06开发环境下优化SQl语句的十个重要步骤
  • 优化SQl语句的十个重要步骤: 1.确保TIMED_STATISTICS在实例级设置为TRUE。 2.确保MAX_DUMP_FILE_SIZE设置为足够大的值。 3.确定指向USER_DUMP_DEST的位置,并确保有足够大的值。 4.为正在被讨论的会话开启SQL_TRACE。 5.运行应用程序。 6.确定跟踪文件的位置。 7.在步骤6所确定的跟踪文件上运行tkprof以产生跟踪输出文件。 8.研究跟踪输出文件。 9.优化最昂贵的SQL语句。 10.反复运行步骤4到步骤9,直到所需的性能目标达到为止。 .... [阅读全文]
  • 来源:作者:
  • 2008-05-05经验总结:讲解大型数据库的设计准则
  • 这篇文章主要介绍了大型数据库设计所应掌握的基本准则,具体内容请参考下文。 一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。一般来讲,在一个MIS系统分析、设计、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。笔者依据多年来设计和使用数据库的经验,提出以下一些设计准则,供同仁们参考。 命名的规范 ---- 不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库。 游标(Cursor)的慎用 ---- 游标提供了对特定集合中逐行扫描的手段,一般使用游标逐行遍历数据,根据取出的数据不同条件进行不同的操作。尤其对多表和大表定义的游标(大的数据集合)循环很 .... [阅读全文]
  • 来源:新云作者:
  • 2008-05-05循序渐进讲解数据表的十二个设计原则
  • 数据表的设计原则: 1)不应针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性。 (2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系统业务,根据职责定义对象。对象要符合封装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。并且一个对象有且只有一项职责,如果一个对象要负责两个或两个以上的职责,应进行分拆。 (3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:一个表中的所有非关键字属性都依赖于整个关键字。关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。在确定关键字时,应保证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。 (4)由于第一点所述的 .... [阅读全文]
  • 来源:作者:
  • 2008-05-05远程连接SQL Server 2000服务器的解决方案
  • 远程连接SQL Server 2000服务器的解决方案: 需求如下:需要远程连接外地的SQL Server 2000服务器。 测试条件:一个公网IP,两个静态IP。 具体步骤: 一、ping服务器IP能否ping通 观察远程SQL Server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。 二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通 如telnet 202.114.100.100 1433 通常端口值是1433,因为1433是SQL Server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。 如果这一步有问题,应该检查以下选项。 1.检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。 2.检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开 开始菜单->程序-> .... [阅读全文]
  • 来源:作者:
  • 2008-05-05教你快速掌握数据库设计范式的基本概念
  • 于数据库设计中所遵循的范式规则比较复杂,对于初学者来讲很难完全记住,本文针对数据库设计范式的基本概念进行了扼要的总结。 第一范式: 对于表中的每一行,必须且仅仅有唯一的行值.在一行中的每一列仅有唯一的值并且具有原子性. 第二范式: 第二范式要求非主键列是主键的子集,非主键列活动必须完全依赖整个主键。主键必须有唯一性的元素,一个主键可以由一个或更多的组成唯一值的列组成。一旦创建,主键无法改变,外键关联一个表的主键。主外键关联意味着一对多的关系. 第三范式: 第三范式要求非主键列互不依赖. 第四范式: 第四范式禁止主键列和非主键列一对多关系不受约束 第五范式: 第五范式将表分割成尽可能小的块,为了排除在表中所有的冗余。   .... [阅读全文]
  • 来源:作者:
  • 2008-05-04SQL Server日志清除的两种方法教程简介
  • 方法一一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据方法二 以下为引用的内容:SET NOCOUNT ONDECLARE @LogicalFileName sysname,      .... [阅读全文]
  • 来源:新云作者:
  • 2008-05-04SQL查询语句精华使用简要
  • 一、 简单查询简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,emailFROM testtableWHERE name='张三'(一) 选择列表选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。1、选择所有列例如,下面语句显示testtable表中所有列的数据:SELECT *FROM testtable2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。例如:SELECT nickname,emailFROM testtable3、更改列标题在选择列表中,可重新指定列标题。定义格式为:列标题=列名列名 列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:SELECT 昵称=nickna .... [阅读全文]
  • 来源:新云作者:
  • 2008-05-04在ACCESS 中调用后台存储过程
  • ACCESS是一个Client/Server的优秀前端开发工具,具有易学易用,界面友好,开发简单,和其他数据库接口灵活。但是,它要对大量数据处理时,速度比较慢。深圳供电局现有60万用户,下面有6个营业所,通过64K DDN 和局相连,如果有一个营业所要对1万用户进行处理的话,要花2~3小时,严重影响其他业务的开展。所以,当有大量数据需要处理时,不能在Client端处理,而必须在Server端处理。 但ACCESS和Server端之间多数通过ODBC来连接,这样就增加了调用后台存储过程的难度。笔者通过在实际工作中长期的摸索,根据不同的业务需要,可以用下面三种方法去调用后台存储过程。 一、 Access 向后台提交作业,这一个个作业对应一个个的存储过程。在SQL Server 6.5中,通过Task Manager 来建立相应的Task; 而在Oracle 8.0中,通过Managing Job Queue 来建立相应的Job。在Access中,在job_list表中插入一个作业,这些作业一般每天晚上运行一次。这些作业对应的业务一般是需要处理非常大量数据,而实时性又是较低的,在我们的业务中 .... [阅读全文]
  • 来源:新云作者:
  • 2008-05-04将Access数据库移植到SQL Server 7.0
  • 简介随着用户对于企业级高性能数据库的需求的增长,用户时常要从Microsoft Access Jet引擎的文件-服务器环境下转换到Microsoft SQL Server的客户-服务器环境。Microsoft Office 2000中的Access 2000 Upsizing Wizard可实现将数据表和查询转移到SQL Server 7.0中。如果您用的是Access的较早的版本,您可以先将它升级为Access 2000,然后再使用其中的Upsizing Wizard,从而将您的应用移植到SQL Server中。如果您并不太愿意采用Access 2000 和Upsizing Wizard来实现移植,本文可以作为将Access 2000移植到SQL Server的一个指南。转移一个Access上的应用首先需要将数据转移到SQL Server,然后将查询转移进数据库,或是转移为SQL文件以备稍后执行。最后要采取的步骤是移植应用程序。数据库移植中用到的SQL Server 工具SQL Server管理器(SQL Server Enterprise Manager)SQL Server管理器 .... [阅读全文]
  • 来源:新云作者:
  • 2008-04-30SQL Server 2000数据库崩溃后的补救措施
  • SQL Server 2000数据库崩溃后的补救措施: 案例描述: SQL Server 2000数据库崩溃后,重装数据库前的准备: 1.三个系统库(master,msdb,model)的完全备份: 2.两个用户数据库(user01,user02)的备份(周日的完全备份+除周日外每天的差异备份): 三个系统数据库是早期备份的,之间没有更新过帐号信息,没有增减过饕档鹊取? 两个用户数据库在上周日晚做过完全备份(user01.bak和user02.bak) 需求:一次性恢复到用户数据库最后一个备份前的状态。 下文中,我们将介绍一下常规的恢复过程: 1. 备份可用的数据, 包含所有系统数据库和用户数据库的数据文件和日志文件(*.mdf/ldf/ndf) 2. 卸载原来的安装 3. 系统表查找和删除所有的MSSQLServer项 4. 磁盘上删除安装SQL SErver产生的所有文件 5. 重新安装SQL Server,所需安装的补丁的版本要求保持与备份系统数据库时安装的补丁版本一致 6. 单用户模式下恢复master数据库 7. 恢复其他系统数据库 8. 恢复用户数据库 此外,我们还可以尝试 .... [阅读全文]
  • 来源:作者:
  • 2008-04-25高手是怎样炼成的:精妙SQL语句介绍
  • 如何从一位菜鸟蜕变成为高手,灵活使用的SQL语句是必不可少的。本文收集了部分比较经典,常用的SQL语句供大家参考,希望对大家有所帮助。 说明:复制表(只复制结构,源表名:a 新表名:b)   SQL: select * into b from a where 1<>1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b)   SQL: insert into b(a, b, c) select d,e,f from b; 说明:显示文章、提交人和最后回复时间   SQL: select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b 说明:外连接查询(表名1:a 表名2:b)   SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 说明:日程安排提前五分钟提醒   SQL: select * from 日 .... [阅读全文]
  • 来源:新云作者:
  • 2008-04-24SQL“多字段模糊匹配关键字查询”
  • 我们开发数据库应用时,常常需要用到模糊查询。如果同一个条件需要匹配很多字段怎么办呢?通常,程序员会每个字段都在SQL中“field like'%cond%'”一次。这样,SQL语句会长得惊人,碰上复杂一点的,甚至SQL语句会因为超长而被数据库拒绝执行。其实,这个问题只要动动脑筋就很容易解决:首先,将要匹配相同条件的字段连起来(field1+field2+...)成一个长字符串;然后再 Like “%cond%”就可以了。不过这种方法有个问题,就是得权衡多表连接造成的效率降低。一般来说,单表内字段肯定应该连接后再统一like判断;表间字段,则需要先过滤后,再实行这个策略。采取这个策略,不仅可以缩短SQL,而且能够有效地提高SQL的执行效率。例: 以下为引用的内容: QUOTE: create table orders (id int not null auto_increment,name varchar(100) not null,email var .... [阅读全文]
  • 来源:sql作者:
  • 2008-04-24Access数据库操作中出现的怪现象
  • 我用的数据库是Access2000的,系统为Win2000 Advance Server.今天在程序调试中遇到了以下几个怪现象:1.如果Access程序把调试的程序处于打开状态时(不一定是改表或表结构的界面),程序中把response.buffer设为true,则程序在用Update更新时老是说找不到数据。当Access关闭时又正常了。2.如果一个文件什么都没输出,而把response.buffer设为true,而此时Access也没有把此数据库处于打开状态,但程序在用Update时仍说没有找到数据。后来把 response.buffer=true一行去掉又正常了。3.而且在后来的调试中,又遇到许多的怪事,简直无法解释! 比如从主页上链接有错误,但从其它网页链接确没错误。我重启系统后仍如此。4.后来我把程序传到网上服务器后,原来一切正常!!!!!!!!!! 所以我得出总结,有可能是我的系统有问题!! 所以有时候还是要相信自己的程序是没错的,不能相信系统的错误提示。 .... [阅读全文]
  • 来源:新云作者:
  • 2008-04-18ASP完美转化ACCESS为SQL数据库连接
  • 其实两者基本通用 步骤很简单3步:1,转化MDB数据库到SQL SQL工具里就有2, 更改数据库链接字串 以下为代码: 以下为引用的内容:Set Conn=Server.CreateObject("ADODB.Connection")SQL="Driver={SQL Server};Server=XD-Y1W9B7;UID=sa;PWD=sa;DataBase=ljl"Conn.Open(SQL) 最后是SQL与ACCESS差异的地方· 这个大家需要注意 下面为其详细讲解:把ACCESS转成SQL数据库 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项 一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的; 二,转换的方法 1,打开”控制面板&l .... [阅读全文]
  • 来源:建站学作者:
  • 2008-04-17Access作为网站数据库的弊端
  • 现在网上绝大多数网站都是ACCESS+ASP的形式,因为ACCESS结构简单容易处理,而且也能满足多数的网站程序要求。ACCESS是小型数据库,既然是小型就有他根本的局限性,以下几种情况下数据库基本上会吃不消: 1.数据库过大,一般ACCESS数据库达到50M左右的时候性能会急剧下降! 2.网站访问频繁,经常达到100人左右的在线。3.记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降!(注:以上3条只是我们多年以来的经验结果,并不只绝对值,具体视情况不同浮动较大)   ACCESS论坛(如动网)大了以后就很容易出现数据库方面的问题,当你的论坛数据库在30M以上,帖子5万左右,在线也在100人左右的时候,你的论坛基本上都在处理数据库上花时间,这个时候很可能就会出现数据库吃不消的情况。一般症状是所有涉及数据库的页面,突然运行都慢的出奇(执行时间达到5秒以上甚至几十秒),涉及HTML和纯ASP运算的页面都正常,等过一段时间(约10分钟或更长)以后又突然恢复。这个时候你可以用一般ASP探针测试一下,如果服务器的运算时间正常,而你的帖字量又比较大,就是数据库方面的问题了。  解决方法 .... [阅读全文]
  • 来源:网络收集作者:
  • 2008-04-17网络数据库站点防黑措施
  • 问:在网络数据库站点检索信息时往往需要验证用户的合法性,请分析这样的站点有哪几种技术保护措施? 答: 身为一个网管,都知道数据库就是网站的核心机密,黑客的目的往往也是数据库,所以保护数据库是刻不容缓的。 前人总结的方法如下: 1.发挥你的想象力 修改数据库文件名 不用说,这是最最偷懒的方法,但是若攻击者通过第三方途径获得了数据库的路径),就玩完了。比如说攻击者本来只能拿到list权 ,结果意外看到了数据库路径,就可以冠冕堂皇地把数据库下载回去研究了。另外,数据文件通常大小都比较大,起再隐蔽的文件名都瞒 不了人。故保密性为最低。 2.数据库名后缀改为ASA、ASP等 此法须配合一些要进行一些设置,否则就会出现本文开头的那种情况 (1)二进制字段添加(此招我还没有炼成-_-+)。 (2)在这个文件中加入,IIS就会按ASP语法来解析,然后就会报告500错误,自然不能下载了。可是 如果只是简单的在数据库的文本或者备注字段加入<%是没用的,因为ACCESS会对其中的内容进行处理,在数据库里他会以 < %的形式存在,无效!正确的方法是将<%存入OLE对象字段里,这样我们的目的就 .... [阅读全文]
  • 来源:豆豆网作者:
  • 2008-04-17建立网站如何选择适合自己的数据库
  • 不少企业和个人站长在网站制作时,会对数据库的概念产生迷惑或误解。究竟使用什么样的数据库才好了?合适的才是最好的。下面是一些关于数据库的详细资料。建议打算建立网站的企业和个人站长,新手网站管理员阅读一下。听听92HeZu网专家对于数据库的解释,让大家更好的了解数据库,从而确定合适的建站方案。大家知道,常用的数据库一般是分为三种: (一)、Access (二)SQL Server(三)MySQL,那么,用户想做一个网站,到底哪一种数据库是适合自己的呢?以下给大家介绍一下常用的数据库有什么区别或是功能方面。Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行 .... [阅读全文]
  • 来源:豆豆网作者:
  • 2008-04-16SQL2005数据库转到SQL2000的步骤
  • 1. 生成for2000版本的数据库脚本 2005的manger studio -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 -- 右键要转到2000的库 -- 任务 -- 生成脚本 -- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库 -- 勾选"为所选数据库中的所有对象编写脚本" -- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000" -- 其他选项根据需要设置 -- 最后把脚本保存到一个 .sql 脚本文件 2. 在2000中创建目标数据库 在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库 3. 将数据从2005导到2000 2005 的manger studio -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 .... [阅读全文]
  • 来源:赛迪网作者:
共有364条记录,19页,当前第 91 2 3 4 5 6 7 8 9 10 >>
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助