新聞中心
隨著信息化的快速發(fā)展,數(shù)據(jù)庫已經成為了企業(yè)管理及決策的重要工具。因此,數(shù)據(jù)庫的設計變得至關重要。數(shù)據(jù)庫的物理設計是數(shù)據(jù)庫設計的一個重要方面,它是指如何把邏輯設計轉換成一種適合物理存儲的結構。數(shù)據(jù)庫物理設計的目標是為了確保數(shù)據(jù)的安全性、完整性和一致性,提高數(shù)據(jù)庫的性能和可靠性,使經濟和技術指標達到更佳狀態(tài)。本文將探討。

創(chuàng)新互聯(lián)建站是一家專業(yè)提供海勃灣企業(yè)網(wǎng)站建設,專注與網(wǎng)站建設、成都網(wǎng)站建設、H5技術、小程序制作等業(yè)務。10年已為海勃灣眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
數(shù)據(jù)庫物理設計的目標
數(shù)據(jù)安全性
數(shù)據(jù)的安全性是數(shù)據(jù)庫物理設計的最基本目標。在設計時,需要采取一系列的措施來保證數(shù)據(jù)庫的安全性。如合理選擇數(shù)據(jù)庫管理系統(tǒng)及其版本,對數(shù)據(jù)庫進行分區(qū)、備份等操作,對敏感數(shù)據(jù)進行加密等。此外,數(shù)據(jù)庫管理員應該加強對數(shù)據(jù)庫的監(jiān)控和維護,定期檢查數(shù)據(jù)庫的安全性,及時處理漏洞,確保數(shù)據(jù)庫不會被黑客攻擊,從而避免數(shù)據(jù)庫泄露的情況。
數(shù)據(jù)完整性
在數(shù)據(jù)庫物理設計中,保證數(shù)據(jù)的完整性也是一個重要目標。數(shù)據(jù)完整性是指數(shù)據(jù)庫中數(shù)據(jù)的準確性和一致性。在數(shù)據(jù)庫物理設計中需要保證數(shù)據(jù)不會因為人為或其他因素的操作而出現(xiàn)失誤和缺陷。具體來說,應該建立足夠的約束和校驗規(guī)則,通過事務控制技術,保證數(shù)據(jù)的一致性。在實際運用中,對數(shù)據(jù)的完整性進行監(jiān)控和定期檢查是必要的。
數(shù)據(jù)一致性
數(shù)據(jù)一致性是數(shù)據(jù)庫物理設計的另一個目標。數(shù)據(jù)一致性是指數(shù)據(jù)庫中多個數(shù)據(jù)項之間的相互關系。例如,如果在兩個表之間有外鍵關系,則在更新或刪除數(shù)據(jù)時,必須保證數(shù)據(jù)的一致性。要實現(xiàn)這個目標,需要采用一些技術手段,如采用事務控制技術、采用觸發(fā)器等。
數(shù)據(jù)庫性能
數(shù)據(jù)庫物理設計的目標之一是提高數(shù)據(jù)庫的性能。要實現(xiàn)這個目標,需要在數(shù)據(jù)庫的物理設計中充分考慮到存儲結構、索引和查詢優(yōu)化等因素,優(yōu)化數(shù)據(jù)庫的存儲結構,并為數(shù)據(jù)的訪問和管理提高效率。例如,建立索引、分區(qū)、緩存等技術手段可以有效提高數(shù)據(jù)庫的性能。
可靠性
數(shù)據(jù)庫物理設計的另一個目標是提高數(shù)據(jù)庫的可靠性。要實現(xiàn)這個目標,需要在物理設計中采用多種技術手段,如備份、恢復、故障轉移等。備份可以在數(shù)據(jù)庫出現(xiàn)故障時保證數(shù)據(jù)的完整性,恢復技術可以讓數(shù)據(jù)庫在出現(xiàn)錯誤時快速恢復,故障轉移則是通過雙機熱備等技術使得數(shù)據(jù)庫在硬件故障時快速轉移。
數(shù)據(jù)庫物理設計的重要性
隨著企業(yè)信息量的迅速增長,數(shù)據(jù)庫管理已經成為企業(yè)決策和運營的關鍵資源。好的數(shù)據(jù)庫設計可以提高數(shù)據(jù)庫的效率和可靠性,同時也可以保證數(shù)據(jù)的安全性和完整性。因此,數(shù)據(jù)庫物理設計的重要性不容忽視。
數(shù)據(jù)庫物理設計可以提高管理效率。在數(shù)據(jù)庫物理設計中,合理的存儲結構、索引和查詢優(yōu)化技術等,可以使數(shù)據(jù)庫更高效地管理數(shù)據(jù),從而降低數(shù)據(jù)庫處理數(shù)據(jù)的時間,提高數(shù)據(jù)的處理效率。
數(shù)據(jù)庫物理設計可以保證數(shù)據(jù)的可靠性。數(shù)據(jù)庫物理設計中采用的備份、恢復、故障轉移等技術,可以保障數(shù)據(jù)的完整性和穩(wěn)定性。在數(shù)據(jù)出現(xiàn)故障時,這些技術可以更大限度地保護數(shù)據(jù)。
數(shù)據(jù)庫物理設計在維護數(shù)據(jù)的安全性和完整性方面也有重要作用。數(shù)據(jù)庫物理設計中加密、部署多級訪問控制、定期檢查漏洞等,可以更大限度地保護數(shù)據(jù)庫,防止數(shù)據(jù)的泄露和損壞。
數(shù)據(jù)庫物理設計是數(shù)據(jù)管理中不可或缺的部分,它直接影響到數(shù)據(jù)庫的可靠性、安全性和效率。在數(shù)據(jù)庫物理設計中應該充分考慮到數(shù)據(jù)的安全性、完整性、一致性、性能和可靠性等因素,制定合適的方案,保證數(shù)據(jù)庫的高可用性和可靠性。
成都網(wǎng)站建設公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設、網(wǎng)站制作、網(wǎng)頁設計及定制高端網(wǎng)站建設服務!
求一份SQL server數(shù)據(jù)庫課程設計報告
10$的報告。
2.2需求分析
(1)需求分析的任務
需求分析的任務是通過詳細調查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶的各種需求,用通俗的話來講,就是分析了解用戶關心什么,用戶需要什么樣的結果,然后在此基礎上分析和設計新系統(tǒng)的數(shù)據(jù)庫。
需求分析的重點是調查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。
? 信息要求
是指用戶需要從數(shù)據(jù)庫中獲得信息的內容與性質。由用戶的信息要求可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。
? 處理要求
是指用戶要求完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。
? 安全性與完整性要求
一是指用戶對系統(tǒng)和數(shù)據(jù)有什么安全性要求,如不同級別的用戶具有什么操作權限和使用哪些數(shù)據(jù);二是對數(shù)據(jù)的輸入和存儲的什么要求,如數(shù)據(jù)的長度和范圍、數(shù)據(jù)的有效性、一致性和唯一性等。
確定用戶的最終需求其實是一件很困難的事,這是因為一方面用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此無法一下子準確地表達自己的需求,他們所提出的需求往往不斷地變化。另一方面設計人員缺少用戶的專業(yè)知識,不易理解用戶的真正需求,甚至誤解用戶的需求。因此設計人員必須與用戶不斷深入地進行溝通和交流,才能逐步得以確定用戶的實際需求。
(2)需求分析的基本步驟
1.調查與初步分析用戶的需求,確定系統(tǒng)的功能邊界
⑴首先調查組織機構情況
⑵然后調查各部門的業(yè)務活動情況
⑶協(xié)助用戶明確對新系統(tǒng)的各種要求
⑷確定新系統(tǒng)的結構和功能邊界,確定哪些功能由計算機完成或將來由計算機完成,哪些活動由人工完成。
常用的調查方法有:
⑴跟班作業(yè)
⑵開調檔運查會
⑶請專人介紹
⑷詢問
⑸問卷調查
⑹查閱記錄
2.生成數(shù)據(jù)字典
1)數(shù)據(jù)項條目:數(shù)據(jù)項是不可再分的數(shù)據(jù)單位,它直接反映事物的某一特征。
2)數(shù)據(jù)結構條目:反映了數(shù)據(jù)之間的組合關系。
3)數(shù)據(jù)流條目:數(shù)據(jù)流是數(shù)據(jù)結構在系統(tǒng)內傳輸?shù)穆窂健?/p>
4)數(shù)據(jù)文件條目:數(shù)據(jù)文件是數(shù)據(jù)項停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。
5)處理過程條目。
(3) 案例分析:教學管理系統(tǒng)數(shù)據(jù)庫的需求分析
用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢上,這就要求數(shù)據(jù)庫的結構能充分滿足各種信息的輸出和輸入。需求分析階段主要是收集基本數(shù)據(jù),確定數(shù)據(jù)結構及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,以便為后面的概念設計和邏輯設計打下基礎。
2.3概念結構設計
概念結構設計是對收集來的信息和數(shù)據(jù)進行分析整理,確定實體、屬性及聯(lián)系,形成獨立于計算機的反映用戶觀點的概念模型。概念設計的重點在于信息結構的設計,它是整個數(shù)據(jù)庫系統(tǒng)設計的關鍵。
(1)概念結構設計的目標和任務
概念結構設計的目標是產生反映系統(tǒng)信息需求的數(shù)據(jù)庫概念結構,即概念模式。概念結構是獨立于DBMS和使用的硬件環(huán)境的。在這一階段,設計人員要從用戶的角度看待數(shù)據(jù)以及數(shù)據(jù)處理的要求和約束,產生一個反映用戶觀點的概念模式,然后再把概念模式轉換為邏輯模式。
概念模型的表示方法很多,其中最著名、最常用的表示方法為實體-聯(lián)系方法,這種方法也稱為E-R模型方法,該方法采用E-R圖描述概念模型。
E-R圖提供了表示實體、屬性和聯(lián)系的方法,它由以下三個組件構成:
? 實體—用矩形表示,矩形框內寫明實體名。
? 屬性—用橢圓形表示,并用無向邊將其與相應的實體連接起來。
? 聯(lián)系—用菱形表示,菱形框內寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1、1:n或m:n)。
例如教學管理系統(tǒng)中的學生實體與課程實體的E-R圖如下圖表示:
(2)概念結構設計的過程
●數(shù)據(jù)抽象
概念結構是對現(xiàn)實世界的一種抽象,所謂抽象就是對實際的人、事、物和概念進行加工處理,抽取所關心的共同特性,用各種概念精確的加以描述,組成某種模型。
在需求分析中,已初步得到了有關各類實體、實體間的聯(lián)系以及描述它們性質的數(shù)據(jù)元素,統(tǒng)稱數(shù)據(jù)對象。
在這一階段中,首先要從以上數(shù)據(jù)對象中找出:系統(tǒng)有哪些實體?每個實體有哪些屬性?哪些實體間存在聯(lián)系?每一種聯(lián)系有哪些屬性?然后就可以做出系統(tǒng)的局部E-R模型和全局E-R模型。
● 局部E-R模型設計
局部E-R模型設計是從數(shù)據(jù)流圖出發(fā)確定實體和屬性,并根據(jù)數(shù)據(jù)流圖行擾梁中表示的對數(shù)據(jù)的處理、確定實體之間的聯(lián)李純系。
設計局部E-R圖的步驟是:
1.確定實體類型和屬性
實體和屬性之間沒有嚴格的區(qū)別界限,但對于屬性來講,可以用下面的兩條準則作為依據(jù):
1)作為屬性必須是不可再分的數(shù)據(jù)項,也就是屬性中不能再包含其他的屬性。
2)屬性不能與其他實體之間具有聯(lián)系。
2.確定實體間的聯(lián)系
依據(jù)需求分析結果,考察任意兩個實體類型之間是否存在聯(lián)系,若有,則確定其類型(一對一,一對多或多對多)。
3.畫出局部E-R圖
確定了實體及實體間的聯(lián)系后,可用E-R圖描述出來。形成局部E-R圖之后,還必須返回去征求用戶意見,使之如實地反映現(xiàn)實世界,同時還要進一步規(guī)范化,以求改進和完善。每個局部E-R圖必須滿足:
(1)對用戶需求是完整的。
(2)所有實體、屬性、聯(lián)系都有惟一的名字。
(3)不允許有異名同義、同名異義的現(xiàn)象。
● 全局E-R模型的設計
各個局部E-R模型建立好后,還需要對它們進行合并,集成為一個整體的數(shù)據(jù)概念結構,即總E-R圖。在合并全局E-R模型時,應注意檢查和消除屬性、命名的沖突及數(shù)據(jù)冗余。
(3)案例分析:教學管理系統(tǒng)數(shù)據(jù)庫的概念結構設計
通過上面的需求分析,就可以進行數(shù)據(jù)庫的概念結構設計,先對現(xiàn)實當中的人、事、物和概念進行抽象的加工處理,抽取所關心的共同特性,用各種概念進行描述,從中找出能夠滿足用戶需求的各種實體,以及它們之間的關系,并用實體-聯(lián)系圖表示出來(即畫出E-R圖),為后面的邏輯結構設計打下基礎。
1、確定實體及其屬性
經過對人工進行的教學管理系統(tǒng)的業(yè)務調查,得知系統(tǒng)主要涉及以下幾個實體:
● 學生實體:屬性主要包括班級名稱、學號、姓名、性別、出生日期、民族、政治面貌、來源地、入學成績、學生類別、、備注等。
● 教師實體:屬性主要包括教師號、教師姓名、性別、出生日期、所在系、職稱
● 班級實體:屬性主要包括系部名稱、班級號、班級名稱、班主任、學生人數(shù)、備注等。
● 系部實體:屬性主要包括系號、系部名稱、班級數(shù)等。
● 課程實體:屬性主要包括課程號、課程名、考核方式、學分、學時數(shù)等。
2、確定實體之間的聯(lián)系
2.4 邏輯結構設計
(1)邏輯結構設計的目標和任務
邏輯結構設計的目標就是把概念結構設計階段設計好的E-R圖轉換為特定的DBMS所支持的數(shù)據(jù)模型(即層次、網(wǎng)狀、關系模型之一),并對其進行優(yōu)化。
概念模型向邏輯模型的轉換過程分為3步進行:
(1)把概念模型轉換為一般的數(shù)據(jù)模型。
(2)將一般的數(shù)據(jù)模型轉換成特定的DBMS所支持的數(shù)據(jù)模型。
(3)通過優(yōu)化方法將其轉化為優(yōu)化的數(shù)據(jù)模型。
(2) 概念模型轉換為一般的關系模型
1.實體的轉換規(guī)則
將E-R圖中的每一個常規(guī)實體轉換為一個關系,實體的屬性就是關系的屬性,實體的碼就是關系的碼。
2.實體間聯(lián)系的轉換規(guī)則
1)一個1:1聯(lián)系可以轉換為各自獨立的關系模式,也可以與任意一端所對應的關系模式合并。
2)一個1 : n聯(lián)系可以轉換為各自獨立的關系模式。
3)一個m : n聯(lián)系轉換為一個關系模式。轉換的方法為:與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,新關系的碼為兩個相連實體碼的組合
(3) 案例分析:教學管理系統(tǒng)數(shù)據(jù)庫的邏輯結構設計
邏輯結構設計的任務是把概念結構設計階段設計好的E-R圖轉換為特定的DBMS所支持的數(shù)據(jù)模型(即層次、網(wǎng)狀、關系模型之一),并對其進行優(yōu)化,得到滿足用戶要求和系統(tǒng)功能需求的關系模式。
1、 E-R模型轉換為關系模式
將E-R模型轉換成初始關系模式的一般規(guī)則是:系統(tǒng)中各個實體轉換為對應的關系模式;實體之間多對多的聯(lián)系也轉換為關系模式。
根據(jù)轉換規(guī)則,可以將系部、班級、學生、教師、課程五個實體轉換成與之對應的五個關系模式;而將學生與課程兩者之間多對多的選修關系以及教師、班級和課程三者之間多對多的開課關系也轉換為關系模式。
2、關系模式的設計
根據(jù)上述的轉換結果,在對關系模式中數(shù)據(jù)進行規(guī)范化處理后,得到了符合第三范式的關系模式如下:
學生:{學號、姓名、性別、出生日期、民族、政治面貌、來源地、入學成績、學生類別、班級名稱、、備注}
班級:{班級號、班級名稱、班主任、學生人數(shù)、系部名稱、備注}
系部:{系號、系部名稱、班級數(shù)}
教師:{教師號、教師姓名、性別、出生日期、所在系、職稱}
課程:{課程號、課程名、考核方式、學分、學時數(shù)}
選修:{學號、課程號、成績}
開課: {教師號、班級名稱、課程號、開課學期、授課地點}
每個關系模式中帶下劃線的屬性或屬性的組合表示主鍵、帶雙波浪線的屬性表示與之關聯(lián)的表的外鍵。
根據(jù)系統(tǒng)功能需求,數(shù)據(jù)采用SQL Server 2023所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結構。啟動SQL Server 2023,創(chuàng)建一個數(shù)據(jù)庫命名為:jxgl。該數(shù)據(jù)庫中各個數(shù)據(jù)表的結構如下面各個表格所示。每個表格對應于數(shù)據(jù)庫中的一個表。
3、將關系模式轉換為數(shù)據(jù)庫中的表
按照關系數(shù)據(jù)模型的結構,將關系模式轉換為關系數(shù)據(jù)庫中的數(shù)據(jù)表,轉換的規(guī)則是:一個關系模式轉換為一個數(shù)據(jù)表,關系模式中的每個屬性轉換為數(shù)據(jù)表中的一個列。同時設置表中各個列的名稱、數(shù)據(jù)類型、數(shù)據(jù)寬度以及數(shù)據(jù)規(guī)則,得到如下幾個表:
學生表(student)
列名 類型 寬度 規(guī)則
班級名稱 CHAR 20 內容取自班級信息表的班級名稱
學號 CHAR 10 主鍵、長度為10個字符
姓名 CHAR 8
性別 CHAR 2 非空、只能取“男”或“女”
出生日期 DATETIME
民族 CHAR 4 假定只能取以下之一:漢、壯、白、回、苗、滿、其它
政治面貌 CHAR 4 只能取以下之一:黨員、團員、群眾
來源地 CHAR 10
入學成績 INT
學生類別 CHAR 10 假定只能取以下之一:本科、大專(普)、大專(業(yè))、中專、技校、函授、其它
CHAR 11
備注 CHAR 10
注:(1)該表存放全校所有學生的基本信息,每個學生產生一條記錄。
(2)學號的前4位表示年級,第5–8位表示班級號(其中第5-6位表示系號, 第7-8位表示系內班級號),最后兩位是班內的學生編號,在輸入記錄內容時應加以區(qū)分。
班級表(class)
列名 類型 寬度 規(guī)則
系部名稱 CHAR 10 非空、內容取自系部信息表的系部名稱
班級號 CHAR 4 非空、長度為4個字符
班級名稱 CHAR 20 主鍵
班主任 CHAR 8
學生人數(shù) INT
備注 CHAR 10
注:(1)該表存放全校所有班級的信息,每個班級產生一條記錄。
(2)班級號的前2位表示系號,后兩位為系內的班級編號,在輸入記錄內容時應加以區(qū)分。
系部表(department)
列名 類型 寬度 規(guī)則
系號 CHAR 2 非空、長度為2個字符
系部名稱 CHAR 10 主鍵
班級數(shù) INT
注:該表存放某校所有的系部信息,每個系部產生一條記錄。
教師表(teacher)
列名 類型 寬度 規(guī)則
教師號 CHAR 4 主鍵、長度為4個字符
姓名 CHAR 8
性別 CHAR 2 非空、只能取“男”或“女”
出生日期 DATETIME
職稱 CHAR 6 只能取以下之一:教授、副教授、講師、助教、其他
所在系 CHAR 20 非空、外鍵(內容取自系部表的系部名稱)
課程表(course)
列名 類型 寬度 規(guī)則
課程號CHAR 4 主鍵、長度為4個字符
課程名CHAR 20
考核方式 CHAR 4 假定只能取以下之一:考試、考查、其他
學分 INT 非空
學時數(shù) INT
注:該表存放某校所有的課程信息,每門課產生一條記錄。
成績表(SC)
列名 類型 寬度 規(guī)則
學號 CHAR 8 主鍵、內容取自學生信息表的學生姓名
課程號 CHAR 20 主鍵、內容取自課程信息表的課程名稱
成績 INT
注:該表存放某校所有學生的成績信息,每個學生學習每門課程產生一條記錄。
開課信息表(tcc)
列名 類型 寬度 規(guī)則
教師號 CHAR 4 主鍵、內容取自教師信息表的教師號
課程號 CHAR 4 主鍵、內容取自課程信息表的課程號
班級號 CHAR 4 主鍵、內容取自班級信息表的班級號
開課學期 CHAR 20
授課地點 CHAR 20
注:該表存放某校開設課程的信息,每個教師教授某個班級的某門課產生一條記錄。
2. 5 物理設計
數(shù)據(jù)庫的物理設計目標是在選定的DBMS上建立起邏輯設計結構確立的數(shù)據(jù)庫結構,這一過程也稱為數(shù)據(jù)庫的物理實現(xiàn)。它主要包括兩項工作:
一是根據(jù)數(shù)據(jù)庫的結構、系統(tǒng)的大小、系統(tǒng)需要完成的功能及對系統(tǒng)的性能要求,決定選用哪個數(shù)據(jù)庫管理系統(tǒng)。目前,數(shù)據(jù)庫產品市場上比較好的產品有:Microsoft SQL Server、Oracle、IBM DB/2,SYBASE等。
二是根據(jù)選用的數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫實現(xiàn)方法來建立用戶數(shù)據(jù)庫,即創(chuàng)建所需要的數(shù)據(jù)庫、表及其他數(shù)據(jù)庫對象。
本系統(tǒng)選用的DBMS是SQL Server 2023,并在該系統(tǒng)上創(chuàng)建用戶數(shù)據(jù)庫jxgl以及下屬的7個用戶表:student、class、department、teacher、course、sc、tcc,各個表的結構按2.4節(jié)第3點各表給出的具體內容設定。
2. 5 實訓二
以小組討論的形式,完成人事工資管理系統(tǒng)用戶數(shù)據(jù)庫的設計,要求個人寫出用戶數(shù)據(jù)庫設計的文檔(包括數(shù)據(jù)庫的需求分析、概念設計、邏輯設計和物理設計,表達方法可參考本章相應內容的案例分析部分),每個小組上交一份本系統(tǒng)用戶數(shù)據(jù)庫包括的數(shù)據(jù)表。
第三章 數(shù)據(jù)庫的數(shù)據(jù)完整性設計
3.1數(shù)據(jù)完整性的基本概念及內容
正確創(chuàng)建數(shù)據(jù)庫后,需要考慮數(shù)據(jù)的完整性、數(shù)據(jù)的安全性等要求。數(shù)據(jù)的完整性主要指數(shù)據(jù)的正確性、有效性、相容性,強制實施數(shù)據(jù)完整性可以確保數(shù)據(jù)庫中的數(shù)據(jù)的質量。
進行數(shù)據(jù)完整性設計主要考慮以下幾個方面的內容:
1)表名惟一;
由系統(tǒng)強制實施控制。
2)列名惟一;()
由系統(tǒng)強制實施控制。
3)數(shù)據(jù)行惟一;
通過設置主鍵約束或觸發(fā)器來實施控制。
4)列值非空;
通過設置非空約束來實施控制。
5)列值惟一性
通過設置惟一約束或惟一索引來實施控制。
6)列值滿足一定的條件
通過設置檢查約束或觸發(fā)器來實施控制。
7)數(shù)據(jù)的一致性和有效性
通過設置外鍵約束或觸發(fā)器來實施控制。
至于具體要對數(shù)據(jù)庫的哪一個表的哪一項數(shù)據(jù)進行什么樣的數(shù)據(jù)完整性設計,還應根據(jù)用戶的需求來考慮和確定。
3.2 數(shù)據(jù)完整性的分類與實現(xiàn)方法
在SQL Server關系數(shù)據(jù)庫中,數(shù)據(jù)完整性分為以下三類:
1. 域完整性
域完整性是指一個列的輸入有效性,是否允許空值。實現(xiàn)域完整性的方法主要有:限制數(shù)據(jù)類型(通過設定列的數(shù)據(jù)類型)、限定格式(通過CHECK約束和規(guī)則)或可能值的范圍(通過 FOREIGN KEY 約束、CHECK 約束、DEFAULT定義、NOT NULL定義和規(guī)則)以及程序控制。
2. 實體完整性
實體完整性是指保證表中所有的行唯一。實現(xiàn)實體完整性的方法主要有:索引、UNIQUE約束、PRIMARY KEY約束或 IDENTITY屬性以及程序控制。
3. 參照完整性
參照完整性也叫引用完整性。參照完整性確保主鍵(被引用表)和外鍵(引用表)之間的參照關系。它涉及兩個或兩個以上表數(shù)據(jù)的一致性維護。如student表(稱為引用表、參照表或子表)的class_id列就是參照class表(稱為被引用表、被參照表或父表)的外鍵。參照完整性可以實現(xiàn)以下兩種控制:
(1)存在外鍵時,被參照表中的這一行不能被刪除,主鍵值也不能改變 (以student和class表的“班級名稱”列為例說明)。
(2)若在被參照表中不存在包含相應主鍵的行時,一個外鍵值不能插入?yún)⒄毡碇?MsgBox “添加記錄成功!”, vbOKOnly + vbInformation, “提示”
End Sub
Private Sub Command5_Click()
rs.Close
Unload Me
End Sub
Private Sub Form_Load()
rs.CursorLocation = adUseClient ‘ 設置在客戶端創(chuàng)建游標
rs.CursorType = adOpenKeyset’設置游標類型為鍵集類型
rs.LockType = adLockOptimistic ‘設置打開記錄集時的鎖定類型為樂觀鎖,在執(zhí)行UPdate方法前不鎖定編輯的數(shù)據(jù)
rs.Open “select * from teacher”, cnn
‘在表格上顯示class表的記錄內容
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
‘將表格上的數(shù)據(jù)與文本框或下拉列表框綁定
Set Text1.DataSource = rs
Text1.DataField = “教師號”
Set Text2.DataSource = rs
Text2.DataField = “姓名”
Set Combo1.DataSource = rs
Combo1.DataField = “所在系”
Set Text3.DataSource = rs
Text3.DataField = “出生日期”
Set Text4.DataSource = rs
Text4.DataField = “從教日期”
Set Combo2.DataSource = rs
Combo2.DataField = “性別”
Set Combo3.DataSource = rs
Combo3.DataField = “職稱”
Set Combo4.DataSource = rs
Combo4.DataField = “政治面貌”
Set Combo5.DataSource = rs
Combo5.DataField = “學歷”
Set Text7.DataSource = rs
Text7.DataField = “家庭住址”
Set Text5.DataSource = rs
Text5.DataField = “聯(lián)系”
Set Text6.DataSource = rs
Text6.DataField = “備注”
‘下拉列表框提供班級名稱
Combo1.Clear
rs1.Open “select 系部名稱 from department”, cnn
While Not rs1.EOF()
Combo1.AddItem Trim(rs1.Fields(“系部名稱”))
rs1.MoveNext
Wend
rs1.Close
End Sub
對其余幾個表的數(shù)據(jù)進行增、刪、改操作的窗體的設計方法與上述類擬。
已傳!
具體的數(shù)據(jù)庫設計與實現(xiàn)過程
大致的講主要是根據(jù)用戶的需求,然后設計數(shù)據(jù)庫的E-R模型,然后將E-R模型圖轉換為各種表,并對其進行數(shù)據(jù)庫設計范式(范式因不同書籍有不同)的審核,然后進行數(shù)據(jù)庫的實施,然后運行維護。
一句話來講就是將用戶的需求變成帶有各種關系的表,以及其它的數(shù)據(jù)庫結構,然后供編程使用
具體如下:
按照規(guī)范設計的方法,考慮數(shù)據(jù)庫及其應用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫設計分為以下六個階段
(1)需求分析。
(2)概念設計。
(3)邏輯設計。
(4)物理設計。
(5)數(shù)據(jù)庫實施。
(6)數(shù)據(jù)庫運行和維護。
5.1.1需求分析階段
進行數(shù)據(jù)庫設計首先必須準確了解與分析用戶需求,包括數(shù)據(jù)與處理需求。需求分析是整個設計過程的基礎,是最困難、最耗時的一步。作為“地基”的需求分析是否做得充分與準確,決定了在其上構建“數(shù)據(jù)庫大廈”的速度與質量。需求分析做得不好,可能會導致整個數(shù)據(jù)庫重新設計,因此,務必引起高度重視。
5.1.2概念模型設計階段
在概念設計階段,設計人員僅從用戶角度看待數(shù)據(jù)及其處理要求和約束,產生一個反映用戶觀點的概念模式,也稱為“組織模式”。概念模式能充分反映現(xiàn)實世界中實體間的聯(lián)系,又是各種基本數(shù)據(jù)模型的共同基礎,易于向關系模型轉換。這樣做有以下好處:
(1)數(shù)據(jù)庫設計各階段的任務相對單一化,設計復雜程度得到降低,便于組織管理。
(2)概念模式不受特定DBMS的限制,也獨立于存儲安排,因而比邏輯設計得到的模式更為穩(wěn)定。
(3)概念模式不含具體的DBMS所附加的技術細節(jié),更容易為用戶所理解,因而能準確地反映用戶的信息需求蠢兆信。
概念模型設計是整個數(shù)據(jù)庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。如采用基于E-R模型的數(shù)據(jù)庫設計方法,該階段即將所設計的對象抽象出E-R模型;如采用用戶視圖法,則應設計出不同的用戶視圖。
5.1.3邏輯模型設計階段
邏輯模型設計階段的任務是將概念模型設計階段得到的基本E-R圖,轉換為與選用的DBMS產品所支持的數(shù)據(jù)模型相符合的邏輯結構。如采用基于E-R模型的數(shù)據(jù)庫設計方法,該階段就是將所設計的E-R模型轉換為某個DBMS所支持的數(shù)據(jù)模型;如采用用戶視圖法,則應進行表的規(guī)范化,列出所有的關鍵字以及用數(shù)據(jù)結構圖描述表中的約束與聯(lián)系,匯總各用戶視圖的設計結果,將所有的用戶視圖合成一個復雜的數(shù)據(jù)庫系統(tǒng)。
5.1.4數(shù)據(jù)庫物理設計階段
數(shù)據(jù)庫的物理結構主要指數(shù)據(jù)庫的存儲記錄格式、存儲記錄安排和存取方法。顯然,數(shù)據(jù)庫的物理設計完全依賴于給定的硬件環(huán)境和數(shù)據(jù)庫產品。在關系模型系統(tǒng)中,物理設計比較簡單一些,因為文件形式是單記錄類型文件,僅包含索引機制、空間大小、塊的大小等內容。
物理設計可分五步完成,前三步涉及到物理結構設計,后兩步涉及到約束和具體的程序設計:
(1)存儲記錄結構設計:包括記錄的猜型組成、數(shù)據(jù)項的類型、長度,以及邏輯記錄到存儲記錄的映射。
(2)確定數(shù)據(jù)存放位置:可以把經常同時被訪問的數(shù)據(jù)組合在一起,“記錄聚簇(cluster)”技帶輪術能滿足這個要求。
(3)存取方法的設計:存取路徑分為主存取路徑及輔存取路徑,前者用于主鍵檢索,后者用于輔助鍵檢索。
(4)完整性和安全性考慮:設計者應在完整性、安全性、有效性和效率方面進行分析,作出權衡。
(5)程序設計:在邏輯數(shù)據(jù)庫結構確定后,應用程序設計就應當隨之開始。物理數(shù)據(jù)獨立性的目的是消除由于物理結構的改變而引起對應用程序的修改。當物理獨立性未得到保證時,可能會引發(fā)對程序的修改。
數(shù)據(jù)庫物理設計是為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構,包括存儲結構和存取方法。
5.1.5數(shù)據(jù)庫實施階段
根據(jù)邏輯設計和物理設計的結果,在計算機系統(tǒng)上建立起實際數(shù)據(jù)庫結構、裝入數(shù)據(jù)、測試和試運行的過程稱為數(shù)據(jù)庫的實施階段。實施階段主要有三項工作。
(1)建立實際數(shù)據(jù)庫結構。對描述邏輯設計和物理設計結果的程序即“源模式”,經DBMS編譯成目標模式并執(zhí)行后,便建立了實際的數(shù)據(jù)庫結構。
(2)裝入試驗數(shù)據(jù)對應用程序進行調試。試驗數(shù)據(jù)可以是實際數(shù)據(jù),也可由手工生成或用隨機數(shù)發(fā)生器生成。應使測試數(shù)據(jù)盡可能覆蓋現(xiàn)實世界的各種情況。
(3)裝入實際數(shù)據(jù),進入試運行狀態(tài)。測量系統(tǒng)的性能指標,是否符合設計目標。如果不符,則返回到前面,修改數(shù)據(jù)庫的物理模型設計甚至邏輯模型設計。
5.1.6數(shù)據(jù)庫運行和維護階段
數(shù)據(jù)庫系統(tǒng)正式運行,標志著數(shù)據(jù)庫設計與應用開發(fā)工作的結束和維護階段的開始。運行維護階段的主要任務有四項:
(1)維護數(shù)據(jù)庫的安全性與完整性:檢查系統(tǒng)安全性是否受到侵犯,及時調整授權和密碼,實施系統(tǒng)轉儲與備份,發(fā)生故障后及時恢復。
(2)監(jiān)測并改善數(shù)據(jù)庫運行性能:對數(shù)據(jù)庫的存儲空間狀況及響應時間進行分析評價,結合用戶反應確定改進措施。
(3)根據(jù)用戶要求對數(shù)據(jù)庫現(xiàn)有功能進行擴充。
(4)及時改正運行中發(fā)現(xiàn)的系統(tǒng)錯誤。
關于數(shù)據(jù)庫的物理設計目標的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
四川成都云服務器租用托管【創(chuàng)新互聯(lián)】提供各地服務器租用,電信服務器托管、移動服務器托管、聯(lián)通服務器托管,云服務器虛擬主機租用。成都機房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經驗、開啟建站+互聯(lián)網(wǎng)銷售服務,與企業(yè)客戶共同成長,共創(chuàng)價值。
分享標題:數(shù)據(jù)庫物理設計的目標及其重要性(數(shù)據(jù)庫的物理設計目標)
標題網(wǎng)址:http://www.fisionsoft.com.cn/article/coihcgo.html


咨詢
建站咨詢
