第五章數據庫技術基礎_第1頁
第五章數據庫技術基礎_第2頁
第五章數據庫技術基礎_第3頁
第五章數據庫技術基礎_第4頁
第五章數據庫技術基礎_第5頁
已閱讀5頁,還剩58頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、整理ppt5.1.1 數據庫技術的產生和發展1.人工管理階段 2.文件系統階段 3.數據庫系統階段 人工管理階段的特點是:數據不保存、數據無專門軟件進行管理、數據不共享(冗余度大)、數據不具有獨立性(完全依賴于程序)、數據無結構。文件階段的數據管理特點是:數據可以長期保存、由文件系統管理數據、程序與數據有一定的獨立性、數據共享性差(冗余度大)、數據獨立性差、記錄內部有結構(但整體無結構)。(1) 數據結構化(2) 數據共享性高、冗余度小、易擴充(3) 數據獨立性高(4) 統一的數據管理和控制數據的安全性(security)保護數據的完整性(integrity)控制數據庫恢復(recovery)

2、并發(concurrency)控制整理ppt1. 數據庫2. 數據庫管理系統3. 數據庫系統(DataBase System,簡記為DBS)數據庫(DataBase,DB)是存儲在計算機輔助存儲器中的,有組織的,可共享的相關數據集合。數據庫具有如下特性:(1)據庫是具有邏輯關系和確定意義的數據集合。(2)數據庫是針對明確的應用目標而設計、建立和加載的。每個數據庫都具有一組用戶,并為這些用戶的應用需求服務。(3)個數據庫反映了客觀事物的某些方面,而且需要與客觀事物的狀態始終保持一致。數據庫管理系統(DataBase Management System,DBMS)是對數據庫進行管理的系統軟件,它的

3、職能是有效地組織和存儲數據,獲取和管理數據,接受和完成用戶提出的各種數據訪問請求。數據庫系統是指在計算機系統中引入數據庫后構成的系統。一般由數據庫、操作系統、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員和用戶構成。整理ppt整理ppt模型是現實世界特征的模擬和抽象。數據模型(Data Model)也是一種模型,它是實現數據特征的抽象。數據庫系統的核心是數據庫,數據庫是根據數據模型建立的,因而數據模型是數據庫系統的基礎。目前,數據庫領域中,最常用的數據模型有:層次模型、網狀模型和關系模型。整理ppt1. 層次模型(hierarchical model)層次模型是數據庫中最早出現的數據模

4、型,層次數據庫系統采用層次模型作為數據的組織方式。用樹型(層次)結構表示實體類型以及實體間的聯系是層次模型的主要特征。2. 網狀模型(network model)在現實世界中事物之間的聯系更多的是非層次關系的,用層次模型表示非樹形結構是很不直接的,網狀模型則可以克服這一弊端。整理ppt3. 關系模型(relational model)關系模型是目前最常用的一種數據模型。關系數據庫系統采用關系模型作為數據的組織方式。1970年美國IBM公司San Jose研究室的研究員E.F.Codd首次提出了數據庫系統的關系模型,開創了數據庫關系方法和關系數據理論的研究,為關系數據庫技術奠定了理論基礎.整理p

5、pt(1)二維表在關系模型中,數據在用戶觀點下的邏輯結構就是一張二維表。每一張二維表稱為一個關系(relation),二維表名就是關系名。表中的第一行通常稱為屬性名,表中的每一個元組和屬性都是不可再分的,且元組的次序是無關緊要的。整理ppt常用的關系術語如下:關系 關系就是一張二維表,一個關系對應一個二維表。關系模式 對關系的描述稱為關系模式,其格式為:關系名(屬性名1,屬性名2,屬性名n)一個關系模式對應一個關系的結構,它是命名的屬性集合。如:關系Students的關系模式為:(學號,姓名,性別,出生年月,專業)記錄 二維表中每一行稱為一個記錄,或稱為一個元組。字段 二維表中每一列稱為一個字

6、段,或稱為一個屬性。值域 即屬性的取值范圍。整理ppt主關鍵字 在一個關系中有這樣一個或幾個字段,它(們)的值可以唯一地標識一條記錄,稱之為主關鍵字(Key)。例如,在學生關系中,學號就是主關鍵字。主關鍵字簡稱主鍵。主鍵的取值不能重復,如姓名一般就不能作為主鍵,因為姓名有可能相同。主鍵可以是一個字段,也可以是多個字段的組合。外部關鍵字 如果一個表中的字段或者字段集不是本表的主關鍵字,而是另一個表的關鍵字,稱其為本表的外部關鍵字。通過外部關鍵字可建立表與表之間的聯系。外部關鍵字也稱為外鍵。整理ppt整理ppt基本表:基本表就是關系模型中實際存在的表。 查詢表:查詢表是查詢結果表,或查詢中生成的臨

7、時表。 視圖:視圖是由基本表或其它視圖導出的表。整理pptMicrosoft Office Access是微軟把數據庫引擎的圖形用戶界面和軟件開發工具結合在一起的一個關系數據庫管理系統。Access有強大的數據處理、統計分析能力,利用Access的查詢功能,可以方便地進行各類匯總、平均等統計。本節將以Access2010為例,介紹數據庫的建立及維護方法。整理ppt在Access中,一個數據庫包含的對象有表、查詢、窗體、報表、宏、模塊等,如圖所示。所有對象都存放在同一個數據庫文件(.accdb)中。整理ppt在Access中,表是數據庫的核心與基礎,存放著數據庫中的全部數據信息。報表、查詢和窗體

8、都從數據表中獲得數據信息,以實現用戶某一特定的需要,例如查找、統計、打印等。窗體可以提供一種良好的用戶操作界面,通過它可以直接或間接地調用宏或模塊,并執行查詢、打印、預覽、計算等操作,甚至對表進行編輯修改操作整理ppt1. 表表是數據庫中最基本的對象,沒有表就沒有其它對象。從本質上看,查詢是對表中數據的查詢,窗體和報表是對表中數據的維護。一個數據庫中可能有多個表,表與表之間通常是有關系的,可以通過相關的字段建立關聯。表及其表之間的關系構成數據庫的核心。整理ppt2. 查詢查詢就是從一個或多個表(或查詢)中選擇一部分數據,供用戶查看。查詢可以從表中查詢,也可以從另一個查詢(子查詢)的結果中再查詢

9、。查詢作為數據庫的一個對象保存后,就可以作為窗體、報表甚至另一個查詢的數據庫。整理ppt3. 窗體窗體是用戶與數據庫交互的界面,是數據庫維護的一種最靈活的方式。窗體的數據源可以是表,也可以是查詢。Access的窗體可以看作是一個容器,在其中可以放置標簽、文本框、列表框等控件來顯示表(或查詢)中的數據。整理ppt4. 報表Access中的報表是一種按指定的樣式格式化的數據形式,可以瀏覽和打印。與窗體一樣,報表的數據源可以是一個或多個表,也可以是查詢。在Access中,不僅可以將一個或多個表(或查詢)中的數據組織或報表,還可以在報表中進行計算,如求和、求平均值等。整理ppt5. 其它對象除了其它對

10、象,Access還有宏、模塊。宏是若干個操作(打開表,SQL查詢)的組合,可用來簡化一些經常性的操作。在模塊中,用戶可以用VBA語言編寫函數過程或子過程。通過創建頁(Web),可以把數據庫中的數據發布到Internet上。整理pptAccess數據庫是所有相關對象的集合,包括表、查詢、窗體、報表、宏等。每一個對象都是數據庫的一個組成部分,其中表是數據庫的基礎,它保存著數據庫中的全部數據,而其它對象只是Access提供的工具,用于對數據庫進行維護和管理,所以,設計一個數據庫的關鍵就集中體現在建立基本表上。整理ppt要建立基本表,首先必須確定表的結構,即確定表中各字段的名稱、類型、屬性等。整理pp

11、t常見的字段屬性有8種。字段大小:指定文本型字段和數字型字段的長度。文本型字段長度為1255個字符,數字型字段的長度由數據類型決定。格式:指定字段的數據顯示格式。例如,可以選擇以“月/日/年”格式顯示日期。小數位數:指定小數的位數(只用于數字型和貨幣型數據)。標題:用于在窗體和報表中取代字段的名稱。默認值:添加新記錄時,自動加入到字段中的值。有效性規則:字段的有效性規則用于檢查字段中的輸入值是否符合要求。有效性文本:當數據不符合有效性規則時所顯示的信息。索引:可以用來確定某字段是否為索引,索引可以加快對索引字段的查詢、排序、分組等操作。整理ppt整理pptAccess2010提供了創建空白數據

12、庫和用模版創建數據庫的方法。下面以一個實例說明創建數據庫及建立表的方法。例1:創建一個“學生.accdb”數據庫,并在該數據庫中創建表Students。首先確定表的結構,如表5.6。啟動Access,建立一個Access空白數據庫,輸入文件名:學生.accdb。如圖5.4所示。選擇“設計”視圖,按照表5.6給出的結構輸入字段信息。如圖5.5所示。定義“學號”為主鍵。保存表。輸入表的名稱:Students。至此,表Students建立完成整理ppt1. 向表中輸入數據選定基本表(Students),進入數據表視圖,如圖5.6所示,輸入編輯數據。2. 表結構的修改選定基本表(Students),進

13、入如圖5.5所示的設計視圖,修改表結構。可以修改字段名稱、字段類型和字段屬性,可以對字段進行插入、刪除、移動等操作,還可以重新設置主鍵。整理ppt3. 數據的導出和導入打開“外部數據”菜單,從“導出欄”中單擊導出類型文件圖標,輸入導出后的文件名。如圖5.7所示。可以將表中數據以另一種文件格式(如文本文件、Excel格式等)保存在磁盤上。導入操作是導出操作的逆操作,打開“外部數據”菜單,從“導入欄”中單擊相應類型的文件圖標,從打開的對話框中找到要導入的文件。也可以在數據表名上單擊鼠標右鍵,從彈出的快捷菜單中選擇“導入”或“導出”命令,來完成數據的導入或導出操作。整理ppt4. 表的復制、刪除和更

14、名這些操作類似于Windows中對文件的操作,在數據表名上單擊鼠標右鍵,從彈出的快捷菜單中選擇“復制”、“刪除”或“重命名”命令,來完成表的復制、刪除和更名操作。需要注意的是:在操作前,必須先保存相關的表。整理ppt數據查詢是數據庫的核心操作。實際上,不論采用何種工具,對于絕大多數的查詢,Access都會在后臺構造等效的SELECT語句,執行查詢實質上就是運行了相應的SELECT語句。整理ppt查詢主要有以下基本功能:查找和分析數據追加、更改、刪除數據實現記錄篩選、排序、匯總和計算作為窗體、報表和數據頁的數據源將一個或多個表中獲取的數據實現連接在Access中,有5種查詢方式:選擇查詢、操作查

15、詢、交叉表查詢、參數查詢和SQL查詢。Access中,主要使用“查詢設計器”和“查詢向導”來創建查詢。下面通過兩個實例簡單說明在Access中創建選擇查詢的方法。整理ppt例2:使用向導查詢所有學生的基本情況。例3:查詢平均成績在75分以上的所有學生的學號、姓名和平均成績。整理ppt1. 運算符運算符是表示實現某種運算的符號。Access的運算符分4類:算術運算符、字符運算符、關系運算符和邏輯運算符。算術運算符:+、-、*、/、(乘方)、(整除)、MOD(取余數)字符運算符:&關系運算符:、=、 Between、Like邏輯運算符:Not、And、Or整理ppt說明:在表達式中,字符型

16、常數用英文的“雙引號”或“單引號”引住,日期型常數用“#”引住。如:”a123”、#04/10/2013#。MOD 是取余數運算符,如: 5 MOD 3 的結果是2。Between 運算符的使用格式為: Between And Between用來檢測的值是否介于和之間,若在,則結果為True,否則,結果為False。如:3 Between 1 And 5 的值為True,3 Between 1 And 2 的值為False。”ABC” Between “A” And “B” 的結果為True。Like 通常與?、*、#等通配符結合使用,主要用于模糊查詢。其中:“?”表示任何一個字符,“*”表示

17、0個或多個字符,“#”表示任何一個數字(0-9)。例如:查找姓“李”的學生,則表達式為:姓名 Like “李*”。& 用于連接兩個字符串。如:”ABC” & “123” 的結果為:”ABC123”。整理ppt2. 常用內部函數Access提供了大量的函數供用戶使用。下面列舉幾個常用函數,其它函數的用法請參閱Access的幫助信息。Date() 返回系統日期。如:Date(),返回結果為:系統當前的日期。Year() 返回年份。如:Year(#05/01/2013#),返回結果為:2013。AVG(列名) 計算某一列的平均值。Count(*) 統計記錄的個數。Count(列名)

18、統計某一列值的平均值。SUM(列名) 計算某一列的總和。整理ppt3. 表達式和表達式生成器在Access中,表達式由變量(包括字段名)、常量、運算符、函數和圓括號組成。表達式通過運算后有一個結果,稱為表達式的值,運算結果的類型由數據和運算符共同決定。表達式主要應用在以下3個方面:查詢的SQL視圖,要求表達式必須輸入完整。這是表達式最主要的使用場合。查詢的設計視圖,這也是表達式使用較多的地方。在使用時,表達式最左邊的字段名可以省略。字段的有效性規則,在設計表時,可以為字段輸入一個表達式(有效性規則),用來指定該字段可接受的數據范圍。例如:如果為“成績”字段輸入一個表達式:成績Between 0

19、 And 100,則“成績”字段只能接受0-100之間的分數。需要注意的是,字段名要加,Between左邊的成績可以省略不寫。整理ppt例 4:查詢顯示學生的學號、姓名、性別、年齡信息。整理ppt結構化查詢語言SQL是操作關系數據庫的工業標準語言。在SQL中,常用的語句有兩類:一是數據查詢語句SELECT;二是數據更新語句,如INSERT、UPDATE、DELETE等。在Access中,SQL語句一般是在某個查詢中輸入的。通常是建立一個空查詢輸入或修改已有的查詢。選擇一個查詢,選擇“視圖”工具的“SQL視圖”,可看到查詢中的SQL語句。整理ppt在SQL中,INSERT語句用于插入記錄,其語法

20、格式有兩種,分別為:INSERT INTO 表名 (字段1,字段2,字段n) VALUES (常量1,常量2,常量n)INSERT INTO 表名 (字段1,字段2,字段n) VALUES 子查詢第一種格式是把一條記錄插入到指定的表中,第二種格式是把某個查詢的結果插入指定的表中。自動編號(AutoNumber)字段的值不能插入,不能出現在INSERT語句中,因為它的值是自動生成的,否則出錯。除了字段編號外,如果表中某個字段在INSERT中沒有出現,則這些字段上的值取空值(NULL)。如果新記錄在每一個字段上都有值,則字段名列表連同兩邊的括號可以省略。整理ppt例5 向表Students中插入記

21、錄:20130040009,趙宇,男,1995年10月28日,化學SQL語句如下:INSERT INTO Students(學號,姓名,性別,出生年月,專業) VALUES (20130040009,趙宇,男,#1995/10/28#,化學);整理ppt在SQL中,DELETE語句用于刪除記錄。其語法格式為:DELETE FROM 表 WHERE 條件DELETE語句從表中刪除滿足條件的記錄。如果WHERE子句省略,則刪除表中所有記錄。整理ppt例6 刪除表Students中學號為009的記錄。DELETE * FROM Students WHERE 學號=20130040009;例7 刪除表

22、Scores中成績低于60分的記錄。DELETE FROM Scores WHERE 成績60整理ppt在SQL中,UPDATE語句用于更新記錄。其語法格式為:UPDATE 表 SET 字段1=表達式1,字段n=表達式n WHERE 條件UPDATE語句修改指定表中滿足條件的記錄,對這些記錄按表達式的值修改相應字段的值。如果省略WHERE子句,則修改表中所有記錄。整理ppt例8 將表Students中學生“張三”的姓名改為“張曉”。UPDATE Students SET 姓名=“張曉”WHERE 姓名=“張三”例9 將表Scores中成績低于60分的學生成績加10分。UPDATA Scores

23、 SET 成績=成績+10 WHERE 成績60需要注意的是UPDATE語句一次只能對一個表進行修改,這就有可能破壞數據庫中數據的一致性。例如,如果修改了表Students中的學號,而表Scores沒有相應的調整,則兩個表之間就存在數據一致性問題。解決方法是在兩個表中分別執行UPDATE語句。整理pptSQL中用于數據查詢的語句是SELECT語句。該語句用途廣泛,應用靈活,功能豐富。SELECT語句的常用語法格式為: SELECTALL|DISTINCT *|talbe.*|table.field1,table.field2, FROM 表(或視圖) WHERE 條件表達式 GROUP BY

24、HAVING ORDER BY WITH OWNERACCESS OPTION 整理ppt說明: 用中括號()括起來的部分表示是可選的,用大括號()括起來的部分是表示必須從中選擇其中的一個。 整個語句的功能是:根據WHERE子句中的條件表達式,從FROM子句指定的表或查詢中找出滿足條件的記錄,再按SELECT子句中的目標列顯示數據。FROM子句指定了SELECT語句中字段的來源。FROM子句后面是包含一個或多個的表達式(由逗號分開),其中的表達式可為單一表名稱、已保存的查詢等。謂詞 ALL表示,返回滿足SQL語句條件的所有記錄。如果沒有指明這個謂詞,默認為ALL;謂詞DISTINCT表示,如果

25、有多個記錄的選擇字段的數據相同,只返回一個。 GROUP BY和HAVING子句用來對數據進行匯總。GROUP BY子句指明了按照哪幾個字段來分組,而將記錄分組后,用HAVING子句過濾這些記錄。ORDER BY子句按一個或多個(最多16個)字段排序查詢結果,可以是升序(ASC)也可以是降序(DESC),缺省是升序。ORDER BY子句通常放在SQL語句的最后。如果ORDER BY子句中定義了多個字段,則按照字段的先后順序排序。整理ppt例10:語句1:SELECT 姓名,學號 FROM Students 表示從表Students中選擇了姓名和學號兩列數據,進行顯示;語句2:SELECT *

26、FROM Students 表示從表Students中選擇所有的字段;語句3:SELECT DISTINCT 專業 FROM Students 表示查詢所有專業,查詢結果不重復顯示相同專業,如果去掉DISTINCT,則查詢結果中包括重復的專業名。整理ppt例11:使用統計函數查詢學生人數。SELECT COUNT(*) AS 人數 FROM Students這里的COUNT(*)可以改為COUNT(學號),因為學號是惟一的,一個學號對應一條記錄。如果改為COUNT(專業),則查詢的是專業數。AS子句用來指定輸出列的名稱。例12:使用統計函數,查詢學生的人數和平均年齡。出生年月是日期/時間型字段

27、,使用Year函數可以得到其中的年份,Date( )是系統日期函數。SELECT COUNT(*) AS 人數,AVG(YEAR(DATE()-YEAR(出生年月) AS 平均年齡FROM Students整理ppt例13:查詢所有非漢語專業學生的學號、姓名和年齡。SELECT 學號,姓名,YEAR(DATE()-YEAR(出生年月) AS 年齡 FROM StudentsWHERE 專業 漢語例14:查詢1994年(包括1994年)以前出生的男生姓名和出生年月。SELECT 姓名,出生年月 FROM StudentsWHERE 出生年月 =75 GROUP BY 學號 HAVING COUN

28、T(*) = 2這里使用了COUNT(*)函數,統計每一組的人數。WHERE子句在分組統計之前選擇記錄,HAVING 短語在分組統計之后進行過濾。整理ppt例19:查詢所有學生的學號、姓名、課程和成績。分析表Students和Scores可以知道,需要的數據分別在這兩個表中,因此需要把它們連接起來。連接的條件為Students.學號=Scores.學號,連接后形成一張新的臨時表,臨時表中包括兩個表中學號相同的記錄。完成此查詢的語句為:SELECT Students.學號,Students.姓名,Scores.課程,Scores.成績FROM Students,ScoresWHERE Stude

29、nts.學號=Scores.學號整理ppt上述語句可以改寫為:SELECT Students.學號,Students.姓名,Scores.課程,Scores.成績FROM Students INNER JOIN Scores ON Students.學號=Scores.學號上述“FROM Students INNER JOIN Scores ON Students.學號=Scores.學號”子句表示查詢數據來自一個臨時表,該臨時表是根據“連接條件(Students.學號=Scores.學號)”把表Students和Scores連接起來后形成的。整理ppt例20:查詢選修了“高等數學”課程的學生

30、的學號、姓名和成績。SELECT Students.學號,Students.姓名,Scores.成績FROM Students,ScoresWHERE Students.學號=Scores.學號 AND Scores.課程=高等數學上述語句可以改寫為:SELECT Students.學號,Students.姓名,Scores.課程,Scores.成績FROM Students INNER JOIN Scores ON Students.學號=Scores.學號WHERE Scores.課程=高等數學整理ppt例21:查詢每個學生的學號、姓名和平均成績。用條件“Students.學號=Score

31、s.學號”進行連接,然后用字段“Students.學號”(也可以用“Scores.學號”)進行分組,最后進行選擇。SELECT Students.學號,First(Students.姓名) AS 姓名,AVG(Scores.成績) AS 平均成績FROM Students,ScoresWHERE Students.學號=Scores.學號GROUP BY Students.學號上述語句可以改寫為:SELECT Students.學號,First(Students.姓名) AS 姓名,AVG(Scores.成績) AS 平均成績FROM Students INNER JOIN Scores ON

32、 Students.學號=Scores.學號GROUP BY Students.學號整理ppt窗體是Access數據庫的重要對象,它主要用于設計輸入和維護表中數據的人機交互界面。窗體的樣式主要由控件的布局決定,在窗體中可以放置各種各樣的控件,用于對表中記錄進行添加、刪除和修改等操作,也可以接受用戶的輸入或選擇,并根據用戶提供的信息執行相應的操作。報表也是Access數據庫額重要對象,主要用來把表、查詢甚至窗體中的數據生成報表,供打印輸出使用。報表可以顯示、匯總數據,按用戶的需求打印輸出格式化的數據。通過報表,還可以對數據進行分組、計算和統計,并將其轉換成PDF、XPS等文件格式。整理ppt例22:創建如圖5.16所示的窗體,用于維護表Scores。打開表Scores,單擊“

溫馨提示

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

評論

0/150

提交評論