freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)庫管理系統(tǒng)論文(編輯修改稿)

2025-07-23 20:56 本頁面
 

【文章內(nèi)容簡介】 兼容”的,即滿足第五范式的數(shù)據(jù)結構自動滿足一、二、三、四范式,滿足第四范式的數(shù)據(jù)結構自動滿足第一、二、三范式,……,依此類推。第一范式(first normal form,簡稱1st nf)就是指在同一表中沒有重復項出現(xiàn),如果有則應將重復項去掉。這個去掉重復項的過程就稱之為規(guī)范化處理。在本文所討論的開發(fā)方法里,1st nf實際上是沒有什么意義的。因為我們按規(guī)范化建立的指標體系和表的過程都自動保證了所有表都滿足1st nf。 第二范式(second normal form,簡稱 2nd nf)是指每個表必須有一個(而且僅一個)數(shù)據(jù)元素為主關鍵字(primary key),其它數(shù)據(jù)元素與主關鍵字一一對應。例如,(其它數(shù)據(jù)元素中的記錄數(shù)據(jù)都有可能重名,故不能作為主關鍵字),故只要知道了一個合同記錄的合同號,就可以唯一地在同一行中找到該合同的任何一項具體信息。通常我們稱這種關系為函數(shù)依賴(functional dependence)關系。即表中其它數(shù)據(jù)元素都依賴于主關鍵字,或稱該數(shù)據(jù)元素唯一地被主關鍵字所標識。第三范式(third normal form,簡稱 3rd nf)就是指表中的所有數(shù)據(jù)元素不但要能夠唯一地被主關鍵字所標識,而且它們之間還必須相互獨立,不存在其它的函數(shù)關系。也就是說對于一個滿足了 2nd nf的數(shù)據(jù)結構來說,表中有可能存在某些數(shù)據(jù)元素依賴于其它非關鍵宇數(shù)據(jù)元素的現(xiàn)象,必須加以消除。為防止數(shù)據(jù)庫出現(xiàn)更新異常、插入異常、刪除異常、數(shù)據(jù)冗余太大等現(xiàn)象,關系型數(shù)據(jù)庫要盡量按關系規(guī)范化要求進行數(shù)據(jù)庫設計。167。 sql語言基礎 sql簡介用戶對數(shù)據(jù)庫的使用,是通過數(shù)據(jù)庫管理系統(tǒng)提供的語言來實現(xiàn)的。不同的數(shù)據(jù)庫管理系統(tǒng)提供不同的數(shù)據(jù)庫語言。關系數(shù)據(jù)庫管理系統(tǒng)幾乎都提供關系數(shù)據(jù)庫標準語言——sql。sql 的全稱是structured query language,即結構化查詢語言。sql語句可以從關系數(shù)據(jù)庫中獲得數(shù)據(jù),也可以建立數(shù)據(jù)庫、增加數(shù)據(jù)、修改數(shù)據(jù)。1986年ansi采用sql語言作為關系數(shù)據(jù)庫系統(tǒng)的標準語言,后被國際化標準組織(iso)采納為國際標準。sql語言使用方便、功能豐富、簡潔易學,是操作數(shù)據(jù)庫的工業(yè)標準語言,得到廣泛地應用。例如關系數(shù)據(jù)庫產(chǎn)品dboracle等都實現(xiàn)了sql語言。同時,其它數(shù)據(jù)庫產(chǎn)品廠家也紛紛推出各自的支持sql的軟件或者與sql的接口軟件。這樣sql語言很快被整個計算機界認可。sql語言是一種非過程化語言,它一次處理一個記錄集合,對數(shù)據(jù)提供自動導航。sql語言允許用戶在高層的數(shù)據(jù)結構上工作,而不對單個記錄進行操作。sql語言不要求用戶指定數(shù)據(jù)的存取方法,而是使用查詢優(yōu)化器,由系統(tǒng)決定對指定數(shù)據(jù)存取的最快速手段。當設計者在關系表上定義了索引時,系統(tǒng)會自動利用索引進行快速檢索,用戶不需知道表上是否有索引或者有什么類型的索引等細節(jié)。sql語言可以完成許多功能,例如:● 查詢數(shù)據(jù)● 在數(shù)據(jù)庫表格中插入、修改和刪除記錄● 建立、修改和刪除數(shù)據(jù)對象● 控制對數(shù)據(jù)和數(shù)據(jù)對象的存取● 確保數(shù)據(jù)庫的一致性和完整性等 sql查詢數(shù)據(jù)查詢是關系運算理論在sql語言中的主要體現(xiàn),select 語句是sql查詢的基本語句,當我們在對一個數(shù)據(jù)庫進各種各樣的操作時,使用的最多的就是數(shù)據(jù)查詢,在以sql為基礎的關系數(shù)據(jù)庫中,使用的最多的就是select查詢語句。select語句的完整句法如下:select 目標表的列名或列表達式序列from 基本表和(或)視圖序列[where 行條件表達式][group by 列名序列][having 組條件表達式][order by列名 [asc│deac]…]我在select語句中還使用了大量的保留字和通配符以進行各種各樣的條件查詢。在系統(tǒng)中有大量的查詢按鈕,其使用了大量的查詢語句,而且這些查詢語句大部分使用的是模糊查詢,所以大量的使用了模式匹配符like(判斷值是否與指定的字符通配格式相符)。在包含like的查詢語句中可以使用兩個通配符:%(百分號):與零個或多個字符組成的字符串匹配;_(下劃線):與單個字符匹配。系統(tǒng)中的條件判斷往往包含多個條件,這時就需要使用邏輯運算符not、and、or(用于多條件的邏輯連接),謂詞all以及保留字distinct等等。做為select語句還有很多的使用方法,這里就不再敘述。 sql數(shù)據(jù)更新使用數(shù)據(jù)庫的目的是為了有效地管理數(shù)據(jù),而數(shù)據(jù)的插入、刪除和修改則是必不可少的一個功能。在本系統(tǒng)中就大量地使用了數(shù)據(jù)插入、刪除和修改這三種操作,現(xiàn)做一個簡單地介紹?!駭?shù)據(jù)插入往數(shù)據(jù)庫的基本表中插入數(shù)據(jù)使用的是insert語句,其方式有兩種:一種是元組值的插入,另一種是查詢結果的插入。在本系統(tǒng)中使用的是前一種方式,其句法如下:insert into 基本表名(列表名)values(元組值)●數(shù)據(jù)刪除往數(shù)據(jù)庫的基本表中刪除數(shù)據(jù)使用的是delete語句,其句法如下:delete from 基本表名 [where 條件表達式]在些作一點說明,刪除語句實際上是“select * from 基本表名 [where 條件表達式]”和delete操作的結合,每找到一個元組,就把它刪除。此外,delete語句只能從一個基本表中刪除元組,where子句中條件可以嵌套,也可以是來自幾個基本表的復合條件?!駭?shù)據(jù)修改當需要修改基本表中元組的某些列值時,可以用update語句實現(xiàn),其句法如下:update基本表名set列名=值表達式[,列名=值表達式…][where條件表達式]在delphi中使用sql語句是很方便的,一般來說,都是通過tquery組件來使用sql語言的。有一點要進行說明,雖然通過tquery組件來使用sql語言很方便,但考慮到自己對不同組件的理解程度、個人習慣以及其它各個方面,在本系統(tǒng)中我采用的是ado組件來對數(shù)據(jù)庫進行操作。最簡單的方法比如在tadoquery組件的sql屬性中就可以鍵入sql語句,至于詳細的使用方法在后面進行介紹。第三章 數(shù)據(jù)庫開發(fā)工具167。 delphi 簡介delphi類可以粗略地分成兩部分:一部分是組件類,這些組件類通常以某種方式出現(xiàn)在組件面板上,當用戶從組件面板上點取一個類的圖標后,在程序中就自動生成了該類的對象(非可視組件除外);另一部分是功能類,這此功能類的對象通常出現(xiàn)在程序代碼中,起著不可代替的作用,但是這些功能類在組件面板上是找不到的。在delphi中,每一個類的祖先都是tobject類,整個類的層次結構就像一棵倒掛的樹,在最頂層的樹根即為tobject類。這樣,按照面向?qū)ο缶幊痰幕舅枷耄褪沟糜脩艨捎胻object類這個類型代替任何其它類的數(shù)據(jù)類型。實際上在delphi的類庫中,tobject類派生出了為數(shù)相當眾多的子類,它們形成了一個龐大的體系,通常情況下,如果不自行開發(fā)組件,就不必了解整個類的體系結構,只用到類層次樹的葉結點就足夠了。凡是做過程序開發(fā)的人都知道從來沒有單純的數(shù)據(jù)應用程序,也就是說,數(shù)據(jù)庫應用程序必須和用戶界面(可以是圖形界面,也可以是命令接口)元素相結合,只講界面或只講數(shù)據(jù)庫本身都構不成數(shù)據(jù)庫應用程序,因而用delphi 。delphi6中的vcl組件可用圖31來說明。組件在delphi程序的開發(fā)中是最顯眼的角色。大家知道,在編寫程序時一般都開始于在組件面板上選擇組件并定義組件間的相互作用。但也有一些組件不在組件面板上,例如tform和tapplication(典型的非可視組件)。組件是tponents派生出來的子類,可以流的形式存放在dfm文件中,具有事件和publish屬性。窗口組件類是窗口化的可視化組件類,在delphi的類庫中占有最大的份額。在實際編程中,窗口組件類的對象都有句柄,可以接受輸入焦點和包含其它組件。圖形組件與窗口組件并列,是另一大類組件。圖形組件不是基于窗口的,因而不能有窗口句柄,不能接受輸入焦點和包含其它組件。從圖843中可以看出,圖形組件的基類是tgraphiccontrol,在實際編程中,它們必須寄生于它們的宿主——窗口組件類的對象,由它們的擁有者負責其顯示,而且它們還能觸發(fā)一些和鼠標活動相關的事件。圖形控件最典型的例子是tlabel和tspeedbutton。由此可以看出圖形組件的功能很弱,有讀者會問圖形組件的用處何在呢?其實使用圖形組件的最大好處在于節(jié)省資源,正是因為它們的功能較弱,所以使用的系統(tǒng)資源就要少。在一個應用程序中,如果能在不影響其功能的前提下合理大量地使用圖形組件,將會大減少程序?qū)ο到y(tǒng)資源的消耗。非可視組件是與可視組件相并列的另一類組件,非可視組件在程序運行中是不可見的(除各種對話框組件之外,事實上有人認為對話框組件不能歸入非可視組件,應該是另一種介于可視與非可視之間的組件)。167。 delphi 控件用delphi6開發(fā)數(shù)據(jù)庫應用,重點是和各種數(shù)據(jù)庫組件打交道,當然也要使用其它的一些組件,現(xiàn)在就我在系統(tǒng)設計中所使用的重要組件給與簡單介紹。 ado數(shù)據(jù)訪問組件ado數(shù)據(jù)對象(active data objects)實際是一種提供訪問各種數(shù)據(jù)類型的鏈接機制。ado設計為一種極簡單的格式,通過odbc的方法同數(shù)據(jù)庫接口中,可以使用任何一種odbc數(shù)據(jù)源,即不止適合于sql server、oracle、access等數(shù)據(jù)庫應用程序,也適合于excel表格、文本文件、圖形文件和無格式的數(shù)據(jù)文件。ado是基于oledb之上的技術,因此ado通過其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。ado使您的客戶端應用程序能夠通過ole db提供訪問和操作在數(shù)據(jù)庫服務器中的數(shù)據(jù)。ado支持用于建立c/s和web的應用程序的主要功能。其主要優(yōu)點是易于使用、高速度、低內(nèi)存支出和占用磁盤空間較少。ado同時具有遠程數(shù)據(jù)服務(rds)功能,通過rds可以在一次往返過程中實現(xiàn)將數(shù)據(jù)從服務器移動到客戶端應用程序和web頁、在客戶端對數(shù)據(jù)進行處然后將更新結果返回服務器的操作。delphi 。這種能力是通過一組新組件實現(xiàn)的,這些組件是在企業(yè)版的ado組件頁中,在組件面版的ado頁上可以找到這些組件。利用在前面章節(jié)提到的tdataset抽象類,ado組件可以不通過bde而直接實現(xiàn)ado連接。這意味著只需要很少的代碼就可以實現(xiàn)該連接并且性能得到提高。利用ado數(shù)據(jù)訪問組件,可以只使用ado結構與數(shù)據(jù)庫取得聯(lián)系并對其中的數(shù)據(jù)進行操作,而在這些過程中完全不需要使用bde。大多數(shù)的ado連接和數(shù)據(jù)集組件都是與基于bde的連接和數(shù)據(jù)集組件相類似的。tadoconnection組件與基于bde的應用程序中的tdatabase組件類似。tadotable與ttable,tadoquery與tquery,以及tadostoreproc和tstoredproc之間都具有這種類似的對應關系。使用這些ado組件的方式與我們常使用的數(shù)據(jù)訪問組件(基于bde)都有許多相同之處。ttadodataset沒有直接的bde對應組件,但它提供了許多與ttable和tquery相同的功能。同樣,tadomand也沒有相對應的bde組件,它是在delphi/ado環(huán)境中完成特定功能的組件。delphi ,可以不借助bde數(shù)據(jù)引擎而是通過微軟的oledb來訪問更為廣泛的數(shù)據(jù)庫中的數(shù)據(jù)。ado數(shù)據(jù)集訪問組件與常用的數(shù)據(jù)訪問組件是并列的關系。在系統(tǒng)中我主要使用的是adotablet和adoquery兩個組件。 數(shù)據(jù)控制類datacontrol數(shù)據(jù)控制類負責數(shù)據(jù)庫數(shù)據(jù)的顯示,并把用戶對數(shù)據(jù)的修改傳回。這里的絕大多數(shù)組件,如dbtext, dbedit, dbmemo, dbimage, dblistbox, dbbobox, dbcheckbox, dbradiogroup, dblookuplistbox, dblookupbox, dbctrgrid的功能和對應的非數(shù)據(jù)感知組件相同,如tedit框,tradiogroups單選按鈕組等,只不過在顯示數(shù)據(jù)庫數(shù)據(jù)時要用而已。在系統(tǒng)中主要使用數(shù)據(jù)網(wǎng)格控件dbgrid和數(shù)據(jù)庫導航器控件dbnavigator。 數(shù)據(jù)訪問類dataaccess數(shù)據(jù)庫應用系統(tǒng)中數(shù)據(jù)訪問是一個首要問題,包括單用戶和 c/s系統(tǒng),都必須聯(lián)系一些數(shù)據(jù)庫和數(shù)據(jù)表文件。delphi 6 提供了專門用于數(shù)據(jù)訪問的基類控件。主要包括數(shù)據(jù)源控件datasource、客戶數(shù)據(jù)集控件clientdataset、數(shù)據(jù)集提供器控件datasetprovider等等。tdatabase:當一個基于bde的數(shù)據(jù)庫應用程序需要一個永久數(shù)據(jù)庫連接時,需要定制向一個數(shù)據(jù)庫服務器的連接時,需要事務控制和特殊的數(shù)據(jù)庫別名時就得用到tdatabase對象。特別是當連接到一個遠程的sql數(shù)據(jù)庫服務器時,如果要利用bde進行數(shù)據(jù)庫事務處理,那么,tdatabase對象的威力就體現(xiàn)出來了。在一個應用程序中為每一個數(shù)據(jù)庫連接顯示的聲明tdatabase對象要根據(jù)需要而定,不是必需的。對一個數(shù)據(jù)庫連接,如果沒有顯示的聲明并實例化tdatabase對象,系統(tǒng)就會產(chǎn)生一個帶有默認屬性的tdatabase對象。tdatasource對象用于在dataset對象(包括tquery,tstoredproc,ttable等)和數(shù)據(jù)感知組件之間提供一個連接的紐帶,以便在窗體上顯示數(shù)據(jù)庫中的數(shù)據(jù),在數(shù)據(jù)庫中導航定位與編輯數(shù)據(jù)集中的數(shù)據(jù)。如果一個dataset對象中的數(shù)據(jù)想在數(shù)據(jù)感知組件中顯示和修改,它就必須和tdatasource對象相聯(lián)系。同樣,一個數(shù)據(jù)感知組件如果想和數(shù)據(jù)源相聯(lián)系以便顯示和操縱數(shù)據(jù),就必須以tdatasource對象為中介。用delphi6作數(shù)據(jù)庫應用開發(fā)概括來說如下:先利用數(shù)據(jù)存取組件和實際的數(shù)據(jù)庫建立連接,并用tsession對象和tdatabase對象管理這些連接。然后以tdatasource對象為中介,用數(shù)據(jù)感知組件向用戶顯示數(shù)據(jù)庫的內(nèi)容并接受用戶的查詢和修改等操作。 sql語言在delphi中的應用在delphi中使用sql語言非常方便,一般來說,都是通過tquery組件來使用sql語言的??梢栽趖query組件的sql屬性中設置sql語句。設計程序時,在該組件的屬性對話框中選擇sql屬性,單擊帶省略號的按鈕,就可以打開string list editor對話框,然后我們就可以在對話框中添加sql語句。還可以使用delphi的sql builder來自動生成sql語句,這樣可以避免手工編寫sql而可能造成的語法錯誤。靜態(tài)sql語句在程序設計時便已固定下來,它不包含任何參數(shù)和變量。動態(tài)sql語句,也被稱作參數(shù)化的語句,在其中間包含著表示字段名或表名的參數(shù),例如下面的語句是一條動態(tài)sql語句: select * from students where studentcode =: studentcode。其中的變量studentcode便是一個參數(shù)變量,它由一個冒號引導,在程序運行過程中,必須要為該參數(shù)賦值,該條sql語句才能正
點擊復制文檔內(nèi)容
范文總結相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1