當前位置:成語大全網 - 書法字典 - (急~ ~)基於SQL、ASP和Dreamweaver的論文外文翻譯

(急~ ~)基於SQL、ASP和Dreamweaver的論文外文翻譯

SQL(有時擴展為結構化查詢語言)是壹種計算機語言,用於從關系數據庫管理系統中創建、檢索、更新和刪除數據。SQL已經被ANSI和ISO標準化了。

SQL通常被稱為ess-cue-el (IPA: [?s?kju?l]),或者像續作這個詞(IPA: [?是嗎?kw?l])。SQL按照ANSI的官方發音是ess-cue-el。然而,每壹個包含字母SQL的主要數據庫產品(或項目)都有自己的約定:MySQL的官方通常讀作“My Ess Cue El”;PostgreSQL方便地發音為postgres(PostgreSQL的前身的名稱);Microsoft SQL Server通常被稱為Microsoft-sequel-server。

歷史

Edgar F. Codd博士撰寫的壹篇有影響力的論文《大型共享數據庫的數據關系模型》於6月1970日發表在計算機械協會(ACM)期刊《ACM通訊》上,盡管其草稿在1969年在IBM內部傳閱。Codd的模型被廣泛接受為關系數據庫管理系統(RDBMS或RDMS)的最終模型。

在1970年代,IBM聖何塞研究中心的壹個小組基於Codd的模型開發了壹個數據庫系統“System R”。結構化英語查詢語言(“SEQUEL”)旨在操作和檢索存儲在系統r中的數據。縮寫SEQUEL後來被濃縮為SQL,因為單詞“SEQUEL”被英國的Hawker Siddeley aircraft company作為商標持有。【需要引用】雖然SQL受到了Codd工作的影響,但是IBM的Donald D. Chamberlin和Raymond F. Boyce是《語言設計續集》的作者。他們的概念被發表以增加對SQL的興趣。

第壹個非商業、關系、非SQL數據庫Ingres是在加州大學伯克利分校1974開發的。

在1978中,系統測試在客戶測試點開始。證明了系統的有用性和實用性,這次測試對IBM來說是成功的。於是,IBM開始基於他們實現SQL的System R原型開發商業產品,包括System/38(1978年發布,1979年8月商用)、SQL/DS(1981年推出)、DB2(1983年)。

與此同時,Relational Software公司(現在的Oracle公司)看到了Chamberlin和Boyce所描述的概念的潛力,並為海軍、CIA和其他機構開發了他們自己版本的RDBMS。1979年夏天,Relational Software,Inc .為VAX計算機推出了Oracle V2(第2版),作為第壹個商用SQL實現。甲骨文V2公司比IBM提前幾周向市場發布了System/38。

標準化

SQL在1986被ANSI(美國國家標準協會)采用為標準,在1987被ISO(國際標準化組織)采用為標準。但是,自從1996中的NIST數據管理標準計劃解散後,就沒有符合SQL標準的認證,因此必須依靠供應商進行自我認證。

SQL標準不是免費提供的。SQL:2003和SQL:2006可以從ISO或ANSI購買。SQL:2003的最新草案可以從Whitemarsh信息系統公司獲得。zip存檔包含許多PDF文件,這些文件定義了SQL:2003規範的各個部分。

範圍

SQL是為特定目的而設計的:查詢關系數據庫中包含的數據。SQL是壹種基於集合的聲明式編程語言,而不是C或BASIC等命令式語言。

語言擴展,如Oracle公司的PL/SQL,通過添加過程元素,如控制流結構,在壹定程度上彌合了這壹差距。另壹種方法是允許編程語言代碼嵌入數據庫並與數據庫交互。例如,Oracle和其他公司在數據庫中包含Java,而SQL Server 2005允許任何。NET語言托管在數據庫服務器進程中,而PostgreSQL允許用多種語言編寫函數,包括Perl、Tcl和c。

存在標準的擴展和變化。商業實現通常忽略對標準基本特性的支持,比如日期或時間數據類型,而更喜歡自己的變體。與ANSI C或ANSI Fortran相比,SQL代碼很少能在不進行重大修改的情況下在數據庫系統之間移植,而ANSI C或ANSI Fortran通常可以在不進行重大結構更改的情況下在平臺之間移植。

PL/SQL、IBM的SQL PL (SQL過程語言)和Sybase / Microsoft的Transact-SQL具有專有性質,因為它們提供的過程編程語言是非標準化的。

缺乏可移植性的原因

數據庫系統之間缺乏可移植性有幾個原因:

SQL標準的復雜性和規模意味著大多數數據庫不能實現整個標準。

*該標準沒有在幾個重要領域(如索引)指定數據庫行為,而是由數據庫的實現來決定如何行為。

SQL標準精確地規定了符合標準的數據庫系統必須實現的語法。然而,該標準對語言結構的語義的規範沒有很好地定義,導致了壹些模糊的地方。

*許多數據庫供應商擁有龐大的現有客戶群;當SQL標準與供應商數據庫的先前行為沖突時,供應商可能不願意打破向後兼容性。

SQL關鍵字

問題

SQL數據庫中最常見的操作是查詢,用SELECT關鍵字表示。SQL SELECT查詢是聲明性的:

* SELECT從數據庫的表中檢索數據。雖然經常與數據操作語言語句組合在壹起,但許多人認為SELECT與SQL DML是分開的。選擇查詢允許用戶指定所需結果集的描述,但它留給數據庫管理系統(DBMS)的設備來規劃、優化和執行產生該結果集所必需的物理操作。SQL查詢包括壹個列的列表,該列表包含在最終結果im中,緊跟在SELECT關鍵字之後。星號(“*”)也可以用作“通配符”指示符,以指定將返回壹個表(或多個表)的所有可用列。SELECT是SQL中最復雜的語句,有幾個可選的關鍵字和子句:

o FROM子句指示從中提取數據的源表。FROM子句可以包含可選的JOIN子句,以便將相關的表相互連接起來。

WHERE子句包含壹個比較謂詞,用於縮小結果集的範圍。WHERE子句從結果集中刪除比較謂詞計算結果不為True的所有行。

GROUP BY子句用於將具有相關值的行組合成壹個較小的行集的元素。

HAVING子句用於確定要檢索哪些“組合行”(當查詢包含GROUP BY子句或當選擇部分包含聚合時,會生成組合行)。HAVING的行為很像WHERE,但是它對GROUP by的結果進行操作,並且可以包含聚合函數。

ORDER BY子句用於確定哪些列用於對結果數據進行排序。除非包含ORDER BY子句,否則SELECT返回的行的順序永遠無法保證。

數據檢索經常與數據投影結合在壹起;通常,用戶尋找的不是原始數據類型中存儲的逐字數據,也不是編寫查詢所要服務的。通常,數據需要以不同於其存儲方式的方式來表達。SQL允許選擇列表中包含各種公式來投影數據。

示例1:

從書籍中選擇*

其中價格& gt100.00

按標題排序

這是壹個可以用來獲取昂貴書籍列表的例子。它從books表中檢索價格字段大於100.00的記錄。結果按書名的字母順序排序。星號(*)表示顯示books表的所有列。或者,可以命名特定的列。

示例2:

選擇books.title,count(*)作為作者

從書上

加入圖書_作者

ON books . book _ number = book _ authors . book _ number

按書籍分組。標題

也可以寫成

選擇標題,按作者計數(*)

來自圖書自然加入圖書_作者

按標題分組

前提是book_number是兩個表的唯壹公共列名,並且名為title的列只存在於books中。

示例2展示了在壹個連接中使用多個表,以及聚合(分組)。這個例子顯示了每本書有多少作者。示例輸出可能類似於:

標題作者

- -

SQL示例和指南3

SQL 1的快樂

如何使用維基百科2

SQL 1的陷阱

SQL如何拯救我的狗1

數據操作

首先,有標準數據操作語言(DML)元素。DML是用於添加、更新和刪除數據的語言的子集:

* INSERT用於將行(形式上為元組)添加到現有表中。

* UPDATE用於修改壹組現有表行的值。

* MERGE用於合並多個表的數據。它是插入和更新元素的組合。它是在SQL:2003標準中定義的;在此之前,壹些數據庫通過不同的語法提供類似的功能,有時稱為“upsert”。

* DELETE從表中刪除零個或多個現有行。

插入示例:

插入my_table (field1,field2,field3)值(' test ',' N ',NULL);

更新示例:

UPDATE my_table集合field1 = 'updated value '其中field2 = ' N

刪除示例:

從my_table中刪除,其中field2 = ' N

交易控制

事務(如果可用)可用於包裝DML操作:

* BEGIN WORK(或START TRANSACTION,取決於SQL方言)可用於標記數據庫事務的開始,該事務要麽完全完成,要麽根本不完成。

* COMMIT使事務中的所有數據更改永久化。

*回滾會導致放棄自上次提交或回滾以來的所有數據更改,因此數據狀態會“回滾”到請求這些更改之前的狀態。

提交和回滾與事務控制和鎖定等領域進行交互。嚴格地說,兩者都終止任何打開的事務並釋放數據上持有的任何鎖。在缺少BEGIN WORK或類似語句的情況下,SQL的語義依賴於實現。

示例:

開始工作;

更新庫存集數量=數量- 3,其中項目=“褲子”;

提交;

數據定義

第二組關鍵字是數據定義語言(DDL)。DDL允許用戶定義新的表和相關的元素。大多數商業SQL數據庫在其DDL中都有專有的擴展,允許控制數據庫系統的非標準特性。DDL最基本的項目是創建、更改、重命名、截斷和刪除命令:

* CREATE導致在數據庫中創建壹個對象(例如,壹個表)。

* DROP導致數據庫中的現有對象被刪除,通常是不可恢復的。

* TRUNCATE刪除表中的所有數據(非標準但常見的SQL命令)。

* ALTER命令允許用戶以各種方式修改現有對象,例如,向現有表中添加列。

示例:

創建表my_table(

my_field1 INT,

my_field2 VARCHAR (50),

my_field3日期不為空,

主鍵(我的字段1,我的字段2)

);

數據控制

第三組SQL關鍵字是數據控制語言(DCL)。DCL處理數據的授權方面,並允許用戶控制誰有權查看或操作數據庫中的數據。它的兩個主要關鍵詞是:

同意

授權壹個或多個用戶對壹個對象執行壹項或壹組操作。

取消

刪除或限制用戶執行壹項或壹組操作的能力。

示例:

將my_table上的SELECT,UPDATE授予某個_user,另壹個_user。

其他的

* ANSI-standard SQL支持雙破折號,-,作為單行註釋標識符(某些擴展還支持花括號或C-style /* comments */用於多行註釋)。

示例:

SELECT * FROM inventory -從清單表中檢索所有內容

*壹些SQL服務器允許用戶定義函數

對SQL的批評

從技術上講,SQL是壹種用於“SQL數據庫”的聲明性計算機語言。理論家和壹些實踐者註意到,許多最初的SQL特性受到了數據庫管理的關系模型及其元組演算實現的啟發,但卻違反了它們。最近對SQL的擴展實現了關系完整性,但也惡化了違規情況,如第三個宣言所述。

此外,還有壹些關於SQL實際使用的批評:

*不同供應商之間的實現不壹致,通常也不兼容。具體來說,日期和時間語法、字符串連接、空值和區分大小寫通常因供應商而異。

*這種語言使得笛卡爾連接(連接所有可能的組合)變得太容易了,當WHERE子句鍵入錯誤時,會導致“失控”的結果集。笛卡爾連接在實踐中很少使用,因此可能需要壹個顯式的笛卡爾關鍵字。

*也有可能在更新或刪除時錯誤構造WHERE,從而影響表中比預期更多的行。

* SQL——及其現有的關系模型——沒有提供處理樹結構的標準方法,即行遞歸引用同壹表的其他行。Oracle提供了壹個“CONNECT BY”子句,Microsoft通過公共表表達式提供了遞歸連接,其他解決方案是使用遞歸並返回行集的數據庫函數,可能在PostgreSQL中使用PL/PgSQL。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Active Server Pages (ASP)是微軟用於動態生成網頁的服務器端腳本引擎。它是作為互聯網信息服務(IIS)的壹個附件上市的。各種內置對象使ASP網站的編程變得更加容易。每個對象對應於壹組用於創建動態網頁的常用功能。在ASP 2.0中有六個這樣的內置對象:應用程序、錯誤、請求、響應、服務器和會話。例如,Session是壹個基於cookie的會話對象,它維護頁面之間的變量。

大多數ASP頁面都是用VBScript編寫的,但是也可以使用@Language指令或& ltscript language = " language " runat = " server " & gt;語法。JScript(微軟的ECMAScript實現)是另壹種通常可用的語言。PerlScript(Perl的衍生物)和其他壹些可作為第三方可安裝的活動腳本引擎。

InstantASP和ChiliASP是在沒有Windows操作系統的情況下運行ASP的技術。在WWW上有壹些大型的開源社區,比如ASPNuke,他們生產ASP腳本、組件和應用程序,在某些許可條款下可以免費使用。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Adobe Dreamweaver,或簡稱Dreamweaver,是壹種web開發工具,最初由Macromedia創建。該應用程序的最初版本是作為簡單的WYSIWYG HTML編輯器使用的,但是最近的版本加入了對許多其他web技術的顯著支持,如CSS、JavaScript和各種服務器端腳本框架。該軟件可用於Mac和Windows平臺,但也可以通過使用Wine等仿真軟件在類Unix平臺上運行。Dreamweaver目前由Adobe Systems所有,該公司於2005年收購了Macromedia。

內容

特征

作為壹個所見即所得的編輯器,Dreamweaver可以對用戶隱藏pages的HTML代碼的細節,這使得非編碼人員可以創建網頁和網站。對這種方法的壹個專業批評是,它產生的HTML頁面的文件大小和HTML代碼量比它們應該有的要大得多,這會導致web瀏覽器性能很差。這壹點尤其正確,因為應用程序使得創建基於表格的布局變得非常容易。此外,壹些網站開發人員過去曾批評Dreamweaver生成的代碼經常不符合W3C標準,盡管這在最近的版本中有了很大的改進。Dreamweaver 8.0(CS3中最近發布的9.0之前的版本)在由Web標準項目開發的Acid2測試中表現不佳。但是,Macromedia在應用程序的後續版本中增加了對CSS和其他方式的支持,可以在沒有表格的情況下布局頁面,並且能夠將表格轉換為層,反之亦然。

Adobe Dreamweaver CS3

Adobe Dreamweaver CS3

Dreamweaver允許用戶在許多瀏覽器中預覽網站,前提是這些瀏覽器安裝在他們的計算機上。它還具有壹些站點管理工具,例如能夠通過整個站點中指定的任何參數來查找和替換文本或代碼行,以及用於創建具有相似結構的多個頁面的模板化功能。“行為”面板還支持在沒有任何編碼知識的情況下使用基本的JavaScript。

隨著MX版的出現,Macromedia將動態內容創建工具合並到Dreamweaver中。本著HTML WYSIWYG工具的精神,它允許用戶連接到數據庫(如MySQL和Microsoft Access),使用腳本技術(如Active Server Pages (ASP)、ASP.NET、ColdFusion、JavaServer Pages (JSP)、PHP等)過濾和顯示內容,而無需任何編程經驗。Dreamweaver 8.0還支持WYSIWYG XSLT編輯。web數據庫應用程序開發的替代解決方案是Alpha Five和FileMaker。

Dreamweaver可以使用“擴展”——任何web開發人員都可以編寫的小程序(通常是HTML和JavaScript)。擴展為想要下載和安裝它們的人提供了軟件的附加功能。Dreamweaver得到了壹個龐大的擴展開發人員社區的支持,他們為大多數web開發任務提供擴展(包括商業和免費的),從簡單的翻轉效果到全功能的購物車。