複製鏈接
請複製以下鏈接發送給好友

數據庫腳本

鎖定
生成數據庫項目時,預先部署腳本、數據庫對象定義和後期部署腳本合併為一個生成腳本。只能指定一個預先部署腳本和一個後期部署腳本,但可在預先部署腳本和後期部署腳本中包含其他腳本。
中文名
數據庫腳本
外文名
Database script
類    型
數據庫系統
功    能
數據處理
操    作
排除版本控制

數據庫腳本名詞定義

用於創建數據庫對象的語句的集合。Transact-SQL腳本保存為文件,文件名通常以 .sql結尾。
具體使用環境包含:MY-SQLSQLServer,oracle
數據庫腳本包含:存儲過程[Procedure],事務[transaction]等,索引[Index],觸發器[Trigger],函數[Function]等。
使用腳本的好處:可以提高數據訪問的效率,並進行相關的數據處理。

數據庫腳本數據庫範疇

數據庫腳本是包含不屬於數據庫架構定義的Transact-SQL(T-SQL)語句或實用工具(如 SQLCMD)的附加文件。可以將數據庫腳本用作部署步驟的一部分(預先部署和後期部署腳本),數據庫腳本也可以是存儲在數據庫項目中的常規管理腳本。
在對架構對象執行數據庫重構操作期間,可以自動更新包含執行該操作期間進行重命名的數據庫對象的任何腳本。
“腳本”文件夾支持以下操作:
添加新項 添加文件夾 添加腳本 從項目中排除 版本控制操作(如簽入、簽出等)剪切 複製 刪除
重命名 屬性
“腳本”文件夾中包含的腳本支持以下操作:
打開 打開方式 項目中排除 版本控制操作(如簽入、簽出等)剪切 複製 刪除重命名屬性

數據庫腳本部署腳本

通過使用 SQLCMD 可包含其他腳本。(請參見本主題後面的相關部分。)生成數據庫項目時,包含的所有腳本都合併到生成腳本中。
通過將腳本文件的“生成操作”屬性設置為 PreDeploy可以指定預先部署腳本。同樣,通過將腳本文件的“生成操作”屬性設置為 PostDeploy可以指定後期部署腳本。在將某個腳本指定為預先部署腳本或後期部署腳本時,如果以前已經用該生成操作指定了另一個腳本,那麼,系統會自動將另一個腳本的生成操作設置為“不在生成中”。此行為是設計使然,因為每個數據庫項目只能有一個預先部署腳本和一個後期部署腳本。
導入數據庫架構時,大部分架構信息都會導入到數據庫項目中的數據庫對象定義中。有些信息(如登錄、權限、規則和默認值)則導入到其他的預先部署或後期部署腳本中。當此操作發生時,會在數據庫項目的“腳本”文件夾中的“預先部署”或“後期部署”子文件夾中創建附加文件。這些附加的腳本文件根據需要包含在預先部署和後期部署腳本中。包含的腳本的“生成操作”屬性設置為“不在生成中”,因為這些腳本不直接包含在生成中,而是通過預先部署或後期部署腳本間接包含。系統會將任何無法識別的腳本語句放到“腳本”文件夾中的 ScriptsIgnoredOnImport.sql 文件中。
MySql數據庫為例:
進入到mysql管理、
先創建數據庫為user:
CREATE database user;
進入創建好的數據庫user:
use user;
執行以下腳本:
CREATE TABLE mx_user
id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
userName VARCHAR(20) NOT NULL DEFAULT '',
userPwd VARCHAR(40) NOT NULL DEFAULT '',
email VARCHAR(60) NOT NULL DEFAULT '',
regTime INT(10) UNSIGNED NOT NULL DEFAULT '0',
sex SMALLINT(3) NOT NULL DEFAULT 0,
disable SMALLINT(3) UNSIGNED NOT NULL DEFAULT 0,
allow_dlht SMALLINT(3) UNSIGNED NOT NULL DEFAULT 0,
allow_fbpl SMALLINT(3) UNSIGNED NOT NULL DEFAULT 1,
PRIMARY KEY (id),
KEY id (userName, userPwd)
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

數據庫腳本常用數據庫

實時數據庫
實時數據庫系統是數據庫理論在新領域的擴展,在電力、化工、鋼鐵、冶金、造紙、交通控制和證券金融等領域有着非常廣闊的應用前景。它可以為企業提供高速、及時的實時數據服務,能夠對快速變化的實時數據進行長期高效的歷史存儲,是工廠控制層(現場總線、DCS、PLC等)與生產管理系統之間連接的橋樑,同時也是流程模擬、先進控制、在線優化、故障診斷等系統的數據平台。
openPlant實時數據庫系統採用當今先進的技術和架構,可安全、穩定地實現與現場各控制系統的接口,並能對採集來的數據進行高效的數據壓縮和長期的歷史存儲,同時提供方便易用的客户端應用和通用的數據接口(API/DDE/ODBC/JDBC/OPC等),使企業的管理和決策人員能及時、全面的瞭解當前的生產情況,也可回顧過去的生產情況,及時發現生產中所存在的問題,提高設備利用率,降低生產成本,增強企業的核心競爭力。
實時數據庫系統特點
■ 企業級的生產實時數據平台
分佈式數據庫架構,滿足集團級需求
■ 實時訪問全廠生產數據
■ 高效的數據壓縮和長期歷史存儲
■ 支持在線計算和統計
■ 專業的圖形仿真技術,監視畫面與控制系統完全一致
■ 豐富的客户端應用工具
■ 優異的跨平台性能,支持Unix/Linux/Windows等操作系統
■ 開放的數據接口,如API/DDE/ODBC/JDBC/OPC
■ 200,000點上萬小時現場穩定運行考驗
■ 支持遠程訪問,隨時隨地享用生產信息
■ 個性化定製服務,讓您從容應對不斷變化的用户需求
DB2
作為關係數據庫領域的開拓者和領航人,IBM在1977年完成了System R系統的原型,1980年開始提供集成的數據庫服務器—— System/38,隨後是SQL/DSforVSE和VM,其初始版本與SystemR研究原型密切相關。DB2 forMVSV1 在1983年推出。該版本的目標是提供這一新方案所承諾的簡單性,數據不相關性和用户生產率。1988年DB2 for MVS 提供了強大的在線事務處理(OLTP)支持,1989 年和1993 年分別以遠程工作單元和分佈式工作單元實現了分佈式數據庫支持。最近推出的DB2 Universal Database 6.1則是通用數據庫的典範,是第一個具備網上功能的多媒體關係數據庫管理系統,支持包括Linux在內的一系列平台。
Oracle
Oracle 前身叫SDL,由Larry Ellison 和另兩個編程人員在1977創辦,他們開發了自己的拳頭產品,在市場上大量銷售,1979 年,Oracle公司引入了第一個商用SQL 關係數據庫管理系統。Oracle公司是最早開發關係數據庫的廠商之一,其產品支持最廣泛的操作系統平台。目前Oracle關係數據庫產品的市場佔有率名列前茅。
Informix
Informix在1980年成立,目的是為Unix等開放操作系統提供專業的關係型數據庫產品。公司的名稱Informix便是取自Information 和Unix的結合。Informix第一個真正支持SQL語言的關係數據庫產品是Informix SE(StandardEngine)。InformixSE是在當時的微機Unix環境下主要的數據庫產品。它也是第一個被移植到Linux上的商業數據庫產品。
Sybase
Sybase公司成立於1984年,公司名稱“Sybase”取自“system”和“database” 相結合的含義。Sybase公司的創始人之一Bob Epstein 是Ingres 大學版(與System/R同時期的關係數據庫模型產品)的主要設計人員。公司的第一個關係數據庫產品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 數據庫體系結構的思想,並率先在Sybase SQLServer 中實現。
SQL Server
1987 年,微軟和IBM合作開發完成OS/2,IBM 在其銷售的OS/2 ExtendedEdition 系統中綁定了OS/2Database Manager,而微軟產品線中尚缺少數據庫產品。為此,微軟將目光投向Sybase,同Sybase 簽訂了合作協議,使用Sybase的技術開發基於OS/2平台的關係型數據庫。1989年,微軟發佈了SQL Server 1.0 版。
PostgreSQL
PostgreSQL 是一種特性非常齊全的自由軟件的對象——關係性數據庫管理系統(ORDBMS),它的很多特性是當今許多商業數據庫的前身。PostgreSQL最早開始於BSD的Ingres項目。PostgreSQL 的特性覆蓋了SQL-2/SQL-92和SQL-3。首先,它包括了可以説是目前世界上最豐富的數據類型的支持;其次,目前PostgreSQL 是唯一支持事務子查詢、多版本並行控制系統、數據完整性檢查等特性的唯一的一種自由軟件的數據庫管理系統.
mySQL
mySQL是一個小型關係型數據庫管理系統,開發者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫
Access
美國Microsoft公司於1994年推出的微機數據庫管理系統。它具有界面友好、易學易用、開發簡單、接口靈活等特點,是典型的新一代桌面數據庫管理系統。其主要特點如下:
(1)完善地管理各種數據庫對象,具有強大的數據組織、用户管理、安全檢查等功能。
(2)強大的數據處理功能,在一個工作組級別的網絡環境中,使用Access開發的多用户數據庫管理系統具有傳統的XBASE(DBASE、FoxBASE的統稱)數據庫系統所無法實現的客户服務器(Cient/Server)結構和相應的數據庫安全機制,Access具備了許多先進的大型數據庫管理系統所具備的特徵,如事務處理/出錯回滾能力等。
(3)可以方便地生成各種數據對象,利用存儲的數據建立窗體和報表,可視性好。
(4)作為Office套件的一部分,可以與Office集成,實現無縫連接。
(5)能夠利用Web檢索和發佈數據,實現與Internet的連接。 Access主要適用於中小型應用系統,或作為客户機/服務器系統中的客户端數據庫。
SQLite
SQLite是遵守ACID的關聯式資料庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。不像常見的客户端/服務器結構範例,SQLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成為它的一個主要部分。所以主要的通信協議是在編程語言內的直接API調用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個數據庫(定義、表、索引和數據本身)都在宿主主機上存儲在一個單一的文件中。它的簡單的設計是通過在開始一個事務的時候鎖定整個數據文件而完成的。
FoxPro
最初由美國Fox公司1988年推出,1992年Fox公司被Microsoft公司收購後,相繼推出了FoxPro2.5、2.6和VisualFoxPro等版本,其功能和性能有了較大的提高。 FoxPro2.5、2.6分為DOS和Windows兩種版本,分別運行於DOS和Windows環境下。FoxPro比FoxBASE在功能和性能上又有了很大的改進,主要是引入了窗口、按紐、列表框和文本框等控件,進一步提高了系統的開發能力。

數據庫腳本注意事項

如果其他用户可以修改設計時驗證數據庫的實例,則他們可能添加或更改將在生成腳本中結束的對象。生成輸出將生成這些對象(例如,DDL 觸發器),而且這些對象將在數據庫部署者的上下文中運行。這些對象不一定出現在“解決方案資源管理器”或“架構視圖”中。當您將數據庫項目與所部署的數據庫進行比較時,“架構比較”功能將檢測不到任何區別,因為設計時驗證數據庫中也包含這些對象。
要儘可能降低數據庫的風險,應注意以下兩點:
1、不要與其他用户共享設計時驗證數據庫的實例。
2、在部署生成數據庫腳本之前對它們進行檢查。