




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
西安交通大學姚普選數據庫原理及應用(Access)2數據庫技術概論關系數據庫Access用戶界面數據庫設計與創建查詢設計與使用窗體設計VBA程序設計
模塊設計報表和數據訪問頁內容3數據處理技術的發展數據庫系統數據及數據間的聯系數據模型1章第數據庫基本概念數據處理:計算機應用的一個重要方面。
數據處理涉及內容是非數值型的離散問題,只能 采用 諸如表、樹和圖等非數值型的數據結構來描述。數據庫技術:數據處理的一種方法。起源于60年代末。 已成為MIS、OA、CAM等領域的主要工具。1.1數據庫技術的發展數據處理技術經歷了四個階段:手工管理階段:數據在程序中文件系統階段:數據文件
數據庫系統階段:數據庫分布式數據庫系統階段:網上共享數據早期(46-50年代中期)
計算機數據處理方法:程序自帶數據。在引用數 據時,直接按內存單元地址或外部設備的物理位置加內存單元地址存取。……
……應用程序1數據組1應用程序n數據組n1.手工處理階段特點:數據的物理存儲結構和邏輯結 構一致,編程者自行設計數據 格式,并將數據嵌入程序中。數據與處理它的程序合為一體, 多個程序不能共享數據。一批數據在多個對其進行不同 處理的程序中重復存儲。
文件系統管理下的數據文件:
若干相關的數據元素組成“記錄”,若干記錄構成文件。數據文件存放于外存儲器上,由文件系統統一管理,通過程序來操縱數據。每個用戶都可建立、維護和處理一個或幾個文件。文件系統階段:50-60年代,現在,文件(管理)系統是操作系統的一部分。2.文件系統階段
…...…...應用程序1數據文件1應用程序n數據文件n文件系統優點:數據以文件形式保存, 與程序獨立,且可多次存取。缺點:數據文件是無結構的數據集合,只能反映客觀事物的 存在,不能反映各事物間的聯系。數據和應用程序互相依賴,數據文件由程序生成,數 據存取由程序完成,離開所依賴的程序則失去 意義。服務與不同程序的數據文件互相獨立,無法實現數據 共享。一個應用程序所對應的數據文件不能為另 一個 程序使用。數據冗余大。應用程序編制較繁煩,缺乏對數據正確性、安全性、 保密性的有效控制手段。
學校各方面的數據分散存放在幾個文件系統中,各系統互相獨立工作例7-1:一所大學的數據文件系統若一部門數據處理時用到的某些數據保存在另一部門的文件系統中,數據提取困難數據分散存放還會引起數據的不一致解決:將數據和使用數據的程序隔離開來,數據按統一格式組織在一起,相關程序都能操縱例:教務部門登記學生課程申請時,需了解該生是否學過先修課程,須征得保存了“成績”文件的學籍管理部門協助,然后編程序提取數據例:人事、學術評議兩部門的文件系統都包含教師數據,若一教師電話有變,人事部門修改了而學術評議部門未能進行相應修改。即為數據不一致錯誤問題:數據庫系統階段:60年代至今數據庫是存儲在一起的相關數據的集合。數據庫獨立于 使用它的程序;為多種應用服務;對數據庫的修改、 檢索 等均可按公用的可控制方式進行。特點:數據的性質由其依賴的數據模型 來決定。數據模型規范了數據庫 中數據的組織形式,表示了數據 之間的聯系。有層次模型、網狀 模型和關系模型等。 如果依照關系模型來設計庫中數 據結構,則為關系數據庫。3.數據庫系統階段應用程序1數據庫DBMS應用程序n…
由數據庫管理系統(DBMS)來實現對數據庫的定義、 管理和操作。DBMS是用戶和數據的接口。目前,流行DBMS軟件大多采用關系模型。常見DBMS:Oracle,IBMDB2,Informix,Sybase,FoxPro,SQLServer,Access等。數據共享性:數據庫中的數據是綜合和通用的。一個 用戶只用部分數據,不同用戶可共享,且可按不 同方 式重疊使用數據。數據冗余度小。數據一致性。具有數據完整性措施。可以采用交互式或程序方式操作。
與文件系統比較:原來各部門分管的數據統一存放在數據庫中,各部門共享數據庫特點:數據結構化、減少了數據冗余;對數據庫的操作在同一數據庫中進行,無數據不一致現象例7-2
:一所大學的數據庫系統1.2數據庫系統三級模式、二級映射: 外模式、概念模式、內模式;
外模式與概念模式、
概念模式與內模式映射
1.數據庫系統的結構子模式(外模式):局部邏輯數 據視圖,表示某用戶所理解的 實體、實體的屬性及其關系。內模式(物理模式):存儲器中 數據的物理存儲方式。概念模式(簡稱模式):將所有 用戶的數據綜合、抽象 成統 一的數據視圖,是數據庫的 整個邏輯描述,即數據庫所 采用的數據模型。它由數據 庫管理員(DBA)統一組織管 理,故又稱為DBA視圖。
用戶級數據庫(用戶視圖)應用程序應用程序外模式B應用程序外模式A概念模式
外/概念映射
內模式
概念/內映射
物理級數據庫(系統程序員視圖)概念級數據庫(DBA視圖)數據庫系統的結構:DBMS
數據庫系統的三個層次:整個數據庫分為外層、概念層和內層。用戶只能看到外層,外層中的子模式可有多個;而概念 層中的概念模式和內層中的物理模式都只有一個。無論哪一級模式都只是處理數據的一個框架,按這些框 架填入的數據才是數據庫的內容。以子模式為框架的數據庫是用戶數據庫;
以模式為框架的數據庫是概念數據庫;以物理模式為框架的數據庫是物理數據庫。概念數據庫是對物理數據庫的抽象描述,用戶數據庫是 概念數據庫的一個子集,是一個用戶要用到的數據庫 中數據子集的邏輯描述。是用戶與數據庫之間的一個 接口
數據存取機制:用戶根據子模式操縱數據庫時,數據庫系統通過子模 式/模式映射使用戶數據庫與概念數據庫相聯系,又通 過模式/物理模式映射與物理數據庫相聯系,從而使 用戶實際使用物理數據庫中的數據。
【映射】對應規則,指出映射雙方如何進行數據轉換 。數據轉換由數據庫管理系統來管理。三種數據庫的關系:
用戶數據庫是概念數據庫的部分抽取;
概念數據庫是物理數據庫的抽象表示;
物理數據庫是概念數據庫的具體實現。
數據庫:聯機存儲的有序數據的集合。 數據庫系統必有可少的數據源。硬件:運行數據庫系統的硬件資源。 例:SQLServer7.0至少:
32位CPU;32MB內存、80MB硬盤空間。軟件:包括系統軟件和應用軟件兩大類。
系統軟件:數據庫系統操作平臺,包括操作系統 、 DBMS、開發工具(編程語言)等。
應用軟件:在系統軟件支持下, 按實際需要開發的應用程序。用戶:包括數據庫管理員(DBA)、應用程序員和 用戶(批處理用戶和終端用戶);2.數據庫系統的組成
數據庫管理系統:數據庫系統核心軟件。幫助用戶在計 算機上建立、使用、管理和維護數據庫的軟件系統。數據庫管理系統的功能:
數據庫定義功能:數據庫描述。可從用戶的、概念的和 物理的三個不同層次出發定義數據庫,并創建數據庫。數據庫操縱功能:接收、分析和執行用戶對數據庫提出 的各種數據操作要求(檢索、插入、刪除、更新等)。數據庫運行控制功能:包括執行訪問數據庫時的安全性 、完整性檢查,以及數據共享的并發控制等,目的是保 證數據庫的可用性和可靠性。數據字典:對數據庫的使用和操作都要通過查閱數據字典來進行。3.數據庫管理系統
數據庫管理系統的組成:
數據定義語言及其翻譯程序:
DDL(datadescriptionlanguage):定義數據庫的模式、存儲模式、外模式、以及各模式間的映射,有關的約束條件等。DDL定義的稱為源模式、源存儲模式和源外模式,各種模式翻譯程序將其翻譯成相應的內部表示。數據操縱語言及其翻譯程序:
DML(datamanipulationlanguage):執行對數據庫的存取、檢索、修改、添加等操作。DML有宿主型(嵌入高級語言中使用)和自含型兩種。數據庫運行控制程序:負責數據庫運行過程中的控制和管理,如系統初啟、文件讀寫與維護程序等。實用程序:包括數據初始裝入、數據轉儲、數據庫恢復等程序。
單機使用:數據庫、DBMS和應用程序在一個機 器中,程序通過DBMS使用數據庫。局域網上使用:實時方式:數據庫存儲在服務 器上,多個用戶利用數據庫管理系統DBMS或 專門的數據庫應用程序,通過網絡訪問服務 器上的數據庫。遠程數據庫:非實時方式:用戶用 通信線路訪問服務器上的數據庫。4.數據庫系統的使用應用程序1應用程序n數據庫DBMS…DBMS計算機數據庫…計算機計算機實時方式
本講首頁
分布式數據庫系統階段:80年代中期開始 數據庫技術,以及網絡和通信技術的發展,使異機、 異地間的數據共享成為現實。分布式數據庫:數據庫和網絡、通信系統的結合體。 處理的數據分散在各結點上,每個結點的數據由本地 DBMS管理,各結點間通過網絡實現數據共享;分布式數據庫系統DDBMS……計算機DBMS1DB1計算機DBMSnDBn2.3數據及數據間的聯系實體:可相互區別、與某一應用有關的事物。 如一個學生、一份合同、一種材料等。實體集:性質相同的同型實體的集合。如一班學生。屬性:描述實體集某一方面的特性。 一個實體集常由多個屬性來描述。記錄:表示一個實體的一組屬性 1.實體及其描述學號姓名性別出生年月入學總分班級21001張金男02-03-83673自控2121002王銀女08-12-83678自控21
型值聯系:事物的聯系可分為兩類:一類是實體集內部的聯系,表現在屬性之間。另一類是實體集間的聯系。可分解為多個實體間的聯系。最基本的是兩個實體間的聯系。兩個實體間聯系的類型:1:1
實體集A中每個實體至多只與實體集B中一個實體相聯系。反之亦然。1:n
實體集A中每個實體與實體集B中多個實體相聯系,而B中每個實體至多只與A中一個實體相聯系。m:n
實體集A中每個實體與實體集B中多個實體相聯系,反之,B中每個實體也與A中多個實體相聯系。實體型之間的一對一、一對多、多對多聯系也存在于兩個以上實體型之間。2.數據間的聯系
實體-聯系數據模型,用E-R圖表示。實體(型):矩形框,框內為實體名稱。屬性:矩形框,以線與實體連接。屬性較多時也可以將實體及其屬性單獨列表。實體間的聯系:菱形框,框內為聯系的名稱。用線將菱形框與實體相連,線上標注聯系類型。
3.E-R數據模型
m1n課程講授參考書教師n1學生組成班級mn學生選修課程成績11班級管理班主任例:用E-R圖表示實體及其聯系。學生:學號、姓名、性別、入學分班級:班級號、所屬院課程:課程號、課程名、學分教師:教工號、姓名、職稱參考書:書號、書名、內容提要、價格
學生學號姓名性別入學分班級所屬院班級號教師職稱教工號姓名課程學分課程號課程名參考書內容提要書號書名價格實體的表示
E-R圖m1n課程講授參考書教師選修n1學生班級組成成績mn實體間聯系的表示
本講首頁學號姓名性別入學分所屬院班級號教師職稱教工號姓名學分課程號課程名書號書名價格m1n課程講授n1班級組成成績mn學生參考書內容提要選修2.4數據模型表示數據:什么實體(命名)、哪些屬性(屬性名)、屬性排列指出數據間聯系: 主要是實體間的聯系1.數據模型的任務21001張金男02-03-83673自控21
學號姓名性別出生年月入學總分班級21002王銀女08-12-83678自控21ABCDACBCCD四個實體集及其聯系構成數據模型。三種數據模型:層次模型、網狀模型、關系模型屬性數據項數據類型最大長度數據化結點(記錄)是實體,樹枝是聯系。結點間是一對多聯系。特點:有且僅有一個根結點,其記錄值與下屬結點1:n聯系。其它結點與一個父結點、多個子結點相聯系。查詢、訪問從根結點開始,按父子關系依次訪問。
2.層次數據模型(樹形)電話地址校長校名室號處長處名系主任系名系號院主任院名院號室號科長科名職務姓名工號室主任室名室號職稱姓名工號班主任班長編號入學分姓名學號學校行政機構的層次模型任何兩個實體間可有任意的基本聯系。特別是,任何實體向上可與幾個實體相聯系;一般地,每一聯系都是一對多的聯系。若為多對多的聯系,常要演變成一對多的聯系。
3.網狀數據模型特點:
可有0個或多個結點無雙親
允許結點有多個雙親允許結點間有2種以上的聯系
存取、訪問須從指定點出發,按指定路徑進行。學生選課的網狀模型學分時數課名課號職稱性別姓名工號班級性別姓名學號分數課名學號關系模型:以數學理論為基礎構造的數據模型,將每個實體集看成二維表(關系)。一個關系定義一個實體集,聯系也用關系表示。不同關系間聯系還可通過共同屬性表現。
4.關系數據模型
本講首頁典型RDBMS(關系數據庫管理系統):VFP、Oracle、Sybase、DB/2、Informix、Access等。廠號廠名狀態廠址S1YL20咸陽S2XQ10西安S3XT30西安零件號零件名顏色重量存放點P1螺帽紅12咸陽P2螺栓綠17西安P3螺釘黑10寶雞P4螺釘藍14咸陽廠號零件號存量S1P1300S1P2200S1P3400S2P1300S2P2400S3P2200關系S關系P關系SP31關系關系運算SQL語言函數依賴關系規范化方法2章第數據庫基本概念2.1關系的概念1.基本術語
編號姓名所屬部門職務性別工資號1張金銷售部經理
男B0012王銀銷售部副經理
女B0073李玉辦公室主任
女A0054劉銅生產一廠廠長
男C0015陳鐵生產二廠廠長
男D001關系屬性屬性屬性關鍵字關系:二維表行:元組列:屬性域:屬性取值范圍關鍵字:唯一確定一個元組笛卡爾積:給定一組域
D1,D2,…,Dn,則
D1D2
…
Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
稱為D1,D2,…,Dn的笛卡爾積,每個(d1,d2,…,dn)稱為一個n元組,其中每個di為Di域中一個值(一個分量)。例:域D1={張金,王銀,李玉},
D2={20,21,22}則笛卡爾積D1D2
=
{(張金,20),(張金,21),(張金,22),(王銀,20),(王銀,21),(王銀,22),(李玉,20),(李玉,21),(李玉,22)}2.關系的數學定義
關系:D1D2
…Dn的子集叫做在域
D1,D2,…,Dn上的關系,用
R(D1,D2,…,Dn)
表示。其中,R為關系名,n為關系的度。取笛卡爾積的一個有意義的子集作為關系:R(D1,D2)關鍵字(碼):若關系中某一屬性組的值能惟一地標識一個元組,而其真子集不行,則稱其為候選關鍵字。
候選關鍵字中各屬性稱為主屬性。若一個關系有多個候選關鍵字,則選定其中一個為主關鍵字。簡單:候選關鍵字只含一個屬性極端:候選關鍵字包含所有屬性組
任何一個關系都具備以下特性:
關系的每一個分量都必須是不可分的數據項;
每列都是同類型的數據,來自同一個域;
不同的列給予不同的屬性名;
任意兩個元組不能完全相同。行、列的次序可以任意交換。編號工程名稱費用(萬元)人工費設備費A01商貿大樓335.6735B10住宅10366.7123關系模型要求關系必須是規范化的,即要求關系模式必須滿足一定的規范條件。規范條件中最基本的是:
關系的每一個分量都是不可分的數據項;非規范關系3.關系的性質關系代數:抽象查詢語言,關系數據操縱的傳統表達方式,用對關系的運算表達查詢運算對象:關系運算結果:關系運算符:
集合運算符、專門的關系運算符、算術比較符、邏輯運算符二元二元按列輔助專門的關系運算按行按行運算說明不等于≠小于等于≤大于等于≥等于=小于<或∨與∧除連接投影廣義笛卡爾積×交∩差-大于>比較運算符∪集合運算符并非邏輯運算符選擇專門的關系運算符含義運算符1.關系代數2.2關系運算
傳統的集合運算:其運算是按元組進行的。設R1和R2為兩個度為n的關系且相對應的屬性值取自同一個域,則可定義三種傳統的集合運算:并運算:R1∪R
, 結果:度為n,元組屬于R1或R2
差運算:R1-R
, 結果:度為n,元組屬于R1交運算:R1∩R
, 結果:度為n,其中元組既屬于R1又屬于R2
專門的關系運算:選擇運算:按條件從給定關系中取若干元組組成新關系,新關系是原關系子集:σF(R)例:取S(供應廠)表中指定廠址的供應廠信息:
σ廠址=“咸陽”(S)投影運算:從給定關系中選擇一些屬性組成新關系,新關系是原關系子集:ΠT(R)例:P表在零件名和重量兩個屬性上投影:
Π零件名,重量(P)連接運算:從兩個關系的廣義笛卡爾積中取滿足條件的元組形成新關系:等連接:取兩關系笛卡爾積中A、B屬性值相等的元組。自然連接:A、B為相同屬性組的等連接。RSABRSRSA=BA,B分別為兩關系中屬性組,為比較運算符
除法運算:R/S
T運算的條件:
S的屬性全包含R中;
R一些屬性不含在S中。T中屬性由R中除去S中屬性之外的全部屬性組成,T中元組由R中與S在所有相同屬性上等值的元組組成。關系演算:以數理邏輯中的謂詞演算為基礎,按謂詞變元不同分為元組關系演算和域關系演算。元組關系演算:以元組變量作為謂詞變元基本對象。如ALPHA語言語句:
操作語句工作空間名(表達式表):公式
例:查找零件表中重量大于15的零件名和顏色:
GETW(S.零件名,S.顏色):S.重量>15域關系演算:以域變量(元組變量的分量)作為謂詞變元基本對象。2.關系演算Page412.4SQL語言SQL(StructuredQueryLanguage,結構化查詢語言)
ISO命名為國際標準數據庫語言提供了數據定義、數據查詢、數據操縱和數據控制語句,是一種綜合性的數據庫語言,可獨立完成數據庫生命周期中的全部活動用戶可直接鍵入SQL命令來操縱數據庫,也可將其嵌入高級語言(C、Pascal、Java等)程序中使用目前流行的各種RDBMS一般都支持SQL或提供SQL接口。其影響已超出數據庫領域,擴展到了其他領域
SQL對關系數據庫的支持SQL視圖1視圖2基表1基表2基表3基表4存儲文件1存儲文件2外模式模式內模式從DBMS的角度看,數據庫系統有一個嚴謹的體系結構,從而保證其功能得以實現SQL語言支持三級模式結構
說明:由基表構成關系數據庫的“模式”基表是實際的表,一個基對應一個關系;一個或多個表對應一個存儲文件;存儲文件的邏輯結構組成關系數據庫內模式;視圖是從一個或多個表中導出的表,為虛表,數據庫只存放其定義而數據仍在原表中視圖和基表都是關系用戶使用SQL語言對基表和視圖進行查詢、更新等各種操作Page447.2.2關系模型設計舉例SCG關系
例7-4
關系規范化Page45IDStuInstAddr分析:某些屬性可以惟一確定其他屬性的值
關鍵字IDStuIDCourInstAddrNameCourNameStuGradePage46數據冗余度大:多個屬性值有重復,修改時不易維護數據的一致性。刪除異常:若一門課只有一個學生選,后又不選了,則應刪去。整個元組,包括該門課惟有的一些信息也跟著刪除了插入異常:插入一個元組時,必須給定關鍵字,即具備IDStu和IDCour兩個屬性的內容。則對于剛入學還未選課的學生的固有信息無法插入關系SCG存在的問題:原因:SCG關系中,僅屬性Grade是由整個關鍵字確定的,其它屬性對都是由關鍵字中的部分屬性確定的
Page47解決:SCG投影分解為三個關系,
使非主碼的屬性都完全(函數)依賴于關鍵字
Page48
函數依賴情況:Page49分析:S關系仍有數據冗余、
插入異常和刪除異常問題
解決:S再投影分解為兩個關系
使非主碼的屬性都直接依賴于關鍵字
Page502.數據庫設計__定義基本表
可視化操作Page51SQL語言的數據定義
例7-5
:創建SC表,包括學號、課程號和成績三個屬性,屬性組(學號,課程號)為主鍵CREATETABLESC(學號 CHAR(8)NOTNULL,
課程號CHAR(6)NOTNULL,
成績 SMALLINT,PRIMARYKEY(學號,課程號));Page52數據庫設計__定義基本表_2
S表的結構
I表的結構
C表的結構Page53數據庫設計__定義基本表_3
創建表與表之間的聯系Page543.數據查詢
例7-6:選擇表中若干列⑴查詢全體學生的詳細記錄
SELECT*FROMS;⑵查詢全體學生的學號與姓名
SELECTIDStu,NameStuFROMS;⑶查詢全體學生的姓名及其出生年份
SELECT姓名,Year(出生年份)FROMS;Page55SQL查詢語句例_2
例7-8:選擇表中若干元組⑴查詢信息51班學生的情況
SELECT*FROMSWHERE班級='信息51';⑵查詢信息51班選修了課程的女生的學號
SELECTDISTINCT學號
FROMSCWHERE班級='信息51'AND性別='女';其中,DISTINCT限定學號相同的記錄只顯示一個,AND是邏輯與運算符Page56SQL查詢語句例_3
⑶查詢年齡在20~23歲之間的學生的姓名、班級和年齡
SELECT姓名,班級,年齡
FROMSWHERE年齡BETWEEN20AND23;⑷查詢選修050012號課程的學生的學號和成績,查詢結果按成績降序排列
SELECT學號,成績
FROMSCWHERE課程號='050012'ORDERBY成績DESC;2.4函數依賴1.數據依賴對關系模式的影響
數據依賴:通過一個關系的屬性之間值的相等與否體現出來的數據之間的相互關系。有多種類型,最重要的是函數依賴和多值依賴。函數依賴:一個或一組屬性值可以決定其他屬性值。設X、Y為關系模式R(A1,A2,…,An)的兩個屬性組。若R中不存在這樣兩個元組:它們在X上的屬性值相同,而在Y上的屬性值不同,則稱X函數決定Y或Y函數依賴于X,記為R:X→Y。若Y不函數依賴于X,則記作:X→Y。
非平凡函數依賴:在關系模式R(A1,A2,…,An)中,若X→Y,但YX,則稱X→Y為非平凡函數依賴。若YX,則稱X→Y為平凡函數依賴。 對于任一關系模式,平凡函數依賴總是成立的,它不反映新的語義。因此,只討論非平凡函數依賴。完全函數依賴:在關系模式R(A1,A2,…,An)中,若X→Y,且對X的任一真子集X′,都有X′→Y,則稱Y完全函數依賴于X。若X→Y,但Y不完全函數依賴于X,則稱Y部分函數依賴于X。傳遞函數依賴:在關系模式R(A1,A2,…,An)中,若X→Y,Y→Z,且YX,ZY,Y→X,則稱Z傳遞函數依賴于X。關鍵字:候選關鍵字能惟一標識關系的元組。主關鍵字和外關鍵字提供了表示關系間聯系的手段。
IDStuInstAddr關鍵字IDStuIDCourInstAddrNameCourNameStuGrade2.函數依賴的例子SIC關系
關系SIC存在的問題:數據冗余度大:多個屬性值有重復,修改時不易維護數據的一致性。刪除異常:若一門課只有一個學生選,后又不選了,則應刪去。整個元組,包括該門課惟有的一些信息也跟著刪除了。插入異常:插入一個元組時,必須給定關鍵字,即具備IDStu和IDCour兩個屬性的內容。則對于剛入學還未選課的學生的固有信息無法插入。在該關系中,只有屬性Grade對主關鍵字是完全函數依賴,其它屬性對主關鍵字只是部分函數依賴。這就是產生問題的原因。
本講首頁3.函數依賴對關系的影響2.5關系規范化1.范式
范式:符合某種級別的關系模式的集合。關系數據庫中的關系須滿足一定要求,滿足不同程度要求的為不同范式。滿足最低要求的為第一范式(1NF),其上為第二范式(2NF),……。關系模式R為第n范式記為
R∈nNF非規范化關系1NF2NF3NFBCNF4NF5NF非主屬性函數依賴于碼非主屬性完全函數依賴于碼非主屬性既不部分也不傳遞依賴于碼所有屬性既不部分也不傳遞依賴于碼,所有決定屬性都包含碼
第一范式(1NF):若一個關系滿足:每一屬性值都必須是不能再分的元素,則為規范化關系,稱為第一范式,簡記為1NF第二范式(2NF):若一個關系屬于1NF,且非主屬性都完全函數依賴于關鍵字,則R屬于2NFSIC投影分解為三個關系2.各級范式
第三范式(3NF):每個非主屬性不部分依賴于關鍵字,也不傳遞依賴于關鍵字的關系。如,SI關系的IDStu、Inst、Addr屬性之間存在傳遞函數依賴。也會產生數據冗余和刪除、插入異常。GradeIDStuIDCourSCIDStuInstNameStuAddrSICIDCourNameCourSI投影分解的兩個關系
BC范式(BCNF):對于關系R的每個函數依賴X→Y,若YX,則X必含有候選關鍵字,則R∈BCNF。即,每個決定屬性集都包含候選關鍵字。BCNF的關系模式的性質:非主屬性都完全函數依賴于每個候選關鍵字非主屬性都完全函數依賴于每個不含它的候選關鍵字無任何屬性完全函數依賴于非關鍵字的任何一組屬性GradeIDCourNameStuGradeIDCourNameStuIDStu非BC范式,需投影分解IDStu
本講首頁
關系規范化的目的:解決關系模式中存在的插入、刪除異常,修改復雜,數據冗余問題,基本思想:圍繞函數依賴的主線,對一個關系模式進行分解,使關系從較低級范式變換到較高級范式。
消除非主屬性對碼的部分函數依賴分離關系模式,逐步消除不合適的函數依賴1NF2NF3NFBCNF消除主屬性對碼的部分和傳遞函數依賴消除非主屬性對碼的傳遞函數依賴可并為一步:消除決定屬性不是候選碼的任何函數依賴3.關系規范化過程
設有汽車關系:汽車(車號,車名,功率,部件(部件號,部件名,型號,重量,用量))S1:消除復合關系,規范到1NF二關系中各屬性都不可再分,故為規范關系;汽車關系中存在部分函數依賴,故汽車1NF;部件關系中無部分函數依賴,但存在傳遞函數依賴,故部件2NF。4.關系規范化實例
S2:消除汽車關系的部分函數依賴,規范到2NF二關系無部分函數依賴和傳遞函數依賴,均屬3NF。S3:消除部件關系的傳遞函數依賴,規范到3NF二關系無部分函數依賴和傳遞函數依賴,均屬3NF。
在關系規范化的分解過程中,不僅要著眼于提高關系的范式等級,而且還要注意兩條原則:無損分解原則在關系分解過程中既不能丟失、也不能增加數據。同時還要保持原有的函數依賴。相互獨立原則分解后的新關系之間相互獨立,對一個關系內容的修改不應影響到另一個關系。還應注意到,并非范式等級越高,分解得越細越好。例如,若分解得過于煩碎,則在檢索操作時會因連接而降低檢索效率。
本講首頁5.關系規范化原則69Access的特點Access數據庫內部結構Access用戶界面數據庫對象的創建數據的導入和導出數據庫安全3章第Access開發環境
Access:桌面型、面向應用的關系數據庫管理系統。MicrosoftOffice套件之一。Access數據庫由許多獨立的對象組成,對象要獨立創建。Access數據庫也可以做得很大,作為在主機和其他網絡數據庫上存儲數據的訪問前端。3.1Access功能與特點
存儲文件單一:一個Access數據庫對應一個.MDB文件。包含數據表、查詢及其他對象。可處理多種數據信息:如文本文件以及其它數據庫系統的數據庫文件。1.Access數據庫的優點提供編程語言VBA(VisualBasicforApplications),以及全面開放的對象類型庫,可創建高性能的桌面信息管理系統。具有網絡功能:可通過Internet網發布。
組織數據:Access表對象用于組織數據,可將各種類型的數據放在一個表中,可定義各個表之間的關系。從而將整個數據庫中的數據有機地聯系在一起。建立查詢:通過創建查詢可查找符合指定條件的數據、更新或刪除記錄,或對數據執行各種計算。設計窗體:可創建窗體來直接查看、輸入和更改表中的數據。窗體在DBS中的應用可提高數據操作的安全性、豐富用戶操作界面。2.Access的功能輸出報表:報表可用來分析數據或打印數據。共享數據:Access提供了與其他應用程序的接口,即數據的導入和導出。可將其他系統的數據庫數據導入Access數據庫中,也可將Access數據庫的數據導出到其他系統的數據庫中。支持超級鏈接:可將一個字段的數據類型定義成超級鏈接,并將Internet網絡或局域網中的某個對象賦予它,當用戶在數據表或窗體中雙擊超級鏈接字段時就可以啟動瀏覽器,并轉向該鏈接所指向的對象。建立應用系統:Access2000提供了宏和VBA,可用于將各種數據庫和對象連接起來,形成一個數據庫應用系統。還提供了“切換面板管理器”,可將已經建立的各種數據庫對象連接起來,形成應用系統。
本講首頁
3.2Access數據庫內部結構
Access數據庫由表、查詢、窗體、報表、宏和模塊等對象組成,Access2000增加了新對象:數據訪問頁。查詢表報表窗體宏/模塊控制流數據流Access各種對象的關系:表是數據庫的核心與基礎,存放全部數據;報表、查詢和窗體都從表中獲得數據,以實現用戶特定的需要,如查找、計算統計、打印、編輯等;窗體可提供良好的用戶界面,可用來直接或間接地調用宏或模塊,并執行查詢、打印、預覽、計算等功能,也可修改數據表。表:Access數據庫最主要的組成部分。一個表對象是由行、列數據組成的一張二維表格。數據都存儲在表中 查詢、窗體和報表等對象最終的數據來源都是表,它們是操縱表中數據的不同形式每個表都有一列或幾列作為關鍵字、惟一地標識記錄
1.表表內可定義索引,以便快速查詢。一個數據庫文件可包含多個表,可建立表間的關聯。表中可進行查找、替換、排序、篩選等各種操作。字段的數據類型可以是文本、數字、日期、貨幣、OLE對象(聲音、圖像),以及超級鏈接等。
查詢:按規則建立的動態數據集合。查詢可按預先設定的規則有選擇地顯示一個或多個表中的數據。在運行查詢對象時,Access自動動態地建立規則所選中的表中的數據集合,再進行相應的操作。
2.查詢窗體對象:提供用戶與Access數據庫之間的交互界面窗體主要功能:編輯數據、接受數據、顯示信息和控制應用程序的流程等,窗體顯示的內容可來自表或查詢3.窗體
子窗體報表:以特定格式打印或顯示數據的方法報表可基于某一數據表,也可基于某一查詢結果。利用報表設計器設計報表。4.報表
子報表計算字段宏對象:一個或多個操作的集合,其中每個操作實現一個特定的功能。使用宏可以使一些操作任務自動完成5.宏模塊對象:將VisualBasicForApplication中聲明和過程作為一個單元進行保存的集合。模塊對象由聲明節、語句和過程組成6.模塊Access2000的新功能,可直接建立Web頁。通過它,可將所有文件作為Web發布程序存儲到指定的文件夾,或將其復制到Web服務器上,在網上發布信息7.數據訪問頁
本講首頁3.3Access用戶界面
主窗口數據庫窗口當前對象設計工具條當前頁對象列表動
菜單欄工具條狀態欄數據庫窗口設置:“工具”|“自定義”→自定義對話框|
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業基礎知識試題及答案
- 上海數學期末試題及答案
- 上戲往試題及答案
- 認識媒體和信息素養
- T/ZQIE 006-2023金利五金高品質家居用緩沖型杯狀暗鉸鏈
- 問卷設計說明書
- T/ZJSEE 0017-2023新能源匯聚站接入系統設計規范
- 臉譜餐具產品設計
- 新生兒護理課程
- 2025貴州交通職業技術學院輔導員考試試題及答案
- 2024年中國航空工裝行業發展現狀、市場運行態勢及發展前景預測報告
- 中考英語688高頻詞大綱詞頻表
- 一年級下冊口算題卡大全(口算練習題50套直接打印版)
- 外貿鎖檢測報告樣式EN12209
- 無損檢測人員登記表
- DB33-T 2048-2017(2021)民宿基本要求與評價
- 1員工培訓記錄表表格類
- 某大學論文答辯模板課件
- 50以內加減法練習題打印版(100題)
- 基礎體溫表格基礎體溫表
- 煤炭項目建議書【范文參考】
評論
0/150
提交評論