版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
資料庫系統導論
1.1數據處理概念
1.1.1數據與資訊
1.數據
數據是指描述事物的符號,可以有多種形式。數字、文字、圖形、圖像和聲音等都是數據。
2.資訊
資訊是現實世界中的各種事物、事物的特徵及其聯繫等在人腦中的反映,是經過處理、加工提煉而用於決策制定或其他應用活動的數據。
3.數據與資訊的關係資訊和數據是兩個既有聯繫又有區別的概念,數據是資訊的載體,資訊是數據的內涵。同一資訊可以有不同的數據表示形式,而同一數據也可能有不同的解釋。
1.1.2數據處理與數據管理
從已知的、原始的或雜亂無章中的數據中推導出對人們有用的數據或資訊的過程稱為數據處理
數據管理是指數據的收集、整理、組織、存儲、查詢和傳送等各種操作,是數據處理的基本環節,是任何數據處理任務的共性部分。資料庫技術就是一門數據管理技術。
1.2數據管理技術的發展
用電腦進行數據管理由來已久,其發展經歷了三個階段:(1)人工管理階段
人工管理方式由於程式和數據檔基本上是綁在一起的,故數據的獨立性差,無法實現數據共用,數據冗餘度(同樣的數據出現多次稱為冗餘)大。
應用程式1應用程式2應用程式N數據檔1數據檔2數據檔N…………
人工管理方式
(2)檔管理階段檔管理階段的主要特點可概括為如下幾點:(1)輔助記憶體成為電腦系統不可缺少的組成部分,用來存放數據檔。(2)出現了檔管理系統。(3)數據檔可能重複利用,不再與某個應用程式綁在一起。檔管理階段的缺點:程式和文件相互依存、數據冗餘大、數據的不一致性以及不能反映企業間的業務聯繫。
應用程式1應用程式2應用程式N數據檔1數據檔2數據檔N檔管理系統…………檔管理方式
(3)資料庫管理階段與數據的檔管理方式相比,資料庫技術有如下主要特點:
1.數據共用性
2.具有較高的數據與程式的獨立性
3.便於對數據實行集中統一的控制
應用程式1應用程式2應用程式N邏輯檔1邏輯檔2邏輯性1邏輯檔N用戶1用戶2DBMS用戶NDB………………
資料庫管理方式
1.3數據模型
1.3.1資訊世界的術語
1.實體:實體是指客觀存在並可相互區分的事物,不但指人和物,而且事件、抽象的狀態和概念也可以看作實體。
2.屬性:是實體所具有的某一特徵,一個實體可由若干屬性來刻畫。
3.實體集:具有相同類特徵的實體集合稱為實體集。
4.聯繫:根據聯繫的特點可將其分成三種基本類型:1對1的聯繫,1對多的聯繫,多對多的聯繫。
5.關鍵字
6.值域:實體屬性的取值範圍。
1.3.2三大數據模型
1.層次模型
層次模型是指滿足下列條件的基本層次聯繫的集合:(1)有且僅有一個節點無父結點,此結點稱為根結點;(2)根結點以外的其他結點有且僅有一個父結點。
學院系部研究所班級教研室處科研究室層次模式示意圖
2.網狀模型
網狀模型具有以下特點:(1)可以有一個以上結點無父點(2)至少有一個結點具有一個多於一個的父結點。
ABBABCABCDABBABCABCD
圖狀模型示意圖
3.關係模型關係數據模型是三大經典模型中最晚發展有一種,是相對建模能力最強的一種,也是目前使用得最多的一種模型。關係應具有以下性質:(1)關係中不允許有相同的屬性名;(2)每一列的數據類型必須相同,且取自於同一個域;(3)不允許有相同的元組;(4)行的順序和列的順序可以任意排列;(5)關係的任何一個屬性都必須是不可再分的元素;(6)關係的結構相對固定,但元組的值與數目是隨時間的推移而經常變化的。
1.3.3數據模型的三要素
數據模型通常由下列三個部分組成:
1.數據結構數據結構是所研究對象的類型的集合,這些對象是資料庫的組成成分。一般可以分為兩類:一類是與數據類型、內容有關的對象,另一類是與數據之間聯繫有關的對象。
2.數據操作數據操作是指對數據模型中各種對象型的實例所允許執行的操作,包括操作及有關的操作規則。數據結構是對系統靜態特性的描述,數據操作是對系統動態特性的描述。
3.數據的完整性約束條件:數據的完整性約束條件是完整性規則的集合。
1.4資料庫系統體系結構
應用程式1UWA1應用程式2UWA2應用程式3UWA3外模式A外模式B模式外模式\模式映射外模式\模式映射內模式模式/內模式映射DBMS…………DBDB
資料庫的三級體系結構
SPARC結構對數據庫的組織從內到外分三個層次描述,分別稱為內模式、模式和外模式,三個模式反映了看待資料庫的三種不同數據觀點。SPARC結構如圖:SPARC結構對數據庫的組織從內到外分三個層次描述,分別稱為:(1)模式(2)內模式(3)外模式在三個模式之間存在著兩種映射:模式/外模式映射;模式/
模式映射採用映射技術還有以下好處:(1)保證了數據共用;(2)有利於數據的安全保密;(3)方便用戶使用資料庫。
1.5資料庫系統組成
基本電腦系統
資料庫(DB)資料庫管理系統(DBMS)資料庫應用程式資料庫管理員(DBA)
1.6資料庫管理系統的組成
一般來說DBMS由下列三類軟體組成:
(1)語言
1.程式設計語言
2.定義和運算元據庫的語言
(1)數據描述語言(DDL)(2)數據操縱/查詢語言(DML)(2)控制資料庫運行的程式(3)資料庫維護程式
1.7客戶/伺服器資料庫系統概述
按照當前流行的程式設計方法,可以將資料庫應用程式分為兩類:
(1)兩層結構的客戶/伺服器(C/S)資料庫應用程式。資料庫伺服器DB客戶機1客戶機2……客戶機n第一層第二層(2)三層C/S結構
資料庫伺服器DB客戶機1客戶機2……客戶機n第一層第二層應用伺服器第三層2.1關係資料庫的基本概念
2.1.1
關係與關係模式
在關係模型中,實體和實體之間的聯繫都由單一的數據結構——關係來描述,關係型資料庫都是由一張或多張相關聯的表(關係)組成。對關係資料庫中每一關係的結構的描述,稱為該關係的關係模式,也就是一個關係的型。2.1.2關係資料庫與關係資料庫模式
關係資料庫模式中所有的關係模式的具體關係的集合稱之為關係資料庫。圖示
2.1.3視圖
視圖通常是由關係資料庫模式的某個關係中滿足用戶給定條件的若干屬性列或元組組成,也可以是對若干個不同關係進行關係運算的結果,它反映的是局部邏輯結構。
教師編號姓名性別學位工作日期單位職稱0001王寧軍男學士94/07/15電腦講師1006陳平男碩士72/09/01力學副教授2008周華俊女碩士95/08/01電子電工講師
教師資訊表
課號課名班級學時教師編號00001C語言程式97電腦40000100003組合語言97電腦70000110002工程力學96工民建80100610006基礎力學98建工80100620004模擬電路97無線電通信702008
授課資訊表
2.1.4關鍵字
1.超關鍵字
2.候選關鍵字
3.主關鍵字
4.外部關鍵字
5.主屬性和非主屬性
基表1基表2基表3基表4視圖1視圖2視圖3視圖與表的關係示意圖
2.2關係的完整性
關係的完整性包括三類:
(1)實體完整性實體完整性是指在關係中的任何一個元組,主關鍵字值的任一分量都不允許為空。
(2)參照完整性
(3)用戶定義完整性由用戶針對數據的具體語義約束條件,來定義的完整性,稱用戶自定義完整性。如人的年齡可以規定在0~150之間取值,考試成績只能在0~100之間等。
2.3關係的數學定義
2.3.1一個日常生活中的關係
某社區有2名男同志和3名女同志,把男人看成一個集合M,把女人看成一個集合W,如下:
M={趙和平,李振華};
W={李小麗,張小琴,王麗婭}。若M集合和W集合存在著夫妻關係,則可能的夫妻關係如下:
{(趙和平,李小麗),(趙和平,張小琴),(趙和平,王麗婭),(李振華,李小麗),(李振華,張小琴),(李振華,王麗婭)}
在數學上把這種由兩個或多個集合中的值的所有可能組合稱“笛卡爾積”,本題的“笛卡爾積”可記為:M×W。
2.3.2關係的數學定義
1.域域(Domain)是值的集合。如:{1到100之間的整數},{男,女},{Mary,Tom}等都是域。域中元素的個數稱為域的基數,如有下列集合:D1={王小平,張亞,李軍},表示單位人員的集合;D2={教授,副教授,講師,助教},表示職稱的集合;D3={35,27,18},表示工齡的集合。其中D1的基數是3,D2的基數是4,D3的基數是3。2.笛卡爾積
給定一組域,,…,,這些域中可以有相同的域,則,,…,的笛卡爾積為:
××…×={(,,…,)|∈,i=1,2,…,n}其中每一個元素(,,…,)稱為一個元組,元素中的每一個稱為分量。當n的值為1時稱為單元組,當n的值為2時,稱為二元組,以此類推。若(i=1,2,…,n)的基數是,則笛卡爾積××…×的基數M為:3.關係
【例】教師關係例。有以下三個域:D1={張正義,姚小麗},教師姓名集合;D2={男,女},教師性別集合;D3={21,24},教師年齡集合。求D1×D2×D3
。
解:笛卡爾××的值可用左表表示:實際的教師資訊可能如右表
D1D2D3張正義男21張正義男24張正義女21張正義女24姚小麗男21姚小麗男24姚小麗女21姚小麗女24D1D2D3張正義男21姚小麗女242.4關係代數
2.4.1傳統的集合運算
1.並運算(UNION)
2.交運算(INTERSECTION)
3.差運算(DIFFERENCE)
4.關係的笛卡爾積
2.4.2專門的關係運算
1.選擇(SELECT)運算
2.投影(PROJECTION)運算
3.聯接運算(JOIN)
(1)內部聯接(InnerJoin)
(2)自然聯接運算(Naturaljoin)
(3)左外聯接(Leftouterjoin)
(4)右外聯接(Rightouterjoin)
(5)全外聯接(Fullouterjoin)
2.5關係的規範化
2.5.1存儲異常
【例】某校教務部要建立一個資料庫來描述教師與教研室的情況,面臨的對象有:教師編號(TNO)、教師姓名(TNAME)、教師主講的課程名(KNAME)、教師主講課程的次數(KTIME)、教研室代號(JNO)、教研室主任(JMN)等。通過分析可知上述對象之間有如下對應關係:(1)一個教研室有若干教師,但一個教師只屬於一個教研室;(2)一個教研室只有一個主任;(3)一名教師可以主講多門課程,每門課程可由多名教師主講;(4)每名教師主講每門課程有一定的次數。根據上述分析,我們可以考慮以下兩種資料庫模式的選擇方案。方案1:採用一個總的關係模式:方案2:採用三個關係模式:
2.5.2函數依賴的基本概念
1.函數依賴函數依賴根據其性質可分為完全函數依賴、部分函數依賴和傳遞函數依賴。2.完全函數依賴設R為任一給定關係,X,Y為其屬性或屬性組,若X
Y,且對X中的任何真子集X
都有XY,則稱Y完全函數依賴於X。記作:3.部分函數依賴設R為任一給定關係,X,Y為其屬性或屬性組,若X
Y,且在X中存在一個真子集X
,滿足X
Y,則稱Y部分函數依賴於X。記作:
4.傳遞函數依賴
設R為任一給定關係,X,Y,Z為其不同屬性子集,若X
Y,YX,Y
Z,則稱Z傳遞函數依賴於X,
2.5.3關係規範化的過程
1.第一範式任給關係R,如果R中每一屬性的值域中的每一個值都是不可分解的,則R為第一範式,記作R∈1NF。
教師編號所教課程0001程式設計0002程式設計,操作系統非規範化關係
教師編號所教課程0001程式設計0002程式設計0002操作系統規範化的關係
2.第二範式任給關係R,若R∈1NF,且其所有非主屬性都完全函數依賴於關鍵字,則R為第二範式,記作R∈2NF。3.第三範式任給關係R,若R∈2NF,且它的每一個非主屬性都不傳遞依賴於主關鍵字,則R屬性第三範式,記作R∈3NF。4.BCNF範式
BCNF(BoyceCoddNormalForm)是Boyce與Codd為解決3NF有時出現的插入與刪除操作異常問題而提出的
2.5.4關係分解的正確性
把組合屬性分解為不可再分的屬性非規範化關係1NF2NF3NFBCNF消去非主屬性對主關鍵字的部分函數依賴消去非主屬性對主關鍵字的傳遞函數依賴消去所有部分函數依賴,包括主屬性對候選關鍵字的部分函數依賴使每一個決定因素都包含候選碼
關係分解的過程
通過一個實例來說明關係分解的正確性。
在某學校中,一個學生(學號屬性名為S#)只在一個系(系號屬性名為DEPT)學習,一個系只有一名系主任(姓名屬性名為MN),下表是該學校的一個實際關係,其關係模式為R(S#,DEPT,MN)。可見在該關係中,MN傳遞函數依賴於S#,故需對之進行關係分解。可有三種方法:
S#DEPTMNS1D1張五S2D1張五S3D2李四S4D3王一1.分解成三個關係:R1(S#),R2(DEPT),R3(MN)
S#S1S2S3S4關係R1
DEPTD1D2D3
關係R2
MN張五李四王一關係R3
2.分解成兩個關係:R1(S#,DEPT),R2(S#,MN)
S#DEPTS1D1S2D1S3D2S4D3關係R1
S#MNS1張五S1張五S2李四S3王三關係R2
3.分解成兩個關係:R1(S#,DEPT)和R2(DEPT,MN)
S#DEPTS1D1S2D1S3D2S4D3
關係R1
DEPTMNS1張五S2李四S3王三
關係R2
3.1E—R模型
3.1.1三個世界
事物類事物性質實體集實體屬性檔記錄資料項目現實世界資訊世界數據世界3.1.2E-R模型的組成要素及表示方法
1.E-R圖的組成要素及其畫法2.實體間不同聯繫情況的E-R圖表示法【例
】兩個實體集之間的一對一的聯繫的繪製方法。假設某學院有若干個系,每個系只有一個主任。則主任和系之間是一對一的關係。主任和系的屬性分別如下:主任——編號,姓名,年齡,學歷;系——系編號,系名,主任和系之間是一個管理關係
實體名聯繫名屬性名實體表示屬性表示聯繫表示解:描述主任和系之間的E-R圖可如下圖:
1主任系管理1姓名年齡學歷編號系編號系名任職時間【例
】兩個實體集之間的一對多的聯繫的繪製方法。假設在某倉庫管理系統中,有兩個實體集:倉庫和商品。倉庫用來存放商品,且規定一類商品只能存放在一個倉庫中,一個倉庫可以存放多件商品。倉庫和商品之間是一對多的聯繫。倉庫和商品的屬性分別如下:倉庫——倉庫號,地點,面積聯單
商品——商品號,商品名,價格在存放聯繫中要反映出存放商品的數量。
解:描述倉庫和商品之間的E-R圖可如下圖所示
1倉庫商品存放n地點面積倉庫號商品號價格數量商品名【例】兩個實體集之間的多對多的聯繫的繪製方法。
假設在某教務管理系統中,一個教師可以上多門課,一門課也可以由多個老師去上。教師和課程之間是多對多的聯繫。教師和課程可用以下屬性來描述:教師——教師號,教師名,職稱
課程——課程號,課程名,班級在“講授”聯繫中應能反映出教師的授課品質。
解:描述教師和課程之間的E-R圖可如下圖所示。
m教師課程講授n教師名職稱教師號課程號班級品質課程名3.2E—R圖的設計方法
E-R圖通常都應經過以下兩個階段:
(1)針對每一用戶畫出該用戶資訊的局部E—R圖,確定該用戶視圖的實體、屬性和聯繫。需注意的是:能作為屬性的就不要作為實體,這有利於E—R圖的簡化。
(2)綜合局部E—R圖,生成總體E—R圖。在綜合過程中,同名實體只能出現一次,還要去掉不必要的聯繫,以便消除冗餘。一般來說,從總體E—R圖必須能導出原來的所有局部視圖,包括實體、屬性和聯繫。
【例
】某學校管理系統中有三個部門:後勤部、學生處和財務處。後勤部用來管理學生的住宿;教務處用來管理學生選課和教師任課;財務處用來管理發放教師的工資。
後勤部涉及到的實體及實體之間的聯繫如下:
學生:屬性有學號、姓名、性別、年齡、專業和入學時間宿舍:樓號、房間、檔次學生與宿舍的聯繫是一個學生只能住在一個宿舍,一個宿舍能住多個學生,學生住宿要交租金。教務處涉及到的實體及實體之間的聯繫如下:學生:屬性有學號、姓名、性別、年齡、專業和入學時間教師:屬性有教師號、姓名、性別、職稱、專業課程:屬性有課程號、課程名、學時數、專業各實體關係描述如下:一個學生可以選多門課,一門課可以由多個學生選修;一個教師可以教多門課,一門課也可以由多個老師教;學生選修某門課有一個成績;教師教某門課有一個品質評價。
財務處涉及到的實體及實體之間的聯繫如下:
教師:屬性有教師號、姓名、性別、職稱、專業工資:屬性有基本工資、加班工資、扣稅、工資編號教師和工資的聯繫是:一個教師只能領一份工資,一份工資只能由一個教師領,領工資時應注明是某月工資。解:先根據題意設計出各部門的局部E-R圖
n學生宿舍住1租金學生姓名專業學號宿舍樓號檔次年齡性別入學時間房間號(a)後勤部的局部E-R圖
教師姓名職稱教師號課程課程號學時數課程名性別專業專業m教師課程講授n品質學生選修mn成績(b)教務處的局部E-R圖(學生同(a)圖)
工資扣稅基本工資加班工資工資編號工資教師領11月份1m學生住宿舍n1教師課程選修mn講授n領工資1(c)財務處的局部E-R圖(教師同(b)圖)
某學校管理系統的全局E-R圖
3.3E—R模型到關係模型的轉換
把E-R圖轉換為關係模型可遵循如下原則
:
(1)對於E—R圖中每個實體集,都應轉換為一個關係,該關係應包括對應實體的全部屬性,並應根據關係所表達的語義確定哪個屬性或哪幾個屬性組作為“主關鍵字”,主關鍵字用來標識實體。(2)對於E—R圖中的聯繫,情況比較複雜,要根據實體聯繫方式的不同,採取不同的手段加以實現。下麵著重討論聯繫的轉換方法。
3.3.1兩實體集間1:n聯繫
兩實體集間1:n聯繫,可將“一方”實體的主關鍵字納入“n方”實體集對應的關係中作為“外部關鍵字”,同時把聯繫的屬性也一併納入“n方”對應的關係中。3.3.2兩實體集間m:n聯繫對於兩實體集間m:n聯繫,必須對“聯繫”單獨建立一個關係,用來聯繫雙方實體集。該關係的屬性中至少要包括被它所聯繫的雙方實體集的“主關鍵字”,並且如果聯繫有屬性,也要歸入這個關係中。
3.3.3兩實體集間的1:1的聯繫
假設A實體集與B實體集是1:1的聯繫,聯繫的轉換有三種方法:
①把A實體集的主關鍵字加入到B實體集對應的關係中,如果聯繫有屬性也一併加入;
②把B實體集的主關鍵字加入到A實體集對應的關係中,如果聯繫有屬性也一併加入;
③建立第三個關係,關係中包含兩個實體集的主關鍵字,如果聯繫有屬性也一併加入。
4.1資料庫設計概述
4.1.1資料庫設計的目標資料庫設計有兩個最重要的目標:滿足應用功能需求和良好的資料庫性能。滿足應用功能需求,主要是指把用戶當前應用以及可預知的將來應用所需要的數據及其聯繫能全部準確地存放於資料庫之中,並能根據用戶的需要對數據進行規定的合理的增、刪、改、顯示等操作。良好的資料庫性能,主要是指數據庫應具有良好的存儲結構、良好的數據共用性、良好的數據完整性、良好的數據一致性及良好的安全保密性能等。
4.1.2資料庫設計的內容
1.資料庫的結構特性設計資料庫的結構特性設計是確定資料庫的框架和數據結構(邏輯結構特徵)。
2.資料庫的行為特性設計資料庫的行為特性設計是指確定資料庫用戶的行為和動作,並根據其行為特性設計出資料庫的子模式。
3.資料庫的物理模式設計資料庫的物理模式設計要求是:根據資料庫結構的動態特性,在特定的RDBMS環境下,把資料庫的邏輯結構模型加以物理實現,從而得出資料庫的存儲模式和存取方法。
4.1.3資料庫設計的特點與過程
1.資料庫設計的特點:資料庫設計是一種“反復探尋,逐步求精”的過程。
2.資料庫設計的過程
如下圖
單位或組織資料庫的邏輯設計資料庫的行為設計分析用戶需求E-R模型設計邏輯模式設計分析用戶需求模組功能說明編寫程式代碼存儲結構的選擇屬性的確定索引的確定資料庫的物理設計加載實驗數據並調試運行應用程式的調試、運行與維護滿意?不是加載資料庫資料庫系統的運行與維護不4.2資料庫邏輯設計
4.2.1資料庫邏輯設計的步驟邏輯設計階段的目標是產生合理的資料庫模式,可分為三個階段:分別是收集和分析用戶需求、概念模式設計和邏輯模式設J計。第一階段主要分成四個步驟,分別如下:第一步:分析用戶活動,產生“用戶活動圖”。第二步:確定系統範圍,產生“系統範圍圖”。第三步:分析用戶活動所涉及到的數據,產生“數據流圖”。第四步:分析系統數據,產生數據字典。第二階段可分為兩個步驟,分別如下:第一步:根據局部E-R模型,產生局部“E-R模型”。第二步:對局部E-R模型進行綜合,產生總體E-R模型,並建立“總體E-R圖”。第三階段也可分成兩個步驟,分別如下:第一步:把總體E-R圖轉換成模式。第二步:對模式進行優化,產生符合要求的合理最優的模式。
4.2.2收集和分析用戶需求
通過一個醫院資訊管理系統來說明這四個步驟應完成的功能。
【例】某醫院資訊管理系統要完成以下功能:
辦理病歷(第一次來院治病時辦理病歷);查詢藥品情況(根據要求查詢某種類或全部藥品資訊);病人專案入庫(病人所用藥、所做檢查等治療資訊存入到指定的資料庫中);催交欠費(根據病人專案計算出總費用,減去預交費用,若超過某一限度則催交欠費)。
1.分析用戶活動
接受申請病人數據存檔列印病歷封面接受申請查藥品資訊列印藥品目錄清單接受申請專案資訊的錄入與保存列印專案資訊接受申請查專案資訊計算逾期專案與費用並列印辦理病歷藥品查詢專案入庫催交欠費發給病人發給查詢人交給病人交給病人用戶醫院的業務流程所得到的“用戶活動圖”
2.確定系統範圍
上圖中虛線框內的部分屬於系統範圍,而框外部分則需人工處理。
3.分析用戶活動所涉及到的數據
(1)數據流圖(DFD)的概念數據流圖是一種能全面描述系統邏輯模型的主要工具,它可以用少數幾種符號綜合地反映出數據在系統中的流動、存儲和處理情況。(2)數據流圖的特徵
抽象性——數據流圖完全舍去了具體的物質,只剩下數據的流動、加工處理和存儲。概括性——數據流圖可以把系統中的不同業務處理過程聯繫起來,形成一個整體。(3)數據流圖的組成
畫數據流圖應注意以下幾點:數據流圖中反映的是數據流而不是控制流,這是與一般程式流程圖的最大不同之處;在對數據流圖中各個成份命名時,應該體現命名的含義;流入檔或流出檔的數據流不必命名,因為檔案名本身已經表示了數據內容;源點和終點不是必須的,因為它們是屬於系統之外的事物,但畫出源點和終點有助於理解數據流的來龍去脈。
SD1P1D2F1P2D3EF2(4)數據流圖的畫法
一般地說,畫數據流圖應遵循“由外向內,逐步細化”的原則。逐步細化是指:逐一描述系統內部數據流,一般從每個業務的輸入端開始向輸出端推進,每當經過使數據流的組成或數值發生變化的地方,就用一個“加工”將其連接起來,這個“加工”正是實現這一數據變化的。注意,不要把相互無關的數據畫成一個數據流,也不要把作為一個處理單位的數據畫成二個數據流。如果牽涉到檔,則應表示出“檔”與“加工”的讀寫關係。
4.分析系統數據
(1)數據字典的概念數據流圖表達了數據和處理的關係,數據字典則是系統中各類數據描述的集合,是進行數據收集和數據分析所獲得的結果。數據字典是關於資料庫中數據的描述,通常稱“元數據”,元數據不是數據本身。數據字典在資料庫設計中佔有非常重要的地位,是概念模式設計、邏輯模式設計和物理設計的主要依據。(2)通過數據流圖構成數據字典數據字典是對數據流圖中的四個成份進行描述的產物,它和數據流圖共同構成“系統說明書”。
①數據流的描述
②檔的描述
③資料項目的描述
④加工的描述
4.2.3概念模型設計(E-R圖設計)
1.局部E-R模型的設計局部E-R模型設計的任務是根據需求上一步驟產生的各個功能模組的數據流圖和數據字典中的相關數據,設計出各個功能模組的局部E—R圖。
數據抽象、設計局部E-R圖對局部E-R圖集成,生成總體E-R圖用戶滿意NY概念模型的設計步驟
2.總體E-R模型的設計
局部E-R圖之間的衝突主要有3類:屬性衝突、命名衝突和結構衝突。(1)屬性衝突
①屬性域衝突,即屬性值的類型、取值範圍不同。
②屬性取值單位衝突。(2)命名衝突
①同名異義衝突,即不同意義的對象在不同的部門的局部E-R圖中具有相同的名字。
②異名同義衝突,即意義相同的對象在不同的部門的局部E-R圖中具有不同的名字。(3)結構衝突
①同一對象在不同的應用中具有不同的抽象。
②同一實體在不同的局部E-R圖中的屬性組成不一致,即包含的屬性個數和屬性排列次序不完全相同。
③實體之間的聯繫在不同的局部E—R圖中呈現不同的類型。這類衝突的解決方法是根據應用的語義對實體聯繫的類型進行綜合或調整。
4.2.4邏輯模式設計
邏輯模式設計的實質是把E-R圖轉換為具體的DBMS支持的數據模型。把E-R圖轉換為關係模型的方法,通常分兩步進行:初步設計和優化設計。1.初步設計——把E-R圖轉換為關係模型具體的轉換方法請參見3.3節。2.優化設計——對模式進行調整和改善所謂優化,就是從提高效率的角度出發,對模式結構作進一步的凋整和改良。優化是在性能預測的基礎上進行的,一般用三方面指標來衡量:(1)單位時間內所訪問的邏輯記錄個數要少;(2)單位時間內數據傳送量要少;(3)系統佔用的存儲空間儘量要少。【例】要查詢病人資訊時,經常按住院病人和門診病人分類查詢,為改善性能,使得單位時間內訪問邏輯記錄的個數儘量少,請給出一種分解方法。原來的病人關係為:病人(病歷號、姓名、性別、年齡、職業、通信地址、電話號碼、是否醫保)可對其進行水準分解,使其成為兩個關係住院病人(病歷號、姓名、性別、年齡、職業、通信地址、電話號碼、是否醫保)門診病人(病歷號、姓名、性別、年齡、職業、通信地址、電話號碼、是否醫保)4.3資料庫物理設計
4.3.1存儲結構的選擇選擇何種存儲結構,與選定的DBMS類型有關,對於層次式或網狀式DBMS,存儲結構的選擇與應用有密切關係。對於關係式資料庫,用戶能夠干預的事情很少,最多只能選定索引方法或給出輔助索引,以便在程式中可以按倒排檔方式查詢數據,而存取路徑是由系統安排的。4.3.2屬性的存儲類型的確定不同DBMS系統的數據類型稍微有點區別,因此需要針對不同的DBMS來確定每個屬性的存儲類型。資料庫管理系統提供的資料庫設計工具就具有設計屬性的存儲類型的功能,如VisualFoxPro提供的“表設計器”,VisualBasic提供的“可視化數據管理器”,Delphi提供的“DataBaseDesktop”等。4.3.3表的索引結構的確定
4.3.4存取路徑的確定
4.4資料庫的實現、運行與維護
4.4.1資料庫的實現該階段主要完成以下三項工作:(1)建立實際資料庫結構。(2)裝入試驗數據對應用程式進行調試。(3)裝入實際數據,進入試運行狀態。4.4.2資料庫的運行與維護運行維護階段的主要任務如下:(1)對日常資料庫操作進行維護(2)維護資料庫的結構(3)維護資料庫的安全性與完整性(4)監測並改善資料庫運行性能(5)根據用戶要求對數據庫現有功能進行擴充(6)及時改正運行中發現的系統錯誤
4.5編寫技術文檔
4.5.1編寫系統說明書系統說明書主要由數據流圖和數據字典組成。它用來表達用戶對系統的要求,軟體人員根據“系統說明書”進行資料庫的構造和應用程式的設計。
4.5.2編寫技術說明書技術說明書主要包括如下內容:
(1)用戶活動圖、數據流圖和數據字典。(2)局部E-R圖和總體E-R圖。(3)對於層次和網狀數據類型應指出各種記錄型及其聯繫,指出關鍵字。對於關係數據類型,應指出關係模式、關係模式之間的聯繫、關係的關鍵字。(4)在資料庫設計階段產生的每個表格的名稱、字段的屬性、索引的名稱和索引字段(或索引運算式)(5)應用程式的總體結構框圖,各主要模組的流程圖,詳細的程式代碼。5.1Access2002的功能特點
1.一體化的操作環境
2.提供了眾多可視化的設計工具和設計嚮導
3.易於與OfficeXP的其他組件進行數據交換
4.XML支持
5.具有擴展屬性支持
5.2Access2002資料庫的創建和使用
在Access2002中可使用以下三種方法創建資料庫:用資料庫嚮導創建資料庫;(1)執行“新建”命令(2)選擇資料庫類型(3)保存資料庫檔(4)為數據庫的表選擇字段(5)確定螢幕的顯示樣式(6)確定列印報表樣式(7)設置資料庫標題(8)資料庫創建完成
2.創建空資料庫
創建空資料庫的步驟如下:
(1)執行【檔】→【新建】命令(2)在“新建檔”對話框中選擇“新建”選項組中的“空資料庫”(3)在“檔新建資料庫”對話框中,選擇保存檔的位置並輸入要創建的資料庫名稱,然後按“創建”按鈕
5.2.3Access2002資料庫的使用
1.打開資料庫最常用的打開資料庫的操作步驟如下:
(1)執行【檔】→【打開】命令,將出現“打開”對話框;
(2)在“打開”對話框中找到要打開的檔,然後按【打開】按鈕。
“打開”下拉式菜單
2.轉換資料庫
轉換方法如下:(1)打開要轉換的資料庫;(2)執行【工具】→【資料庫實用工具】→【轉換資料庫】菜單下的相應命令(選相應的板本),將出現如下圖所示的“將資料庫轉換為”對話框。在該對話框中輸入要轉換成的資料庫檔案名後按“保存”按鈕。5.3Access2002資料庫表的創建和使用
5.3.1數據表的創建
可通過以下四種方法創建表:通過輸入數據創建表;使用表嚮導創建表;使用表的設計視圖創建表;通過導入或鏈接已有的數據創建新表。
本節先創建一個名為“教學”的空的資料庫,然後再在該資料庫中創建表。本章只介紹“通過輸入數據創建表”和“使用表的設計視圖創建表”兩種常用方法。
1.表結構概述
在Access中,字段名稱一般不超過64個字元,下麵著重講解字段的數據類型和字段屬性。(1)字段的數據類型
①文本:由漢字、字母、數字、空格和其他ASCII碼字元組成。長度不得超過255。
②備註:由漢字、字母、數字、空格和其他ASCII碼字元組成。長度不得超過65535。
③數字:由正號、負號、小數點和數字組成。
④日期和時間:8個位元組。
⑤貨幣:整數位為15位,小數位為4位的數值。
⑥自動編號:自動給每一條記錄分配一個惟一的遞增或隨機的數值。
⑦是/否:邏輯型,“是”或“否”。⑧OLE對象:鏈接或嵌入多媒體對象,最多1GB。⑨超級鏈接:鏈接到本地或網路上的任意位置。⑩查詢嚮導:用於實現查閱另外表中的數據或從一個列表中選擇數據。(2)字段屬性
①字段大小:用來限定文本字段輸入字元的長度或數字型數據的種類。
②格式:用來控制數據在螢幕上顯示或列印的方式。
③輸入掩碼:用戶為數據定義的格式。
掩碼字元含義0必須輸入一個字元9可以輸入一個數字或空格,也可以不輸入內容#可以輸入一個數字、空格或符號,也可以不輸入內容L必須輸入一個英文字母?可以輸入一個英文字母,也可以不輸入內容A必須輸入一個英文字母或數字a可以輸入一個英文字母或數字,也可以不輸入內容&必須輸入一個字元或空格C可以輸入一個字元或空格,也可以不輸入內容<將後面所有字元轉換為小寫>將後面所有字元轉換為大寫\將後面所有字元原樣顯示輸入掩碼字元含義對照表
④小數位:指定數字型和貨幣型數據小數點後的位數。⑤標題:在窗體或報表中顯然該字段時,顯示的文字。⑥默認值:在添加新記錄時,該值將自動作為該字段的值。⑦有效性規則:用來對字段的值進行約束。⑧有效性文本:規定用戶輸入的數據不符合有效性規則時,系統顯示出來的提示資訊。⑨允許空字元串:用來指定字段中是否允許零長度字串,即是否可以不輸入數據。⑩必填字段:用來指定字段中是否必須要輸入值。⑾索引:用來確定該字段是否作為索引。⑿Unicode壓縮:用來指定是否允許對該字段進行Unicode壓縮。2.通過輸入數據創建表
“通過輸入數據創建表”的方法在“教學”資料庫中創建如下表所示的“教師表”,步驟如下:(1)在“教學”資料庫窗口中選中“表對象”,然後雙擊“通過輸入數據創建表”選項,將會出現如下圖所示的“數據表視圖”窗口,按上表所示輸入第一條記錄。
教師課程學生主講選修1nnm成績(2)雙擊“字段1”,使之反顯,然後輸入“教師編號”,再按“回車”鍵,將會把“字段1”命名為“教師編號”。(3)把插入點移到“教師編號”列中,執行【格式】→【列寬】命令,將會出現“列寬”對話框,在該對話框中單擊“自動匹配”按鈕,系統根據字段內容自動調整列寬。也可以在列寬後面的文本框中自己指定列寬,然後按“確定”按鈕。
(4)採用第(2)步和第(3)步的方法輸入其他各個字段名並調整好每列的寬度。
(5)此時可輸入其他記錄,輸入完畢後可執行【檔】→【保存】命令,將會出現
“另存放”對話框,在“表名稱”文本框中輸入“教師表”後按“確定”按鈕。(6)由於本表使用“教師編號”惟一標識記錄,所以單擊“否”按鈕,以後可使用“表設計器”把“教師編號”指定為主鍵。(7)關閉“數據表”視圖後,將會看到“教師表”已經出現在資料庫中了。
3.使用表的設計視圖創建表
通過表設計視圖為“教學”資料庫創建學生表,學生表的結構如下表所示。
字段名稱字段類型字段大小字段屬性學號文本7必填字段屬性值為“是”姓名文本8必填字段屬性值為“是”性別文本2有效性規則為:Like"男"ORLike"女"有效性文本:性別必須是男或女!年齡數字整型
班級查閱嚮導系統自動查詢數據為:00電腦應用、01電腦應用、02網路管理、02電腦應用簡歷備註系統自動
照片OLE對象系統自動
可通過以下步驟建立該表:
(1)在“資料庫”視圖中雙擊“使用設計器”創建表,將會出現“表設計視圖”。(2)在“字段名稱”下麵輸入第一個字段名稱“學號”,再單擊“數據類型”右側的下拉箭頭,選中“文本”。單擊“字段大小”文本框,輸入“7”單擊“常規”中的“必填字段”文本框,在下拉式列表中選中“是”。(3)在“字段名稱”下輸入第二個字段的名稱“姓名”,單擊右側的“數據類型”,設置其類型為“文本”,單擊“字段大小”文本框,輸入“8”,單擊“必填字段”文本框,打開彈出列表,選擇“是”。(4)在“字段名稱”下輸入第三個字段的名稱“性別”,單擊右側的“數據類型”,設置其類型為“文本”,單擊“字段大小”文本框,輸入“2”,再單擊“有效性規則”文本框,輸入:Like"男"orLike"女",單擊“有效性文本”文本框,輸入:性別必須是男或女!。
(5)在“字段名稱”下輸入第四個字段的名稱“年齡”,單擊右側的“數據類型”,設置其類型為“數字”,設置其字段大小為“整型”。(6)在“字段名稱”下輸入第五個字段的名稱“班級”,單擊右側的“數據類型”,設置其類型為“查閱嚮導”,打開“查閱嚮導”對話框。(7)採用相同的方法輸入第六個字段“簡歷”,字段類型為“備註”;第七個字段“照片”,字段類型為“OLE對象”。(8)執行【檔】→【保存】命令,將彈出“另存為”對話框,輸入表名稱為“學生表”後按“確定”按鈕,將會彈出提示您是否定義主鍵的對話框,單擊“否”,不為當前表創建主鍵。
“查閱嚮導”的“查閱”屬性
5.3.2表結構的日常操作
數據表創建以後,可根據情況的變化隨時修改它的結構。下麵介紹最常用的表結構操作:添加字段、刪除字段、修改字段屬性。1.添加字段 假設要給“教學”資料庫中的“教師表”添加一個出生日期字段,採用的步驟如下:(1)在“教學”資料庫窗口中,單擊“教師表”以選中教師表,然後單擊“資料庫”窗口工具欄上的按鈕
,打開“教師表”的設計視圖。(2)假設要把“出生日期”字段添加到“職稱”字段之前,可先單擊“職稱”字段所在的行,然後單擊工具欄上的“插入行”按鈕
(3)在“字段名稱”列中單擊,然後為該字段鍵入名稱“出生日期”。(4)在“數據類型”列中,單擊“數據類型”列並單擊箭頭,然後選擇“日期/時間”。
(5)單擊表屬性中的“格式”,設置其格式為“中日期”。(6)執行【檔】→【保存】命令,保存所做的修改。
2.刪除字段
刪除字段時將會刪除字段中所有數據,如果字段中有數據,在刪除字段前,系統會向用戶進行提示,以免誤刪。刪除字段也可以在兩種視圖方式下進行,具體步驟如下:(1)在“設計”視圖中刪除字段:打開表的設計視圖,選中要刪除的字段(行),執行【編輯】→【刪除行】命令或單擊工具欄上的刪除行按鈕
(2)在“數據表”視圖中刪除表中字段:在“數據表”視圖中打開表,單擊要刪除列的列名將選中該列,然後執行【編輯】→【刪除列】命令。
3.修改字段的屬性
用戶在設計好表的結構後,可以重新更改字段的屬性,修改字段的屬性要在設計視圖中進行,基本方法如下:(1)打開表的設計視圖。(2)單擊要修改的字段的“數據類型”,選擇新的數據類型。(3)在下面的“字段屬性”列表框中,修改相應的屬性值即可5.3.3表記錄的日常操作1.增加記錄表結構創建過後,應向表中添加記錄,增加記錄的方法如下:(1)在“資料庫”窗口中,在輸入的表名上雙擊,打開該表的數據表視圖;(2)在第一個空白行上單擊(該記錄的標識塊上顯示一個“*”號),就可輸入當前記錄的數據。
2.刪除記錄
當數據表中的記錄不需要時,可以把它刪除,操作步驟如下:(1)在數據表視圖窗口中打開相應的數據表;(2)單擊要刪除記錄左邊的標識塊,以選定該記錄;(3)單擊工具欄上的“刪除記錄”按鈕或直接按Del鍵3.編輯記錄
在編輯修改時要注意不同數據的輸入格式,如對於OLE對象數據的輸入,只能先在該字段上單擊,然後執行【編輯】→【插入對象】命令,然後通過檔或新建對象來實現。4.排序給表中記錄排序的方法有兩種:(1)單擊要排序的字段所在列,再單擊工具欄上的“昇冪”按鈕或“降序”按鈕;
(2)單擊要排序的字段所在列,執行【記錄】→【排序】子菜單中的相應命令項。5.3.4主鍵的創建及其使用1.主鍵的分類
(1)“自動編號”主鍵(2)單字段主鍵(3)多字段主鍵2.主鍵的相關操作
(1)主鍵的設置與更改單字段主鍵的設置步驟如下:
①用表設計視圖打開某表;
②選擇要定義為主鍵的字段;
③單擊工具欄上的“主鍵”按鈕或執行【編輯】→【主鍵】命令。
多字段主鍵的設置步驟如下:①用表設計視圖打開某表;②選擇要定義為主鍵的多個字段(如果是連續的多個字段,可在字段的左側單擊並拖動以選擇多個字段;如果是不連續的多個字段,可單擊第一個字段名的左側,選中它,然後按住CTRL鍵再一一單擊其他字段的左側);③單擊工具欄上的“主鍵”按鈕或執行【編輯】→【主鍵】命令。(2)主鍵的刪除刪除主鍵的步驟如下:
①用表設計視圖打開某表;
②選擇定義為主鍵的字段;
③單擊工具欄上的“主鍵”按鈕
5.3.5索引的創建及其使用
1.索引的含義2.索引的創建(1)創建單字段索引創建單字段索引的步驟如下:①在表設計視圖中打開相應的表②在窗口上部,單擊要為其創建索引的字段③在窗口下部,單擊“索引”屬性,設置其值為“有(有重複)”或“無(無重複)”,有重複的索引允許索引的字段值有重複。(2)創建多字段索引3.索引的刪除
5.3.6表之間關係的建立
1.關係的種類在Access中創建關係的種類取決於相關字段的定義,一般如下:(1)如果兩個表的匹配字段中僅有一個字段是主鍵或具有惟一索引,則創建一對多關係。(2)如果兩個表的匹配字段都是主鍵或惟一索引,則創建一對一關係。(3)多對多關係實際上是某兩個表與第三個表的兩個一對多關係,第三個表的主鍵包含兩個字段,分別是前兩個表的外鍵。2.關係的定義
(1)定義一對一或一對多的關係(2)定義多對多的關係
建立了一對多關係後的窗口
建立了一對多和多對多關係後的窗口
3.關係的操作
(1)編輯表關係
①關閉要編輯關係的相關表;
②在關係連接上單擊右鍵,在出現的快捷菜單中選中“編輯關係”,或直接雙擊關係連線,均會出現“編輯關係”對話框;
③對關係編輯完成後按“確定”按鈕。
(2)刪除表關係
①關閉要編輯關係的相關表;
②在關係連線上單擊以選中關係,此時關係連線變黑變粗;
③按“Del”鍵,將會出現
“確認刪除”對話框,選中“是”按鈕將會刪除關係,選中“否”按鈕將不刪除關係。
5.4查詢的作用與創建方法
所謂查詢就是在資料庫中查找到指定的數據。在Access2002中,共有五種查詢:選擇查詢、參數查詢、交叉表查詢、操作查詢和SQL查詢。其實查詢就好像是一組命令,要執行查詢時就是執行這些命令(SQL命令),通過這些命令從相應的表中提取數據,形成查詢數據結合,該數據集合就是我們看到的結果。6.1Delphi7支持的資料庫種類
6.1.1Delphi7訪問資料庫的基本方法
6.1.2Delphi7支持的資料庫類型
Delphi7所支持的資料庫類型主要有以下幾種:(1)dBase資料庫(.DBF)(2)Paradox資料庫(3)ASCII碼檔(.TXT)(4)本地InterBase伺服器(.GDB)(5)Access資料庫(.MDB)(6)各種資料庫伺服器(7)可以通過ODBC與其他資料庫建立連接
6.2利用Delphi7開發資料庫應用程式的模式
6.2.1利用Delphi7開發單層資料庫應用程式的方法
在不使用BDE與BDE數據集,也不使用IAppServer介面的情況下,直接用資料庫檔作為數據源,在數據控制組件的配合下進行資料庫應用程式的開發,稱為基於檔的單層資料庫應用程式
6.2.2利用Delphi7開發兩層資料庫應用程式的方法
1.基於BDE的兩層資料庫應用程式
2.基於ADO的兩層資料庫應用程式
6.2.3利用Delphi7開發多層資料庫應用程式的方法
1.基於DataSnap技術的多層資料庫應用程式
DataSnap技術原先稱MIDAS技術,該結構的資料庫應用程式與兩層結構的資料庫應用程式相比,多了一個應用伺服器,與數據訪問有關的功能以數據提供者(Providers)的身份運行在應用伺服器上。2.邏輯三層結構的資料庫應用程式
6.3ODBC的概念和配置ODBC數據源的方法
6.3.1ODBC的概念從物理上看,ODBC實際上由五個層次組成:
(1)數據源名
(2)應用程式
(3)ODBC管理器(Administrator)
(4)驅動程式管理器(DriverManager)
(5)ODBCAPI
(6)數據源
6.3.2DSN的概念
DSN可分成如下3種
:
系統DSN(SystemDSN):這種DSN可以被登錄到系統中的所有用戶使用。用戶DSN(UserDSN):這種DSN是為特定用戶建立的,只能被建立它的用戶使用。文檔DSN(FileDSN):用於文檔的DSN。
6.3.3Access資料庫的系統DSN的配置
為前面建立的“教學”資料庫建立一個系統DSN,DSN名為“jiaoxue”,使用的操作系統為WindowsXP,具體步驟如下
:
1.打開ODBC數據源管理器
2.選擇數據源類型並添加數據源
3.選擇驅動數據源的驅動程式
4.設置數據源參數
5.完成
6.3.4SQLServer資料庫的系統DSN的配置
為SQLServer2000自帶的資料庫Pubs建立一個系統DSN,名為“SQLPubs”,使用的操作系統為WindowsXP,步驟如下:
1.方法同Access數據源名的配置
2.方法同Access數據源名的配置
3.選擇驅動數據源的驅動程式
4.為數據源命名並選擇SQL伺服器
5.設置登錄ID和密碼
6.選擇資料庫
7.測試數據源
8.完成
6.4使用DatabaseDesktop進行資料庫管理
6.4.1DatabaseDesktop的作用
1.創建和維護資料庫
DatabaseDesktop應用程式可以直接創建和維護Paradox資料庫,但不僅是用於創建Paradox表,幾乎當前所有格式的資料庫表均可以通過它來創建。
2.維護資料庫別名
在DatabaseDesktop應用程式中,可以實現別名的創建和刪除等操作。
3.創建SQL檔和執行SQL命令
6.4.2DatabaseDesktop的工作目錄和私有目錄的設定
通過把D:\ZP子目錄設為工作目錄來說明工作目錄的設定方法,具體步驟如下:
(1)執行【Tools】→【DatabaseDesktop】命令,啟動DatabaseDesktop應用程式。(2)執行【File】→【WorkingDirectory】命令,出現【SetWorkingDirectory】對話框。在【WorkingDirectory】文本框中可以輸入工作目錄名,也可以通過單擊【browse】按鈕,在【DirecoryBrower】對話框中選擇相應目錄“D:\ZP”,單擊【OK】按鈕。也可以通過別名來選擇工作目錄。
6.4.3資料庫別名的建立
資料庫別名有兩種:公共別名(PublicAlias)和專案別名(ProiectAlias)。通過為子目錄“D:\Delphi\JWGL”建立一個公共資料庫別名JWGL來說明資料庫別名的創建方法。創建步驟如下:(1)在DatabaseDesktop應用程式中執行【Tools】→【AliasManager】命令,出現【AliasManager】對話框。
(2)單擊【New】按鈕以創建資料庫別名。在【Databasealias】列表框中輸入“JWGL”,在【Drivertype】列表框中選擇【STANDARD】類型,此時將出現一個PATH文本框,在該文本框中輸入路徑“d:\Delphi\JWGL”,或單擊【Browse】按鈕,在彈出的【DirectoryBrowser】對話框中找到所需要的目錄“d:\Delphi\JWGL”,然後單擊【OK】按鈕,退出【DirectoryBrowser】。
(3)單擊【AliasManager】對話框上的【OK】按鈕,系統將彈出對話框,詢問用戶是否將資料庫別名保存到BDE配置檔IDAPI32.CFG中,單擊【是】按鈕即可。
6.4.4資料庫表的建立
Delphi的本地資料庫為dBase資料庫和Paradox資料庫,利用DatabaseDesktop可以很方便地創建這兩類資料庫表。創建一個Paradox資料庫表的步驟如下
:
(1)在DatabaseDesktop應用程式中,執行【File】→【New】→【Table】命令,出現【CreateTable】對話框。在【Tabletype】列表框中可以選擇表的類型。(2)選擇默認的類型“Paradox7”並單擊【OK】按鈕,系統將彈出【CreateParadox7Table】對話框。在該對話框中可以定義表的結構,即表的每個字段的字段名、字段類型、字段寬度和主鍵等,並可建立索引。
(3)在【FieldName】列輸入字段名,如“學號”,然後在【Type】列單擊滑鼠右鍵,出現“字段類型”下拉菜單,在該菜單中選中類型【Alpha】,然後在【Size】列的下麵單擊,輸入字段寬度為“6”。關於字段類型的具體含義請參考有關Paradox資料庫的書籍。如果要把“學號”字段設為主鍵,可在該行的【Key】列雙擊滑鼠右鍵,將會出現一個“*”,代表該列是主鍵。如果要取消主鍵,可再雙擊該處,“*”號將消失。
(4)按Enter鍵把游標移到下一行,可接著創建下一個字段。(5)還可以為表創建“輔助索引(又稱第二索引)”,方法是在圖6-29所示的對話框中,在【TableProperties】列表框中選中“SecondaryIndexes”,然後再單擊【Define】按鈕,出現【DefineSecondaryIndex】(定義第二索引)對話框,如圖6-32所示。在該對話框中選中需要定義的索引字段,如“姓名”,然後單擊按鈕,把選中的字段移動到【Indexedfields:】對話框中即可。
圖6-29【CreateParadox7Table】對話框
(6)輔助索引屬性設置好後,單擊【OK】按鈕,將會出現
【SaveIndexAs】(保存索引)對話框,給索引取一個名字“XM”,然後單擊【OK】按鈕,索引定義完成。(7)表結構創建好後,單擊【Saveas】按鈕,出現【SaveTableAs】(保存表)對話框。可以通過選中資料庫別名和選擇保存檔夾兩種方式確定資料庫表保存的位置。本題選擇保存位置為“D:\Delphi”檔夾,表名為“學生”,設置完成後單擊【保存】按鈕,表結構將保存起來,表結構創建完畢。(8)資料庫表的結構創建後,應向其中輸入數據。
7.1SQL語言概述
7.1.1SQL語言的由來
SQL即結構化查詢語言,是StructuredQueryLanguage的縮寫,是介於關係代數和關係演算之間的語言。它於1973年在由Boyce和Chambertin提出來的SQUARE(SpecifyingAsRelationExpressions)的基礎上修改而成的
,具有功能豐富、使用方便靈活、語言簡潔易用等特點。7.1.2SQL語言的特點
1.一體化特點2.高度的非過程化
SQL語言與其他語言一個重要的區別是,SQL是非過程化的語言,用SQL語言進行數據操作,用戶只需指出“做什麼”,而不用說明“怎樣做”,存取路徑的選擇和SQL語句的操作過程由系統自動完成,從而大大減輕了用戶的負擔。
3.語言簡潔易學4.可用於客戶–伺服器結構
客戶–伺服器是電腦應用的發展趨勢,SQL可用於建立客戶–伺服器結構的資料庫系統。
7.1.3SQL語言的語句
7.2SQL的數據定義功能
7.2.1基本表的建立、修改和刪除
1.建立表[格式]:
CREATETABLE表名{ 字段名1數據類型說明,[字段名2數據類型說明[,……,]][PrimaryKey(字段名)]}
【例7-1】
在資料庫別名“JWGL”下,創建以下4個表。學生(學號
CHAR(6),姓名
CHAR(8),年級
CHAR(2),專業CHAR(10))課程(課號CHAR(2),課名CHAR(20),開課教師
CHAR(8),總學時
INTEGER,學分INTEGER)必修課(課號CHAR(2),必修專業
CHAR(10))選課成績(學號
CHAR(6),課號
CHAR(2),成績
INTEGER)解:創建表的語句分別如下。
CREATETABLE學生(學號
CHAR(6),姓名
CHAR(8),年級
CHAR(2),專業
CHAR(10),primarykey(學號))CREATETABLE課程(課號
CHAR(2),課名
CHAR(20),開課教師
CHAR(8),總學時
INTEGER,學分
INTEGERPRIMARYKEY(課號))CREATETABLE必修課(課號
CHAR(2),必修專業
CHAR(10))CREATETABLE必修課成績(學號
CHAR(6),課號
CHAR(2),成績
INTEGER,primarykey(學號,課號))2.修改表結構
(1)為基本表添加字段
[格式]:
ALTERTABLE表名
ADDCOLUMN字段名
類型[長度]【例7-2】
在已定義的課程表中增加開課學期字段。解:語句如下:ALTERTABLE課程
ADDCOLUMN開課學期
INTEGER(2)從基本表中刪除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025房屋装饰的合同范本
- 二零二五年度创始人股权分配与管理协议4篇
- 2025版婚姻解体路径比较:协议离婚与诉讼离婚选择指南3篇
- 2025年度高速公路机电系统集成承包合同4篇
- 二零二四年度住宅小区门卫服务规范协议3篇
- 二零二五年度船舶生活设施改造与升级合同3篇
- 2025年芒果保鲜技术研发与应用合作合同4篇
- 外墙涂料粉刷施工方案
- 2025版跨境电商供应链金融合同模板2篇
- 2025关于大件运输合同的范文
- GB/T 16895.3-2024低压电气装置第5-54部分:电气设备的选择和安装接地配置和保护导体
- GJB9001C质量管理体系要求-培训专题培训课件
- 二手车车主寄售协议书范文范本
- 窗帘采购投标方案(技术方案)
- 基于学习任务群的小学语文单元整体教学设计策略的探究
- 人教版高中物理必修一同步课时作业(全册)
- 食堂油锅起火演练方案及流程
- 《呼吸衰竭的治疗》
- 2024年度医患沟通课件
- 2024年中考政治总复习初中道德与法治知识点总结(重点标记版)
- 2024年手术室的应急预案
评论
0/150
提交评论