麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > XML > 正文

XML to DDL的項目關鍵:與數據庫同步

2024-09-05 20:54:28
字體:
來源:轉載
供稿:網友

對于xml2ddl項目,Freshmeat.org提供了一整套基于GNU或者GPL通用公共許可證下的Python程序。在一個運行的Python環境下,這套工具能夠在許多操作系統上工作,包括Windows, Linux, 以及UNIX平臺上,同時也能工作在以下數據庫引擎:PostgreSQL, MySQL, Oracle, 以及Firebird.

基本上,xml2ddl運行用戶把一個XML表示的數據庫轉換成一套SQL或者DDL報表。根據他的制造者和管理者Scott Kirkwood的介紹,“XML到DDL盡力做到數據庫獨立以使得同樣的XML能夠用于各種不同的數據庫。例如對于快速測試各種數據庫的表現這是非常有用的”

開始這個過程之前,xml2ddl運行用戶指向一個模式,制定一個目標數據庫,并且出示必要的DDL或者SQL語句實例化數據庫。這種簡單的XML例子定義為一個名為schemal.xml的文件如下:

<table name="students" fullname="List of Students"
 desc="List of students with their full names">
 <columns>
 <column name="id" fullname="Primary Key" type="integer" key="1"
 desc="Primary key for the table"/>
 <column name="student_name" fullname="Student Name"
 type="varchar" size="80"
 desc="The full name of the student"/>
 </columns>
 </table>
</schema>

使用下列命令行語法調用輸出PostgresSQL信息:xml2ddl-數據庫的schemal.xml,輸出結果如下:

DROP TABLE students;
CREATE TABLE students (
id integer,
student_name varchar(80),
CONSTRAINT pk_students PRIMARY KEY (id));
COMMENT ON TABLE students IS 'List of students with their full names';
COMMENT ON COLUMN students.id IS 'Primary key for the table';
COMMENT ON COLUMN students.student_name IS 'The full name of the student';

通過取代firebird,oracle或者mysql能夠生成其它目標數據庫的同樣類型的輸出結果。

該xml2ddl程序也能夠檢查二個不同版本的XML圖例的區別并且生成需要的DDL或者SQL語句從而把這些相同的變化更新到相關的目標數據庫里面去。這就需要兩個相關的圖例(讓我們稱之為第二個schema2.xml并且取代schemal.xml),以及使用下面所示的語法:

如果schema2.xml看起來如下:

<schema>
<table name="students" fullname="List of Students"
desc="List of students">
  <columns>
<column name="id" fullname="Primary Key" type="integer" key="1"
desc="Primary key for the table"/>
<column name="student_name" fullname="Student Name"
type="varchar" size="100"
desc="The full name of the student"/>
<column name="email" fullname="Electronic mail address"
type="varchar" size="100"
desc="The primary email for the student"/>
</columns>
</table>
</schema>

那么PostgresSQL將產生以下的DDL輸出:

ALTER TABLE students ALTER student_name TYPE varchar(80);
ALTER TABLE students DROP email;
COMMENT ON TABLE students IS 'List of students with their full names';

工程的項目網站上面可以找到一個完整的例子。它們使得使用XML以及相關的結構化編輯工具定義和管理數據庫非常容易,并且使得翻譯你的結構化XML成為恰當的數據庫元語言耗費時間更短,這些使得這些工具變得非常好用。

這其中的價值絕對值得思量,并且為那些幸運的成為使用一個他們支持的目標數據庫做出一個真正奇妙的數據集成以及管理工具。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久久久久久久亚洲 | 综合国产一区 | 成人精品一区二区 | 日韩一级片一区二区三区 | 国产精品久久久麻豆 | 精品久久久久久久久久中文字幕 | 亚洲视频黄 | 久久千人斩| 曰批全过程120分钟免费69 | 日本aaaa片毛片免费观看视频 | 精品亚洲成a人在线观看 | 久久综合一区二区 | www.91成人 | 久久777国产线看观看精品 | 91情侣在线偷精品国产 | 日本网站在线看 | 国产午夜精品理论片a级探花 | 久久精品一区二区三区国产主播 | 成人午夜免费看 | 成人在线观看免费观看 | 97超碰资源站 | 色综合狠狠 | 激情视频导航 | 久久久久亚洲国产精品 | 神秘电影91 | 美女又黄又www | 久久最新免费视频 | www.9191.com| 国产免费v片 | 成人综合一区二区 | 97超级碰碰人国产在线观看 | 国产成人精品一区二区仙踪林 | 在线观看av国产一区二区 | 国产又白又嫩又紧又爽18p | 国产亚洲精品久久久久5区 综合激情网 | 色阁五月 | 粉嫩蜜桃麻豆免费大片 | 成人午夜视频在线观看 | 国产永久免费观看 | 日韩视频精品一区 | 免费黄色大片在线观看 |