热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

数据库设计文档DBMS的快速转换

校讯通数据库从sybase系统改造到oracle系统,进行了对象的总计有312张实体表,20个过程,通过手工敲,那肯定是猴年马月的事情,不

校讯通数据库从sybase系统改造到oracle系统,进行了对象的总计有312张实体表,20个过程,通过手工敲,那肯定是猴年马月的事情,不

今天PMO下达任务单,校讯通数据库从sybase系统改造到Oracle系统,进行了对象的总计有312张实体表,20个过程,通过手工敲,那肯定是猴年马月的事情,不符合项目任务的工期进度。以下是本次转化的快捷方法:

1、通过powerdesigner的Change Current DBMS操作。

new dbms 选择ORACLE Version 10gR2替换current dbms的Sybase AS Enterprise 12.5.3a。

符合期望的:通过此步操作char、varchar、numeric、datetime转向了我们期望的char、varchar2、number、date。

不符合期望的:integer没有转向我们期望的number,默认值getdate()没有转向我们期望的SYSDATE,default ''没有转为有效的default ' '。针对oracle 空串是无效的。索引名保留了sybase特性,对象中唯一,却没有符合oracle的全局唯一。过程那是原原本本保留了sybase的脚本。

2、开始针对不符合期望的改造工作

校讯通数据库设计文档是用powerdesigner15版本设计的,可以直接通过编辑工具editplus,UltraEdit打开,本质上是xml文件,然后查找integer类型定义关键字串。

类型定义:INTEGER 统一修改成了 NUMBER(10)

针对本质是布尔类型,是和否的判断的,显然NUMBER(1)就行,在定义此类字段名时有显著特征is_开头,通过EltraEdit打开找到is_字符串,在此字符串附近定位到针对这个字段的类型定义,由于做了前面步骤,都已经改成了NUMBER(10)统一改为NUMBER(1),针对其他字段,虽然可能有的字段长度不需要10,个别对待修改。

默认值定义:getdate()统一修改成了SYSDATE,在sybase中的default ''后来经分析确认,通过编辑工具打xml真实定义是''统一修改成了' '中间加入一空格,Oracle可以支持。

做了以上两步之后,表对象定义的类型以及默认值都符合了期望,至于索引名称由于要全局唯一,只能通过手工修改了,包括过程也是。通过统一替换已经给我们节省了不少时间,赶上项目任务单的计划进度不成问题了。其他类型的数据库设计文档的DBMS转换可以参考类似。

修改的规范参见:数据库设计规范


推荐阅读
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文详细介绍了Java Web应用程序中的过滤器(Filter)功能,包括其作用、实现方式及配置方法。过滤器可以在请求到达目标资源之前对其进行预处理,并在响应返回给客户端之前进行后处理。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 分享一个简化版的Silverlight链接图项目:Link Map Simplified
    本文介绍了一个使用Silverlight开发的可视化工具,主要用于展示和操作复杂的实体关系图(Graph)。该工具在犯罪调查系统中得到了广泛应用,帮助用户直观地获取和理解相关信息。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
  • 优化 Android 按钮状态下的背景和文本颜色变化
    本文介绍如何通过 Android 的 Selector 实现按钮在不同状态下(如按压)的背景和文本颜色动态变化。我们将详细讲解实现步骤,并提供完整的代码示例。 ... [详细]
  • 本文详细介绍超文本标记语言(HTML)的基本概念与语法结构。HTML是构建网页的核心语言,通过标记标签描述页面内容,帮助开发者创建结构化、语义化的Web页面。 ... [详细]
  • 本文介绍了ArcXML配置文件的分类及其在不同服务中的应用,详细解释了地图配置文件的结构和功能,包括其在Image Service、Feature Service以及ArcMap Server中的使用方法。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文详细介绍了 RosPack 类的功能和用法,探讨了其在 ROS 系统中的重要作用。RosPack 类提供了类似于终端命令 rospack 的功能,能够方便地查询和管理 ROS 包的相关信息。 ... [详细]
author-avatar
vijay
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有