計算機導(dǎo)論 課件 第11章 數(shù)據(jù)庫_第1頁
計算機導(dǎo)論 課件 第11章 數(shù)據(jù)庫_第2頁
計算機導(dǎo)論 課件 第11章 數(shù)據(jù)庫_第3頁
計算機導(dǎo)論 課件 第11章 數(shù)據(jù)庫_第4頁
計算機導(dǎo)論 課件 第11章 數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第11章數(shù)據(jù)庫主要內(nèi)容文件和數(shù)據(jù)庫概念數(shù)據(jù)管理工具數(shù)據(jù)庫設(shè)計SQL云數(shù)據(jù)庫大數(shù)據(jù)文件和數(shù)據(jù)庫概念數(shù)據(jù)庫(Database)是數(shù)據(jù)的集合,數(shù)據(jù)庫中的數(shù)據(jù)能夠按照特定的數(shù)據(jù)結(jié)構(gòu)存儲,能對多個用戶共享,具有盡可能小的冗余度,且與應(yīng)用程序彼此獨立。利用數(shù)據(jù)庫可以完成以下任務(wù):收集數(shù)據(jù)存儲數(shù)據(jù)更新數(shù)據(jù)整理數(shù)據(jù)查找數(shù)據(jù)生成和傳播數(shù)據(jù)分析數(shù)據(jù)數(shù)據(jù)庫層次數(shù)據(jù)庫可以分為三個層次,不同類型的用戶接觸的層次不盡相同:物理層。物理層是數(shù)據(jù)庫最底層的抽象,它描述了數(shù)據(jù)是怎樣在物理介質(zhì)上存儲的。通常只有數(shù)據(jù)庫的研究人員才會接觸數(shù)據(jù)庫的物理層。邏輯層。邏輯層是比物理層的層次稍高的抽象。它描述了數(shù)據(jù)條目存儲的內(nèi)容及數(shù)據(jù)之間的關(guān)系。數(shù)據(jù)庫的管理者使用邏輯層進行管理。視圖層。視圖層是最高層次的抽象,只關(guān)注于數(shù)據(jù)庫的某一部分。絕大部分?jǐn)?shù)據(jù)庫用戶接觸到的是視圖層。數(shù)據(jù)庫常用詞匯字段。字段是數(shù)據(jù)庫的基本組成元素,存放著屬于同一類的信息。例如在iTunes播放列表中,名稱字段存儲的是歌曲的名稱,時間字段存儲的是歌曲的時長等。字段又分變長字段和定長字段。其中變長字段的長度可以根據(jù)輸入數(shù)據(jù)的長度動態(tài)分配,只要不超過預(yù)設(shè)的最大值。定長字段則會分配固定大小的空間,即使數(shù)據(jù)很小,也會占用掉整個空間。數(shù)據(jù)庫常用詞匯iTunes播放列表中的字段數(shù)據(jù)庫常用詞匯記錄。記錄是一組字段的集合,代表著一條信息。例如在iTunes播放列表中,每一首歌曲對應(yīng)著一條記錄,每條記錄都包含該歌曲的名稱、時間、播放次數(shù)等信息。記錄類型。記錄類型是記錄模板即字段名的集合,記錄類型不包含具體的數(shù)據(jù)。實體。實體是所有同類物品或生物的集合。每一個實體都對應(yīng)著一個記錄類型,例如,歌曲這個實體對應(yīng)著名稱、時間、播放次數(shù)的記錄類型。數(shù)據(jù)庫常用詞匯關(guān)系。關(guān)系是指不同記錄類型之間的聯(lián)系。例如,零售商出售的商品ID必須在該商品生產(chǎn)者記錄的商品ID列表里,否則該商品就有可能是偽造產(chǎn)品,這便是一種關(guān)系?;鶖?shù)。基數(shù)是指兩個記錄類型間可能存在的聯(lián)系的個數(shù)。例如:對特定種類產(chǎn)品只能由一個廠商生產(chǎn),而一個廠商卻可以生產(chǎn)多種產(chǎn)品,這是一對多關(guān)系。多對多關(guān)系如廠商和超市的貨物供應(yīng),超市可以選擇多個廠商的貨物,廠商也可以供給超市多種貨物。一對一關(guān)系如專輯和其描述的關(guān)系,一個專輯只允許有一個描述,而一個描述也只適用于一個專輯,一對一關(guān)系在數(shù)據(jù)庫中很少見。ER圖實體關(guān)系圖(EntityRelationshipDiagram,簡稱ER圖)常用來表示實體間的關(guān)系與基數(shù)數(shù)據(jù)庫的分類數(shù)據(jù)庫系統(tǒng)可以用不同方式來分類,包括數(shù)據(jù)庫所支持的用戶數(shù)量、數(shù)據(jù)庫的層數(shù)、數(shù)據(jù)庫所處環(huán)境等。常用的數(shù)據(jù)庫分類有:單用戶數(shù)據(jù)庫系統(tǒng)與多用戶數(shù)據(jù)庫系統(tǒng)客戶端—服務(wù)器數(shù)據(jù)庫系統(tǒng)與N層數(shù)據(jù)庫系統(tǒng)集中式和分布式數(shù)據(jù)庫系統(tǒng)基于磁盤的和在內(nèi)存中的數(shù)據(jù)庫系統(tǒng)操作型數(shù)據(jù)庫和分析型數(shù)據(jù)庫數(shù)據(jù)庫模型數(shù)據(jù)庫模型描述了數(shù)據(jù)在數(shù)據(jù)庫中的存儲結(jié)構(gòu)與表現(xiàn)方式。數(shù)據(jù)庫模型可以分為以下幾種:平面文件層次數(shù)據(jù)庫網(wǎng)狀數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫維度數(shù)據(jù)庫對象數(shù)據(jù)庫對象-關(guān)系數(shù)據(jù)庫文檔數(shù)據(jù)庫圖形數(shù)據(jù)庫平面文件平面文件處于數(shù)據(jù)庫定義的邊緣,因為它簡單到無法在記錄間建立關(guān)系。iTunes播放列表就是一個平面文件,常見的平面文件還有電子表格、電子郵件地址簿等。用戶可以對平面文件進行增、刪、改、查,但無法指定記錄間的關(guān)系。除了平面文件外,其他的數(shù)據(jù)庫模型都允許建立關(guān)系。層次數(shù)據(jù)庫層次數(shù)據(jù)庫使用樹形結(jié)構(gòu)來描述關(guān)系,由于“樹”的限制,只能定義一對一或一對多的關(guān)系,無法定義多對多關(guān)系。常見的層次數(shù)據(jù)庫如Windows的注冊表。層次數(shù)據(jù)庫現(xiàn)今已很少被使用。網(wǎng)狀數(shù)據(jù)庫網(wǎng)狀數(shù)據(jù)庫在樹的基礎(chǔ)上將其擴成了網(wǎng)狀結(jié)構(gòu),從而可以表現(xiàn)多對多關(guān)系。目前除了DNS系統(tǒng)等專用系統(tǒng)或應(yīng)用還在使用網(wǎng)狀數(shù)據(jù)庫,其他網(wǎng)狀數(shù)據(jù)庫都已被關(guān)系數(shù)據(jù)庫或?qū)ο髷?shù)據(jù)庫所取代。關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫是目前最常使用到的數(shù)據(jù)庫,它將存儲在一張張表格中。每個表格代表一個實體,表格中每行代表一個記錄,每列代表一個字段。而關(guān)系是通過將不同表中的相同字段聯(lián)系起來而指定的。維度數(shù)據(jù)庫維度數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫的一種擴展,關(guān)系數(shù)據(jù)庫采用的是二維的表格,而維度數(shù)據(jù)庫采用了三維或更多維的“數(shù)據(jù)空間”來描述數(shù)據(jù)或關(guān)系,因此維度數(shù)據(jù)庫也稱多維數(shù)據(jù)庫。維度數(shù)據(jù)庫可以更形象地表現(xiàn)數(shù)據(jù),但使用和維護維度數(shù)據(jù)庫需要更多的專業(yè)技術(shù)。對象數(shù)據(jù)庫對象數(shù)據(jù)庫也叫面向?qū)ο髷?shù)據(jù)庫,它將實體抽象為類,將字段抽象為屬性,將數(shù)據(jù)存儲為對象的形式,并定義出方法——對象能執(zhí)行的行為。對象數(shù)據(jù)庫適合表示屬性差別極小的不同類對象——只需設(shè)置一個父類存放它們的共有屬性,再設(shè)置相應(yīng)數(shù)目的派生類存放各自的特有屬性,并繼承父類即可。對象數(shù)據(jù)庫是一種正在發(fā)展的數(shù)據(jù)庫,它能夠更好地表現(xiàn)日常生活中的實體和關(guān)系。對象-關(guān)系數(shù)據(jù)庫對象-關(guān)系數(shù)據(jù)庫將關(guān)系數(shù)據(jù)庫和對象數(shù)據(jù)庫的特征相結(jié)合。數(shù)據(jù)像傳統(tǒng)的關(guān)系數(shù)據(jù)庫一樣存儲在表格中,但增加了對象數(shù)據(jù)庫的功能——可以擴充自定義的數(shù)據(jù)類型和操作,支持復(fù)雜對象的查詢,以及支持繼承的概念。文檔數(shù)據(jù)庫面向文檔的數(shù)據(jù)庫可以存儲非結(jié)構(gòu)化的數(shù)據(jù),如講演的原話或雜志的文章。由于文章具有可變的長度和結(jié)構(gòu),因此不需要將數(shù)據(jù)塑造成適應(yīng)數(shù)據(jù)庫的結(jié)果。文檔數(shù)據(jù)庫可按照這樣的方式來創(chuàng)建,即將類似于HTML的結(jié)構(gòu)化標(biāo)記插入到文檔自身。格式化文檔數(shù)據(jù)庫的兩種常用的方式是使用XML和JSON,相對而言,XML更靈活。圖形數(shù)據(jù)庫圖形數(shù)據(jù)庫包含節(jié)點、邊和特性。圖形數(shù)據(jù)庫是NoSQL數(shù)據(jù)庫的一種類型,是一種非關(guān)系型數(shù)據(jù)庫,它應(yīng)用圖形理論存儲實體之間的關(guān)系信息。關(guān)系型數(shù)據(jù)庫用于存儲“關(guān)系型”數(shù)據(jù)的效果并不好,其查詢復(fù)雜、緩慢、超出預(yù)期,而圖形數(shù)據(jù)庫的獨特設(shè)計恰恰彌補了這個缺陷。數(shù)據(jù)管理工具常用的數(shù)據(jù)管理工具如:數(shù)據(jù)管理軟件數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)管理軟件是最簡單的數(shù)據(jù)管理工具,它可以創(chuàng)建并維護平面文件,但不能在記錄間建立關(guān)系,也沒有足夠能力維護企業(yè)所需的大量數(shù)據(jù)。常見的數(shù)據(jù)管理軟件如MicrosoftWord和MicrosoftExcel,它們都提供了創(chuàng)建與管理表格的工具。數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是專業(yè)的數(shù)據(jù)管理工具,是專門用來管理數(shù)據(jù)庫中數(shù)據(jù)的軟件。數(shù)據(jù)庫管理系統(tǒng)具有良好的數(shù)據(jù)獨立性——即DBMS只負(fù)責(zé)數(shù)據(jù),而程序需要通過編程語言向DBMS申請以獲取數(shù)據(jù)。數(shù)據(jù)庫管理系統(tǒng)支持網(wǎng)絡(luò)訪問,可以管理數(shù)十億條的記錄,并支持每秒數(shù)百次甚至上千次的并發(fā)事務(wù)處理。DBMS≠DB數(shù)據(jù)庫管理系統(tǒng)DBMS可以分為很多種,每一種都專用于某一數(shù)據(jù)庫模型,但也有一些DBMS可以同時處理多種數(shù)據(jù)庫模型:XMLDBMS,用于處理XML格式的數(shù)據(jù)。對象數(shù)據(jù)庫管理系統(tǒng)(ObjectDBMS,簡稱ODBMS),用于處理對象數(shù)據(jù)庫模型。關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RelationalDBMS,簡稱RDBMS),用于處理關(guān)系數(shù)據(jù)庫模型,是時下最流行的數(shù)據(jù)庫管理系統(tǒng)。在商業(yè)領(lǐng)域最常用的RDBMS如Oracle、MicrosoftSQLServer、MySQL等,個人用戶則可以考慮使用MicrosoftAccess。數(shù)據(jù)庫管理系統(tǒng)關(guān)系數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫和Web數(shù)據(jù)庫是可以通過Web訪問的,但它的訪問方式非?!半[秘”,以至于大多數(shù)Web用戶甚至發(fā)覺不到信息是由數(shù)據(jù)庫生成的。例如,網(wǎng)上商城商品的價格、圖片和描述其實都是來自數(shù)據(jù)庫,并經(jīng)由一定的處理生成的;12306網(wǎng)站上的列車時刻表也是源于數(shù)據(jù)庫??梢酝ㄟ^靜態(tài)或動態(tài)發(fā)布的方式將數(shù)據(jù)庫中的內(nèi)容提供到Web上。靜態(tài)Web發(fā)布是將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成HTML文檔,從而提供訪問,其實質(zhì)是生成了一個數(shù)據(jù)庫的“快照”。Web用戶只可以對此HTML文檔進行查看或搜素,而不能更改數(shù)據(jù)庫中的內(nèi)容。數(shù)據(jù)庫和Web如果要通過Web對數(shù)據(jù)庫中的數(shù)據(jù)進行修改,或進行定制性的查看(如網(wǎng)上商城的“猜你喜歡”功能),則需要借助動態(tài)Web發(fā)布。動態(tài)Web發(fā)布依靠服務(wù)器端腳本在用戶瀏覽器和DBMS間建立連接。服務(wù)器端腳本可以用PHP、Ruby、Python、ASP等語言進行編寫。操作系統(tǒng)、Web服務(wù)器軟件、數(shù)據(jù)庫管理系統(tǒng)和服務(wù)器端腳本共同組成了Web服務(wù)器框架。數(shù)據(jù)庫和Web用戶通過網(wǎng)頁提交的記錄其實都是表單的形式,在HTML語言中就是<form>標(biāo)簽下的內(nèi)容,<form>標(biāo)簽會指定提交方式和提交到服務(wù)器端腳本的文件名。用戶提交后,<form>標(biāo)簽中的內(nèi)容就會提交到對應(yīng)腳本進行處理,腳本處理完畢后再將結(jié)果以HTML文檔的方式返回給用戶。XMLXML(ExtensibleMarkupLanguage,可擴展標(biāo)記語言)是對HTML語言的擴展與補充。它與HTML語言在語法上的區(qū)別是:HTML中并不是所有標(biāo)簽都成對出現(xiàn),而XML要求所有標(biāo)簽必須成對出現(xiàn);HTML的標(biāo)簽不區(qū)分大小寫,而XML標(biāo)簽區(qū)分大小寫。XML支持自定義的標(biāo)簽,如<author>標(biāo)簽可以標(biāo)記作者,<from>標(biāo)簽可以標(biāo)記來源。HTML和XML是為不同的目的而設(shè)計的。HTML被設(shè)計用來顯示數(shù)據(jù),關(guān)注于數(shù)據(jù)的外觀;而XML被設(shè)計為傳輸和存儲數(shù)據(jù),關(guān)注于數(shù)據(jù)的內(nèi)容。XML可以理解為,XML僅僅是純文本,XML文件不會做任何事情,但應(yīng)用程序卻可以利用XML文件的易讀性和標(biāo)記性有針對性地處理XML文件。例如,應(yīng)用程序可以直接搜索<author>標(biāo)簽找到該文件的作者,而無需借助人工查詢。XML文件可以用瀏覽器或任何的文字處理軟件打開。XMLXML和數(shù)據(jù)庫都可以用來存儲數(shù)據(jù)。XML可在多個平臺上訪問,占用資源更少,操作更方便,但對復(fù)雜的操作如排序、更新支持不是很好,且在數(shù)據(jù)量增大時,查看與搜索的壓力也會增大,所以XML文件通常用于存儲程序的配置,而程序所用到的數(shù)據(jù)還是要用數(shù)據(jù)庫存儲。XML提供了服務(wù)器和瀏覽器通過Web交換數(shù)據(jù)的方式,一些RDBMS可以接受XML形式的查詢并將結(jié)果到處到XML文件,同Web發(fā)送到用戶瀏覽器。數(shù)據(jù)庫設(shè)計在設(shè)計數(shù)據(jù)庫及相關(guān)系統(tǒng)時,常常需要考慮如下內(nèi)容:定義字段組織記錄設(shè)計界面設(shè)計報表模板載入數(shù)據(jù)定義字段構(gòu)建關(guān)系數(shù)據(jù)庫的第一步是定義字段,即明確數(shù)據(jù)庫中要存放什么數(shù)據(jù)。例如,如果要構(gòu)建一個音樂數(shù)據(jù)庫,那么可能的字段有歌曲名、專輯名、作者、時長、描述等等。定義字段前,首先要明確如何組織數(shù)據(jù),例如,用戶的姓名是存放在一個字段里還是分成姓和名存放在兩個字段里。數(shù)據(jù)庫通常需要保證一張表里的任意兩條記錄都是互不相同的,因此需要將一個字段設(shè)置成主鍵(primarykey),主鍵字段中的數(shù)據(jù)不允許重復(fù),即可保證記錄是不重復(fù)的。定義字段字段可以存放的數(shù)據(jù)取決于它的數(shù)據(jù)類型,不同DBMS有不同的數(shù)據(jù)類型,但大體可分為以下幾類:整型數(shù)據(jù)類型(int或integer)浮點數(shù)據(jù)類型(real、float、decimal、numeric)字符數(shù)據(jù)類型(char、varchar)日期和時間數(shù)據(jù)類型(datetime)文本和圖形數(shù)據(jù)類型(text、image)貨幣數(shù)據(jù)類型(money)位數(shù)據(jù)類型(bit)二進制數(shù)據(jù)類型(binary、varbinary)定義字段數(shù)據(jù)庫提供了進行數(shù)據(jù)檢查的工具,以防用戶輸入不合法的數(shù)據(jù)。不合法的數(shù)據(jù)包括:數(shù)據(jù)類型不符數(shù)據(jù)值不符數(shù)據(jù)庫管理員還可以指定字段樣式,以便輸入數(shù)據(jù)時添加為自動的格式。如何將字段編組為表也需要一定的技巧。原則之一是“一事一表”,這樣可以減少數(shù)據(jù)冗余。組織記錄對于同一張表,不同的數(shù)據(jù)庫用戶關(guān)注的重點可能不同。例如,倉庫管理員會關(guān)注商品的庫存排序情況,而營銷人員可能更關(guān)注商品的價格排序情況。這就需要數(shù)據(jù)庫去組織記錄,數(shù)據(jù)庫組織記錄的方式可以分為排序和索引兩種。排序是對物理介質(zhì)上的數(shù)據(jù)進行重新排列,以得到有序的數(shù)據(jù)。每張表最多只能有一個排序字段,數(shù)據(jù)會按此字段在物理介質(zhì)上排序。組織記錄與排序不同,索引其實是一個鍵列表,每個鍵中都有索引排序字段的信息,并提供了一個指向?qū)?yīng)記錄的指針。索引按照索引排序字段進行排序,以達到組織記錄的效果,但索引不會改變記錄的物理存儲位置。因此一張表可以有多個索引,以對多個不同的字段進行排序。記錄表索引表商品ID價格庫存庫存商品ID10013.24352100510109.817171010100521.721581003100353.61584351001設(shè)計界面數(shù)據(jù)庫的用戶通常不是登錄DBMS后對數(shù)據(jù)進行修改,而是通過Web訪問網(wǎng)頁或通過應(yīng)用程序進行數(shù)據(jù)的創(chuàng)建與修改。數(shù)據(jù)庫的設(shè)計者或?qū)iT的工程師需要設(shè)計出一個能完整包含記錄所需字段的頁面。設(shè)計界面時常須注意:將字段按照邏輯順序排列好,字段的文本框最好對齊,而不要參差不一。為正在輸入的字段提供視覺效果,如文本框加亮等。提供必要的說明以確保輸入數(shù)據(jù)的合法性。如果字段過多,可考慮分頁或使用滾動條,而不要擠在一起。應(yīng)用合適的字體和樣式。設(shè)計報表模板報表是打印出來的或展示在屏幕上的數(shù)據(jù)庫中部分?jǐn)?shù)據(jù)或全部數(shù)據(jù)的列表。多數(shù)DBMS都包含了報表生成器,可以根據(jù)設(shè)計好的報表模板,填入數(shù)據(jù)后生成報表。一個好的報表模板應(yīng)遵循以下原則:提供且僅提供用戶所需的信息。能夠簡化用戶的手工計算。無歧義的表示信息。以用戶可以理解的方式表現(xiàn)信息。載入數(shù)據(jù)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計完成后,需要將數(shù)據(jù)載入到數(shù)據(jù)庫中。最原始的做法是手工輸入數(shù)據(jù),這可能會花費很長時間,并且不可避免地會有拼寫錯誤。如果數(shù)據(jù)是以電子的方式存在于其他數(shù)據(jù)庫或文件中,就可以使用數(shù)據(jù)庫提供的導(dǎo)入導(dǎo)出程序,或?qū)懸粋€專門的轉(zhuǎn)換程序來載入數(shù)據(jù)。載入數(shù)據(jù)DBMS會提供導(dǎo)入導(dǎo)出程序,可以將數(shù)據(jù)在不同的數(shù)據(jù)庫或文件之間進行轉(zhuǎn)換,如果導(dǎo)入導(dǎo)出程序不支持所需文件的格式,就需要寫一個專門的轉(zhuǎn)換程序。對于大量數(shù)據(jù)來說,編寫轉(zhuǎn)換程序的效率和準(zhǔn)確率依然要比手工錄入高。SQLSQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語言)是用來進行數(shù)據(jù)庫設(shè)計、查詢與管理的語言,任何對數(shù)據(jù)庫的操作都需要通過SQL語句(也稱SQL查詢)命令數(shù)據(jù)庫進行。SQL語句很像是一個英文句子,如SELECTNameFROMStudentWHERESid=‘1001’就是一個最簡單的SQL語句,它命令數(shù)據(jù)庫從Student表中找到學(xué)號為1001的學(xué)生,并返回其姓名。其中的大寫單詞如SELECT、FROM和WHERE是SQL關(guān)鍵字,數(shù)據(jù)庫通過識別關(guān)鍵字來判斷指令的類型,并執(zhí)行對應(yīng)操作。SQL關(guān)鍵字不一定是大寫的,大多數(shù)DBMS接受任意形式大小寫的關(guān)鍵字,如SELECT和select、SeLeCt的效果是一樣的。每個SQL關(guān)鍵字都有對應(yīng)的語法。關(guān)鍵字含義示例SELECT查找記錄SELECT*FROMStudentWHEREClass=’3’DELETE刪除記錄DELETEFromMusicwhereID=’7’UPDATE更新記錄UPDATEStudentSETAge=20WHERESid=‘1002’CREATE創(chuàng)建數(shù)據(jù)庫、表等CREATETableStudentINSERT插入記錄INSERTINTOStudent(Sid,Age)VALUES(‘1020’,19)常見的SQL關(guān)鍵字添加記錄SQL添加記錄的語法有如下兩種:INSERTINTO...VALUES(...),用于插入單條記錄。例如,如下的查詢表示在Student表中插入一條記錄,其中學(xué)號是1020,年齡是19。INSERTINTOStudent(Sid,Age)VALUES(‘1020’,19)INSERTINTO....(),用于同時插入多條記錄,括號中是一個子查詢,通常是一個SELECT語句。例如,如下的查詢表示從Student2表中提取出所有的學(xué)號和年齡記錄,插入到Student表中。INSERTINTOStudent(Sid,Age)(SELECTSid,AgeFROMStudent2)查詢信息通用的查詢信息的語法是SELECT...FROM...WHERE...,但其中可以應(yīng)用一些關(guān)鍵字或符號來進行更復(fù)雜的查詢,常用的關(guān)鍵字或符號有如下幾種:星號(*),表示所有信息比較符號如>,>=,=等,需要注意的是,不等于用<>表示OR和ANDBETWEEN...AND...,用于指定值的連續(xù)范圍IN,用于指定離散的數(shù)據(jù)范圍NOT,用于取反LIKE,用于字符串匹配ORDERBY,對查詢結(jié)果進行排序更新字段更新字段的通用語法是UPDATE...SET...WHERE...,可以對一條記錄或多條記錄同時進行修改。WHERE子句同樣可以應(yīng)用AND、OR、INT、BETWEEN...AND...、LIKE等關(guān)鍵字。例如,如下的查詢選出Product表中所有價格大于400的商品,并將其價格修改為400。UPDATEProductSETPrice=400WHEREPrice>400連接表使用SQL語句可以將兩個表通過共同字段連接起來,連接得到的新表中僅包含在共同字段上值相同的記錄的組合。通過連接表可以進行多表查詢,在SQL中,有兩種方法可以連接表:直接調(diào)用多張表。在SELECT...FROM...WHERE中引用多張表,并在WHERE后指明這多張表的連接原則。如:SELECT*FROMStudent,Course,SCWHEREStudent.Sid=SC.sidANDSC.cid=Course.Cid使用JOIN關(guān)鍵字,語法為SELECT...FROM...JOIN...ON...WHERE...。如:SELECT*FROMStudentJOINSCONStudent.Sid=SC.Sid云數(shù)據(jù)庫云數(shù)據(jù)庫是運行在云計算平臺中的數(shù)據(jù)庫,例如AmazonEC2、GoGrid,、Salesforce和Rackspace。云數(shù)據(jù)庫使企業(yè)能夠用更少的室內(nèi)硬件與維護花費來創(chuàng)建簡單規(guī)模的數(shù)據(jù)庫,而僅僅需要支付數(shù)據(jù)存儲和運輸?shù)馁M用。云數(shù)據(jù)庫按照部署模式可分為虛擬機映像和數(shù)據(jù)庫即服務(wù)兩類,每一類又可分為基于SQL的數(shù)據(jù)模型(SQLDataModel)和支持多種語言的數(shù)據(jù)模型(NoSQLDataModel,其中NoSQL是NotonlySQL的簡寫,即除了支持SQL語言外,還支持其他類似的語言)。云數(shù)據(jù)庫虛擬機映像(VirtualMachineImage),用戶可以在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論