資料庫常見問題

2021-09-23 08:04:42 字數 2692 閱讀 1444

髒讀:事務b讀取事務a還沒有提交的資料

不可重複讀:兩次事務讀的資料不一致

幻讀:事務a修改了資料,事務b也修改了資料,這時在事務a看來,明明修改了資料,咋不一樣

√:會出現 ×:不會出現

資料庫——聯機事務處理oltp(on-line transaction processing)

儲存的資料量小,方便操作,效能要求高,響應時間短、一次操作乙個單元,可以更新資料。

資料庫 比較流行的有:mysql, oracle, sqlserver等

資料倉儲——聯機事務分析olap(on-line analytical processing)

儲存的資料量大,對效能要求寬鬆,一次操作乙個集合,資料是隨著時間的變化而變化的、是不可修改的。

資料倉儲 比較流行的有:aws redshift, greenplum, hive等

dbs(資料庫系統)包含db(資料庫)和dbms(資料庫管理系統)

資料庫的**模式包括模式、外模式、內模式。

模式是資料庫中全體資料的邏輯結構和特徵的描述 ,乙個資料庫只有乙個模式。

外模式又稱使用者檢視,乙個資料庫可以有多個外模式。

內模式也稱物理模式或儲存模式,乙個資料庫只有乙個內模式。它是資料物理結構和儲存方式的描述,是資料庫的內部的表示方法。

模式對應基本表,外模式對應檢視,內模式用於儲存檔案。

ddl:資料庫模式定義語言,create、alter、drop

dml:資料庫操縱語言,insert、delete、update

dcl:資料庫控制語言,grant、remove

dql:資料庫查詢語言,select

1nf:屬性(字段)不可分的原子性,即同一列中不能有多個值。

2nf:滿足1nf,且資料庫表中的每個例項或行必須可以被唯一地區分,為實現區分通常需要為表加上乙個列,以儲存各個例項的唯一標識。每乙個非主屬性完全依賴於r的某個候選鍵,則稱r是第二正規化模式。

3nf:滿足2nf,且每個非主屬性都不傳遞依賴於r的候選鍵,則稱r是第三正規化的模式。

bcnf:建在第三正規化的基礎上,如果關係模型r是第一正規化,且每個屬性都不傳遞依賴於r的候選鍵,那麼稱r為bcnf的模式。符合bcnf的,並消除了刪除異常、插入異常和更新異常。

**許可權:

revoke create ,select,alter,drop on t from user2;

revoke create on t from user2;

revoke drop on t from user2;

revoke alter on t from user2;

revoke select on t from user2;

增加加許可權:

grant create ,select,alter,drop on t from user2;

grant select on t from user2;

grant create on t from user2;

grant drop on t from user2;

grant alter on t from user2;

grant select on t from user2;

共享鎖(s鎖)又稱為讀鎖,若事務t對資料物件a加上s鎖,則事務t只能讀a;其他事務只能再對a加s鎖,而不能加x鎖,直到t釋放a上的s鎖。這就保證了其他事務可以讀a,但在t釋放a上的s鎖之前不能對a做任何修改。

sql語句中select對應投影運算,where語句對應選擇運算,from後面的表對應連線運算。

主鍵:如果乙個關係表中有多個候選鍵,則選擇其中乙個鍵作為關係的主鍵,用主鍵可以表示任意兩行記錄不相同。

超鍵:在乙個關係表中,能唯一標識一行的屬性或屬性集稱為關係的超鍵。

候選鍵:如果乙個屬性集能唯一標識行,且又不含多餘的屬性,那麼這個屬性集就稱為關係的候選鍵。

在er圖中有如下四個成分:

矩形框:表示實體,在框中記入實體名。

菱形框:表示聯絡,在框中記入聯絡名。

橢圓形框:表示實體或聯絡的屬性,將屬性名記入框中。對於主屬性名,則在其名稱下劃一下劃線。

連線:實體與屬性之間;實體與聯絡之間;聯絡與屬性之間用直線相連,並在直線上標註聯絡的型別。(對於一對一聯絡, 要在兩個實體連線方向各寫1;對於一對多聯絡,要在一的一方寫1。多的一方寫n;對於多對多關係,則要在兩個實體連線方向各寫n,m。)

1、事務故障是由於程式執行錯誤而引起事務非預期的、異常終止的故障。它發生在單個事務的區域性範圍內,實際上就是程式的故障。

事務故障更多的是非預期的,不能由事務程式處理的情況,主要有:

①邏輯上的錯誤,如運算溢位、死迴圈、非法操作、位址越界等等;

②違反完整性限制的無效的輸入資料;

③違反安全性限制的訪問許可權;

④資源限定,如為了解除死鎖、實施可串化的排程策略等而abort乙個事務;

⑤使用者的控制台命令。

2、系統故障是指系統在執行過程中,由於某種原因,造成系統停止執行,以致事務在執行過程中以非正常的方式終止,致使記憶體中的資訊丟失,而儲存在外存上的資料未受影響。

3、介質故障是指外儲存裝置故障,主要有磁碟損壞,磁頭碰撞盤面,突然的強磁場干擾,資料傳輸部件出錯,磁碟控制器出錯等。

PostgreSQL資料庫常見問題

insert into test values st transform st geomfromtext point 10070507.650288 4282901.6281314 900913 insert into test values st transform st geomfromtext...

資料庫面試常見問題

3 索引 4 mysql儲存引擎 5 分割槽和分表 6 mvcc 7 資料庫的鎖 8 為什麼innodb採用b 樹 這是乙個超連結 特性 原子性 一致性 隔離性 永續性。隔離等級 讀未提交 讀已提交 可重複讀 序列化 這是乙個超連結 悲觀鎖 對外界修改資料持保守態度。認為外界會修改資料。悲觀鎖會在修...

資料庫常見問題合集

begin sql語句1 sql語句2 sql語句n commit 其中每條語句執行後,並不立即提交資料庫,而是在執行commit語句後,才將所有的sql執行結果提交資料庫。事務併發執行時可能會出現的問題 髒讀 不可重複讀 幻像讀 丟失更新問題 關係型資料庫 oracle db2 microsoft...