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

正文內容

數(shù)據庫設計畢業(yè)設計作業(yè)(編輯修改稿)

2024-12-22 08:46 本頁面
 

【文章內容簡介】 ,對任何外鍵列采用非成組索引??紤]數(shù)據庫的空間有多大,表如何進行訪問,還有這些訪問是否主要用作讀寫。 2) 大多數(shù)數(shù)據庫都索引自動創(chuàng)建的主鍵字段,但是可別忘了索引外鍵,它們也是經常使用的鍵,比如運行查詢顯示主表和所有關聯(lián)表的某條記錄就用得上。 3) 不要索引 memo/note 字段,不要索引大型字段(有很多字符),這樣作會讓索引占用太多的存儲空間。 4) 不要索引常用的小型表 。 不要為小型數(shù)據表設置任何鍵,假如它們經常有插入和刪除操作就更別這樣作了。對這些插入和刪除操作的索引維護可能比掃描表空間消耗更多的時間。 數(shù)據完整性設計(數(shù)據庫邏輯設計) 完整性實現(xiàn)機制: 實體完整性:主鍵 參照完整性: 父表中刪除數(shù)據:級聯(lián)刪除;受限刪除;置空值 父表中插入數(shù)據:受限插入;遞歸插入 父表中更新數(shù)據:級聯(lián)更新;受限更新;置空值 DBMS 對參照完整性可以有兩種方法實現(xiàn):外 鍵實現(xiàn)機制(約束規(guī)則)和觸發(fā)器實現(xiàn)機制 用戶定義完整性: NOT NULL; CHECK;觸發(fā)器 用約束而非商務規(guī)則強制數(shù)據完整性 采用數(shù)據庫系統(tǒng)實現(xiàn)數(shù)據的完整性。這不但包括通過標準化實現(xiàn)的完整性而且還包括數(shù)據的功能性。在寫數(shù)據的時候還可以增加觸發(fā)器來保證數(shù)據的正確性。不要依賴于商務層保證數(shù)據完整性;它不能保證表之間(外鍵)的完整性所 16 以不能強加于其他完整性規(guī)則之上。 強制指示完整性 在有害數(shù)據進入數(shù)據庫之前將其剔除。激活數(shù)據庫系統(tǒng)的指示完整性特性。這樣可以保持數(shù)據的清潔而能迫使開發(fā)人員投入更多的時間處理錯誤條 件。 使用查找控制數(shù)據完整性 控制數(shù)據完整性的最佳方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數(shù)據的一致性。某些公共數(shù)據特別適合查找:國家代碼、狀態(tài)代碼等。 采用視圖 為了在數(shù)據庫和應用程序代碼之間提供另一層抽象,可以為應用程序建立專門的視圖而不必非要應用程序直接訪問數(shù)據表。這樣做還等于在處理數(shù)據庫變更時給你提供了更多的自由。 其他設計技巧 避免使用觸發(fā)器 觸發(fā)器的功能通??梢杂闷渌绞綄崿F(xiàn)。在調試程序時觸發(fā)器可能成為干擾。假如你確實需 要采用觸發(fā)器,你最好集中對它文檔化。 使用常用英語(或者其他任何語言)而不要使用編碼 在創(chuàng)建下拉菜單、列表、報表時最好按照英語名排序。假如需要編碼,可以在編碼旁附上用戶知道的英語。 保存常用信息 讓一個表專門存放一般數(shù)據庫信息非常有用。在這個表里存放數(shù)據庫當前版本、最近檢查 /修復(對 Access)、關聯(lián)設計文檔的名稱、客戶等信息。這樣可以實現(xiàn)一種簡單機制跟蹤數(shù)據庫,當客戶抱怨他們的數(shù)據庫沒有達到希望的要求而與你聯(lián)系時,這樣做對非客戶機 /服務器環(huán)境特別有用。 包含版本機制 在數(shù)據庫中引入版本控制機制來確定使用 中的數(shù)據庫的版本。時間一長,用戶的需求總是會改變的。最終可能會要求修改數(shù)據庫結構。把版本信息直接存放到數(shù)據庫中更為方便。 編制文檔 17 對所有的快捷方式、命名規(guī)范、限制和函數(shù)都要編制文檔。 采用給表、列、觸發(fā)器等加注釋的數(shù)據庫工具。對開發(fā)、支持和跟蹤修改非常有用。 對數(shù)據庫文檔化,或者在數(shù)據庫自身的內部或者單獨建立文檔。這樣,當過了一年多時間后再回過頭來做第 2 個版本,犯錯的機會將大大減少。 測試、測試、反復測試 建立或者修訂數(shù)據庫之后,必須用用戶新輸入的數(shù)據測試數(shù)據字段。最重要的是,讓用戶進行測試并且同用 戶一道保證選擇的數(shù)據類型滿足商業(yè)要求。測試需要在把新數(shù)據庫投入實際服務之前完成。 檢查設計 在開發(fā)期間檢查數(shù)據庫設計的常用技術是通過其所支持的應用程序原型檢查數(shù)據庫。換句話說,針對每一種最終表達數(shù)據的原型應用,保證你檢查了數(shù)據模型并且查看如何取出數(shù)據。 . 范式 . 規(guī)范化 本 章節(jié) 的目的就是通過詳細的實例來闡述規(guī)范化的數(shù)據庫設計原則。在 關系型數(shù)據庫中 中,簡潔、結構明晰的表結構對數(shù)據庫的設計是相當重要的。規(guī)范化的表結構設計,在以后的數(shù)據維護中,不會發(fā)生插入( insert)、刪除( delete)和更新( update) 時的異常。反之,數(shù)據庫表結構設計不合理,不僅會給數(shù)據庫的使用和維護帶來各種各樣的問題,而且可能存儲了大量不需要的冗余信息,浪費系統(tǒng)資源。 要設計規(guī)范化的數(shù)據庫,就要求我們根據數(shù)據庫設計范式――也就是數(shù)據庫設計的規(guī)范原則來做。但是一些相關材料上提到的范式設計,往往是給出一大堆的公式,這給設計者的理解和運用造成了一定的困難。因此,本文將結合具體形象的例子,盡可能通俗化地描述三個范式,以及如何在實際工程中加以優(yōu)化應用。 . 數(shù)據冗余 數(shù)據應該盡可能少地冗余,這意味著重復數(shù)據應該減少到最少。比如說,一個部門雇員的電話不 應該被存儲在不同的表中, 因為這里的電話號碼是雇員 18 的一個屬性。如果存在過多的冗余數(shù)據,這就意味著要占用了更多的物理空間,同時也對數(shù)據的維護和一致性檢查帶來了問題,當這個員工的電話號碼變化時,冗余數(shù)據會導致對多個表的更新動作,如果有一個表不幸被忽略了,那么就可能導致數(shù)據的不一致性。 . 規(guī)范化實例 為了說明方便,我們在本文中將使用一個 SAMPLE 數(shù)據表,來一步一步分析規(guī)范化的過程。 首先,我們先來生成一個的最初始的表。 CREATE TABLE SAMPLE ( PRJNUM INTEGER NOT NULL, PRJNAME VARCHAR(200), EMYNUM INTEGER NOT NULL, EMYNAME VARCHAR(200), SALCATEGORY CHAR(1), SALPACKAGE INTEGER) IN USERSPACE1。 ALTER TABLE SAMPLE ADD PRIMARY KEY (PRJNUM, EMYNUM)。 Insert into SAMPLE(PRJNUM, PRJNAME, EMYNUM, EMYNAME, SALCATEGORY, SALPACKAGE) values(100001, 39。TPMS39。, 202020, 39。Johnson39。, 39。A39。, 2020), (100001, 39。TPMS39。, 202020, 39。Christine39。, 39。B39。, 3000), (100001, 39。TPMS39。, 202020, 39。Kevin39。, 39。C39。, 4000), (100002, 39。TCT39。, 202020, 39。Johnson39。, 39。A39。, 2020), (100002, 39。TCT39。, 202020, 39。Apple39。, 39。B39。, 3000)。 表 11 考察表 11,我們可以看到,這張表一共有六個字段,分析每個字段都有重 19 復的值出現(xiàn),也就是說,存在數(shù)據冗余問題。這將潛在地造成數(shù)據操作(比如刪除、更新等操作)時的異常情況,因此,需要進行規(guī)范化。 . 第一范式 參照范式的定義,考察上表,我們發(fā)現(xiàn),這張表已經滿足了第一范式的要求。 因為這張表中字段都是單一屬性的,不可再分; 而且每一行的記錄都是沒有重復的; 存在主屬性,而且所有的屬性都是依賴于主屬性; 所有的主屬性都已經定義 事實上在當前所有的關系數(shù)據庫管理系統(tǒng)( DBMS)中,都已經在建表的時候強制滿 足第一范式。因此,這張 SAMPLE 表已經是一張滿足第一范式要求的表??疾毂?11,我們首先要找出主鍵??梢钥吹剑瑢傩詫?Project Number, Employee Number是主鍵,其他所有的屬性都依賴于該主鍵。 . 從一范式轉化到二范式 根據第二范式的定義,轉化為二范式就是消除部分依賴。 考察表 11,我們可以發(fā)現(xiàn),非主屬性 Project Name部分依賴于主鍵中的Project Number。 非主屬性 Employee Name, Salary Category和 Salary package都部分依賴于主鍵中的 Employee Number; 表 11 的形式,存在著以下潛在問題: 1. 數(shù)據冗余:每一個字段都有值重復; 2. 更新異常:比如 Project Name字段的值,比如對值 TPMS了修改,那么就要一次更新該字段的多個值; 3. 插入異常:如果新建了一個 Project,名字為 TPT, 但是還沒有 Employee加入,那么 Employee Number將會空缺,而該字段是主鍵的一部分,因此將無法插入記錄; Insert into SAMPLE(PRJNUM, PRJNAME, EMYNUM, EMYNAME, SALCATEGORY, SALPACKAGE) values(100003, 39。TPT39。, NULL, NULL, NULL, NULL) 20 4. 刪除異常:如果一個員工 202020, Kevin 離職了,要將該員工的記錄從表中刪除,而此時相關的 Salary 信息 C 也將丟失 , 因為再沒有別的行紀錄下 Salary C 的信息。 Delete from sample where EMYNUM = 202020 Select distinct SALCATEGORY, SALPACKAGE from SAMPLE 因此,我們需要將存在部分依賴關系的主屬性和非主屬性從滿足第一范式的表中分離出來,形成一張新的表,而新表和舊表之間是一對多的關系。由此,我們得到: CREATE TABLE PROJECT ( PRJNUM INTEGER NOT NULL, PRJNAME VARCHAR(200)) IN USERSPACE1。 ALTER TABLE PROJECT ADD PRIMARY KEY (PR
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1