• 在线音乐试听
  • 电影观看找一找
  • 微客许愿LOVE墙
  • 官方博客
  • 站长博客
中国微(微机)客网
站点选择: 网通镜像
  • 首 页
  • 电脑基础
  • 软件教程
  • 代码编程
  • 站长专区
  • 网络资源
  • 新闻娱乐
  • 站长博客
向站长投递您的原创文章 对本站意见反馈
  • 站长热点通告:电脑技术集中营!新上线版块: 点击许愿LOVE墙 点击进入站长博客 点击观看在线电影 点击试听在线音乐
  • 电脑硬件
  • 操作系统
  • 软件应用
  • 优化技巧
  • 防黑安全
  • P S 教程
  • Flash教程
  • Dreamweaver
  • 软件下载
  • Asp编程
  • Php编程
  • .Net编程
  • Access
  • MysQl
  • mssql
  • 其他代码
  • 站长工具
  • 搜索优化
  • 网站推广
  • 网站盈利
  • 域名空间
  • 网盘※相册
  • 综合其他
  • 游戏娱乐
  •                             | 在线音乐试听下载 | 在线电影观看| 在线小游戏| IT热点资讯 | 软件动态
                                      | 论坛快速注册 | 论坛会员登陆 | 论坛快速进入 | 许愿LOVE墙登陆
当前位置:中国微客网>>编程在线>>mssql>>浏览文章 软件搜索

msSQL Server数据导入之行为规范

作者:未知 | 来源:互联网 | 文章点击数: | ChinaVik.Com

我最早使用的一个关系型 DBMS 就是 Microrim's R:Base 4000. R:Base,与其 PC 竞争对手 dBase 不同的是,它是真正的关系型数据库管理系统,是在 20 世纪 80 年代初作为 NASA RIM(关系信息管理,Relational Information Management)系统的一个 PC 版本开发出来的。而我最欣赏的功能之一是它允许用户在导入过程中查看示例数据。尽管像 bcp、DTS、新的 SQL Server 2005 集成服务这样的工具以及各种移植工具和向导已经将数据导入过程自动化到 SQL Server 之中,但这不意味着我们可以一劳永逸。本月,Ron Talmage 提供一些关于导入数据的非常好的常识性建议。

  SQL Server DBA(Database Administrator,数据库管理员)发现他们经常使用 T-SQL 导入和处理数据。为什么呢?因为一些数据传输需要技术成熟的 SQL 所具备的强大功能。最近我刚好完成了另一个数据导入的案例,该案例触动我汇编了一份供我使用的行为规范列表。

  确保将载入的原始数据暂存为 varchar 数据类型

  源自所谓的旧式系统的原始数据通常以文本格式传送,因此我首先总是将原始数据载入一个单独的暂存数据库。我从不尝试将数据直接载入一个成品数据库。

  我做的事情是将所有 原始文本数据载入相应的原始表,表中的列为 varchar 数据类型。(DTS 将自动完成该过程,这样很好。但是,DTS 还会将列命名为 COL001,因此您不用事先提供列名。)varchar 的主要优点是它能够接收任何数据 — 甚至是“坏”数据。如果您尝试从一个没有对用户输入的数据进行严格检查的旧式系统加载数据,那么被忽略的数据或写入异常文件的数据可能比加载的数据还多,如果您不想冒这样的风险,除非接收每一个可能的值。将字符载入 varchar 数据类型的列则可以做到这一点。

  在暂存表/列名时不要使用非字母数字字符

  您可能无法控制在包含原始数据的表中如何对列进行初始命名,但是我会尝试修改可能包含空格或其他非常规字符的旧式列名。当列名或表名包含非字母数字的字符时,我们必须使用方括号或双引号对其进行分隔。这种代码不但编写起来比较困难,而且可读性较差。

  不要在列名中使用关键字

  源自旧式系统的数据通常包含能够破坏 SQL 查询的描述性列名。例如,房地产数据可能会包含一个名为 KEY 的列,它用来反映放置在待售房屋上的钥匙箱。然而,KEY 也是 T-SQL 中的一个关键字 (!),如果使用这样的列名,查询操作在直接引用该列名时将失败。因此,最终您必须用方括号或双引号分隔含有关键字的列名。

  确保使用正确的数据类型创建一个暂存表

  下一步是创建一个或多个额外的暂存表,这些表有“正确的”数据类型。我喜欢使暂存表和目标 OLTP(Online Transaction Processing,联机事务处理)数据库中的目的表具有相同的列名。不管怎样,重要的是原始数据中每列的数据类型在载入暂存时都将执行检查并予以改正。在 SQL Server 表中找到坏数据比在加载失败的外部文件中找到坏数据容易得多。

  确保将新列添加到暂存表中

  当暂存数据没有相应的列时,您可以添加这些列,然后拆分或合并载入的数据。例如,即使目的表分解出街道名和门牌号,地址仍然可能作为一个简单的字符串载入暂存表。那么您可以在暂存表中添加街道名列和门牌号列,将旧式地址分解为两个列。这样做的优点是,原始数据与新拆分的数据并存,因此您能够通过比较列来测试脚本。

下一页
本文共 2 页,第  [1]  [2]  页


朋友若要转载,采集本站内容,请注明出自www.chinavik.com-中国微(微机)客网(搜集整理不容易)

上一篇:压缩与清除MSSQL数据库日志的技巧 下一篇:常见的几种数据库对象

关键字 Tags:  mssql 技巧 数据库
 查看所有评论请《点击右侧发表评论》【发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口】



 发表评论 特别声明:
·本站发布内容均为客观表达作者观点,不代表站长立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为

网络广告信息

中国微客网音乐频道开通:在线MP3听歌、歌词下载 中国微客网影视频道开通:电影搜索引擎,在线看电影,电影在线观看,免费电影-在线观看下载,最新大片

推荐文章

  • ·MS SQL SERVER 安装完全图解篇 2008/03/09
  • ·msSQL Server 数据库学习入门(五 2008/03/09
  • ·msSQL Server 数据库学习入门(四 2008/03/09
  • ·msSQL Server 数据库学习入门(三 2008/03/09
  • ·msSQL Server 数据库学习入门(二 2008/03/09
  • ·msSQL Server 数据库学习入门(一 2008/03/09
  • ·常见的几种数据库对象 2008/03/09
  • ·msSQL Server数据导入之行为规范 2008/03/09
  • ·压缩与清除MSSQL数据库日志的技巧 2008/03/09
  • ·mssql2000卸载后不能重新安装的解 2008/03/09
  • ·mssql数据库和mysql数据库的区别 2008/03/09

热点资讯

  • ·MS SQL SERVER 安装完全图解篇 2008/03/09
  • ·msSQL Server 数据库学习入门(五 2008/03/09
  • ·msSQL Server 数据库学习入门(四 2008/03/09
  • ·msSQL Server 数据库学习入门(三 2008/03/09
  • ·msSQL Server 数据库学习入门(二 2008/03/09
  • ·msSQL Server 数据库学习入门(一 2008/03/09
  • ·常见的几种数据库对象 2008/03/09
  • ·msSQL Server数据导入之行为规范 2008/03/09
  • ·压缩与清除MSSQL数据库日志的技巧 2008/03/09
  • ·mssql2000卸载后不能重新安装的解 2008/03/09
  • ·mssql数据库和mysql数据库的区别 2008/03/09

设为首页 - 加入收藏 - 联系站长 - 友情链接 - 网站留言 - 广告合作 - 网站地图


郑重声明:本站内容均来自网上,请网友自行辨别!如有侵权请及时告知,我们会马上处理!...本站内容纯手工录入,若转载请注明出处,万分感谢。
点击技术支持,建议合作 QQ:在线交谈11753718 QQ交流群 47614632 E-Mail:chinavik#163.com 电话tell:15898705041 chinavik#126.com
Copyright 2006-2008 Powered by 中国微客-电脑技术在线All Rights Reserved
备案/许可证号:鲁ICP备08002060号