資料庫的4
MySQL 自帶了四個資料庫,如下:
mysql庫。是MySQL的核心資料庫,存儲用戶、許可權等信息
information_schema。存儲表、鎖等性能信息。元數據關於數據的數據,如資料庫名,表名,訪問許可權,庫表的數據類型,庫索引的信息等
sys。這個庫數據來源於performance_schema。目標是把performance_schema的復雜程度降低,讓DBA能更好的閱讀這個庫里的內容,讓DBA更快的了解DB的運行情況。
performance_schema。這個庫主要收集資料庫伺服器性能參數,用於監控伺服器在一個較低級別的過程中的資源消耗,資源等待等情況
2. 資料庫的4種狀態是什麼
Oracle10g資料庫的4種存儲形式
資料庫的存在一定需要有永久性存儲方式和介質。Oracle自然也不例外,在Oracle10g中,有4種存儲形式,分別是操作系統文件,裸分區,自動存儲管理,集群系統OCFS(RAC)。下面分別說一下這4種存儲形式。 1 操作系統文件。 這種是大家最常用的方式了,也是非商業運行模式(比如開發或者開發階段的測試環境)下最常用的形式。當大家安裝Oracle的時候,如果選用了操作系統文件的存儲形式,那麼就會把Oracle的數據存儲在操作系統中,以文件的形式存在。就好像我們玩某些單機版游戲,你的存檔就是操作系統的文件一樣。用文件形式存儲數據,帶來的優點就是易於資料庫移動。比如你把Oracle的數據文件直接到一台電腦上,就可以很快復制出一個一樣的資料庫系統出來。在文件的讀寫的時候,操作系統通常會提供緩存形式進行讀寫,避免過多讀寫硬碟對磁碟造成很大傷害。所以用操作系統文件形式存儲數據,等於先天性獲得了操作系統的緩存功能。
2 裸分區。裸分區就是把資料庫直接寫在磁碟上,不再經過操作系統這一層,Oracle專門來對這個分區進行讀寫。因為沒有了操作系統這一層,所以讀寫起來的速度和性能是質一般的飛躍的,在某些對Oracle讀寫非常頻繁的資料庫應用中,採用裸分區形式存儲數據甚至可以提高30%以上的性能。當然,如果數據存儲是採用的操作系統文件,如果在Unix下採用RAID對於文件讀寫操作頻繁的情況下也是一個可以提高性能的手段。
3 自動存儲管理。 自動存儲管理通常也被稱為ASM,是在Oracle 10g以後才提供的一種新的存儲形式。這種存儲形式貌似是前兩種存儲形式的折中。既不是用的host操作系統的文件系統,也不是裸分區的形式直接由Oracle讀寫。而是可以看作為一種Oracle特有的文件系統形式。在ASM上可以存儲數據文件,控制文件,日誌文件等等,在ASM中,這些也是以文件的形式存在的,只不過這個時候的文件格式是Oracle自有的ASM形式。在Linux中和ASM有點相似的就是LVM(邏輯Volume管理),也是可以看作是一種自有的新的文件系統形式。
4 集群系統OCFS(RAC)。RAC的全稱是什麼呢,就是Real Application Cluster,是一種在集群的環境下實現共享的一種資料庫存儲形式。在通常我們的資料庫,如果是單機版的資料庫,當數據文件磁碟不能訪問,那麼這個資料庫就掛掉了。如果是集群共享資料庫的話,其中一種方法就是在某個節點存放數據文件,其餘的資料庫都通過NFS或者Samba來進行共享,雖然資料庫的數據處理能力得到了很大的提高,不過如果這個存儲節點掛掉的話,同樣資料庫也就宕掉了。而OCFS則是一種無斷點恢復的存儲形式,在整體給人的感覺就是每台數據伺服器都有自己的文件系統,但是這些文件系統又彷彿只是同一個文件系統,因為數據更新或者其他的操作都是很統一的。即使某台電腦掛了,其餘的伺服器照樣運行,不會出現資料庫的異常,而如果想新加入一台伺服器也是很簡單的事。特別適合於商用的7X24這種服務形式。
Oracle10g中的4種數據存儲方式都介紹完了,我們最常用的自然是第一種形式,不過後面三種形式在商用環境下比較多。特別在大型商用對可靠性要去很高應用中,第四種RAC形式的使用是比較多的。當然,這里只是很簡要的介紹了一下幾個文件系統的概念。如果要仔細了解的話,當然是要好好查閱Oracle技術手冊了。
3. 資料庫設計的四個階段是:需求分析、概念設計、邏輯設計和()。
資料庫設計的四個階段是:需求分析、概念設計、邏輯設計和 D
A) 編碼設計 B)測試階段 C)運行階段 D)物理設計
4. 資料庫事務四大特性是什麼
1、原子性(Atomicity)
原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。
2、 一致性(Consistency)
一致性是指事務必須使資料庫從一個一致性狀態變換到另一個一致性狀態,也就是說一個事務執行之前和執行之後都必須處於一致性狀態。
拿轉賬來說,假設用戶A和用戶B兩者的錢加起來一共是5000,那麼不管A和B之間如何轉賬,轉幾次賬,事務結束後兩個用戶的錢相加起來應該還得是5000,這就是事務的一致性。
3、隔離性(Isolation)
隔離性是當多個用戶並發訪問資料庫時,比如操作同一張表時,資料庫為每一個用戶開啟的事務,不能被其他事務的操作所干擾,多個並發事務之間要相互隔離。
即要達到這么一種效果:對於任意兩個並發的事務T1和T2,在事務T1看來,T2要麼在T1開始之前就已經結束,要麼在T1結束之後才開始,這樣每個事務都感覺不到有其他事務在並發地執行。
4、持久性(Durability)
持久性是指一個事務一旦被提交了,那麼對資料庫中的數據的改變就是永久性的,即便是在資料庫系統遇到故障的情況下也不會丟失提交事務的操作。
(4)資料庫的4擴展閱讀
在資料庫中,關於讀數據的概念:
1、臟讀(Dirty Reads):所謂臟讀就是對臟數據(Drity Data)的讀取,而臟數據所指的就是未提交的數據。也就是說,一個事務正在對一條記錄做修改,在這個事務完成並提交之前,這條數據是處於待定狀態的(可能提交也可能回滾)。
這時,第二個事務來讀取這條沒有提交的數據,並據此做進一步的處理,就會產生未提交的數據依賴關系。這種現象被稱為臟讀。
2、不可重復讀(Non-Repeatable Reads):一個事務先後讀取同一條記錄,但兩次讀取的數據不同,我們稱之為不可重復讀。也就是說,這個事務在兩次讀取之間該數據被其它事務所修改。
3、幻讀(Phantom Reads):一個事務按相同的查詢條件重新讀取以前檢索過的數據,卻發現其他事務插入了滿足其查詢條件的新數據,這種現象就稱為幻讀。
5. 資料庫系統的基本模塊(4個)和輔助模塊(3個)是什麼
資料庫系統主要由硬體、資料庫以及資料庫管理系統3部分組成。
1.資料庫是按照數據結構來組織、存儲和管理數據的倉庫。資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。
2.資料庫管理是有關建立、存儲、修改和存取資料庫中信息的技術,是指為保證資料庫系統的正常運行和服務質量,有關人員須進行的技術管理工作。負責這些技術管理工作的個人或集體稱為資料庫管理員(DBA)。
3.資料庫管理的主要內容有:資料庫的調優、資料庫的重組、資料庫的重構、資料庫的安全管控、報錯問題的分析和匯總和處理、資料庫數據的日常備份。資料庫的建立:資料庫的設計只是提供了數據的類型、邏輯結構、聯系、約束和存儲結構等有關數據的描述
6. 資料庫的4種打開方式
以Access2003版本為例,有以下四種打開方式:
1、打開,正常打開資料庫,可以進行正常的操作。
2、以只讀方式打開 ,只能瀏覽,不能修改。
3、以獨占方式打開,對用戶許可權進行驗證,管理員身份進入,可以進行修改,GUEST用戶只能瀏覽。
4、以獨占只讀方式打開。管理員身份進入,才可以進行瀏覽。
7. 資料庫事務的四個隔離級別,mysql在哪一個級別
為了給程序配置資源隔離,通常我們會到 cgroup 層級樹下的控制器⾥,創建或者修改控制組⽂件。
修改方法
有兩種方法可以對配置了 systemd 的程序進行資源隔離:1. 命令行修改:通過執行systemctl set-property命令實現,形式為systemctl set-propertyname parameter=value;修改默認即時生效。2. 手工修改文件:直接編輯程序的 systemd unit file 文件,完成之後需手工執行systemctldaemon-reload更新配置,並重啟服務systemctl restart name.service。
systemd unit file 里支持的資源隔離配置項,如常見的:
CPUQuota=value
該參數表示服務可以獲取的最大 CPU 時間,value 為百分數形式,高於 100% 表示可使用1 核以上的CPU。與 cgroup cpu 控制器cpu.cfs_quota_us配置項對應。
MemoryLimit=value
該參數表示服務可以使用的最大內存量,value 可以使用 K, M, G, T 等後綴表示值的大小。與 cgroupmemory 控制器memory.limit_in_bytes配置項對應。
事務的4種隔離級別
READ UNCOMMITTED 未提交讀,可以讀取未提交的數據。
READ COMMITTED 已提交讀,對於鎖定讀(select with for update 或者 for share)、update 和 delete 語句,InnoDB 僅鎖定索引記錄,而不鎖定它們之間的間隙,因此允許在鎖定的記錄旁邊自由插入新記錄。
Gap locking 僅用於外鍵約束檢查和重復鍵檢查。
REPEATABLE READ 可重復讀,事務中的一致性讀取讀取的是事務第一次讀取所建立的快照。
SERIALIZABLE 序列化在了解了 4 種隔離級別的需求後,在採用鎖控制隔離級別的基礎上,我們需要了解加鎖的對象(數據本身&間隙),以及了解整個數據范圍的全集組成。
數據范圍全集組成
SQL 語句根據條件判斷不需要掃描的數據范圍(不加鎖);
SQL 語句根據條件掃描到的可能需要加鎖的數據范圍;
以單個數據范圍為例,數據范圍全集包含:(數據范圍不一定是連續的值,也可能是間隔的值組成)
8. 關系資料庫的四個層次結構是什麼
1.層次模型
層次模型是資料庫系統中最早使用的模型,它的數據結構類似一顆倒置的樹,每個節點表示一個記錄類型,記錄之間的聯系是一對多的聯系,基本特徵是:
* 一定有一個,並且只有一個位於樹根的節點,稱為根節點;
* 一個節點下面可以沒有節點,即向下沒有分支,那麼該節點稱為葉節點;
* 一個節點可以有一個或多個節點,前者稱為父節點,後者稱為子節點;
* 同一父節點的子節點稱為兄弟節點。
* 除根節點外,其他任何節點有且只有一個父節點;
圖11.7是一個層次模型的例子。
層次模型中,每個記錄類型可以包含多個欄位,不同記錄類型之間、同一記錄類型的不同欄位之間不能同名。如果要存取某一類型的記錄,就要從根節點開始,按照樹的層次逐層向下查找,查找路徑就是存取路徑。如圖11.8所示。
層次模型結構簡單,容易實現,對於某些特定的應用系統效率很高,但如果需要動態訪問數據(如增加或修改記錄類型)時,效率並不高。另外,對於一些非層次性結構(如多對多聯系),層次模型表達起來比較繁瑣和不直觀。
2.網狀模型
網狀模型可以看作是層次模型的一種擴展。它採用網狀結構表示實體及其之間的聯系。網狀結構的每一個節點代表一個記錄類型,記錄類型可包含若干欄位,聯系用鏈接指針表示,去掉了層次模型的限制。網狀模型的特徵是:
1. 允許一個以上的節點沒有父節點;
2. 一個節點可以有多於一個的父節點;
例如,圖11.9(a)和圖11.9(b)都是網狀模型的例子。圖11.9(a)中節點3有兩個父節點,即節點1和節點2;圖11.9(b)中節點4有三個父節點,即節點1,節點2和節點3。
由於網狀模型比較復雜,一般實際的網狀資料庫管理系統對網狀都有一些具體的限制。在使用網狀資料庫時有時候需要一些轉換。例如,如圖11.10所示。
網狀模型與層次模型相比,提供了更大的靈活性,能更直接地描述現實世界,性能和效率也比較好。網狀模型的缺點是結構復雜,用戶不易掌握,記錄類型聯系變動後涉及鏈接指針的調整,擴充和維護都比較復雜。
3.關系模型
關系模型是目前應用最多、也最為重要的一種數據模型。關系模型建立在嚴格的數學概念基礎上,採用二維表格結構來表示實體和實體之間的聯系。二維表由行和列組成。下面以教師信息表和課程表為例,說明關系模型中的一些常用術語:
表11.1 教師信息表(表名為:tea_info)
TNO(教師編號)
NAME(姓名)
GENDER(性別)
TITLE(職稱)
DEPT(系別)
805
李奇
女
講師
基礎部
856
薛智永
男
教授
信息學院
表11.2 課程表(表名為:cur_info)
CNO(課程編號)
DESCP(課程名稱)
PERIOD(學時)
TNO(主講老師編號)
005067
微機基礎
40
805
005132
數據結構
64
856
1. 關系(或表):一個關系就是一個表,如上面的教師信息表和課程表。
2. 元組:表中的一行為一個元組(不包括表頭)。
3. 屬性:表中的一列為一個屬性。
4. 主碼(或關鍵字):可以唯一確定一個元組和其他元組不同的屬性組。
5. 域:屬性的取值范圍。
6. 分量:元組中的一個屬性值。
7. 關系模式:對關系的描述,一般表示為:關系名(屬性1,屬性2,... ...,屬性n)。
關系模型中沒有層次模型中的鏈接指針,記錄之間的聯系是通過不同關系中的同名屬性來實現的。 關系模型的基本特徵是:
1. 建立在關系數據理論之上,有可靠的數據基礎;
2. 可以描述一對一,一對多和多對多的聯系。
3. 表示的一致性。實體本身和實體間聯系都使用關系描述。
4. 關系的每個分量的不可分性,也就是不允許表中表。
關系模型概念清晰,結構簡單,實體、實體聯系和查詢結果都採用關系表示,用戶比較容易理解。另外,關系模型的存取路徑對用戶是透明的,程序員不用關心具體的存取過程,減輕了程序員的工作負擔,具有較好的數據獨立性和安全保密性。
關系模型也有一些缺點,在某些實際應用中,關系模型的查詢效率有時不如層次和網狀模型。為了提高查詢的效率,有時需要對查詢進行一些特別的優化
9. 關系資料庫的四個組成部分是什麼
系模型是任何關系資料庫管理系統(RDBMS)的基礎。一個關系模型有二個核心組件:對象或關系的集合,作用於對象或關繫上的操作,以及數據完整性規則。換句話說,關系資料庫有一個存儲數據的地方,一種創建和檢索數據的方法,以及一種確認數據的邏輯一致性的方法。
10. 資料庫的4個系統存儲過程是什麼
SQL Server系統存儲過程數量眾多,不下數百個
常用的系統存儲過程
系統存儲過程 說明
sp_databases 列出服務上的所有資料庫
sp_helpdb 報告有關指定資料庫或所有資料庫的信息
sp_renamedb 更改資料庫的名稱
sp_tables 返回當前環境下可查詢的對象的列表
sp_columns 返回某個表列的信息
sp_help 返回某個表的所有信息
sp_helpconstraint 查看某個表的約束
sp_helpindex 查看某個表的索引
sp_stored_proceres 列出當前環境中的所有存儲過程
sp_password 添加或修改登錄賬戶的密碼
sp_helptext 顯示默認值,未加密的存儲過程、用戶定義的存儲過程、觸發器或視圖的實際文本