版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用 (SQL Server 2008) 課程在本專業(yè)課程體系中的地位課程在本專業(yè)課程體系中的地位 考核成績評定考核成績評定:采用百分制采用百分制,包括理論部分與包括理論部分與 實驗部分實驗部分,理論部分不及格者補考??偝煽兝碚摬糠植患案裾哐a考??偝煽?比例:理論部分比例:理論部分80% + 平時成績平時成績20% 考試形式:理論部分為課程結(jié)束后閉卷考考試形式:理論部分為課程結(jié)束后閉卷考 試,作業(yè)包括上機實驗和課堂提問成績。試,作業(yè)包括上機實驗和課堂提問成績。 教材介紹 本書內(nèi)容本書內(nèi)容 本書以流行的Microsoft SQL Server2008 R2為實驗平臺,
2、講述了數(shù)據(jù)庫系 統(tǒng)的基本原理及應(yīng)用技術(shù)。全書共分為11章,深入介紹了數(shù)據(jù)庫系統(tǒng)基 本概念、Microsoft SQL Server2008 R2安裝和配置技術(shù)、Transact-SQL語 言、數(shù)據(jù)庫和數(shù)據(jù)庫表管理,數(shù)據(jù)查詢,索引與視圖,存儲過程和觸 發(fā)器、安全性管理以及數(shù)據(jù)庫系統(tǒng)設(shè)計,最后以一個綜合實例介紹了 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的過程。 本書以案例來解析數(shù)據(jù)庫原理,概念清楚、重點突出、內(nèi)容豐富、結(jié) 構(gòu)合理、思路清晰、示例翔實。每章都附有習(xí)題及上機實驗。它主要 面向數(shù)據(jù)庫初學(xué)者,適合作為大專院校的數(shù)據(jù)庫教材、各種數(shù)據(jù)庫培 訓(xùn)班的培訓(xùn)教材,還可作為Microsoft SQL Server應(yīng)用開發(fā)人
3、員的參考 資料。 學(xué)生通過本書的學(xué)習(xí),可以建立起一個完整的數(shù)據(jù)庫原理及應(yīng)用的知 識體系,掌握數(shù)據(jù)庫系統(tǒng)的實用技術(shù)。 本書特點: 基礎(chǔ)性 本書內(nèi)容豐富、結(jié)構(gòu)合理、可讀性強,每 個知識點都用淺顯的語言反復(fù)解釋,在敘述方式上 注重溫故知新、前后呼應(yīng),以便學(xué)生靈活掌握、 融會貫通。 實用性 為了使數(shù)據(jù)庫原理變得通俗易懂,配合 “案例驅(qū)動”教學(xué)模式的開展,幾乎每章都以實 用的案例來說明相關(guān)概念與操作。這些案例均從 簡到難,逐步深入,便于學(xué)生理解和掌握;并且, 精選了一個大的實例系統(tǒng)貫穿全書始終。 系統(tǒng)性 本書配套資料齊全,書中有習(xí)題、案例 和實驗。 目錄: 本書共分11章。第1章介紹書庫系統(tǒng)基本概念知識
4、和關(guān)系 數(shù)據(jù)庫理論。第二章介紹SQL Server 2008 R2的安裝和配置。 第3章介紹Transact-SQL語言基礎(chǔ),包括變量、函數(shù)、批處理 和流程控制。第4章介紹SQL Server 2008 R2數(shù)據(jù)庫的管理, 包括數(shù)據(jù)庫的創(chuàng)建、修改、刪除、分離附加、備份刪除、 增縮等操作。第5章介紹表的創(chuàng)建、修改和刪除及約束的 定義。第6章介紹使用SELECT語句從一個或多個表中獲取 數(shù)據(jù)。第7章介紹索引和視圖的創(chuàng)建與使用。第8章介紹存 儲過程、觸發(fā)器的創(chuàng)建和使用。第9章介紹安全性管理。 第10章介紹據(jù)庫系統(tǒng)設(shè)計的六個基本步驟,從最初的需求 分析到完成數(shù)據(jù)庫設(shè)計整個過程相關(guān)的知識。第11章介紹
5、一個應(yīng)用實例酒店管理系統(tǒng)。 數(shù)據(jù)庫系統(tǒng)概述 本章的學(xué)習(xí)目標: 了解數(shù)據(jù)庫系統(tǒng)的應(yīng)用 掌握數(shù)據(jù)庫系統(tǒng)的基本概念 了解數(shù)據(jù)庫管理技術(shù)的發(fā)展 理解數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)模型 理解數(shù)據(jù)庫體系結(jié)構(gòu) 理解數(shù)據(jù)獨立性 掌握關(guān)系數(shù)據(jù)庫理論 1.1 數(shù)據(jù)庫系統(tǒng)應(yīng)用實例數(shù)據(jù)庫系統(tǒng)應(yīng)用實例 1. 圖書館數(shù)據(jù)庫系統(tǒng)的應(yīng)用圖書館數(shù)據(jù)庫系統(tǒng)的應(yīng)用 v 一個查詢應(yīng)用程序界面一個查詢應(yīng)用程序界面 v 一個查詢應(yīng)用程序結(jié)果一個查詢應(yīng)用程序結(jié)果 v 圖書館數(shù)據(jù)庫圖書館數(shù)據(jù)庫 鄭大圖書館查詢 v圖書館數(shù)據(jù)庫系統(tǒng)工作原理圖書館數(shù)據(jù)庫系統(tǒng)工作原理 用戶通過應(yīng)用程序輸入查詢條件用戶通過應(yīng)用程序輸入查詢條件,應(yīng)用程序?qū)?yīng)用程序?qū)?查詢條件轉(zhuǎn)換為
6、查詢命令查詢條件轉(zhuǎn)換為查詢命令,將該命令發(fā)給將該命令發(fā)給 DBMS ; DBMS根據(jù)接收到的查詢命令從圖書館數(shù)據(jù)根據(jù)接收到的查詢命令從圖書館數(shù)據(jù) 庫中取出數(shù)據(jù)返回給應(yīng)用程序庫中取出數(shù)據(jù)返回給應(yīng)用程序 ; 應(yīng)用程序按用戶通俗易懂的格式顯示查詢結(jié)應(yīng)用程序按用戶通俗易懂的格式顯示查詢結(jié) 果。果。 v 概括概括: (1)數(shù)據(jù)庫由若干張相互關(guān)聯(lián)的表格組成。)數(shù)據(jù)庫由若干張相互關(guān)聯(lián)的表格組成。 (2)數(shù)據(jù)庫管理系統(tǒng)是一個管理數(shù)據(jù)庫的軟件。)數(shù)據(jù)庫管理系統(tǒng)是一個管理數(shù)據(jù)庫的軟件。 (3)數(shù)據(jù)庫系統(tǒng)的組成。)數(shù)據(jù)庫系統(tǒng)的組成。 應(yīng)用程序 應(yīng)用程序 應(yīng)用程序 DBMS DB JAVA源程 序代碼 SQL語 句
7、最常見的數(shù)據(jù)庫應(yīng)用程序(1)用戶注冊 最常見的數(shù)據(jù)庫應(yīng)用程序(2)論壇 4. 數(shù)據(jù)庫系統(tǒng)各個部件之間的關(guān)系數(shù)據(jù)庫系統(tǒng)各個部件之間的關(guān)系 i 用戶與數(shù)據(jù)庫應(yīng)用(即應(yīng)用程序)交互用戶與數(shù)據(jù)庫應(yīng)用(即應(yīng)用程序)交互; i 應(yīng)用程序與應(yīng)用程序與DBMS交互交互; i DBMS訪問數(shù)據(jù)庫中的數(shù)據(jù)訪問數(shù)據(jù)庫中的數(shù)據(jù),返回給應(yīng)返回給應(yīng) 用程序;用程序; i 應(yīng)用程序按用戶的習(xí)慣顯示得到的數(shù)據(jù)。應(yīng)用程序按用戶的習(xí)慣顯示得到的數(shù)據(jù)。 5. . 課程學(xué)習(xí)的目標課程學(xué)習(xí)的目標 數(shù)據(jù)模型(關(guān)系模型); 設(shè)計數(shù)據(jù)庫(表結(jié)構(gòu)和聯(lián)系); 利用DBMS操縱數(shù)據(jù)庫(用DBMS的標準語 言SQL操縱數(shù)據(jù)庫)-熟練使用SQL。 數(shù)
8、據(jù)庫應(yīng)用程序開發(fā)不在本課程中學(xué)習(xí)數(shù)據(jù)庫應(yīng)用程序開發(fā)不在本課程中學(xué)習(xí) 1.2數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù)庫系統(tǒng)的基本概念 1.2.1 數(shù)據(jù)、信息與數(shù)據(jù)庫數(shù)據(jù)、信息與數(shù)據(jù)庫 1.數(shù)據(jù)與信息數(shù)據(jù)與信息 數(shù)據(jù)(Data)是對客觀事物特征的一種抽象 的、符號化的表示。即用一定的符號表示 那些從觀察或測量中所收集到的基本事實, 采用什么符號完全是一種人為的規(guī)定。數(shù) 據(jù)表現(xiàn)的形式很多。除常用的數(shù)字、文字 、時間等表示形式外,還包括圖像、圖形、 語言、視頻等多媒體數(shù)據(jù),以及表示知識 、規(guī)則、數(shù)學(xué)符號及推理等形式。 數(shù)據(jù)有以下4個特征: (1)數(shù)據(jù)有“型”和“值” (2)數(shù)據(jù)受到數(shù)據(jù)類型和取值范圍的約束 (3)數(shù)據(jù)
9、有定性和定量之分 (4) 數(shù)據(jù)應(yīng)具有載體和多種表現(xiàn)形式 信息(Infomation)是經(jīng)過處理后的數(shù)據(jù),是 整理過的數(shù)據(jù)。信息具有實效性,有用性, 知識性,是客觀世界的反映。信息有三個 特征: (1)信息能反映客觀事實,能預(yù)測未發(fā)生 的事物的狀態(tài)和能用于指揮控制事物發(fā)展 的決策 (2)信息能在時間和空間上被傳遞 (3)信息需要一定的表現(xiàn)形式 數(shù)據(jù)與信息之間的關(guān)系:信息 = 數(shù)據(jù) + 數(shù)據(jù) 處理,如圖1-5所示: 圖1-5 數(shù)據(jù)與信息的關(guān)系 2.數(shù)據(jù)庫數(shù)據(jù)庫 數(shù)據(jù)庫(DataBase,簡記為DB)就是一個有 結(jié)構(gòu)的、集成的、可共享的統(tǒng)一管理的數(shù) 據(jù)集合。它不僅包括數(shù)據(jù)本身,而且包括相 關(guān)數(shù)據(jù)之間
10、的聯(lián)系。數(shù)據(jù)庫技術(shù)主要研究 如何存儲、使用和管理數(shù)據(jù)。 所謂所謂有結(jié)構(gòu)的有結(jié)構(gòu)的,指的是數(shù)據(jù)是按一定的模型組指的是數(shù)據(jù)是按一定的模型組 織起來的??椘饋淼?。 |數(shù)據(jù)模型可用數(shù)據(jù)結(jié)構(gòu)來描述。 |數(shù)據(jù)模型決定數(shù)據(jù)的組織方式、操作方法。 |理解數(shù)據(jù)庫的前提是理解數(shù)據(jù)模型。 |現(xiàn)在的數(shù)據(jù)庫多數(shù)是以關(guān)系模型來組織數(shù)據(jù)的。 |可以簡單地把關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系理解 成為一張二維表。 所謂所謂集成的集成的,是指數(shù)據(jù)庫中集中存放著企業(yè)各種是指數(shù)據(jù)庫中集中存放著企業(yè)各種 各樣的數(shù)據(jù)。各樣的數(shù)據(jù)。 |集中存放的好處是:一個數(shù)據(jù)只需一個備份,重復(fù) 存儲少,即消除了數(shù)據(jù)的冗余。 |沒有數(shù)據(jù)冗余,也就能保證數(shù)據(jù)的一致。
11、 所謂所謂共享共享,指的是數(shù)據(jù)庫中的數(shù)據(jù)可以被不同的指的是數(shù)據(jù)庫中的數(shù)據(jù)可以被不同的 用戶使用。也就是說用戶使用。也就是說,每一個用戶可以按自己的每一個用戶可以按自己的 要求訪問相同的數(shù)據(jù)庫。要求訪問相同的數(shù)據(jù)庫。 所謂所謂統(tǒng)一管理的統(tǒng)一管理的,指的是數(shù)據(jù)庫由指的是數(shù)據(jù)庫由DBMS統(tǒng)一統(tǒng)一 管理,任何數(shù)據(jù)訪問都是通過管理,任何數(shù)據(jù)訪問都是通過DBMS來完成的。來完成的。 1.2.2 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng) (DataBase Management System,DBMS) 是用來管理數(shù)據(jù)庫的一種商品化軟件。是用來管理數(shù)據(jù)庫的一種商品化軟件。 所有訪問數(shù)據(jù)庫的
12、請求都由DBMS來完成的。 DBMS提供了操作數(shù)據(jù)庫的許多命令(語言), 即SQL語言。 1.數(shù)據(jù)庫管理系統(tǒng)的主要功能數(shù)據(jù)庫管理系統(tǒng)的主要功能 (1)數(shù)據(jù)定義的功能。DBMS提供數(shù)據(jù)定義語言(Data Definition Language,DDL)。通過DDL,可以方便地定義數(shù)據(jù)庫中的各種對象。 供用戶定義數(shù)據(jù)庫中的各種數(shù)據(jù)對象:如數(shù)據(jù)庫、表、索引、視圖等。 描述數(shù)據(jù)庫的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)、語義信息、保密要求。 例:學(xué)生檔案數(shù)據(jù)定義 ( 學(xué)號 姓名 性別 年齡 籍貫 所屬系別 ) CHAR(7) CHAR (8) CHAR (2) INT CHAR (10) CHAR (20 ) ( 990
13、1001 李明 男 21 蘇州 計算機系 ) 例如“學(xué)號”的定義:7位數(shù)字,字符類型,代表一個學(xué)生,不能重復(fù), 不能為空值,等。 SQL的數(shù)據(jù)定義語句定義學(xué)生檔案表: Createtable學(xué)生(學(xué)號CHAR(7)notnullunique, 姓名CHAR(8),性別CHAR(2),年齡INT, 籍貫CHAR(10),所屬系別CHAR(20); (2)數(shù)據(jù)操縱的功能。DBMS提供數(shù)據(jù)操縱語言(Data Manipulation Language,DML)。通過DML,實現(xiàn)數(shù)據(jù)庫中數(shù) 據(jù)的基本操作。供用戶實現(xiàn)對數(shù)據(jù)庫的基本操作:檢索查詢 、插入、修改、刪除。如向Students表中插入一行數(shù)據(jù)
14、INSERT INTO 學(xué)生 VALUES (2001001, 張三, 男, 20 , 河南,數(shù)學(xué)系); DML類型通常包含如下兩種類型: 宿主型(嵌入式): DML不獨立使用,必須嵌入到高級 語言(宿主語言)程序中使用。 自含型:可獨立使用,交互式,命令方式,解釋執(zhí)行。 (3)數(shù)據(jù)庫的運行管理(管理數(shù)據(jù)庫)功能。提供數(shù)據(jù) 控制語言DCL(data control language), 負責(zé)數(shù)據(jù)庫在建立、運行和維護時由DBMS統(tǒng) 一管理和統(tǒng)一控制。包括:并發(fā)控制、存取控制、安全控制 、完整性約束條件的檢查和執(zhí)行,事務(wù)管理,發(fā)生故障后的 系統(tǒng)恢復(fù)等。數(shù)據(jù)庫的運行管理功能是DBMS運行時的核 心部
15、分。DBMS的功能隨系統(tǒng)而異,系統(tǒng)功能強弱主要體 現(xiàn)在這部分。 一般來說,DBMS提供安全性、完整性定義語言,用戶用 以進行設(shè)置,程序運行時由DBMS進行檢查和控制。 (4)數(shù)據(jù)庫的建立和維護功能(建立維護 數(shù)據(jù)庫)。包括數(shù)據(jù)庫初始數(shù)據(jù)的裝入、 轉(zhuǎn)換、卸出;數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù)、性能監(jiān) 視和分析;數(shù)據(jù)庫的重組織;記錄工作日志, 維護系統(tǒng)表(即數(shù)據(jù)字典 DD Data Dictionary)。 如DBMS Microsoft SQL Server 2000提供的 DDL來定義表結(jié)構(gòu) 如DBMS Microsoft SQL Server 2000提供的 DML來實現(xiàn)數(shù)據(jù)庫中數(shù)據(jù)的基本操作 2.數(shù)據(jù)庫
16、管理系統(tǒng)的層次結(jié)構(gòu)數(shù)據(jù)庫管理系統(tǒng)的層次結(jié)構(gòu) 根據(jù)處理對象的不同,數(shù)據(jù)庫管理系統(tǒng)的層 次結(jié)構(gòu)由高級到低級依次為應(yīng)用層、語言翻 譯處理層、數(shù)據(jù)存取層、數(shù)據(jù)存儲層、操作 系統(tǒng)。 3.常見的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)常見的關(guān)系型數(shù)據(jù)庫管理系統(tǒng) 目前有許多數(shù)據(jù)庫產(chǎn)品,如Oracle、SQL Server、DB2、MySQL 、Access等產(chǎn)品各以 自己特有的功能,在數(shù)據(jù)庫市場上占有一席 之地。下面簡要介紹幾種常用的數(shù)據(jù)庫管 理系統(tǒng)。 1.2.3數(shù)據(jù)庫系統(tǒng)DBS ( DataBase System) 數(shù)據(jù)庫應(yīng)用程序數(shù)據(jù)庫應(yīng)用程序 數(shù)據(jù)庫應(yīng)用程序是計算機專業(yè)人員利用某種高級語數(shù)據(jù)庫應(yīng)用程序是計算機專業(yè)人員利用某
17、種高級語 言言,為實現(xiàn)某些特定功能而編寫的程序為實現(xiàn)某些特定功能而編寫的程序,如查詢程序、如查詢程序、 報表程序等。報表程序等。 應(yīng)用程序是用戶與數(shù)據(jù)庫之間的橋梁。應(yīng)用程序是用戶與數(shù)據(jù)庫之間的橋梁。 應(yīng)用程序與應(yīng)用程序與DBMS交互,交互,DBMS訪問訪問DB。 v 用戶用戶 Q用戶是使用數(shù)據(jù)庫的人員。用戶是使用數(shù)據(jù)庫的人員。 開發(fā)、管理和使用數(shù)據(jù)庫系統(tǒng)的人員主要是: 數(shù)據(jù)庫管理員、系統(tǒng)分析員和數(shù)據(jù)庫設(shè)計人 員、應(yīng)用程序員和最終用戶。不同的人員涉 及不同的數(shù)據(jù)抽象級別,具有不同的數(shù)據(jù)視圖 。 應(yīng)用程序 應(yīng)用開發(fā)工具 數(shù)據(jù)庫管理系統(tǒng)(DBMS) 操作系統(tǒng)(OS) 數(shù)據(jù)庫 DBA 用戶 用戶 數(shù)據(jù)
18、庫系統(tǒng)各組成成分的關(guān)系 數(shù)據(jù)庫系統(tǒng)在計算機系統(tǒng)中的地位 1.3 數(shù)據(jù)庫管理技術(shù)及發(fā)展數(shù)據(jù)庫管理技術(shù)及發(fā)展 1. 文件系統(tǒng)階段文件系統(tǒng)階段 文件系統(tǒng)是一個系統(tǒng)軟件。文件系統(tǒng)是一個系統(tǒng)軟件。 文件系統(tǒng)管理數(shù)據(jù)的方法文件系統(tǒng)管理數(shù)據(jù)的方法:把數(shù)據(jù)組織成一個把數(shù)據(jù)組織成一個 個文件個文件,通過管理文件通過管理文件,達到管理數(shù)據(jù)的目的。達到管理數(shù)據(jù)的目的。 一個文件就是一組邏輯相關(guān)的數(shù)據(jù)。一個文件就是一組邏輯相關(guān)的數(shù)據(jù)。 1.3.1 數(shù)據(jù)管理 數(shù)據(jù)管理是指對數(shù)據(jù)進行收集、整理、分類、組織、編碼 、存儲、檢索、維護、傳送等操作。這部分操作是數(shù)據(jù)處 理業(yè)務(wù)的基本環(huán)節(jié),是任何數(shù)據(jù)處理業(yè)務(wù)中必不可少的共有 部分
19、,數(shù)據(jù)處理與數(shù)據(jù)管理密切相關(guān),數(shù)據(jù)管理技術(shù)的優(yōu)劣 將直接影響數(shù)據(jù)處理的效果,數(shù)據(jù)庫技術(shù)正是針對這一目 標研究、發(fā)展并逐漸完善起來的專門技術(shù)。數(shù)據(jù)管理是數(shù) 據(jù)處理的中心問題。數(shù)據(jù)庫技術(shù)是數(shù)據(jù)管理的最新技術(shù)。 1.3.2數(shù)據(jù)庫系統(tǒng)的產(chǎn)生和發(fā)展 (1) 人工管理階段(50年代初期) (2) 文件系統(tǒng)階段(50年代后期) (3) 數(shù)據(jù)庫系統(tǒng)階段(60年代后期開始) 1.3.3數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)的特點 (1)數(shù)據(jù)結(jié)構(gòu)化 (2)數(shù)據(jù)的共享性高,冗余度低,易擴充 (3)數(shù)據(jù)獨立性高 (4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制 1.4 數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)模型 14.1 數(shù)據(jù)模型的組成要素 (1) 數(shù)據(jù)結(jié)構(gòu) (2
20、) 數(shù)據(jù)操作 (3) 數(shù)據(jù)的完整性約束 14.2 層次數(shù)據(jù)模型層次數(shù)據(jù)模型 圖1-13層次模型 14.3 網(wǎng)狀數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型 圖1-14網(wǎng)狀模型 14.4 關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)模型 表1-1 學(xué)生基本情況表 學(xué)號姓名班級 2劉明101 2張杰102 2李剛103 2王曉麗104 表1-2 教師授課表 教師姓名系別課程班級 章文杰計算機系操作系統(tǒng)101 李紅梅機械工程學(xué)院工業(yè)設(shè)計102 趙科偉物理工程學(xué)院應(yīng)用物理學(xué)103 李菲電氣工程學(xué)院電氣工程及自動化104 14.5 面向?qū)ο髷?shù)據(jù)模型面向?qū)ο髷?shù)據(jù)模型 面向?qū)ο蟮臄?shù)據(jù)模型是新一代數(shù)據(jù)庫系統(tǒng)基礎(chǔ),是 數(shù)據(jù)庫技術(shù)發(fā)展的方向。面向?qū)ο髷?shù)據(jù)模型中
21、的 基本數(shù)據(jù)結(jié)構(gòu)是對象,一個對象由一組屬性和一組 方法組成。該模型主要有以下優(yōu)點: 可以表示復(fù)雜對象。 模塊化的結(jié)構(gòu),便于管理。 具有定義抽象數(shù)據(jù)類型的能力。 由DBMS MicrosoftSQL Server2000管 理的數(shù)據(jù)庫 由文件系統(tǒng)管 理的的學(xué)生選 課的相關(guān)的數(shù) 據(jù) 數(shù)據(jù)庫系統(tǒng)管理數(shù)據(jù)特點數(shù)據(jù)庫系統(tǒng)管理數(shù)據(jù)特點: 數(shù)據(jù)是集成的、共享的。數(shù)據(jù)是集成的、共享的。 數(shù)據(jù)重復(fù)小。數(shù)據(jù)重復(fù)小。 數(shù)據(jù)獨立性好。數(shù)據(jù)獨立性好。 數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化, ,易于按用戶的視圖表示。易于按用戶的視圖表示。 1.5 數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)與數(shù)據(jù)數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)與數(shù)據(jù) 獨立性獨立性 1.5.1 數(shù)據(jù)庫體系結(jié)構(gòu)
22、的演變數(shù)據(jù)庫體系結(jié)構(gòu)的演變 (1) 集中式數(shù)據(jù)庫系統(tǒng) (2) 客戶/服務(wù)器系統(tǒng)(C/S結(jié)構(gòu)) 圖1-15 客戶/服務(wù)器模式 (3) 并行數(shù)據(jù)庫系統(tǒng) 圖1-16并行數(shù)據(jù)庫系統(tǒng)共享機構(gòu) (4) 分布式數(shù)據(jù)庫系統(tǒng) 圖1-17分布式數(shù)據(jù)庫系統(tǒng) (5) Internet與客戶端/服務(wù)器模式 圖1-18Internet與客戶/服務(wù)器模式 1.5.2 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 圖1-19數(shù)據(jù)庫系統(tǒng)的三級模式圖 數(shù)據(jù)庫的三級模式數(shù)據(jù)庫的三級模式:外模式、概念模式、內(nèi)外模式、概念模式、內(nèi) 模式。模式。 什么是模式呢什么是模式呢?模式就是數(shù)據(jù)的一種抽象描模式就是數(shù)據(jù)的一種抽象描 述。述。
23、內(nèi)模式是數(shù)據(jù)庫中數(shù)據(jù)的存儲結(jié)構(gòu)、存儲方內(nèi)模式是數(shù)據(jù)庫中數(shù)據(jù)的存儲結(jié)構(gòu)、存儲方 法、存取策略等的描述法、存取策略等的描述,也稱物理模式、存儲也稱物理模式、存儲 模式。模式。 概念模式是數(shù)據(jù)庫中數(shù)據(jù)的邏輯結(jié)構(gòu)的描述概念模式是數(shù)據(jù)庫中數(shù)據(jù)的邏輯結(jié)構(gòu)的描述, 也稱模式、概念結(jié)構(gòu)。也稱模式、概念結(jié)構(gòu)。 外模式是單個用戶用到的數(shù)據(jù)邏輯結(jié)構(gòu)外模式是單個用戶用到的數(shù)據(jù)邏輯結(jié)構(gòu) 的描述的描述,通常也稱視圖、子模式。通常也稱視圖、子模式。 一個數(shù)據(jù)庫只有一個內(nèi)模式一個數(shù)據(jù)庫只有一個內(nèi)模式,一個概念一個概念 模式,但可以有多個外模式。模式,但可以有多個外模式。 實際的物理數(shù)據(jù)庫與內(nèi)模式對應(yīng),用戶實際的物理數(shù)據(jù)庫與內(nèi)
24、模式對應(yīng),用戶 使用外模式。使用外模式。 二級映射二級映射即外模式到模式的轉(zhuǎn)換即外模式到模式的轉(zhuǎn)換,表示為表示為“外外 模式模式/模式模式”映射映射,模式到內(nèi)模式的轉(zhuǎn)換,表模式到內(nèi)模式的轉(zhuǎn)換,表 示為示為“模式模式/內(nèi)模式內(nèi)模式” 映射。映射。 數(shù)據(jù)庫管理系統(tǒng)(數(shù)據(jù)庫管理系統(tǒng)(DBMS),不僅提供三級),不僅提供三級 模式的定義語言,而且還提供了三級模式之模式的定義語言,而且還提供了三級模式之 間相互轉(zhuǎn)換的機制,即二級映射機制。間相互轉(zhuǎn)換的機制,即二級映射機制。 外模式外模式/模式映射模式映射,定義了外模式到模式之間的對定義了外模式到模式之間的對 應(yīng)關(guān)系。是在外模式中定義的。應(yīng)關(guān)系。是在外模式
25、中定義的。 模式模式/內(nèi)模式映射內(nèi)模式映射,定義了模式到內(nèi)模式之間的對定義了模式到內(nèi)模式之間的對 應(yīng)關(guān)系。在模式中描述的。應(yīng)關(guān)系。在模式中描述的。 結(jié)果結(jié)果:用戶不需關(guān)心數(shù)據(jù)的物理存儲結(jié)構(gòu)。這就用戶不需關(guān)心數(shù)據(jù)的物理存儲結(jié)構(gòu)。這就 是數(shù)據(jù)獨立性。是數(shù)據(jù)獨立性。 應(yīng)用程序使 用外模式1 一個三級模式的實例 多方位介紹甜辣椒育苗技術(shù),以育苗各階段 分類描述各項育苗技術(shù),大量育苗過程圖片 ,以及提供決策推理功能。 應(yīng)用程序使 用外模式2 概念模式users(ID,用戶名,密碼,系統(tǒng)名,注冊時間, 系統(tǒng)說明,聯(lián)系方式,picture,sys_type) 內(nèi)模式 1.5.3 二級映象功能與數(shù)據(jù)獨立性二級
26、映象功能與數(shù)據(jù)獨立性 數(shù)據(jù)獨立性數(shù)據(jù)獨立性是指應(yīng)用程序不因物理存儲的改變是指應(yīng)用程序不因物理存儲的改變 而改變。數(shù)據(jù)獨立性包含邏輯獨立性和物理獨而改變。數(shù)據(jù)獨立性包含邏輯獨立性和物理獨 立性。立性。 邏輯獨立性邏輯獨立性是指概念模式改變時是指概念模式改變時,外模式保持不外模式保持不 變變,從而使應(yīng)用程序保持不變。當數(shù)據(jù)庫的概念從而使應(yīng)用程序保持不變。當數(shù)據(jù)庫的概念 模式改變時,模式改變時,DBMS只要改變外模式到模式的只要改變外模式到模式的 映射,就可保持外模式不變。從而使應(yīng)用程序映射,就可保持外模式不變。從而使應(yīng)用程序 保持不變。保持不變。 物理獨立性物理獨立性是指內(nèi)模式改變時是指內(nèi)模式改變
27、時,概念模式保持概念模式保持 不變。因為當內(nèi)模式改變(如數(shù)據(jù)庫的存儲不變。因為當內(nèi)模式改變(如數(shù)據(jù)庫的存儲 設(shè)備或存儲結(jié)構(gòu)改變)時設(shè)備或存儲結(jié)構(gòu)改變)時,DBMS只要通過改只要通過改 變概念模式到內(nèi)模式映射,從而使概念模式變概念模式到內(nèi)模式映射,從而使概念模式 保持不變,實現(xiàn)了數(shù)據(jù)的物理獨立性。保持不變,實現(xiàn)了數(shù)據(jù)的物理獨立性。 DBMS實現(xiàn)的三級模式和二級映射機制,使得 數(shù)據(jù)庫系統(tǒng)具有較高的邏輯獨立性和物理獨 立性。 數(shù)據(jù)獨立性的意義數(shù)據(jù)獨立性的意義: 實現(xiàn)數(shù)據(jù)獨立性實現(xiàn)數(shù)據(jù)獨立性,才能真正減少應(yīng)用程序的開才能真正減少應(yīng)用程序的開 發(fā)時間,提高應(yīng)用程序的質(zhì)量。發(fā)時間,提高應(yīng)用程序的質(zhì)量。 外
28、模式1 模式 外模式2外模式3 內(nèi)模式 圖數(shù)據(jù)獨立性與三級模式結(jié)構(gòu) 數(shù)據(jù)的邏輯 獨立性 數(shù)據(jù)的物理 獨立性 外模式/概念模式 映射 模式/內(nèi)模式 映射 1.6 關(guān)系數(shù)據(jù)庫理論關(guān)系數(shù)據(jù)庫理論 1.6.1 關(guān)系術(shù)語和定義關(guān)系術(shù)語和定義 (1)關(guān)系(Relation):一個關(guān)系就是一張二維表,每一個 關(guān)系有一個關(guān)系名,可以存儲為一個文件。其定義可以描述 為 的子集叫做域 , , 上的關(guān)系,表示為 ,R表示關(guān) 系的名稱,n表示關(guān)系的目或度(Degree)。 (2)元組:表中的行稱為元組,一行就是一個元組,對 應(yīng)存儲文件中的一個記錄。 (3)屬性:關(guān)系中的一列稱為一個屬性。一個屬性必須 有唯一的屬性名,
29、一個關(guān)系可以有若干個屬性值。 (4)域(Domain):屬性的取值范圍,是一組具有相同 數(shù)據(jù)類型的值的集合。 (5)關(guān)系的候選鍵與主鍵 表中某一列(或若干列的最小組合)的值能惟一標識一個行,稱該列或 列組為候選鍵。如Students表的學(xué)號列,就是一個候選鍵。如如表1-1學(xué) 生基本情況表,給定一個學(xué)號的值,就能確定表中惟一的一行。 對于一個表,可能有多個候選鍵 。 候選鍵取決于應(yīng)用范圍,如給定條件,沒有重復(fù)的學(xué)生姓名,則姓名是 學(xué)生基本情況表的一個候選鍵。 如果一個表有多個候選鍵,數(shù)據(jù)庫設(shè)計者通常選擇其中一個候選鍵作 為區(qū)分行的惟一性標識符,稱為主鍵(primary key,PK)。如果一個表
30、 只有一個候選鍵,那么這個候選鍵就作為主鍵。例如,在學(xué)生基本情 況表中,把學(xué)號作為該表的主鍵。 因為主鍵是候選鍵之一,而根據(jù)候選鍵的定義,候選鍵列上的各個值 都惟一,因此主鍵列上的各個值也都惟一。 (5)關(guān)系模式(Relation Schema):關(guān)系的描述稱為關(guān)系 模式,可以形式化的表示為 ,其中,R表示關(guān)系名,U表示該 組成關(guān)系的屬性名集合,D表示屬性組U中屬性所來自的域 ,dom表示屬性向域的映象集合,F(xiàn)表示屬性間數(shù)據(jù)的依 賴集合。 (6)關(guān)系數(shù)據(jù)庫:一個關(guān)系用一個關(guān)系模式表示,所有 關(guān)系模式集合構(gòu)成數(shù)據(jù)庫的模式,它是數(shù)據(jù)庫整體邏輯結(jié) 構(gòu)的描述。 16.2 關(guān)系模型的數(shù)據(jù)完整性關(guān)系模型的
31、數(shù)據(jù)完整性 關(guān)系模型的數(shù)據(jù)完整性指的是完整性規(guī)則。關(guān)系模型的數(shù)據(jù)完整性指的是完整性規(guī)則。 完整性規(guī)則包括實體完整性規(guī)則、參照完整性規(guī)則完整性規(guī)則包括實體完整性規(guī)則、參照完整性規(guī)則 和用戶自定義完整性規(guī)則三大類。和用戶自定義完整性規(guī)則三大類。 實體完整性和參照完整性是關(guān)系模型必須滿足的兩實體完整性和參照完整性是關(guān)系模型必須滿足的兩 個完整性規(guī)則。個完整性規(guī)則。 1. 實體完整性規(guī)則實體完整性規(guī)則 實體完整性規(guī)則實體完整性規(guī)則是表中任意一行的主鍵值不能為空值。是表中任意一行的主鍵值不能為空值。 空值空值,用用“null”表示表示,大小寫一樣??罩凳巧形创_定的值大小寫一樣??罩凳巧形创_定的值 或不確
32、定的值。如或不確定的值。如Enrollment表中的表中的Grade值。值。 空值和數(shù)值型列的空值和數(shù)值型列的0值以及字符型列的空字符串的不同,值以及字符型列的空字符串的不同, 數(shù)值型列的數(shù)值型列的0值與字符型列的空字符串都是確定的值。值與字符型列的空字符串都是確定的值。 根據(jù)主鍵的定義根據(jù)主鍵的定義, ,主鍵值必須惟一。因此主鍵值必須惟一。因此, ,實體完整性也實體完整性也 可定義為可定義為: :主鍵值惟一且不能為空值主鍵值惟一且不能為空值。表中任意一行的。表中任意一行的 主鍵值不能為空值。主鍵值不能為空值。 完整性的意義:一個表對應(yīng)存放一個實體,表中的每一完整性的意義:一個表對應(yīng)存放一個實
33、體,表中的每一 行代表實體中的一個實例。如學(xué)生表用來存放學(xué)生實體,行代表實體中的一個實例。如學(xué)生表用來存放學(xué)生實體, 該表中的一行代表一個學(xué)生,一個學(xué)生有惟一的一個學(xué)該表中的一行代表一個學(xué)生,一個學(xué)生有惟一的一個學(xué) 號。如果主鍵值號。如果主鍵值SnoSno為空值,表明該學(xué)生的學(xué)號不能確為空值,表明該學(xué)生的學(xué)號不能確 定,也就是說沒有惟一確定的學(xué)號,這只能說明他定,也就是說沒有惟一確定的學(xué)號,這只能說明他/ /她她 不是學(xué)生,因此就不應(yīng)該存放在學(xué)生表中。不是學(xué)生,因此就不應(yīng)該存放在學(xué)生表中。 如果主鍵值如果主鍵值SnoSno為空值為空值, ,出現(xiàn)錯誤出現(xiàn)錯誤 實體完整性的作用實體完整性的作用:一
34、旦定義表的主鍵一旦定義表的主鍵,RDBMS 將自動地對該表中的每一行的主鍵值進行檢查將自動地對該表中的每一行的主鍵值進行檢查, 若發(fā)現(xiàn)主鍵值為空或不惟一,若發(fā)現(xiàn)主鍵值為空或不惟一,RDBMS會給出會給出 錯誤信息,這樣就能確保表中的每一行是惟一錯誤信息,這樣就能確保表中的每一行是惟一 的,可以區(qū)分的。的,可以區(qū)分的。 2. 參照完整性規(guī)則參照完整性規(guī)則 參照完整性規(guī)則參照完整性規(guī)則是一個表的外鍵值可以為空值。是一個表的外鍵值可以為空值。 若不為空值若不為空值,則必須等于另一個表中主鍵的某個則必須等于另一個表中主鍵的某個 值。值。 外鍵(外鍵(Foreign Key,FK):若一個表若一個表R1
35、中的一中的一 個列或列組對應(yīng)另一個表個列或列組對應(yīng)另一個表R2的主鍵,那么該列的主鍵,那么該列 或列組稱為表或列組稱為表R1的外鍵。的外鍵。 外鍵可以由一個或多個列組成,可以有重復(fù)值。外鍵可以由一個或多個列組成,可以有重復(fù)值。 外鍵與主鍵的關(guān)系示例外鍵與主鍵的關(guān)系示例: 圖 學(xué)生、課程、選課表主鍵、外鍵參照關(guān)系圖 Sno列輸入“”在Students表中不存在,出現(xiàn)錯誤 Cno列輸入“C5”在Courses表中不存在,出現(xiàn)錯 誤 外鍵的取值的兩種情況分析外鍵的取值的兩種情況分析: 圖系表、課程表主鍵、外鍵參照關(guān)系圖 參照完整性的作用參照完整性的作用:在關(guān)系數(shù)據(jù)庫系統(tǒng)中在關(guān)系數(shù)據(jù)庫系統(tǒng)中,一一 旦
36、定義了表的外鍵旦定義了表的外鍵,也即定義了外鍵與另一個也即定義了外鍵與另一個 表的主鍵的參照與被參照聯(lián)系,表的主鍵的參照與被參照聯(lián)系,RDBMS將將 根據(jù)外鍵的定義,自動檢查表中的每一行,根據(jù)外鍵的定義,自動檢查表中的每一行, 若發(fā)現(xiàn)外鍵值違反外鍵的規(guī)則,若發(fā)現(xiàn)外鍵值違反外鍵的規(guī)則,RDBMS會會 給出錯誤信息,要求用戶糾正,這樣能確保給出錯誤信息,要求用戶糾正,這樣能確保 表之間的參照與被參照聯(lián)系的正確性。表之間的參照與被參照聯(lián)系的正確性。 說明說明:實體完整性和參照完整性在關(guān)系模實體完整性和參照完整性在關(guān)系模 型中是必須實現(xiàn)的。遺憾的是型中是必須實現(xiàn)的。遺憾的是SQL Server 200
37、0中可以定義沒有主鍵的表中可以定義沒有主鍵的表, 即沒有實現(xiàn)實體完整性。另外即沒有實現(xiàn)實體完整性。另外,即使表即使表 有外鍵,也可以不定義為外鍵,沒有實有外鍵,也可以不定義為外鍵,沒有實 現(xiàn)參照完整性?,F(xiàn)參照完整性。 3. 用戶自定義完整性規(guī)則用戶自定義完整性規(guī)則 用戶自定義完整性規(guī)則用戶自定義完整性規(guī)則是表格設(shè)計者為了保證是表格設(shè)計者為了保證 表中某些行、列的數(shù)據(jù)滿足具體應(yīng)用要求而自表中某些行、列的數(shù)據(jù)滿足具體應(yīng)用要求而自 定義的一些規(guī)則。定義的一些規(guī)則。 自定義規(guī)則往往根據(jù)實際的應(yīng)用背景提出來。自定義規(guī)則往往根據(jù)實際的應(yīng)用背景提出來。 例如例如:在在Students表中表中,Ssex列的取
38、值范圍只能列的取值范圍只能 是是F/ M, 因為實際情況是性別只能為男或因為實際情況是性別只能為男或 女。女。 Ssex列輸入“B”時超出了取值范圍“F”或“M” 出現(xiàn)錯誤 1.6.3關(guān)系代數(shù)關(guān)系代數(shù) 關(guān)系代數(shù)關(guān)系代數(shù)是對關(guān)系型數(shù)據(jù)庫操作的抽象語言是對關(guān)系型數(shù)據(jù)庫操作的抽象語言,也稱查也稱查 詢語言。這里的查詢詢語言。這里的查詢,包括數(shù)據(jù)的插入、刪除、修改、包括數(shù)據(jù)的插入、刪除、修改、 查找等,即數(shù)據(jù)的操縱。查找等,即數(shù)據(jù)的操縱。 關(guān)系代數(shù)只對數(shù)據(jù)操縱進行抽象表示,基于關(guān)系代關(guān)系代數(shù)只對數(shù)據(jù)操縱進行抽象表示,基于關(guān)系代 數(shù)實現(xiàn)的關(guān)系型數(shù)據(jù)庫操縱語言,如數(shù)實現(xiàn)的關(guān)系型數(shù)據(jù)庫操縱語言,如SQL,才
39、能對,才能對 數(shù)據(jù)庫中的數(shù)據(jù)進行實際操作。數(shù)據(jù)庫中的數(shù)據(jù)進行實際操作。 關(guān)系代數(shù)的作用只是用來衡量其它實現(xiàn)了的查詢語關(guān)系代數(shù)的作用只是用來衡量其它實現(xiàn)了的查詢語 言如言如SQL等的查詢能力。等的查詢能力。 關(guān)系代數(shù)中關(guān)系代數(shù)中,運算運算的對象是關(guān)系(表)的對象是關(guān)系(表),運算的運算的 結(jié)果是一個新關(guān)系(表)。結(jié)果是一個新關(guān)系(表)。 關(guān)系的運算包含兩部分,即傳統(tǒng)的集合運算和關(guān)系的運算包含兩部分,即傳統(tǒng)的集合運算和 特殊的關(guān)系運算。特殊的關(guān)系運算。 傳統(tǒng)的集合運算傳統(tǒng)的集合運算:(并運算),(差運算),(并運算),(差運算), (交運算),(交運算),(笛卡兒積運算)。(笛卡兒積運算)。 4個
40、特殊的關(guān)系運算:個特殊的關(guān)系運算:(選擇),(選擇),(投影),(投影), (連接),(連接),(除)。(除)。 1. 傳統(tǒng)的關(guān)系運算傳統(tǒng)的關(guān)系運算 兩個表的兼容性。所謂兩個表的兼容性。所謂兼容兼容,即兩個表的表頭結(jié)即兩個表的表頭結(jié) 構(gòu)相同構(gòu)相同,且對應(yīng)列的數(shù)據(jù)類型相同。且對應(yīng)列的數(shù)據(jù)類型相同。 并、差、交運算都要求有兩個表參加運算,并并、差、交運算都要求有兩個表參加運算,并 且兩個表是兼容的。且兩個表是兼容的。 并運算并運算:給定兩個兼容的表給定兩個兼容的表R和和S,R和和S并運算并運算 的結(jié)果是一個與的結(jié)果是一個與R和和S兼容的新表。該表由屬于兼容的新表。該表由屬于 R的所有行加上屬于的所
41、有行加上屬于S的所有行組成,但必須刪的所有行組成,但必須刪 去重復(fù)的行,記作去重復(fù)的行,記作RS。 并運算舉例并運算舉例 R S 學(xué)號名字性別 31429李芳女 71532王平男 表1-3學(xué)生關(guān)系R 學(xué)號名字性別 22214周方男 71532王平男 表1-4學(xué)生關(guān)系S 表1-5RS結(jié)果如下: 學(xué)號名字性別 31429李芳女 71532王平男 22214周方男 差運算差運算:給定兩個兼容的表給定兩個兼容的表R和和S,R和和S差差 運算的結(jié)果是一個與運算的結(jié)果是一個與R和和S兼容的新表。兼容的新表。 該表由屬于該表由屬于R而不屬于而不屬于S的所有行組成的所有行組成,記記 作作R-S。舉例(見下頁)
42、。舉例(見下頁) R S 表1-6RS結(jié)果如下: 學(xué)號名字性別 71532李芳女 交運算交運算:給定兩個兼容的表給定兩個兼容的表R和和S,R和和S交運交運 算的結(jié)果是一個與算的結(jié)果是一個與R和和S兼容的新表兼容的新表,該表由該表由 既屬于既屬于R又屬于又屬于S的行組成,記作的行組成,記作RS。舉。舉 例例 R S 學(xué)號名字性別 71532王平男 表1-7RS結(jié)果如下: 笛卡兒積笛卡兒積:簡稱積運算簡稱積運算,也是二元運算也是二元運算,即要求有兩個即要求有兩個 表參加運算,表參加運算,但這兩個表可以不兼容。但這兩個表可以不兼容。 笛卡兒積運算定義:給定兩個表笛卡兒積運算定義:給定兩個表R和和S,
43、R和和S的積的積 運算的結(jié)果是一個新表,新表中的行由運算的結(jié)果是一個新表,新表中的行由R中的每一中的每一 行和行和S中的每一行組合而成。記作中的每一行組合而成。記作RS。新表可。新表可 能包含重復(fù)的列,因此不一定是一個關(guān)系能包含重復(fù)的列,因此不一定是一個關(guān)系 。 若若R表有表有m個列,個列,S表有表有n個列,則個列,則RS是一個具是一個具 有(有(m + n)個列的表,且)個列的表,且RS表中的任一行的表中的任一行的 前前m列是列是R表的一個行,后表的一個行,后n列是列是S表的一個行。如表的一個行。如 果果R有有i行,行,S有有j行,則行,則RS有(有(ij)行??梢妰桑┬?。可見兩 個表的笛卡
44、兒積運算結(jié)果會很大。個表的笛卡兒積運算結(jié)果會很大。 笛卡兒積運算過程演示笛卡兒積運算過程演示 Table:Courses 笛卡兒積運算舉例笛卡兒積運算舉例 表1-8關(guān)系R ABC a1b1c1 a2b2c2 a3b3c3 表1-9關(guān)系S XY x1y1 x2y2 表1-10RS結(jié)果如下: ABCXY a1b1c1x1y1 a2b2c2x1y1 a3b3c3x1y1 a1b1c1x2y2 a2b2c2x2y2 a3b3c3x2y2 2. 專門的關(guān)系運算專門的關(guān)系運算 包含包含:選擇運算、投影運算和連接運算。選擇運算、投影運算和連接運算。 選擇運算選擇運算:從指定的:從指定的R表中選擇某些滿足表中
45、選擇某些滿足 條件的條件的行行構(gòu)成一個新表。記作構(gòu)成一個新表。記作F(R) 其中其中,是選擇運算的符號是選擇運算的符號; F 是選擇條件是選擇條件,寫成寫成的下標的下標; R 寫在括號中,是被選擇的表名。寫在括號中,是被選擇的表名。 【例1-5】從Students表找出所有男同學(xué)的情況的選擇運算可以 寫成 Ssex=M(Students) 表1-11 Student(學(xué)生) snosnamessexsagesclass J20001李 楷M19JS2001 J20002張 會F20JS2001 J20003王 者M20JS2001 D20001趙 良M18DZ2001 表 1-12 選擇運算的
46、結(jié)果 snosnamessexsagesclass J20001李 楷M19JS2001 J20003王 者M20JS2001 D20001趙 良M18DZ2001 關(guān)鍵關(guān)鍵:選擇運算的條件表示如下選擇運算的條件表示如下 單個查詢條件單個查詢條件 形式為:形式為:AiAj 其中其中,Ai、Aj是表是表R中的列名或常量值中的列名或常量值; 是比較運算符是比較運算符,是:是:=、!= 、和和之一。之一。 例如:學(xué)號為的條件為:例如:學(xué)號為的條件為: Sno 又 如 : 所 在 系 為 計 算 機 系 的 條 件 為 :又 如 : 所 在 系 為 計 算 機 系 的 條 件 為 : Sdept=Co
47、mputer 多個查詢條件多個查詢條件 用用(邏輯與(邏輯與,也可用也可用and)、)、 (邏輯或(邏輯或, or)、)、(邏輯非(邏輯非, not)構(gòu)成)構(gòu)成 例如例如:從從Students表找藝術(shù)系的女同學(xué)的情況表找藝術(shù)系的女同學(xué)的情況 Sdept=Art SsexF 等價于:等價于: Sdept=Art and SsexF 表示為:表示為: Sdept=Art and Ssex=F(Students) 結(jié)果:結(jié)果: 投影運算投影運算:從指定的表從指定的表R中選擇某些中選擇某些列列構(gòu)成一個構(gòu)成一個 新表。記作新表。記作A(R)。)。 關(guān)鍵確定關(guān)鍵確定A:A是一個列名或多個列名是一個列名或多
48、個列名,多個列多個列 名之間用逗號分隔名之間用逗號分隔,A寫作寫作的下標。的下標。 R被投影的表名。被投影的表名。 投影結(jié)果表中的重復(fù)行要消除。投影結(jié)果表中的重復(fù)行要消除。 【例1-6】從Students表中選擇Sno、Sname兩個 列組成新表的投影運算可寫成: Sno,Sname(Students) 表 1-13 投影運算的結(jié)果 snosname J20001李 楷 J20002張 會 J20003王 者 D20001趙 良 連接運算連接運算:從從R與與S的笛卡兒積的笛卡兒積RS中選擇滿足中選擇滿足 連接條件的行。記作連接條件的行。記作 : v兩種特殊的連接兩種特殊的連接: :等值連接和自然連接。等值連接和自然連接。 等值連接:等值連接:連接條件用連接條件用=, 則則AB A=B 【例1-7】Students和Class的等值連接: Student.sclass=class.sclass(Stude
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024設(shè)備技術(shù)合同范文
- 2024中國農(nóng)業(yè)發(fā)展銀行抵押擔(dān)保借款合同
- 2024施工圖設(shè)計委托合同參考范文
- 2024工程機械租賃的合同書
- 沈陽理工大學(xué)《MATAB技術(shù)應(yīng)用》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024建筑鋼材供應(yīng)合同樣本
- 2024學(xué)校與教師之間的勞動合同
- 深圳大學(xué)《中國社會史》2022-2023學(xué)年第一學(xué)期期末試卷
- 深圳大學(xué)《藥學(xué)文獻檢索與利用》2021-2022學(xué)年第一學(xué)期期末試卷
- 集體土地房屋征收協(xié)議書(2篇)
- 天一大聯(lián)考2025屆物理高一上期中質(zhì)量檢測模擬試題含解析
- 心理健康教育教師自我分析及申請理由
- 中低產(chǎn)田類型劃分及改良技術(shù)規(guī)范
- 朝鮮族介紹課件
- 2024-2030年再生醫(yī)學(xué)市場發(fā)展行情監(jiān)測及前景運營態(tài)勢趨向研判研究報告
- 用戶運營指南
- 2020年山東煙臺中考滿分作文《就這樣被打動》9
- 國網(wǎng)員工合同模板
- 建設(shè)2臺66000KVA全封閉低碳硅錳礦熱爐項目竣工環(huán)保驗收監(jiān)測調(diào)查報告
- 期中核心素質(zhì)卷(試題)-2024-2025學(xué)年數(shù)學(xué)六年級上冊北師大版
- 《Photoshop圖像處理》5.《濾鏡特效技巧的學(xué)習(xí)》試卷
評論
0/150
提交評論