數據庫的概念模型獨立於
A.具體的機器和DBMS
B.E-R圖
C.信息世界
D.現實世界
答案:A。概念模型用於信息世界的建模,與具體的DBMS無關,首先把現實世界抽象為信息世界,然后將信息世界轉換成機器世界
Transact-SQL 提供下列聚合函數
APPROX_COUNT_DISTINCT
MIN
AVG
STDEV
CHECKSUM_AGG
STDEVP
COUNT
STRING_AGG
COUNT_BIG
SUM
GROUPING
VAR
GROUPING_ID
VARP
MAX
Transact-SQL語句創建主鍵
alter table table1 with notcheck add constraint [PK_table1] primary key nonclustered (column1) on primary;
E-R圖的3個基本要素
實體型
屬性
聯系
數據庫以及線程發生死鎖的原理及必要條件,如何避免死鎖
產生死鎖的原因主要是:
(1) 因為系統資源不足。
(2) 進程運行推進的順序不合適。
(3) 資源分配不當等。
產生死鎖的四個必要條件:
(1)互斥條件:一個資源每次只能被一個進程使用。
(2)請求與保持條件:一個進程因請求資源而阻塞時,對已獲得的資源保持不放。
(3)不可剝奪條件:進程已獲得的資源,在末使用完之前,不能強行剝奪。
(4)循環等待條件:若干進程之間形成一種頭尾相接的循環等待資源關系。
避免死鎖:
死鎖的預防是通過破壞產生條件來阻止死鎖的產生,但這種方法破壞了系統的並行性和並發性。
死鎖產生的前三個條件是死鎖產生的必要條件,也就是說要產生死鎖必須具備的條件,而不是存在這3個條件就一定產生死鎖,那么只要在邏輯上回避了第四個條件就可以避免死鎖。
避免死鎖采用的是允許前三個條件存在,但通過合理的資源分配算法來確保永遠不會形成環形等待的封閉進程鏈,從而避免死鎖。該方法支持多個進程的並行執行,為了避免死鎖,系統動態的確定是否分配一個資源給請求的進程。
預防死鎖:具體的做法是破壞產生死鎖的四個必要條件之一。
銀行家算法:該算法需要檢查申請者對各類資源的最大需求量,如果現存的各類資源可以滿足當前它對各類資源的最大需求量時,就滿足當前的申請。換言之,僅當申請者可以在一定時間內無條件歸還它所申請的全部資源時,才能把資源分配給它。這樣申請者就可以很快完成其計算,然后釋放它占用的資源,從而保證了系統中的所有進程都能完成,所以可以避免死鎖的發生。這種算法的主要問題是,要求每個進程必須先知道資源的最大需求量,而且在系統的運行過程中,考察每個進程對各類資源的申請需花費較多的時間。另外,這一算法本身也有些保守,因為它總是考慮最壞可能的情況。
在SQL中語法規范中,having子句的使用
A.having子句即可包含聚合函數作用的字段也可包括普通的標量字段
B.使用having的同時不能使用where子句
C.having子句必須於group by 子句同時使用,不能單獨使用
D.使用having子句的作用是限定分組條件
E.Having子句和where子句是等同的
F.如果select語句中沒有聚合函數的使用,就不能使用having子句
解析:where子句 = 指定行所對應的條件
having子句 = 指定組所對應的條件
D中是Group by才用來分組的,group by的作用是限定分組條件,而having則是對group by中分出來的組進行條件篩選。
所以用having就一定要和group by連用,且是先group by XXX 再having XXX,用group by不一有having(它只是一個篩選條件用的)
select語句完整語法
1)select目標表的列名或列表達式序列
2)from基本表名和(或)視圖序列
3)[where 行條件表達式]
4)[group by 列名序列][having 組條件表達式]
5)[order by 列名[asc | desc]],則sql語句的執行順序是:
寫法順序:select--from--where--group by--having--order by
執行順序:from--where--group by--having--select--order by
文件系統與數據庫系統的區別和聯系
文件系統於數據庫系統的區別是:
文件系統面向某一應用程序,共享性差,冗余度大,數據獨立性差,記錄內有結構,整體無結構,由應用程序自己控制。
數據庫系統面向現實世界,共享性高,冗余度小,具有較高的物理獨立性和一定的邏輯獨立性,整體結構化,用數據模型描述,由數據庫系統提供數據安全性,完整性,並發控制和恢復力。
文件系統與數據庫系統的聯系是:
文件系統於數據庫系統都是計算機系統中管理數據庫的軟件。
解析文件系統是操作系統的重要組成部分。而DBMS是獨立於操作系統的軟件。到時DBMS操作系統的基礎上實現的。
數據庫系統的組織和存儲是通過操作系統中的文件系統來實現的。
下列哪種完整性中,將每一條記錄定義為表中的惟一實體,即不能重復
A、域完整性 B、引用完整性 C、實體完整性 D、其他
關系的約束條件也稱為關系的數據完整性規則,是對關系的一些限制和規定,包括實體完整性、參照完整性和用戶定義完整性。
實體完整性:關系模型對應的是現實世界的數據實體,而關鍵字是實體惟一性的表現,沒有關鍵字就沒有實體,所有關鍵字不能是空值。這是實體存在的最基本的前提,所以,稱之為實體完整性。
參照完整性:參照完整性規則也可稱為引用完整性規則。這條規則是對關系外部關鍵字的規定,要求外部關鍵字的取值必須是客觀存在的,即不允許在一個關系中引用另一個關系中不存在的元組。
用戶定義完整性:由用戶根據實際情況,對數據庫中數據的內容所作的規定稱為用戶定義的完整性規則。通過這些限制數據庫中接受符合完整性約束條件的數據值,不接受違反約束條件的數據,從而保證數據庫的數據合理可靠。
E-R圖
也稱實體-聯系圖(Entity Relationship Diagram)
提供了表示實體類型、屬性和聯系的方法
用來描述現實世界的概念模型。
DBS,DB,DBMS,DBA區別
DBS (DataBase System)是數據庫系統
DB(Database )是數據庫
DBMS(DataBase Management System)是數據庫管理系統
DBA(Database Administrator)是數據庫管理員
數據庫系統DBS和數據庫管理系統DBMS數據庫系統 (DataBase System),
是采用了數據庫技術的計算機系統,是一個實際可運行的、按照數據庫方法存儲、維護和向應用系統提供數據支持的系統 ,
它是數據庫、硬件和軟件,以及數據庫管理員(DBA)的集合體。
數據庫管理系統(DataBase Management System),是指數據庫系統中對數據進行管理的軟件系統,它是數據庫系統的核心組成部分。
可以通過DBMS對DB進行定義、查詢、更新及各種控制。
碼是唯一標識實體的屬性集
數據庫Oracle 9i
最大保護(Maximum protection ) 這種模式能夠保證在primary Database發生故障保證數據不丟失。
在這種模式下,事務提交前,要保證Redo數據已經寫入到Primary Database的Online Redologs,同時寫入Standby Database的Standby Redologs,並確保至少在一個Standby Database中可用。如果Standby Database不可用,Primary Database將會shutdown。
最高可用性(Maximum availability) 這種模式在不影響Primary Database可用的前提下,提供最高級別的數據保護策略,這種模式也能夠確保數據不丟失。
事務提交之前,要保證Redo數據已經寫入到Primary Database的Online Redologs,同時寫入Standby Database的Standby Redologs,確保至少在一個Standby Database中可用。
與最大保護模式不同的是,如果Standby Database出現故障導致不可用,Primary Database並不會被shutdown,而是自動轉換為最高性能模式,等Standby Database恢復正常后,Primary Database又會自動切換到最高可用性模式。
最大性能(Maximum performance) 這是一種默認的保護模式。事務可以隨時提交,當前Primary Database的Redo數據至少需要寫入一個Standby Database,不過這種方式不會等待Standby Database是否寫入的確認因此這種寫入屬於異步寫入。
數據庫系統的特點
數據結構化;數據的共享性高、冗余度低、易擴充;數據獨立性高;數據由DBMS 統
一管理和控制。
-
數據結構化:數據庫系統實現整體數據的結構化,這是數據庫的主要特征之一。
-
數據的共享性高,冗余度低,易擴充。數據庫系統從整體角度看待和描述數據,數
據不再面向某個應用而是面向整個系統,因此數據可以被多個用戶,應用共享使用。數據共
享可以大大減少數據冗雜,節約存儲空間。數據共享還能夠避數據之間的不相容與不一致性。 -
數據獨立性高。數據獨立性包括物理獨立性和邏輯獨立性。
-
數據由DBMS 統一管理和控制。數據庫的共享是並發的共享,即多個用戶可以同時
存取數據庫中的數據甚至可以同時存取數據庫中一個數據
一個關系可以有多個主屬性
關系數據庫中的關鍵字是指能惟一標識元組的屬性或屬性集合
9i中的數據保護模式
MAXIMIZE PROTECTION
MAXIMIZE AVAILABILITY
MAXIMIZE PERFORMANCE
select語句完整語法
-
select 目標表的列名或列表達式序列
-
from 基本表名和(或)視圖序列
-
[where 行條件表達式]
-
[group by 列名序列]
[having 組條件表達式]
- [order by 列名[asc | desc]]
2),3),4),1),5)