資料庫考點回顧

來源:互聯網
上載者:User

1 資料庫理論

1NF :第一範式。如果關係模式R的所有屬性的範圍都是不可再分解的值,則稱R 屬於第一範式

                第一範式的模式要求屬性值不可再分裂成更小部分,即屬性項不能使屬性項組合或由組屬性群組成

2NF :第二範式。如果關係模式R為第一範式,並且R中每一個非主屬性完全函數依賴於R的某個候選索引鍵,則稱R為第二範式模式。

            如果某個資料庫模式中每個關係模式都是第二範式的,則稱該資料庫模式屬於第二範式的資料庫模式。

3NF :第三範式。如果關係模式R是第二範式,則每個非主屬性都不傳遞依賴於R的候選索引鍵,則稱R是第三範式的模式。如果某個資料庫模式的每個關係模式

             都是第三範式,則稱為3NF資料庫模式

BCNF :BC範式。如果關係模式R是第一範式,且每個屬性都不傳遞依賴於R的候選索引鍵,那麼稱R為BCNF模式

4NF:第四範式。設R是一個關係模式,D是R上的多值依賴集合。如果D中成立非平凡多值依賴X-》-》Y  X必是R的超鍵,稱R為第四範式的模式

關係R(s,d,m)

2 預存程序和函數的區別是什嗎?

預存程序是使用者定義的一系列SQL語句集合,涉及特定表或其他對象的任務,使用者可以調用預存程序。

函數通常是資料庫已定義的方法,它接受函數並返回某種類型的值,並且不涉及特定使用者表

3 什麼是資料庫事務?

資料庫事務 指多個邏輯工作單元執行的一系列操作,這些操作要麼全做要麼全不做,是一個不可分割的工資單元。

 事務的開始和結束可以有使用者顯示控制。如果使用者沒有顯示地定義事務,則由DBMS按預設規定自動劃分事務。

事務具有:原子性,一致性,獨立性及持久性 等特點

4 遊標的作用是什麼,如何知道遊標已經到了最後?

遊標用於定位結構集的行。通過判斷全域變數@@FETCH_STATUS可以判斷其是否到了最後。通常此變數不等於0表示出錯或到了最後。

5 觸發器分為事前觸發和事後觸發,這兩種觸發有何區別?語句級觸發和行級觸發有何區別?

事前---運行於觸發事件發生以前

事後--運行於觸發事件發生之後

語句級--語句執行前或後執行

行級觸發--所影響的每一行觸發一次

6 叢集索引和非叢集索引之間的區別

叢集索引的解釋是:叢集索引的順序就是資料的實體儲存體順序,而對非叢集索引的解釋是索引順序與資料物理排列順序無關。正因為如此,所以一個表最多隻能有一個

叢集索引。

   在sql server中,索引是通過二叉樹的資料結構來描述的,我們可以這麼理解叢集索引:索引的分葉節點就是資料節點。而非叢集索引的分葉節點仍然是索引節點,只不過

有一個指標指向對應的資料區塊。

  叢集索引確定表中資料的物理順序。叢集索引類似電話本,後者按姓名排列資料,由於叢集索引規定資料在表中的實體儲存體順序,因此一個表只能包含一個叢集索引,

但該索引可以包含多個列,像電話本按姓氏和名字進行組織一樣。

  使用非叢集索引,非叢集索引與課本中的索引類似。資料存放區在一個地方,索引儲存在另一個地方,索引帶有指標指向資料的儲存位置。索引中的項目按索引

索引值叢集索引,則無法保證這些行具有任何特定的順序

常用聚集合函式(Aggregation function)或內建函式(Build-in function)
函數名 功能
COUNT 對元組計數
TOTAL 求總和
MAX 求最大值
MIN 求最小值
AVG 求平均值

關係模式可以形式化地表示為:    RUDDOMFR       關係名U       組成該關係的屬性名稱集合D       屬性群組U中屬性所來自的域DOM  屬性向域的映象集合F        屬性間的資料依賴關係集合

   關係的三類完整性條件約束         實體完整性         參照完整性        使用者定義的完整性

實體完整性和參照完整性:    關聯式模式必須滿足的完整性條件約束條件     稱為關係的兩個 不變性,應該由關係系統自動支援使用者定義的完整性:    應用領域需要遵循的約束條件,體現了具體領域中的語義約束

F是基本關係 R的一個或一組屬性,但不是關係 R的碼。如果F與基本關係 S的主碼Ks相對應,則稱F是基本關係 R的外碼基本關係 R稱為參照關係(Referencing  Relation)基本關係 S稱為被參照關係(Referenced Relation)    或目標關係(Target Relation)
規則2.2 參照完整性規則
   若屬性(或屬性群組) F是基本關係 R的外碼它與基本關係 S的主碼Ks相對應(基本關係 RS不一定是不同的關係),則對於 R中每個元組在 F上的值必須為:或者取空值( F的每個屬性值均為空白值)或者等於 S中某個元組的主碼值

decimal(M,D);
M --- 表示小數點前與後的位元之和,D表示小數點後有多少位.......

若D=0則表示為整數.....M就全為整數位

identity 表示該列是一個識別欄位,設定了identity 該列的值會根據初始值和增量自動在插入資料的時候添加的。
Numeric(10,2) 指欄位是數字型,長度為10 小數為兩位的 
資料類型 含義
CHAR(n) 長度為n的定長字串
VARCHAR(n) 最大長度為n的變長字串
INT 長整數(也可以寫作INTEGER)
SMALLINT 短整數
NUMERIC(p,d) 定點數,由p位元字(不包括符號、小數點)組成,小數後面有d位元字
REAL 取決於機器精度的浮點數
Double Precision 取決於機器精度的雙精確度浮點數
FLOAT(n) 浮點數,精度至少為n位元字
DATE 日期,包含年、月、日,格式為YYYY-MM-DD
TIME 時間,包含一日的時、分、秒,格式為HH:MM:SS

v語句格式       SELECT [ALL|DISTINCT] <目標列運算式>                                                [,<目標列運算式>] …FROM <表名或視圖名>[, <表名或視圖名> ] …[ WHERE <條件運算式> ][ GROUP BY <列名1> [
HAVING <條件運算式> ] ][ ORDER BY <列名2> [ ASC|DESC ] ];

select * from tab where tname like '\_%' escape '\';

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
_test                          TABLE

換碼字元escape將萬用字元_轉換為一般字元

謂詞: IS NULL 或 IS NOT NULL“IS” 不能用 “=” 代替

ORDER BY子句可以按一個或多個屬性列排序升序:ASC;降序:DESC;預設值為升序當排序列含空值時ASC:排序列為空白值的元組最後顯示DESC:排序列為空白值的元組最先顯示

聚集合函式:計數COUNT([DISTINCT|ALL] *)COUNT([DISTINCT|ALL] <列名>)計算總和SUM([DISTINCT|ALL] <列名>)  計算平均值AVG([DISTINCT|ALL] <列名>)最大最小值  MAX([DISTINCT|ALL] <列名>) MIN([DISTINCT|ALL] <列名>)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.