数据库

 首页 > 数据库 > SqlServer > 解析SQL Server数据利用在不同的数据库中

解析SQL Server数据利用在不同的数据库中

分享到:
【字体:
导读:
         摘要: 在软件开发的初始阶段,开发商们总是想把全部系统的最小的细节设计好了,然后再往单线程的编写代码。这样软件开发完成需要很长时间,但开发商们一直都在这么做。 所以开发者不...

解析SQL Server数据利用在不同的数据库中

在软件开发的初始阶段,开发商们总是想把全部系统的最小的细节设计好了,然后再往单线程的编写代码。这样软件开发完成需要很长时间,但开发商们一直都在这么做。

所以开发者不得不往缩小他们的野心,先设计好一个小系统,然而这个小系统只是解决了全部系统艰苦中的一部分。这导致了由不同的团队设计和创立的很多小系统几乎都不能相互之间兼容。

目前,很多组织都聘请了数据库建模者或者DBA,这些人能监督数据库设计和开发。不幸的是,那些组织只有在呈现某些状态后,才会心识到在他们的员工中需要这样的人。

数据建模者和DBA面对的一个非常广泛的标题就是,如何在不同的数据库中解析SQL数据。本文将通过一个可靠的方法来阐明这个标题。

一个实例

在这个实例计划中,有两个包含类似数据的数据库:一个应用术语OrderNumber,另一个应用术语OrderNo。第一个数据库有要害字而第二个数据库没有。

首先,你会在两个数据库中发明它们的次序是类似的。清单A创立了两个数据库(Test_Cross_1和Test_Cross_2),每个数据库中有一个表(分辨是Orders_1和Orders_2)。

假设Orders_1包含这些行:

以下为引用的内容:
OrderNumberOrderDate
            2007-02-23 00:00:00.000
            2007-02-24 00:00:00.000
            2007-02-25 00:00:00.000
            假设Orders_2包含这些行:
            OrderNo  OrderDate
            2007-02-23 00:00:00.000
            2  2007-02-24 00:00:00.000
            2007-02-24 00:00:00.000
            3011 2007-02-25 00:00:00.000

一旦你明白了如何引用表SQL履行合并把持是很简略的。简而言之,你要有正当的名字。如清单B所示。这将不会成功,由于Order_2包含一行Order_1没有的数据。转变连接,参加对外连接符也不会成功,就像你在清单C中看到的那样。第二个查询得到跟第一个查询雷同的成果,由于OrderNo 301不存在于第一个表中。找到这一行,你必需在第二个查询中,将这个表的次序反转。如清单D。现在你就能发明不匹配的行了。

以下为引用的内容:
OrderNo         OrderDate            OrderNumberOrderDate
            1          2007-02-23 00:00:00.0001  2007-02-23 00:00:00.000
            2          2007-02-24 00:00:00.0002  2007-02-24 00:00:00.000
            2007-02-24 00:00:00.000    NULL NULL
            2007-02-25 00:00:00.0003   011 2007-02-25 00:00:00.000

假设有一些行存在于Order_1中而不存在于Order_2中。你将上面的查询翻转,它也能工作,然而,随后你会得到两个查询和两个成果集,并结束你的查询,这些你都必需手动比拟。假如每个表只有四行,这是不艰苦的,但是想象一下假如有4,000行记录的话,怎么应用这种不切实际的方法进行比拟呢。你必需对两个表的每行没呈现在另外那张表的记录进行检查。

以下为引用的内容:
CREATE DATABASE [Test_Cross_1] ON PRIMARY
            ( NAME = N'Test_Cross_1', FILENAME = N'
            C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATATest_Cross_1.mdf',
            SIZE = 2048KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
            LOG ON ( NAME = N'Test_Cross_1_log',
            FILENAME = N'C:aProgram FilesMicrosoft
            SQL ServerMSSQL.1MSSQLDATATest_Cross_1_log.ldf',
            SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)GO
            USE [Test_Cross_1]
            GO
            CREATE TABLE [dbo].[Orders_1]
            ( [OrderNumber] [int] NOT NULL,
            [OrderDate] [datetime] NOT NULL,
            CONSTRAINT [PK_Orders_1] PRIMARY KEY CLUSTERED
            ( [OrderNumber] ASC)WITH (PAD_INDEX = OFF,
            STATISTICS_NORECOMPUTE = OFF,
            IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
            ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]
            CREATE DATABASE [Test_Cross_2] ON PRIMARY
            ( NAME = N'Test_Cross_2',
            FILENAME = N'C:Program FilesMicrosoft
            SQL ServerMSSQL.1MSSQLDATATest_Cross_2.mdf',
            SIZE = 2048KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
            LOG ON ( NAME = N'Test_Cross_2_log',
            FILENAME = N'C:Program FilesMicrosoft
            SQL ServerMSSQL.1MSSQLDATATest_Cross_2_log.ldf',
            SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)GO
            CREATE TABLE [dbo].[Orders_2]
            ( [OrderNo] [int] NOT NULL, [OrderDate] [datetime]
            NOT NULL CONSTRAINT [DF_Orders_2_OrderDate]
            DEFAULT (getdate()), CONSTRAINT [PK_Orders_2]
            PRIMARY KEY CLUSTERED ( [OrderNo] ASC)WITH
            (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
            IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 解析SQL Server数据利用在不同的数据库中

  • 打酱油

  • 震惊

  • 呵呵


  • 鄙视
标签标签:PHP ,CSS数据库 ,优化
立即登录 | 注册新用户
最新评论
  • 不吐不快,赶紧来一发!
栏目推荐
  • 使用SQL Server内存数据库前需要理解的三个问题
  • PHP连接 SQLSERVER 注意事项(经典中的经典)
  • Php+SqlServer实现分页显示
  • Linux下php连接sqlserver的办法
  • php SQLserver 导入 Mysql
  • PHP模拟SQLServer的两个日期处理函数
  • php与sqlserver中文数据为乱码的解决
  • Linux下PHP连接MS SQLServer的办法
  • 微软为PHP添加SQL Server LocalDb及SQL Server AlwaysOn集群支持
  • 远程连接sql server 2000数据库失败解决办法
关注 第一PHP社区 微信公众号
热门点击
  • 新闻APP后端系统架构成长之路 - 高可用架构设计
  • PHP基础: CLI模式开发不需要任何一种Web服务器
  • 基础教程:svn命令在linux下的使用
  • 亿级Web系统搭建——单机到分布式集群
  • HTTP简介,http是一个属于应用层的面向对象的协议
  • Serverless技术架构,传说中的FAAS(Function as a Service),极简运维,无限扩容
  • PHP漏洞全解(六)跨网站请求伪造
  • php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
  • PHP学习路线以及10个PHP优化技巧
  • 适用于PHP初学者的学习线路和建议
本站推荐
  • 2016PHP技术盛会:如何编写可测试的代码
  • MySQL改密码报错:ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
  • phpmyadmin导入导出数据库文件最大限制的解决方法
  • Linux环境下MySQL数据库大小写区分问题
  • php 5.4中php-fpm 的重启、终止操作命令
  • Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用
  • Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
  • Key/Value之王Memcached初探:一、掀起Memcached的盖头来
  • NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索
  • NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP论坛
Copyright © 1998 - 2015 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有
快云为本站提供专业云计算服务      
分享到:
让你的MySQL数据库彻底与中文联姻
让你的MySQL数据库彻底与中文联姻 系统自带的MySQL默认字符集不是gbk,因此给数据库的推广利用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过程中耗费了我们无数的精力以及系统的资源。经过摸索尝试解决了中文支撑标题,经验与大家分享一下。 先将让slack支撑中文,方法可以看“linuxsir.org 之Slackware...
如何有效防止Java程序源码被人***?
如何有效防止Java程序源码被人***? Java程序的源代码很轻易被别人偷看,只要有一个反编译器,任何人都可以分析别人的代码。本文讨论如何在不修正原有程序的情况下,通过加密技巧保护源代码。 一、为什么要加密? 对于传统的C或C 之类的语言来说,要在Web上保护源代码是很轻易的,只要不宣布它就可以。遗憾的是,Java程序的...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……