首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 数据库 第二书店 程序员

Tag/ 


共2470个网摘 [ 1  2  3  4  5  6  7 ... 83 ]  上一页 | 下一页  |  

Microsoft SQL Server 2008 Express with Advanced Services

villa123收录,使用标签:数据库,时间:2008-8-26 11:02:14 | 相关网摘我也收藏

具有高级服务的 Microsoft SQL Server 2008 Express (SQL Server 2008 Express) 是一种免费、易用的 SQL Server Express 版本,它包括图形管理工具,并提供了用于报表和基于文本的高级搜索的强大功能.SQL Server 2008 Express 提供强大而可靠的数据管理工具,它功能丰富,能够保护数据并提高性能.它是小型服务器应用程序和本地数据存储区的理想选择.
具有高级服务的 SQL Server 2008 Express 具备 SQL Server 2008 Express 中的全部功能,此外,您还可以:

* 借助 SQL Server 2008 Management Studio Basic 这一易于使用的图形管理工具,轻松管理 SQL Server 2008 Express.
* 对 SQL Server 表中纯字符数据发出全文查询.全文查询可以包括词和短语,或者词或短语的多种形式.
* 对本地关系数据运行 SQL Server Reporting Services 报表.

具有高级服务的 SQL Server 2008 Express 作为应用程序的嵌入部分,可以免费下载、免费部署和免费再分发,使用它可轻松快速地开发和管理具有强大内置报表和全文搜索功能的数据驱动应用程序.

下载:具有高级服务的 Microsoft® SQL Server® 2008 Express
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=b5d1b8c3-fda5-4508-b0d0-1311d670e336


MySQL 5.1简体中文官方手册 CSDN 下载频道

ly12812收录,使用标签:数据库,时间:2008-8-25 13:51:02 | 相关网摘我也收藏

MySQL 5.1简体中文官方手册 CSDN 下载频道


存取Oracle当中扫描数据的方法

lzhmei收录,使用标签:数据库,时间:2008-8-25 11:33:28 | 相关网摘我也收藏

Oracle 是一个面向Internet计算环境的数据库。它是在数据库领域一直处于领先地位的甲骨文公司的产品。可以说Oracle关系数据库系统是目前世界上流行的关系数据库管理系统,本文将对oracle当中扫描数据的存取方法进行介绍。

  1) 全表扫描(Full Table Scans, FTS)

  为实现全表扫描,Oracle读取表中所有的行,并检查每一行是否满足语句的WHERE限制条件一个多块读操作可以使一次I/O能读取多块数据块(db_block_multiblock_read_count参数设定),而不是只读取一个数据块,这极大的减少了I/O总次数,提高了系统的吞吐量,所以利用多块读的方法可以十分高效地实现全表扫描,而且只有在全表扫描的情况下才能使用多块读操作。在这种访问模式下,每个数据块只被读一次。

  使用FTS的前提条件:在较大的表上不建议使用全表扫描,除非取出数据的比较多,超过总量的5% -- 10%,或你想使用并行查询功能时。

  使用全表扫描的例子: 

 SQL> explain plan for select * from dual;
  Query Plan
  SELECT STATEMENT[CHOOSE] Cost=
  TABLE ACCESS FULL DUAL


  2) 通过ROWID的表存取(Table Access by ROWID或rowid lookup)

  行的ROWID指出了该行所在的数据文件、数据块以及行在该块中的位置,所以通过ROWID来存取数据可以快速定位到目标数据上,是Oracle存取单行数据的最快方法。

  这种存取方法不会用到多块读操作,一次I/O只能读取一个数据块。我们会经常在执行计划中看到该存取方法,如通过索引查询数据。

  使用ROWID存取的方法: 

SQL> explain plan for select * from dept where rowid = 'AAAAyGAADAAAAATAAF';
  Query Plan
  SELECT STATEMENT [CHOOSE] Cost=1
  TABLE ACCESS BY ROWID DEPT [ANALYZED]


  3)索引扫描(Index Scan或index lookup)

  我们先通过index查找到数据对应的rowid值(对于非唯一索引可能返回多个rowid值),然后根据rowid直接从表中得到具体的数据,这种查找方式称为索引扫描或索引查找(index lookup)。一个rowid唯一的表示一行数据,该行对应的数据块是通过一次i/o得到的,在此情况下该次i/o只会读取一个数据库块。

  在索引中,除了存储每个索引的值外,索引还存储具有此值的行对应的ROWID值。索引扫描可以由2步组成:(1) 扫描索引得到对应的rowid值。 (2) 通过找到的rowid从表中读出具体的数据。每步都是单独的一次I/O,但是对于索引,由于经常使用,绝大多数都已经CACHE到内存中,所以第1步的I/O经常是逻辑I/O,即数据可以从内存中得到。但是对于第2步来说,如果表比较大,则其数据不可能全在内存中,所以其I/O很有可能是物理I/O,这是一个机械操作,相对逻辑I/O来说,是极其费时间的。所以如果多大表进行索引扫描,取出的数据如果大于总量的5% -- 10%,使用索引扫描会效率下降很多。如下列所示: 

SQL> explain plan for select empno, ename from emp where empno=10;
  Query Plan
  SELECT STATEMENT [CHOOSE] Cost=1
  TABLE ACCESS BY ROWID EMP [ANALYZED]
  INDEX UNIQUE SCAN EMP_I1


  但是如果查询的数据能全在索引中找到,就可以避免进行第2步操作,避免了不必要的I/O,此时即使通过索引扫描取出的数据比较多,效率还是很高的  

SQL> explain plan for select empno from emp where empno=10;-- 只查询empno列值
  Query Plan
  SELECT STATEMENT [CHOOSE] Cost=1
  INDEX UNIQUE SCAN EMP_I1


IBM DB2 9的九大新特性

lzhmei收录,使用标签:数据库,时间:2008-8-22 16:28:02 | 相关网摘我也收藏

IBM DB2 9是IBM在数据库领域五年开发项目的最重要成果,它将传统的静态数据库技术转变为交互式的动态数据服务器,使用户能够更好地管理所有类型的信息,例如文档、视频和音频文件、图片、网页等。这款新型数据服务器率先实现了可扩展标记语言(XML)和关系数据间无缝交互,而无需考虑数据的格式、平台或位置。

来自8个国家的750多名软件开发人员为“Viper”的问世做出了努力,他们进行了精心设计和调试,力求将其打造成SOA环境下的首选信息引擎.

IBM DB2 9取得了十项重大进步,包括已获得专利的“pureXML”技术、突破性的“Venom”存储压缩以及增强的自动化数据管理能力等。

1、新的XML特性:

在无需重新定义XML数据的格式,或将其置于数据库大型对象中的前提下,IBM DB2 9允许用户无缝管理普通关系数据和纯XML数据。此项能力是Viper所独有的,它将有助于客户增加其信息的实用性、速度和多功能性,同时大大降低与现有数据管理技术相关的管理成本。它还将显著降低复杂性,并减少普通开发商创建“同时访问关系数据和XML数据的应用”所花费的时间。

新的XML数据类型,允许客户在分层的表格栏中存储规范的XML文档。

支持SQL语句及SQL/XML函数中的XML数据类型。

支持由万维网联盟(W3C)开发的新XQuery语言。IBM DB2 9允许客户直接调用XQuery语言,调用功能可以从DB2表格与视图中提取XML数据。

支持XML数据的检索功能,提高了针对XML文档的查询效率。

 为支持DB2的编程程序语言中的XML提供支持,允许应用整合对XML及关系型数据的访问和存储。

2、新的应用与开发特性:

对应用开发工具和原生XML数据存储新特性的支持,允许应用访问和存储XML及相关数据。

DB2 Developer Workbench是一种综合开发环境,可用于创建、编辑、调试、测试和部署DB2存储流程和用户自定义的功能。客户还可以使用Developer Workbench开发SQL应用,创建、编辑和运行SQL语句与XML查询。

面向JDBC和SQLJ的增强型DB2驱动程序符合JDBC 3.0规范,它还同时支持SQLJ语句。SQLJ语句的功能特性与大多数JDBC方法相似。

此外,还包括其它重要特性:支持众多新数据类型、DB2独有的支持到面向z/OS® 数据服务器IBM DB2 9版可靠连接的方式、异构组合、连接重用等。

除支持Visual Studio 2005以外,还包括对Web服务的支持,对本地XML数据存储的全面支持,以及无需编写代码就可以构建应用及Web站点的能力。

增强型DB2 Runtime Client支持64位计算,还可在同一台计算机上与其它DB2产品共存。

3、新增自动数据库管理功能:

适应性、自调式内存分配,通过不断更新配置参数、调整缓冲池大小和动态分配可用的内存资源,帮助用户简化或排除DB2服务器的配置工作。

面向z/OS对象的DB2 UDB自动状态检测功能,允许客户通过控制中心的创建和变更对象策略向导,使面向z/OS对象的DB2 UDB实现对象维护策略评估自动化。

自动存储支持,可以自动扩充磁盘和文件系统中数据库的大小,现在可用于多分区数据库。

自动统计数据收集,创建新数据库时会自动启动。

根据DB2数据库系统的环境特点,自动配置prefetchers进程与页清洁器。

面向自动表格与索引重组的新策略选项,为数据库管理员提供更多管理表格与索引重组的功能。


浅析SQL Server 2008企业级新特性

xuejinyoulan收录,使用标签:数据库,时间:2008-8-21 11:52:04 | 相关网摘我也收藏

来源:中国网管联盟

SQL Server 2008已经发布,我们可以看到它在各方面都有了显著的进步,这些让人侧目之处和失望之处都有可能极大地影响大型企业的采购意向。

微软SQL Server 2008的开发代号是Katmai,这个名字来源于阿拉斯加半岛东端阿拉斯加州北部阿留申山区的一座活火山,对数据库而言,可能并不是个最好的比喻(嘿嘿,目前为止,Katmai火山还没有在我头上爆发过)。低调的Katmai看起来似乎是Yukon的一个好的接班人,而Yukon是SQL Server 2005的开发代号。

在基于对SQL Server 2005彻底的、面向企业的改进之后,Katmai为大规模部署带来了非常引人注目的特性,比如数据库引擎中的数据及备份压缩、稀疏列、压缩与过滤索引,这些功能都是为了节省存储空间,环保、绿色;另外,别忘了还有Change Data Capture,其在表中捕捉生成数据的差别,以便更新数据仓库。

这些都只不过是冰山一角(喔,不是冰山是火山),还有许多其他的新特性,如基于策略的管理——这是针对中小企业和大型企业的,不仅这些,SQL Server 2008的各个方面都让人留下了深刻的印象。

更多的数据,更少的存储空间

一般来说,数据库中有两种类型的压缩:行压缩与页压缩。实际上,它们以不同的方法压缩数据,因此,很有必要理解两者的优势所在及它们的工作方式。行压缩是真正的压缩,为什么数据库引擎会删除列尾未使用的空间呢?当然这是为了节省空间。这正是SQL Server在vardecimal压缩中使用的同一技术,微软只不过把它扩展到其他数据类型上了。

而页压缩使用的是众所皆知的字典压缩,它把每页中的数据标准化之后并保留一个查找指针。这也是Oracle Database 11g所使用的技术,只不过Oracle称之为Oracle高级压缩。在此,我们无须对两种压缩方式了解过多,但必须知道SQL Server的页压缩包括了更低级的行压缩,换句话来说,如果你打开了页压缩,就自动打开了行压缩。

在SQL Server 2008中,微软已经包含了几个存储过程,以方便你在开始压缩之前,就可以估计使用哪种压缩方法之后,两者的节省水平,以及解压数据库之后,数据将会扩展到多大。这是一个非常重要且体贴的功能,因为你不仅需要了解是否值得花时间压缩,而且还要知道磁盘是否处理得了还原后未压缩的数据。但要紧记的是,这些存储过程是基于小范围的统计上的随机数据采样,如果碰巧遇到一个数据上的采样失误,那么就会得到错误的估计结果。

另外,微软实现压缩的方法,节约的不仅仅是存储资源,数据还可以在内存中保持压缩状态,只在读取时才解压,这意味着你可以把更多的数据页装入内存中,由此减少磁盘读取次数,而CPU用于解压的时间,也远远少于磁盘寻道的时间。

稀疏列允许你存储空值而无须占用物理空间,如果在一张“巨大”的表中,列有许多空值,可能会浪费大量的磁盘空间来跟踪这些空值。而把空值存储在稀疏列中则不会占用任何空间,存储需求也会随之降低。

在使用稀疏列时要非常留意一点,它们与压缩不兼容,坦白地说,这是微软的一大失误。希望本着为用户着想的原则,在某个Service Pack中就能更正这个问题,而不是要等到下个版本。同时,如果你在表中也定义了稀疏列,那么也不要指望会压缩表中的数据,真是不知道微软是怎么搞的,这些本不应该出现在正式产品中的。如果非要说稀疏列与压缩他俩是一对完美的组合,那“如花”可能也配得上金城武了。

压缩索引还像码事,至少名符其实,这又是节省存储空间的另一个方法。过滤索引可以在索引上放置一个where子句(如某条查询),以便只有表的一部分被索引。听上去似乎不太妥当,但在某些情况下你可能就会想要过滤某些索引了,举个例子来说,在使用稀疏列时,有了过滤索引就无须保持一个包含了主要是空值的索引,你可在稀疏列上放置一条索引,只取那些非空值就行了。这样做以后,只有那些带有实际值的行会被索引,而索引的体积也会相应大幅减小。


SQL Server 2008的透明数据加密

xuejinyoulan收录,使用标签:数据库,时间:2008-8-21 11:34:13 | 相关网摘我也收藏


来源:中国网管联盟

对一个数据库管理员来说,当要保护你所支持的数据库时,安全是要考虑的最重要方面之一。我们使用多种机制和技术来保护我们的数据和数据库,例如防火墙、认证和数据加密。不过尽管我们为我们的环境设置了安全,但是关于数据库安全还总是有问题出现。尽管我们在保护我们的数据库,但是如果有人窃取mdf 文件或备份文件那么会怎么样呢?但是在SQL Server 2008之前没有什么方法来使用第三方解决方案控制这种场景也没有什么本地方法来处理这个问题。SQL Server 2008推出了一个新的特性来保护数据库,它叫做透明数据加密(Transparent Data Encryption)——TDE,它对整个数据库提供了保护。这篇文章的内容包括:
  什么是透明数据加密?

  TDE的执行。
  我的数据库现在是安全的吗?
  在激活TDE之前需要考虑什么?

  当激活TDE之后会影响什么?
  什么是透明数据加密?

  Microsoft SQL Server 2008推出了另一个级别的加密——透明数据加密。TDE是全数据库级别的加密,它不局限于字段和记录,而是保护数据文件和日志文件的。在一个数据库上的TDE执行对于连接到所选数据库的应用程序来说是非常简单而透明的。它不需要对现有应用程序做任何改变。这个保护是应用于数据文件和日志文件以及备份文件的。一旦在一个数据库上激活了TDE,备份恢复到另一个SQL Server实例或附加数据文件到另一个SQL Server实例上去将是不允许的,除非用来保护数据库加密密钥(DEK)的证书是可用的。

  TDE的加密特性是应用于页面级别的。一旦激活了,页面就会在它们写到磁盘之前加密,在读取到内存之前解密。有一点一定要记住,那就是SQL Server和客户端应用程序之间的通信渠道没有通过TDE来保护和加密。

  下图显示了SQL Server怎样使用TDE加密一个数据库:

  透明数据加密使用一个数据加密密钥(DEK)用于加密数据库,它存储在数据库启动记录中。DEK由一个存储在主数据库中的证书来保护。可选的,DEK可以由一个放置在硬件安全模块(HSM)中的非对称密钥以及外部密钥管理(EKM)的支持来保护。证书的私钥由对称密钥的数据库主密钥来加密,它通常由一个强密码来保护。注意,尽管这个证书可以由一个密码来保护,但是TDE要求这个证书由数据库主密钥来保护。数据库主密钥由服务主密钥来保护,而服务主密钥由数据保护API来保护。


Oracle中实现圆周率计算(一)

xuejinyoulan收录,使用标签:数据库,时间:2008-8-21 11:28:44 | 相关网摘我也收藏

来源:中国网管联盟

今天两个同事用JAVA实现圆周率一百位小数的实现。一个同事问我要不要试试,由于很长时间没有写过JAVA代码,而且本身JAVA的水平就很差,于是打算用ORACLE实现。
  其实Oracle中使用现成的函数就可以直接到的圆周率,比如:
SQL> SELECT ACOS(-1) FROM DUAL;
  ACOS(-1)
  ----------
  3.14159265

  可以通过调整数值类型的参数来获取38位精度:

SQL> SET NUMW 40
  SQL> SELECT ACOS(-1) PI FROM DUAL;
  PI
  ----------------------------------------

3.1415926535897932384626433832795028842
  如果不能使用现成的函数,而要自己计算,则要麻烦一些。

  当时同事问我的时候,我告诉他一分种左右就可以搞定,而实际证明,写这个代码用了5分钟左右:

SQL> CREATE OR REPLACE PROCEDURE P_PI wrapped
  2 a000000
  3 1
  4 abcd
  5 abcd
  6 abcd
  7 abcd
  8 abcd
  9 abcd
  10 abcd
  11 abcd
  12 abcd
  13 abcd
  14 abcd
  15 abcd
  16 abcd
  17 abcd
  18 abcd
  19 7
  20 ec 11f
  21 bLpzn0N21EJAQZmxUW0FNNv3TiEwgwDQ7UhqfC/WmGCua2Lf0zZFLKG/pZHGJ/bKzDYxl/z+
  22 qm17DFusHSThkSZkEuy6LmGKASmXQXlIcj5c2rC7LQDfmeLEhifcu+/Euy0ZqsYYpFeKtfeC
  23 Vamv1TmuhyHFqL1bdFkURszthPM58C+Jwz4juIdQ3pEBIhhdUWdwH2nhe8wAWXYtDklgqX3m
网管u家u.bitscn@com

  24 d05w6NIDkQvcTtJx/uoF8gVIBzPG8V7EYd5VJ/6IIw24DU+CH20QJHWJwe4eKG3j3/I=
  25
  26 /

  过程已创建。
  这时10.2版本下WRAP后的过程,利用这个代码可以返回圆周率100位以内的任意位小数:

SQL> SET SERVEROUT ON
  SQL> EXEC P_PI
  3.1415926535

  PL/SQL 过程已成功完成。

SQL> EXEC P_PI(1)
  3.1

  PL/SQL 过程已成功完成。

SQL> EXEC P_PI(5)
  3.14159

  PL/SQL 过程已成功完成。
SQL> EXEC P_PI(38)
  3.14159265358979323846264338327950288419
  PL/SQL 过程已成功完成。 
SQL> EXEC P_PI(100)
  3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706
网管论坛bbs_bitsCN_com

  PL/SQL 过程已成功完成。


Oracle商务智能套件-体系架构

xuejinyoulan收录,使用标签:数据库,时间:2008-8-21 11:24:55 | 相关网摘我也收藏

来源:中国网管联盟【转自www.bitsCN.com】
Oracle商务智能套件是Oracle融合中间件产品系列之一,它是一套全面的企业商务智能(BI)产品,它可满足一整套商务智能需求,包括交互式控制板、丰富的特定查询和分析功能、前瞻性智能和预警、企业报表、实时预测性智能和移动分析功能。Oracle商务智能套件为构建企业商务智能解决方案提供了最佳基础,能使更多用户获得洞察力,并提供可热插入现有数据资源和运营系统中的商务智能。Oracle商务智能套件是业界惟一支持热插拔的商务智能基础架构 。


  Oracle商务智能套件包括以下主要产品:
  Oracle商务智能套件企业版(EE)

  Oracle商务智能套件企业版(EE)由Siebel分析平台构成,它对任何企业数据资源都是开放的,并针对Oracle或非Oracle数据库进行了优化,而且能集成来自所有企业应用系统(包括第三方和客户应用系统)的数据。借助Oracle商务智能套件企业版,你能够充分利用你对Oracle和非Oracle技术的现有投资,跨整个企业资源提供全面、实时的智能并降低总体拥有成本。

  Oracle商务智能套件标准版(SE)

  Oracle商务智能套件标准版(SE)由Oracle预先集成的商务智能基础架构构成,并且进行了优化以与Oracle数据和应用系统良好地协同工作。 借助Oracle商务智能套件标准版你能扩大业务洞察力,同时利用对Oracle技术和应用系统的现有投资。


三步教你掌握Oracle外表

xuejinyoulan收录,使用标签:数据库,时间:2008-8-21 11:13:32 | 相关网摘我也收藏

来源:中国网管联盟 【转自www.bitsCN.com】
外表(external table)就像普通的表对像一样,可以select等,只是它是只读的,数据库中只保存了表结构的描述,表数据却没有存放在数据库内,而是存放在了文件系统上。当用户想偶尔使用数据库外的结构化数据时,用起外表来就非常方便,甚至比sqlldr都要方便的多。在这篇文章里,我们为大家演示了

  三步就掌握oracle外表过程。通过这次学习,也许大家就会发展原来学习oracle也是好容易哦。
  第一步:创建目录并授权
  目录是数据文件的存放目标,数据文件通常要求是文本文件。这个过程在9i以前是需要配置utl_file_dir参数的。 复制内容到剪贴板

  代码: 
sys@TEST>!ls /home/oracle/temp
  user.ctl userlist.txt user.log
  rudolf@TEST>
  sys@TEST>conn system/alibaba
  Connected.
  sys@TEST>
  sys@TEST>CREATE DIRECTORY TEMP AS '/home/oracle/temp/';
  Directory created.
  sys@TEST>grant read,write on directory TEMP to rudolf;
  Grant succeeded.

第二步:创建外表与测试 复制内容到剪贴板


  代码:  

网管u家u.bitsCN.com

rudolf@TEST>CREATE TABLE "USERLIST"
  2 (
  3 ID NUMBER,
  4 USERNAME VARCHAR2(30),
  5 EMAIL VARCHAR2(128)
  6 )
  7 ORGANIZATION external
  8 (
  9 TYPE oracle_loader
  10 DEFAULT DIRECTORY TEMP
  11 ACCESS PARAMETERS
  12 (
  13 RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII
  14 BADFILE 'TEMP':'userlist.bad'
  15 DISCARDFILE 'TEMP':'userlist.dis'
  16 LOGFILE 'TEMP':'user.log'
  17 READSIZE 1048576
  18 FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LDRTRIM
  19 MISSING FIELD VALUES ARE NULL
  20 REJECT ROWS WITH ALL NULL FIELDS
  21 (
  22 ID CHAR(30)
  23 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',
  24 USERNAME CHAR(30)
  25 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',
  26 EMAIL CHAR(128)
  27 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
  28 )
  29 )
  30 location
  31 (
  32 'userlist.txt'
  33 )
  34 )REJECT LIMIT UNLIMITED
  35
  rudolf@TEST>/
  Table created.
  rudolf@TEST>l
  1 select id,username from userlist where rownum < 10
  2*
  rudolf@TEST>/
  ID USERNAME
  ---------- ------------------------------
  1 RudolfLu
  3 tomgu
  6 coug
  7 chao_ping
  8 parrotao
  9 cnoug
  10 FilsDeDragon
  11 Dragon
  9 rows selected.

瞧,成功了。外表就这么简单。可是只有二步啊,第三步在哪里呢?你也许会问。还有啊,userlist.txt要固定的格式吗?create table...的语法这样的狂复杂,每一项都是什么含义呢?
  这就是第三步要教给大家的东西了。


在SQL Server 2008中配置文件流(FILESTREAM)

xuejinyoulan收录,使用标签:数据库,时间:2008-8-19 16:33:55 | 相关网摘我也收藏


出处:IT专家网
SQL Server 2008推出了一个新的特性叫做文件流(FILESTREAM),它使得基于SQL Server的应用程序可以在文件系统中存储非结构化的数据,例如文档、图片、音频、视频等等。文件流主要将SQL Server数据库引擎和新技术文件系统(NTFS)集成在一起;它主要以varbinary(max)数据类型存储数据。使用这个数据类型,非结构化数据存储在NTFS文件系统中,而SQL Server数据库引擎管理文件流字段和存储在NTFS的实际文件。使用TSQL语句,用户可以插入、更新、删除和选择存储在可用文件流的数据表中的数据。

  在SQL Server 2008安装过程中配置和激活文件流

  SQL Server数据库管理员可以在SQL Server 2008安装过程中激活文件流特性。激活文件流的选项在SQL Server 2008建立过程中在数据库引擎配置界面中可以看到。为了激活文件流用于Transact-SQL 访问,数据库管理员需要选择Enable FILESTREAM for Transact-SQL access选项。一旦这个选项激活了,那么其他所有访问控制选项都可以配置了。选择Enable FILESTREAM for file I/O streaming access选项来开启用于文件的Win32流访问。然后你需要提供文件流数据用于访问所存储的windows共享名称。如果你计划允许远程客户端访问服务器上的这个文件流数据,那么选择Allow remote clients to have streaming access to FILESTREAM data控制。在下面的截图里,我们激活了文件流并提供了一个用于允许文件I/O流访问的windows共享名称。

  在SQL Server 2008安装过程中,如果你忘记了激活文件流特性,那么这个特性可以在安装之后通过下面的方法来激活。

  使用SQL Server配置管理器来配置和激活文件流

  1. 点击开始菜单| Microsoft SQL Server 2008 |配置工具| SQL Server配置管理器。

  2. 在左边面板中,点击SQL Server 服务,它将在右边面板中列出所有SQL Server 2008相关服务。

  3. 点击你想在其上激活文件流的SQL Server(MSSQLSERVER)服务实例;并右键单击来查看这个服务的属性。

  4. 在SQL Server 属性对话框中,点击FILESTREAM标签页。

  5. 选择FILESTREAM for Transact-SQL access 复选框,它将激活其余选项。

  6. 如果你想提供从windows读和写文件流数据访问那么选择Enable FILESTREAM for I/O streaming access选项并输入windows 共享的名称。

  7. 最后一个选项,Allow remote clients to have streaming access to FILESTREAM data将允许远程客户端访问这个服务器上的文件流数据。

  8. 点击Apply来保存这些改变。
使用TSQL 查询来配置和激活文件流

  1. 在SQL Server 管理套件中,点击新查询窗口并输入下面的TSQL查询: 

Use Master
  Go
  EXEC sp_c onfigure 'filestream access level', 2
  Go
  RECONFIGURE
  Go

  SQL Server 2008支持3种级别的文件流访问。

  a. 如果这个值是0,那么对于这个实例来说文件流支持是不可用的。

  b. 如果这个值是1,那么对于Transact-SQL访问来说文件流是激活的。

  c. 如果这个值是2,那么对于Transact-SQL和Win32流访问来说文件流是激活的。

  使用GUI在服务器实例级别配置和激活文件流

  1. 使用SQL Server 管理套件连接到SQL Server 2008。

  2. 在对象管理器中,右键单击服务器并选择属性来查看服务器属性窗口。

  3. 在Advanced下面,点击Filestream Access Level 后面的下拉列表框并选择Full access enabled。

  4. 为此用户需要是sysadmin或serveradmin固定服务器角色的成员来改变文件流的默认设置。

  5. 点击OK来保存变更。

怎样创建一个文件流数据库

  当你创建数据库时,文件流特性使用一个特殊的文件组类型。你需要在创建数据库语句中至少为一个文件组指定CONTAINS FILESTREAM 条件从句。 

Use Master
Go
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'FileStreamDB')
DROP DATABASE FileStreamDB
GO

USE Master
GO
CREATE DATABASE FileStreamDB ON PRIMARY
( NAME = FileStreamDB_Data,
FILENAME = N'D:\FileStream\FileStreamDB_Data.mdf',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 15%),
FILEGROUP MyDBData
( NAME = MyFileStream_Data,
FILENAME = N'D:\FileStream\FileStreamDB_Data.ndf',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 5MB),
FILEGROUP FileStream CONTAINS FILESTREAM
( NAME = FileStream,
FILENAME = N'D:\FileStream\FileStreamData')
LOG ON
( NAME = 'FileStreamDB_Log',
FILENAME = N'D:\FileStream\FileStreamDB_Log.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB);
GO

  下面的图片显示了FileStreamDB数据库的属性,这个数据库是通过执行上面的语句来创建的。

  下面的截屏显示了在D:\FileStream folder下为FileStreamDB 数据库创建的文件。你将看到一个叫做FileStreamData的文件夹,它将存储所有的varbinary(max)值。

  在D:\FileStream\FileStreamData文件夹里你将看到一个叫做$FSLOG的子文件夹和一个叫做filestream.hdr的文件,这个文件是一个用于文件流容器的头文件。

怎样创建一个数据表来存储文件流数据

  如果一个表需要存储文件流数据,那么这个表应该定义一个ROWGUIDCOL字段。这是用于存储引擎跟踪NTFS文件系统中的实例用的。这个字段将用来存储文件流数据,它应该有varbinary(max)数据类型和FILESTREAM属性。在SQL Server 2008中,varbinary(max)数据类型可以存储超过2GB的数据。下面的TSQL查询可以用来创建FileStreamTable表:

USE FileStreamDB
  Go
  CREATE TABLE dbo.FileStreamTable
  (
   FS_ID UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE,
   FSData VARBINARY(MAX) FILESTREAM
  );

  怎样插入数据到FileStreamTable中

  执行下面的TSQL来插入文件流数据到FileStreamDB数据库中的FileStreamTable表中。

  USE FileStreamDB
  Go
  INSERT INTO FileStreamTable
  VALUES(newid(), CAST ('Inserting data into FileStreamTable........' As VARBINARY(MAX)))
  Go

  如果这个数据成功插入了,那么你将看到在:\FileStream\FileStreamData文件夹下创建了一个新的文件夹。

  文件流的优点

  BLOB数据现在可以保存在NTFS系统中,并且它处于SQL Server 2008的控制之下。

  SQL Server将维护所有BLOB数据的事务一致性。

  对于要以FILESTREAM来存储的文件没有规模限制。只要你在磁盘上具有空间,那么你就可以存储更大的FILESTREAM文件。

  当激活了文件流的数据库被备份后,在指定FileStreamData文件夹下的所有BLOB文件都将被备份,它们将帮助数据库管理员轻松地管理BLOB。

  可以通过TSQL和具有很好流性能的NTFS流APIs轻松地访问数据。

  文件流的缺点

  数据库镜像不能配置在激活了文件流的数据库上。

  数据库快照不能快照文件流数据库中的文件流数据。

  总结

  SQL Server 2008的文件流特性帮助公司更有效地管理它们的BLOB数据,因为它们可以在NTFS文件系统中存储数据并利用SQL Server事务一致性的好处。数据库管理员现在可以轻松地进行公司的文件流数据备份,只需要对文件流数据库进行备份就可以了,不用对每一个BLOB文件进行单独备份。这使得他们可以节省很多时间,而且不会再因为没有备份一些文件而丢失数据。



SUN投资开源公司Greenplum 杀入商务智能市场

xuejinyoulan收录,使用标签:数据库,时间:2008-8-19 16:29:04 | 相关网摘我也收藏

来源:IT168
Greenplum在Sun的支持下,其进军商务智能市场的计划并没有因为数据仓库和商务智能市场上存在众多的资深竞争者而受到丝毫的阻碍。

  正如许多商务智能软件解决方案正在逐步进入还未成熟的商务智能市场一样。位于圣马蒂奥的Greenplum公司同样也有这样的计划,并且还发布了第三版的数据库,声称是“世界上第一个互联网规模”的数据库。Greenplum 3.0数据库作为一个开源的项目,能以高于传统数据仓库工具10到100的速度支持PB大小的数据存储。

  Greenplum的支持者显然没有因为在商务智能这个市场上有很多强劲的竞争者整个事实而退却。即使去年3月,Oracle以33亿美元收购Hyperion,进军BI市场。稍后 SAP以其大约两倍的价格收购了Business Objects公司。作为回应IBM马上以15亿美元并购了Cognos公司,并且就在上周,还宣布了其雄心勃勃的商务智能计划。同样还有不可忽视的微软,作为OLAP市场上的领跑者,在商务智能软件方面还是有很大竞争优势。

  然而,这些似乎以不能改变Greenplum总裁Scott Yara的看法,他还是认为数据仓库和商务智能市场正在不断扩大。他说他的产品有很大的需求,因为当前市场上的数据库提供商不能扩展交易处理以外的需求。 “我们能提供一个更灵活、更易操作的解决方案,而且容易扩展,” Yara说。

  yara介绍说:“市场是巨大的。尤其是对互联网和网络公司以及他们的数据流量来说,错综的数据网将呈现一个巨大的商机。只需看看无线短信的成功就清楚了。”其他市场的热门行业,是电信和金融服务行业,yara补充到。然后加上Sun的客户群,Greenplum的产品使Sun的数据库仓库设备更容易推广和更加全面,它集成了服务器,存储器和数据库。

  Greenplum说,他在18个月里与40多个客户签订了合同,这包括VideoEgg和Skype 。 Greenplum说videoEgg正在使用该应用软件存储和分析客户信息,以便进行更有效的广告策略。而网络电话供应商Skype公司也表示,他们使用该产品来探测网络滥用。

  Greenplum 3.0数据库在全年度订阅的基础上按25000/TB1起开始收费。

  数据库软件供应商 Greenplum 在08年年初就获收第三轮投资,领衔这一轮投资的是 Meritech Capital Partners,其他投资者包括 Sun Microsystems 和 SAP Ventures,金额高达 2700 万美元。Sun 的投资,与 10 亿美元收购 MySQL 有关,sun此前表示,将会把现有资源与 Greenplum 的应用软件解决方案结合起来。

  Greenplum 此前在 2006 年三月份以及 2007 年 2 月份获收两轮投资,总额 1500 万美元。此次第三轮的融资,将会用于继续发展他们的数据库软件,以及市场拓展和销售中。


Oracle数据库中有关触发器问题

xuejinyoulan收录,使用标签:数据库,时间:2008-8-19 16:27:35 | 相关网摘我也收藏

来源:IT专家网
Oracle数据库中有关触发器问题(1)

触发器是一种特殊类型的存储过程,它不同于存储过程。触发器主要是通过事件进行触发而被执行的,触发器的触发事件分可为3类,分别是DML事件、DDL事件和数据库事件,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。

  触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。

  触发器功能

  1、 允许/限制对表的修改

  2、 自动生成派生列,比如自增字段

  3、 强制数据一致性

  4、 提供审计和日志记录

  5、 防止无效的事务处理

  6、 启用复杂的业务逻辑

  触发器种类

  触发器的种类可划分为4种:1.数据操纵语言(DML)触发器、2.替代(INSTEAD OF)触发器、3.数据定义语言(DDL)触发器、4.数据库事件触发器。

  数据操纵语言(DML)触发器:简称DML触发器,是定义在表上的触发器,创建在表上。由DML事件引发的触发器,编写DML触发器时的两点要素是: 1.确定触发的表,即在其上定义触发器的表。2.确定触发的事件,DML触发器的触发事件有INSERT、UPDATE和DELETE三种;替代触发器,简称INSTEAD OF触发器,创建在视图上,用来替换对视图进行的删除、插入和修改操作; 数据定义语言(DDL)触发器,简称DDL触发器,定义在模式上,触发事件是数据对象的创建和修改;数据库事件触发器,定义在整个数据库或模式上,触发事件是数据库事件.

  ORACLE产生数据库触发器的语法为:

  CREATE [OR REPLACE] TRIGGER 触发器名

  {BEFORE|AFTER|INSTEAD OF} 触发事件1 [OR 触发事件2...]

  ON 表名

  WHEN 触发条件

  [FOR EACH ROW]

  DECLARE

  声明部分

  BEGIN

  主体部分

  END;

Oracle数据库中有关触发器问题(2)


  其中:

  触发器名:触发器对象的名称。由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。一个触发器可由多个不同的数据操纵语言操作触发。在触发器中,可用INSERTING、DELETING、UPDATING谓词来区别不同的数据操纵语言操作。这些谓词可以在IF分支条件语句中作为判断条件来使用。

  触发时间:指明触发器何时执行,该值可取, 触发的时间有BEFORE和AFTER两种,分别表示触发动作发生在DML语句执行之前和语句执行之后。确定触发级别,有语句级触发器和行级触发器两种。语句级触发器表示SQL语句只触发一次触发器,行级触发器表示SQL语句影响的每一行都要触发一次。

  Before:表示在数据库动作之前触发器执行;在SQL语句的执行过程中,如果存在行级BEFORE触发器,则SQL语句在对每一行操作之前,都要先执行一次行级BEFORE触发器,然后才对行进行操作。如果存在行级AFTER触发器,则SQL语句在对每一行操作之后,都要再执行一次行级AFTER触发器。

  after:表示在数据库动作之后出发器执行。如果存在语句级AFTER触发器,则在SQL语句执行完毕后,要最后执行一次语句级AFTER触发器。

  触发事件:指明哪些数据库动作会触发此触发器,指INSERT、DELETE或UPDATE事件,事件可以并行出现,中间用OR连接;

  insert:数据库插入会触发此触发器;

  update:数据库修改会触发此触发器;

  delete:数据库删除会触发此触发器。

  表 名:数据库触发器所在的表。

  for each row:表示触发器为行级触发器,省略则为语句级触发器,对表的每一行触发器执行一次。

  触发器的创建者或具有DROP ANY TIRGGER系统权限的人才能删除触发器。删除触发器的语法如下:

  DROP TIRGGER 触发器名

  可以通过命令设置触发器的可用状态,使其暂时关闭或重新打开,即当触发器暂时不用时,可以将其置成无效状态,在使用时重新打开。该命令语法如下:

  ALTER TRIGGER 触发器名 {DISABLE|ENABLE}

  其中,DISABLE表示使触发器失效,ENABLE表示使触发器生效。

  同存储过程类似,触发器可以用SHOW ERRORS 检查编译错误。

  如果有多个触发器被定义成为相同时间、相同事件触发,且最后定义的触发器是有效的,则最后定义的触发器被触发,其他触发器不执行。触发器体内禁止使用COMMIT、ROLLBACK、SAVEPOINT语句,也禁止直接或间接地调用含有上述语句的存储过程。定义一个触发器时要考虑上述多种情况,并根据具体的需要来决定触发器的种类。

  触发器的作用

  触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能:

  (1) 强化约束(Enforce restriction)

  触发器能够实现比CHECK 语句更为复杂的约束。

  (2) 跟踪变化Auditing changes

  触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。

  (3) 级联运行(Cascaded operation)。

  触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。

  (4) 存储过程的调用(Stored procedure invocation)。

  为了响应数据库更新触,发器可以调用一个或多个存储过程,甚至可以通过外部过程的调用而在DBMS( 数据库管理系统)本身之外进行操作。

  由此可见,触发器可以解决高级形式的业务规则或复杂行为限制以及实现定制记录等一些方面的问题。例如,触发器能够找出某一表在数据修改前后状态发生的差异,并根据这种差异执行一定的处理。此外一个表的同一类型(INSERT、 UPDATE、 DELETE)的多个触发器能够对同一种数据操作采取多种不同的处理。

  总体而言,触发器性能通常比较低。

当运行触发器时,系统处理的大部分时间花费在参照其它表的这一处理上,因为这些表既不在内存中也不在数据库设备上,而删除表和插入表总是位于内存中。可见触发器所参照的其它表的位置决定了操作要花费的时间长短。


行转列,列分行,行合并列及相关问题解决方法

efan101收录,使用标签:Oracle, 数据库, 行列转换,时间:2008-8-19 13:40:28 | 相关网摘我也收藏

Oralce中行转列,列分行,行合并列及相关问题解决方法



共2470个网摘 [ 1  2  3  4  5  6  7 ... 83 ]  上一页 | 下一页

Tag/相关标签



    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved