當前位置:首頁 » 操作系統 » 資料庫的相容性

資料庫的相容性

發布時間: 2022-08-18 14:12:36

A. 資料庫 相容性怎麼理解類型,屬性,關系,資料庫約束分別怎麼理解 能舉例說明更好

從最終用戶來看,資料庫系統的外部體系結構可分為五種類型:單用戶結構、主從結構、分布式結構、客戶/伺服器結構、瀏覽器/伺服器結構。

根據數據模型分類,資料庫可分為關系資料庫(主流)、層次資料庫、網狀資料庫、面向對象的資料庫。其中不是關系資料庫的資料庫又統稱為非關系資料庫。

為了對數據進行存儲,需要對現實世界進行抽象。現實世界稱的「事物的特徵」,在第一級抽象——信息世界中被映射為「屬性」,在第二級抽象——計算機世界中被映射為「欄位"。而對於使用關系模型的資料庫(屬於第二級世界)中,對應的又重新稱為是「屬性」。

在使用關系模型的資料庫,一個關系就是一張規范化的二維表,它由表名、表頭、標體組成。相容性是針對兩個關系來說的,如果兩個關系的屬性數相同(即同度),且列上的屬性類型是一一對應的(即列同質),則這兩個關系是相容的。相容性概念是為傳統集合運算服務的,只有兩個關系是相容的,那這兩個關系才能進行集合運算(廣義笛卡爾積運算除外)。

最後,關於題目中「資料庫約束」筆者沒有找到直接的概念,但有「數據完整性約束」的概念。數據模式是由數據操作(為動態特性)、數據結構(為靜態特性)、數據完整性約束組成。完整性約束的分類筆者就不展開了,就舉個例子,比如年齡必須是正整數或零,這就是一個約束。

B. 資料庫設計原則

本系統中資料庫的設計,要考慮和遵循下列資料庫設計的基本原則,以建立穩定、安全、可靠的資料庫。

1)一致性原則:對數據來源進行統一、系統的分析與設計,協調好各種數據源,保證數據的一致性和有效性。

2)完整性原則:資料庫的完整性是指數據的正確性和相容性。要防止合法用戶使用資料庫時向資料庫加入不合語義的數據。對輸入到資料庫中的數據要有審核和約束機制。

3)安全性原則:資料庫的安全性是指保護數據,防止非法用戶使用資料庫或合法用戶非法使用資料庫造成數據泄露、更改或破壞。要有認證和授權機制。

4)可伸縮性與可擴展性原則:資料庫結構的設計應充分考慮發展的需要、移植的需要,具有良好的擴展性、伸縮性和適度冗餘。

5)規范化:資料庫的設計應遵循規范化理論。規范化的資料庫設計,可以減少資料庫插入、刪除、修改等操作時的異常和錯誤,降低數據冗餘度等。

C. 什麼是資料庫的關系完整性

資料庫完整性(Database Integrity)是指資料庫中數據的正確性和相容性。資料庫完整性由各種各樣的完整性約束來保證,因此可以說資料庫完整性設計就是資料庫完整性約束的設計。資料庫完整性約束可以通過DBMS或應用程序來實現,基於DBMS的完整性約束作為模式的一部分存入資料庫中。通過DBMS實現的資料庫完整性按照資料庫設計步驟進行設計,而由應用軟體實現的資料庫完整性則納入應用軟體設計(本文主要討論前者)。資料庫完整性對於資料庫應用系統非常關鍵,其作用主要體現在以下幾個方面:
1.資料庫完整性約束能夠防止合法用戶使用資料庫時向資料庫中添加不合語義的數據。
2.利用基於DBMS的完整性控制機制來實現業務規則,易於定義,容易理解,而且可以降低應用程序的復雜性,提高應用程序的運行效率。同時,基於DBMS的完整性控制機制是集中管理的,因此比應用程序更容易實現資料庫的完整性。
3.合理的資料庫完整性設計,能夠同時兼顧資料庫的完整性和系統的效能。比如裝載大量數據時,只要在裝載之前臨時使基於DBMS的資料庫完整性約束失效,此後再使其生效,就能保證既不影響數據裝載的效率又能保證資料庫的完整性。
4.在應用軟體的功能測試中,完善的資料庫完整性有助於盡早發現應用軟體的錯誤。
資料庫完整性約束可分為6類:列級靜態約束、元組級靜態約束、關系級靜態約束、列級動態約束、元組級動態約束、關系級動態約束。動態約束通常由應用軟體來實現。不同DBMS支持的資料庫完整性基本相同,Oracle支持的基於DBMS的完整性約束如下表所示:
資料庫完整性設計示例
一個好的資料庫完整性設計首先需要在需求分析階段確定要通過資料庫完整性約束實現的業務規則,然後在充分了解特定DBMS提供的完整性控制機制的基礎上,依據整個系統的體系結構和性能要求,遵照資料庫設計方法和應用軟體設計方法,合理選擇每個業務規則的實現方式;最後,認真測試,排除隱含的約束沖突和性能問題。基於DBMS的資料庫完整性設計大體分為以下幾個階段:
1.需求分析階段
經過系統分析員、資料庫分析員、用戶的共同努力,確定系統模型中應該包含的對象,如人事及工資管理系統中的部門、員工、經理等,以及各種業務規則。
在完成尋找業務規則的工作之後,確定要作為資料庫完整性的業務規則,並對業務規則進行分類。其中作為資料庫模式一部分的完整性設計按下面的過程進行。而由應用軟體來實現的資料庫完整性設計將按照軟體工程的方法進行。
2.概念結構設計階段
概念結構設計階段是將依據需求分析的結果轉換成一個獨立於具體DBMS的概念模型,即實體關系圖(ERD)。在概念結構設計階段就要開始資料庫完整性設計的實質階段,因為此階段的實體關系將在邏輯結構設計階段轉化為實體完整性約束和參照完整性約束,到邏輯結構設計階段將完成設計的主要工作。
3.邏輯結構設計階段
此階段就是將概念結構轉換為某個DBMS所支持的數據模型,並對其進行優化,包括對關系模型的規范化。此時,依據DBMS提供的完整性約束機制,對尚未加入邏輯結構中的完整性約束列表,逐條選擇合適的方式加以實現。
在邏輯結構設計階段結束時,作為資料庫模式一部分的完整性設計也就基本完成了。每種業務規則都可能有好幾種實現方式,應該選擇對資料庫性能影響最小的一種,有時需通過實際測試來決定。
資料庫完整性設計原則
在實施資料庫完整性設計的時候,有一些基本的原則需要把握:
1.根據資料庫完整性約束的類型確定其實現的系統層次和方式,並提前考慮對系統性能的影響。一般情況下,靜態約束應盡量包含在資料庫模式中,而動態約束由應用程序實現。
2.實體完整性約束、參照完整性約束是關系資料庫最重要的完整性約束,在不影響系統關鍵性能的前提下需盡量應用。用一定的時間和空間來換取系統的易用性是值得的。
3.要慎用目前主流DBMS都支持的觸發器功能,一方面由於觸發器的性能開銷較大,另一方面,觸發器的多級觸發不好控制,容易發生錯誤,非用不可時,最好使用Before型語句級觸發器。
4.在需求分析階段就必須制定完整性約束的命名規范,盡量使用有意義的英文單詞、縮寫詞、表名、列名及下劃線等組合,使其易於識別和記憶,如:CKC_EMP_REAL_INCOME_EMPLOYEE、PK_EMPLOYEE、CKT_EMPLOYEE。如果使用CASE工具,一般有預設的規則,可在此基礎上修改使用。
5.要根據業務規則對資料庫完整性進行細致的測試,以盡早排除隱含的完整性約束間的沖突和對性能的影響。
6.要有專職的資料庫設計小組,自始至終負責資料庫的分析、設計、測試、實施及早期維護。資料庫設計人員不僅負責基於DBMS的資料庫完整性約束的設計實現,還要負責對應用軟體實現的資料庫完整性約束進行審核。
7.應採用合適的CASE工具來降低資料庫設計各階段的工作量。好的CASE工具能夠支持整個資料庫的生命周期,這將使資料庫設計人員的工作效率得到很大提高,同時也容易與用戶溝通。

D. 資料庫系統的安全性和完整性有什麼區別和聯系

一、不同點

1、內容不同

資料庫完整性是指數據的正確性和相容性。

資料庫安全性是指保護資料庫,以防止不合法的使用造成的數據泄密、更改或破壞。

2、對象不同

資料庫安全性的防範對象是非法的操作和未授權的用戶。

資料庫完整性的防範對象是不符合語義的數據。

二、相同點是兩者都是對資料庫中的數據進行控制,各自所實現的功能目標不同。


(4)資料庫的相容性擴展閱讀

資料庫系統安全主要利用在系統級控制資料庫的存取和使用的機制,包含:

(1) 系統的安全設置及管理,包括法律法規、政策制度、實體安全等;

(2) 資料庫的訪問控制和許可權管理;

(3) 用戶的資源限制,包括訪問、使用、存取、維護與管理等;

(4) 系統運行安全及用戶可執行的系統操作;

(5) 資料庫審計有效性;

(6) 用戶對象可用的磁碟空間及數量。

E. 什麼是數據一致性和完整性,如何保證

數據一致性通常指關聯數據之間的邏輯關系是否正確和完整。而數據存儲的一致性模型則可以認為是存儲系統和數據使用者之間的一種約定。如果使用者遵循這種約定,則可以得到系統所承諾的訪問結果常用的一致性模型有:
a、嚴格一致性(linearizability, strict/atomic Consistency):讀出的數據始終為最近寫入的數據。這種一致性只有全局時鍾存在時才有可能,在分布式網路環境不可能實現。

b、順序一致性(sequential consistency):所有使用者以同樣的順序看到對同一數據的操作,但是該順序不一定是實時的。
c、因果一致性(causal consistency):只有存在因果關系的寫操作才要求所有使用者以相同的次序看到,對於無因果關系的寫入則並行進行,無次序保證。因果一致性可以看做對順序一致性性能的一種優化,但在實現時必須建立與維護因果依賴圖,是相當困難的。
d、管道一致性(PRAM/FIFO consistency):在因果一致性模型上的進一步弱化,要求由某一個使用者完成的寫操作可以被其他所有的使用者按照順序的感知到,而從不同使用者中來的寫操作則無需保證順序,就像一個一個的管道一樣。 相對來說比較容易實現。
e、弱一致性(weak consistency):只要求對共享數據結構的訪問保證順序一致性。對於同步變數的操作具有順序一致性,是全局可見的,且只有當沒有寫操作等待處理時才可進行,以保證對於臨界區域的訪問順序進行。在同步時點,所有使用者可以看到相同的數據。
f、 釋放一致性(release consistency):弱一致性無法區分使用者是要進入臨界區還是要出臨界區, 釋放一致性使用兩個不同的操作語句進行了區分。需要寫入時使用者acquire該對象,寫完後release,acquire-release之間形成了一個臨界區,提供 釋放一致性也就意味著當release操作發生後,所有使用者應該可以看到該操作。
g、最終一致性(eventual consistency):當沒有新更新的情況下,更新最終會通過網路傳播到所有副本點,所有副本點最終會一致,也就是說使用者在最終某個時間點前的中間過程中無法保證看到的是新寫入的數據。可以採用最終一致性模型有一個關鍵要求:讀出陳舊數據是可以接受的。
h、delta consistency:系統會在delta時間內達到一致。這段時間內會存在一個不一致的窗口,該窗口可能是因為log shipping的過程導致。這是書上的原話。。我也搞不很清楚。。 資料庫完整性(Database Integrity)是指資料庫中數據的正確性和相容性。資料庫完整性由各種各樣的完整性約束來保證,因此可以說資料庫完整性設計就是資料庫完整性約束的設計。包括實體完整性。域完整性。參照完整性。用戶定義完整性。可以主鍵。check約束。外鍵來一一實現。這個使用較多。

F. 什麼是數據相容性,請舉例說明

數據中相容性指的是表示同一事實的兩個數據應相同,否則就不相容或者滿足某一約束關系的一組數據不應該發生互斥,否則就不相容。比如:同一個人不能有兩個性別。

G. 資料庫怎麼設置兼容級別!

查看或更改資料庫的兼容級別

  • 連接到 SQL Server 資料庫引擎 的相應實例之後,在對象資源管理器中,單擊伺服器名稱。

  • 展開「資料庫」,然後根據資料庫的不同,選擇用戶資料庫,或展開「系統資料庫」,再選擇系統資料庫。

  • 右鍵單擊資料庫,再單擊「屬性」。

    「資料庫屬性」對話框將打開。

  • 在「選擇頁」窗格中,單擊「選項」。

    當前兼容級別顯示在「兼容級別」列表框中。

  • 若要更改兼容級別,請從列表中選擇其他選項。可用選項包括SQL Server 2005 (90)、SQL Server 2008 (100)或SQL Server 2012 (110)。

H. 在資料庫中,什麼是鎖的相容性

鎖兼容性控制多個事務能否同時獲取同一資源上的鎖。如果資源已被另一事務鎖定,則僅當請求鎖的模式與現有鎖的模式相兼容時,才會授予新的鎖請求。如果請求鎖的模式與現有鎖的模式不兼容,則請求新鎖的事務將等待釋放現有鎖或等待鎖超時間隔過期。例如,沒有與排他鎖兼容的鎖模式。如果具有排他鎖(X 鎖),則在釋放排他鎖(X 鎖)之前,其他事務均無法獲取該資源的任何類型(共享、更新或排他)的鎖。另一種情況是,如果共享鎖(S 鎖)已應用到資源,則即使第一個事務尚未完成,其他事務也可以獲取該項的共享鎖或更新鎖(U 鎖)。但是,在釋放共享鎖之前,其他事務無法獲取排他鎖。

熱點內容
優酷上傳視頻需要多久 發布:2024-04-25 18:33:05 瀏覽:674
inf12編譯器 發布:2024-04-25 18:15:39 瀏覽:98
撲克總督3安卓哪裡下載 發布:2024-04-25 18:10:02 瀏覽:394
什麼網站是php 發布:2024-04-25 18:03:42 瀏覽:220
java教程免費下載 發布:2024-04-25 18:02:01 瀏覽:442
i西安編程 發布:2024-04-25 16:55:35 瀏覽:263
核磁看壓縮 發布:2024-04-25 16:37:22 瀏覽:432
訪問不上光貓 發布:2024-04-25 16:13:44 瀏覽:319
部隊電腦配置有哪些 發布:2024-04-25 16:13:43 瀏覽:970
霍曼密碼鎖什麼價位 發布:2024-04-25 16:08:01 瀏覽:750