热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

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

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

目前,很多组织都聘请了数据库建模者或者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,

推荐阅读
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 本文探讨了如何将个人经历,特别是非传统的职业路径,转化为职业生涯中的优势。通过作者的亲身经历,展示了舞蹈生涯对商业思维的影响。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • 华为与红帽联手,加速开源电信软件革新
    华为与红帽携手合作,旨在加速开源电信软件的发展,以满足大型电信运营商对灵活网络解决方案的需求。 ... [详细]
  • Irish budget airline Ryanair announced plans to significantly increase its route network from Frankfurt Airport, marking a direct challenge to Lufthansa, Germany's leading carrier. ... [详细]
  • 本文深入探讨了Go语言中的接口型函数,通过实例分析其灵活性和强大功能,帮助开发者更好地理解和运用这一特性。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 本文详细探讨了Linux系统中的文件权限设置,包括常见的755、700等权限模式,以及这些权限在实际应用中的具体含义和作用。 ... [详细]
  • 深入探讨前端代码优化策略
    本文深入讨论了前端开发中代码优化的关键技术,包括JavaScript、HTML和CSS的优化方法,旨在提升网页加载速度和用户体验。 ... [详细]
author-avatar
才女我是周宇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有