3.5mm音频插座贴片PJ-334的原理图

Oracle和SQL Server 追求完美还是讲求实用-数据库-电脑技术网
&>&&>&>正文
Oracle和SQL Server 追求完美还是讲求实用
编辑:包小可
  用Oracle数据库和WebDB的组合呢?还是使用配有Visual Studio的Microsoft SQL Server软件包呢?选择的结果将会成为公司未来的网络计划的照明灯。这些产品组合各自都有些什么显著特点呢?它们的不足之处又在哪里呢?  使用Oracle数据库和WebDB的组合呢?还是使用配有Visual Studio的Microsoft SQL Server软件包呢?选择的结果将会成为公司未来的网络计划的照明灯。这些产品组合各自都有些什么显著特点呢?它们的不足之处又在哪里呢?  选择何种产品组合取决于你已经具备了什么样的条件。例如,如果你想实现基于网络的数据库应用程序,而且你的工作平台只支持Windows系统,那么选择SQL Server和Visual Studio软件包会比较好。而Oracle解决方案更适合于使用混合平台的用户。  当然还要考虑其他方面的因素,例如你还需要哪些额外的功能或技术?WebDB是一套内容管理和开发的工具,即便是没有任何编程经验的内容创建者、数据库管理员和数据库开发人员也可以使用这套工具。WebDB同时也是一套基于浏览器的工具,有助于减轻内容创建工作的强度,并提供了监测和维护工具。对于已经在使用Oracle的机构而言,这是一个不错的解决方案。同时,Oralce比SQL Server更易于修正,不过得配备一个能力相当的Oracle管理员才行。  SQL Server加Visual Studio的组合法应用起来难度更大,需要有一个经验老道的面向对象编程员,或进行大量的训练。不过,只要你愿意付出1,619美元,一整套的Visual Studio开发工具就任你使用,包括Visual Basic、Visual C++和Visual InterDev。另外,还要加上SQL Server的费用(1,999美元10个客户端或3,999美元25个客户端),这比Oracle的解决方案稍便宜点。  Oracle也提供解决方案包,费用的多少取决于选择了哪个平台,至少需要6,767美元。套件不仅包含了WebDB和Oracle8i,还有不少其他的开发工具,如Oracle应用程序服务器、JDeveloper和iWorkplace模板。与Microsoft解决方案相比,这组套件能够在更多平台上运行。对于刚刚起步的企业或者中小型企业,这组套件是相当不错的解决方案。以软件包的方式购买这些工具比单独购买要便宜不少。  总而言之,选择哪一种解决方案首先并主要取决于用户的技术水平、基础硬件资源和预算。  如果选择解决方案的决定已经呼之欲出了,你还需要考虑由谁来使用这些产品以及你优先考虑的事情是什么。  这两套产品组合使用的方法不同,也反映出了各自开发商的不同特色。总的来说,Oracle产品是为一流的程序员和项目负责人致力于专业化开发而设计的。学习期相当长,价格也很昂贵;不过如果能够坚持学透,最后你会获得更强的扩展性和更高的可靠性。  这似乎是Oracle的一个优点,事实并非如此。如果你的项目期限很紧,而你由没有足够的时间或者金钱来组建一个由身价奇高但经验老道的开发员组成的团队,你会发现Oracle的解决方案很容易让你没吃到鱼反惹上一身腥。想想还有什么比开发一个拙劣的Oralce应用程序更糟糕的吗?  Microsoft提供的解决方案则能够实现快速开发和低成本的结合。不管是开发工具的价格,还是你要运行的服务器的花销,抑或是你需要雇佣的开发人员身价,都比Oracle的解决方案要低。SQL Server和Visual Studio的组合是快速启动项目的不错选择,而且这套软件包还提供了一个质优价廉的应用软件。  当然,这也是要付出一定代价的。使用Visual Studio和SQL Server最大的问题就是你被绑定了,只能在配备Microsoftd的操作系统和Intel硬件的情况下使用这些软件。如果将来你需要支持成千上万个用户的时候,你就只能购置上百个服务器了,此外别无他法,而这种做法对于管理而言简直就是可怕的恶梦。  如果你采用了Microsoft的解决方案,似乎除了Visual Interdev就不再需要其他的软件了。开发Visual Basic或Visual C++的ActiveX控件是一个警示,表明你可能需要更多关注一下Oracle的解决方案了。  必须强调的是,这两种平台各有优劣,只要你能够合理地应用,无论哪一个都能帮助你构建一个世界一流的应用程序。所以,如果你所在的机构更倾向于与其中某个供应商合作,那么用尽一切方法迎合它吧。如果你一切都是从零开始,你就必须先弄清楚你的机构是想要追求完美主义呢还是更讲求实用主义呢,并且必须明白无论哪一种都有其缺陷。
(Copyright)
电脑技术网专注电脑技术领域,为梦想不断努力!本站文章来源于网络,如有侵权请联系告知!SQL server数据库与Oracle数据库的区别_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
SQL server数据库与Oracle数据库的区别
上传于|0|0|文档简介
&&随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高。Oracle数据库在大多数企业中受到广泛使用,而SQL Server数据库也因为和Windows的联系,在企业中的使用也是非常广泛。
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢SQL Server与oracle两者区别之语法区别
我的图书馆
SQL Server与oracle两者区别之语法区别
SQL&& Server:
Select&& top&& 1&& *&& from&& tablename&&
Select&& *&& from&& tablename&& where&& rownum&& &&& 2
Select&& A.*,&& B.*&& from&& A&& left&& Join&& B&& on&& A.bh=B.bh
Select&& A.*,&& B.*&& from&& A,&& B&& where&& A.bh=B.bh(+)
Select&& A.*,&& B.*&& from&& A&& right&& join&& B&& where&& A.bh=B.bh //oracle 9i 以后也支持了
Select&& A.*,&& B.*&& from&& A,&& B&& where&& A.bh(+)=B.bh
Select&& *&& from&& tablename&& where&& lrsj&& &=&& &#-11’
Select&& *&& from&& tablename&& where&& lrsj&=&& to_date(&#-11’,’yyyy-mm-dd’)
Select&& getdate()
Select&& sysdate&& from&& dual
Select&& Field1+Field2&& from&& A
Select&& Field1&& ||&& Field2&& from&& A&& (指字符串的)
Oracle和SQL Server的语句区别
1.Oracle如何实现自增列
如果你一直都是用SQL Server作为开发数据库的,而新的项目需要使用Oracle数据库,那么你会突然发现SQL Server和Oracle还是有着很大的差别的。首先,我在SQL Server中用得很顺手的自增长字段就在Oracle中找不到了,取而代之,Oracle可以用序列来实现。示例如下。
(1)建立测试数据表。
CREATE TABLE TEST
ID NUMBER,
NAME VARCHAR2(20),
PRIMARY KEY(ID)
(2)创建序列。
CREATE SEQUENCE SEQ_TEST;
(3)创建触发器。
CREATE OR REPLACE TRIGGER AUTOINCREMENT
BEFORE INSERT ON TEST
FOR EACH ROW
WHEN (NEW.ID IS NULL)
SELECT SEQ_TEST.NEXTVAL INTO :NEW.ID FROM DUAL;
(4)插入数据。
INSERT INTO TEST(NAME) VALUES('NAME1');
(5)查看插入结果。
SELECT * FROM TEST;
2.Parameter的区别
在SQL Server中我们可以按以下方式使用SQL语句:"Insert into Table (Field1,field2) values(@Value1,@Value2)",然后我们再new 几个Paramter:new SqlParameter("@Value1",value)...
在查询字符串中使用@+字符来描述参数,在SqlParameter中的参数名也要使用"@"符号。而在Oracle中SQL语句不能使用@符号,以冒号":"代替,如:
--Sql Server的Sql 语句
insert into Table (Column1,Column2) values (@Value1,@Value2)
--Oracel中的Sql 语句
Insert Into Table (Column1,Column2) values (:Value1,:Value2)
3.存储过程的不同
Oracle中的存储过程叫做包(Packages),一个包分为包头和包体,类似于C++中的类声明。包头定义了存储过程的名称和参数,包体除了名称和参数,还包括存储过程的所有语句。与SQL Server不同,在Oracle中存储过程一般写成Function,而不是Procedure。Oracle存储过程并不直接返回记录集,记录集以游标的形式通过参数返回。一个包(Packages)可以包含多个存储过程,使用存储过程时采用"包名.存储过程名"的方式,下面是一个典型的Oracle存储过程,它位于名称为"Test"的包(Packages)中,它的使用方式应为Test.GetList。
Function GetList(keywords In varchar2,p_info_list_Cursor out
get_data_cur_type)
&&&& Return Number
&&&&&&& open p_info_list_Cursor For
&&&&&&& Select * from Test where Key=keywords
&&&&&&&& Return 0;
1、基本SQL语句的区别
l&&&&&&&& SELECT 语句
l&&&&&&&& SQL Server 不支持 Oracle 的 INTERSECT 和 MINUS 集合运算符。可使用 SQL Server EXISTS 和 NOT EXISTS 子句,实现相同的结果。
&& 下面两条语句返回的数据是相同的。
Oracle(返回两个查询都有的行)
Microsoft SQL Server
SELECT CCODE, CNAME
FROM&&& DEPT
SELECT C.CCODE, C.CNAME
FROM&& STUDENT G,
&&&&&&&& DEPT C
WHERE C.CCODE = G.CCODE
SELECT CCODE, CNAME
FROM&&& DEPT C
WHERE EXISTS
(SELECT * FROM
&&&&&&&&& STUDENT G
WHERE C.CCODE = G.CCODE)
&& 下面两条语句返回的数据是相同的。
Microsoft SQL Server
SELECT CCODE, CNAME
FROM&&& DEPT
SELECT C.CCODE, C.CNAME
FROM&&& STUDENT G,
&&&&&&&&& DEPT C
WHERE C.CCODE = G.CCODE
SELECT&&& CCODE, CNAME
FROM&&&&& DEPT C
WHERE&&& NOT EXISTS
(SELECT&& * FROM
&&&&&&&&&& STUDENT G
WHERE&& C.CCODE = G.CCODE)
l&&&&&& 将 SELECT 语句做为表名使用
Microsoft SQL Server 和 Oracle 均支持在执行查询时,把 SELECT 语句作为表的来源使用。SQL Server 需要一个别名;Oracle别名的使用是可选的。
Microsoft SQL Server
SELECT&& SSN,LNAME,SUM_PAID
FROM&&&& STUDENT,
(SELECT SUM(TUITION)
&&&&&&&& SUM_PAID FROM
&&&&&&&& STUDENT)
SELECT&&& SSN, LNAME,SUM_PAID
FROM&&&&& STUDENT,
(SELECT&& SUM(TUITION)
&&&&&&&&& SUM_PAID FROM
&&&&&&&&& STUDENT)&& SUM_STUDENT
l&&&&&&& INSERT 语句
T-SQL 语言支持对表和视图的插入,但不支持对 SELECT 语句的 INSERT 操作。如果 Oracle 应用程序代码执行对 SELECT 语句的插入操作,则必须对它进行修改。如:
Microsoft SQL Server
INSERT INTO (SELECT SSN, CCODE, GRADE FROM GRADE)
VALUES ('11', '1111',NULL)
INSERT INTO GRADE (SSN, CCODE, GRADE)
VALUES ('11', '1111',NULL)
Transact-SQL values_list 参数提供了 SQL-92 标准关键字 DEFAULT,但 Oracle 不支持。此关键字指定了执行插入操作时使用列的默认值。如果指定列的默认值不存在,则插入 NULL。如果该列不允许 NULL,则返回一个错误消息。如果该列数据类型定义为 timestamp,则插入下一个有序值。
l&&&&&&& DELETE 语句
如果要对 Oracle 中的 SELECT 语句执行删除操作,则必须修改 SQL Server 语法,因为 Transact-SQL 不支持这一功能。 Transact-SQL 支持在 WHERE 子句中使用子查询,以及在 FROM 子句中使用联接。后者可产生更有效的语句。请参见后面“UPDATE 语句”中的示例。
Microsoft SQL Server
DELETE [FROM]
{table_name | view_name | select_statement}
[WHERE clause]
table_name [ [AS] table_alias] WITH ( &table_hint_limited& [Un])
| view_name [ [AS] table_alias]
| rowset_function_limited
[ FROM {&table_source&} [,Un] ]
{ &search_condition&
| { [ CURRENT OF
{ [ GLOBAL ] cursor_name }
cursor_variable_name
[OPTION (&query_hint& [,Un])]
注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间 TRUNCATE TABLE 表名,但此操作不可回退。
l&&&&&&&& EXISTS
Microsoft SQL Server
在SQL*PLUS中不能正确执行这条语句:
IF EXISTS (SELECT * FROM
&&&&&&&&&& ONLINEUSER) THEN
DBMS_OUTPUT.PUT_LINE('OK');
在查询分析器中能正确地执行这条语句:
IF EXISTS (SELECT * FROM ONLINEUSER)
&& PRINT('OK')
注:在Oracle中函数或伪列 'EXISTS' 只能在 SQL 语句中使用
2、表数据复制
l&&&&&&&& 库内数据复制
MS SQL Server
Insert into 复制表名称 select语句 (复制表已存在)
Select 字段列表 into 复制表名称 from 表(复制表不存在)
Insert into 复制表名称 select语句(复制表已存在)
create table 复制表名称 as select语句(复制表不存在)
l&&&&&&&& 文本文件转入、转出的批量处理
MS SQL Server
BCP命令行程序
SQLLDR命令行程序
3、表数据更新
l&&&&&&&& 根据其它表数据更新你要更新的表。
MS SQL Server
Update&& A&& SET&& 字段1=B字段表达式  字段2=B字段表达式 
From B WHERE 逻辑表达式
UPDATE titles SET ytd_sales = t.ytd_sales + s.qty
&&& FROM titles t, sales s
&&& WHERE t.title_id = s.title_id
&&& AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
Update A SET 字段1=(select&& 字段表达式 from B WHERE) 字段2=(select 字段表达式 from B WHERE)  WHERE 逻辑表达式
假如A需要多个字段更新,显然MS SQL 语句更简练。
l&&&&&&& T-SQL UPDATE 语句不支持对 SELECT 语句的更新操作。
如果 Oracle 应用程序代码对 SELECT 语句进行更新,则可以把 SELECT 语句转换成一个视图,然后在 SQL Server UPDATE 语句中使用该视图名称。请参见前面“INSERT 语句”中的示例。
Oracle UPDATE 命令只能使用一个 PL/SQL 块中的程序变量。而Transact-SQL 语言并不需要使用块。 如下图:
Microsoft SQL Server
VAR1 NUMBER(10,2);
VAR1 := 2500;
UPDATE STUDENT SET TUITION = VAR1;
@VAR1 NUMERIC(10,2)
SELECT @VAR1 = 2500
UPDATE STUDENT SET TUITION =@VAR1
在 SQL Server 中,DEFAULT 关键字可用于将一列设为其默认值。但不能使用 Oracle UPDATE 命令,将一列设为默认值。
Transact-SQL 和 Oracle SQL 均支持在 UPDATE 语句中使用子查询。但是,Transact-SQL FROM 子句可用来创建一个基于联接的 UPDATE。这一功能使 UPDATE 语法可读性更好,在某些情况下还能改善性能。
Microsoft SQL Server
UPDATE STUDENT S SET TUITION = 1500
WHERE SSN IN (SELECT SSN
FROM GRADE G WHERE G.SSN = S.SSN
AND G.CCODE = '1234')
UPDATE STUDENT S SET TUITION = 1500
WHERE SSN IN (SELECT SSN
FROM GRADE G WHERE G.SSN = S.SSN
TA的最新馆藏[转]&[转]&[转]&Oracle与SQLServer事务处理的比较
Oracle与SQLServer事务处理的比较
事务处理是所有大型数据库产品的一个关键问题,各数据库厂商都在这个方面花费了很大精力,不同的事务处理方式会导致数据库性能和功能上的巨大差异。
  事务处理也是数据库管理员与数据库应用程序开发人员必须深刻理解的一个问题,对这个问题的疏忽可能会导致应用程序逻辑错误以及效率低下。
  下面我们针对Oracle及SQL Server这两种当前广泛使用的大型数据库产品,探讨一下它们在事务处理方面的一些差异。如没有特殊说明,本文内容适用的数据库产品版本为Oracle9i及SQL Server 2000,其中的示例SQL语句,对于Oracle是在SQL*Plus中执行,而对于SQL Server 2000是在osql中执行。
  一.事务的概念
  事务可以看作是由对数据库的若干操作组成的一个单元,这些操作要么都完成,要么都取消,从而保证数据满足一致性的要求。事务的一个典型例子是银行中的转帐操作,帐户A把一定数量的款项转到帐户B上,这个操作包括两个步骤,一个是从帐户A上把存款减去一定数量,二是在帐户B上把存款加上相同的数量。这两个步骤显然要么都完成,要么都取消,否则银行就会受损失。显然,这个转帐操作中的两个步骤就构成一个事务。
  数据库中的事务还有如下ACID特征。
  ACID分别是四个英文单词的首写字母,这四个英文单词是Atomicity、Consistency、Isolation、Durability,分别翻译为原子性、一致性、隔离性、持久性。
  原子性:指事务中的操作,或者都完成,或者都取消。
  一致性:指事务中的操作保证数据库中的数据不会出现逻辑上不一致的情况,一致性一般会隐含的包括在其他属性之中。
  隔离性:指当前的事务与其他未完成的事务是隔离的。在不同的隔离级别下,事务的读取操作,可以得到的结果是不同的。
  持久性:指对事务发出COMMIT命令后,即使这时发生系统故障,事务的效果也被持久化了。与此相反的是,当在事务执行过程中,系统发生故障,则事务的操作都被回滚,即数据库回到事务开始之前的状态。
  对数据库中的数据修改都是在内存中完成的,这些修改的结果可能已经写到硬盘也可能没有写到硬盘,如果在操作过程中,发生断电或系统错误等故障,数据库可以保证未结束的事务对数据库的数据修改结果即使已经写入磁盘,在下次数据库启动后也会被全部撤销;而对于结束的事务,即使其修改的结果还未写入磁盘,在数据库下次启动后会通过事务日志中的记录进行“重做”,即把丢失的数据修改结果重新生成,并写入磁盘,从而保证结束事务对数据修改的永久化。这样也保证了事务中的操作要么全部完成,要么全部撤销。
  [NextPage]
   二.事务设置及类型的区别
  在SQL Server中有三种事务类型,分别是:隐式事务、显式事务、自动提交事务,缺省为自动提交。
  自动提交,是指对于用户发出的每条SQL语句,SQL Server都会自动开始一个事务,并且在执行后自动进行提交操作来完成这个事务,也可以说在这种事务模式下,一个SQL语句就是一个事务。
  显式事务,是指在自动提交模式下以Begin Transaction开始一个事务,以Commit或Rollback结束一个事务,以Commit结束事务是把事务中的修改永久化,即使这时发生断电这样的故障。例如下面是SQL Server中的一个显式事务的例子。
Begin Tran  Update emp Set ename=’Smith’ Where empno=7369  Insert Into dept Values(60,’HR’,’GZh’)  Commit
  隐式事务,是指在当前会话中用Set Implicit_Transactions On命令设置的事务类型,这时任何DML语句(Delete、Update、Insert)都会开始一个事务,而事务的结束也是用Commit或Rollback。
  在Oracle中没有SQL Server的这些事务类型,缺省情况下任何一个DML语句都会开始一个事务,直到用户发出Commit或Rollback操作,这个事务才会结束,这与SQL Server的隐式事务模式相似。
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

我要回帖

更多关于 5脚3.5mm音频插座 的文章

 

随机推荐