資料庫面試題 SQL ORACLE

2021-03-28 18:53:32 字數 4968 閱讀 4313

資料庫基礎(面試常見題)

一、資料庫基礎

1. 資料抽象:物理抽象、概念抽象、檢視級抽象,內模式、模式、外模式

2. sql語言包括資料定義、資料操縱(data manipulation),資料控制(data control)

資料定義:create table,alter table,drop table, craete/drop index等

資料操縱:select ,insert,update,delete,

資料控制:grant,revoke

3. sql常用命令:

create table student(

id number primary key,

name varchar2(50) not null);//建表

create view view_name as

select * from table_name;//建檢視

create unique index index_name on tablename(col_name);//建索引

insert into tablename values(exp1,exp2,…);//插入

insert into viewname values(exp1,exp2,…);//插入檢視實際影響表

update tablename set name=』zang 3』 condition;//更新資料

delete from tablename where condition;//刪除

grant (select,delete,…) on (物件) to user_name [with grant option];//授權

revoke (許可權表) on(物件) from user_name [with revoke option] //撤權

列出工作人員及其領導的名字:

select from employee e s

where e.supername=

4. 檢視:

5. 完整性約束:實體完整性、參照完整性、使用者定義完整性

6. 第三正規化:

1nf:每個屬性是不可分的。 2nf:

若關係r是1nf,且每個非主屬性都完全函式依賴於r的鍵。例slc(sid#, courceid#, sname,grade),則不是2nf; 3nf:若r是2nf,且它的任何非鍵屬性都不傳遞依賴於任何候選鍵。

7. er(實體/聯絡)模型

8. 索引作用

9. 事務:是一系列的資料庫操作,是資料庫應用的基本邏輯單位。事務性質:原子性、

? 原子性。即不可分割性,事務要麼全部被執行,要麼就全部不被執行。

? 一致性或可串性。事務的執行使得資料庫從一種正確狀態轉換成另一種正確狀態

? 隔離性。在事務正確提交之前,不允許把該事務對資料的任何改變提供給任何其他事務,

? 永續性。事務正確提交後,其結果將永久儲存在資料庫中,即使在事務提交後有了其他故障,事務的處理結果也會得到儲存。

10. 鎖:共享鎖、互斥鎖

兩段鎖協議:階段1:加鎖階段階段2:解鎖階段

11. 死鎖及處理:事務迴圈等待資料鎖,則會死鎖。

死鎖處理:預防死鎖協議,死鎖恢復機制

12. 儲存過程:儲存過程就是編譯好了的一些sql語句。

1.儲存過程因為sql語句已經預編繹過了,因此執行的速度比較快。

2. 可保證資料的安全性和完整性。通過儲存過程可以使沒有許可權的使用者在控制之下間接地訪問資料庫,從而保證資料的安全。

通過儲存過程可以使相關的動作在一起發生,從而可以維護資料庫的完整性。

3.可以降低網路的通訊量。儲存過程主要是在伺服器上執行,減少對客戶機的壓力。

4:儲存過程可以接受引數、輸出引數、返回單個或多個結果集以及返回值。可以向程式返回錯誤原因

5:儲存過程可以包含程式流、邏輯以及對資料庫的查詢。同時可以實體封裝和隱藏了資料邏輯。

13. 觸發器: 當滿足觸發器條件,則系統自動執行觸發器的觸發體。

觸發時間:有before,after.觸發事件:有insert,update,delete三種。觸發型別:有行觸發、語句觸發

14.內聯接,外聯接區別?

內連線是保證兩個表中所有的行都要滿足連線條件,而外連線則不然。

在外連線中,某些不滿條件的列也會顯示出來,也就是說,只限制其中乙個表的行,而不限制另乙個表的行。分左連線、右連線、全連線三種

sql試題2

一、教師號星期號是否有課有有

有有`有寫一條sql語句讓你變為這樣的表

教師號星期一星期二星期三

2   1

各星期下的數字表示:對應的教師在星期幾已經排的課數

二、書表(books)

book_id,book_name,creatdate,lastmodifydate,decription

001,三個人的世界,2005-02-02,2005-07-07,null

作者表(authors)

a_id,a_name

01,王紛

02,李尚

03,泰和

部門表(depts)

d_id,d_name

001,編輯一部

002,編輯二部

003,編輯三部

書和作者關聯表(bookmap)

book_id,a_id

001,01

001,02

001,03

部門和作者關聯表(depmap)

d_id,a_id

001,01

002,02

003,03

找出每個部門的所寫的總書兩,比如,一本書有3個人寫,如果三個人在不同的部門,則每個部門的總數量就是1.最後結果如下:

部門,書量

編輯一部,1

編輯二部,1

編輯三部,1

三、兩個表情況

表名:wu_plan

id plan model corp_code plannum prixis

1 00001 exx22 nokia 2000 0

2 00002 lc001 sony 3000 0

表名:wu_bom

id plan pactamount

1 00001 aa1300

2 00001 aa2200

3 00002 bb1500

4 00002 bb2800

5 00002 bb3400

查詢這兩個表中plan唯一,每乙個plan中,amount最少的,plannum大於prixis的記錄

結果是:

id plan model corp_code plannum prixis pact amount

1 00001 exx22 nokia 2000 0 a2 200

2 00002 lc001 sony 3000 0 bb3 400

四、表1結構如下:

部門條碼品名銷售額銷售數量銷售日期

表2結構如下

課別部門

要求:先按部門排序,再按銷售額、銷售數量排序檢索出某個課別每個部門乙個時期內的商品銷售額的前三名,如查詢01課別2023年4月15日到2023年4月22日每個部門乙個週內的商品銷售額合計的前三名

sql 面試題目彙總

1.觸發器的作用?

答:觸發器是一中特殊的儲存過程,主要是通過事件來觸發而被執行的。它可以強化約束,來維護資料的完整性和一致性,可以跟蹤資料庫內的操作從而不允許未經許可的更新和變化。

可以聯級運算。如,某錶上的觸發器上包含對另乙個表的資料操作,而該操作又會導致該錶觸發器被觸發。

2。什麼是儲存過程?用什麼來呼叫?

答:儲存過程是乙個預編譯的sql語句,優點是允許模組化的設計,就是說只需建立一次,以後在該程式中就可以呼叫多次。如果某次操作需要執行多次sql,使用儲存過程比單純sql語句執行要快。

可以用乙個命令物件來呼叫儲存過程。

3。索引的作用?和它的優點缺點是什麼?

答:索引就一種特殊的查詢表,資料庫的搜尋引擎可以利用它加速對資料的檢索。它很類似與現實生活中書的目錄,不需要查詢整本書內容就可以找到想要的資料。

索引可以是唯一的,建立索引允許指定單個列或者是多個列。缺點是它減慢了資料錄入的速度,同時也增加了資料庫的尺寸大小。

3。什麼是記憶體洩漏?

答:一般我們所說的記憶體洩漏指的是堆記憶體的洩漏。堆記憶體是程式從堆中為其分配的,大小任意的,使用完後要顯示釋放記憶體。

當應用程式用關鍵字new等建立物件時,就從堆中為它分配一塊記憶體,使用完後程式呼叫free或者delete釋放該記憶體,否則就說該記憶體就不能被使用,我們就說該記憶體被洩漏了。

4。維護資料庫的完整性和一致性,你喜歡用觸發器還是自寫業務邏輯?為什麼?

答:我是這樣做的,盡可能使用約束,如check,主鍵,外來鍵,非空字段等來約束,這樣做效率最高,也最方便。其次是使用觸發器,這種方法可以保證,無論什麼業務系統訪問資料庫都可以保證資料的完整新和一致性。

最後考慮的是自寫業務邏輯,但這樣做麻煩,程式設計複雜,效率低下。

5。什麼是事務?什麼是鎖?

答:事務就是被繫結在一起作為乙個邏輯工作單元的sql語句分組,如果任何乙個語句操作失敗那麼整個操作就被失敗,以後操作就會回滾到操作前狀態,或者是上有個節點。為了確保要麼執行,要麼不執行,就可以使用事務。

要將有組語句作為事務考慮,就需要通過acid測試,即原子性,一致性,隔離性和永續性。

鎖:在所以的dbms中,鎖是實現事務的關鍵,鎖可以保證事務的完整性和併發性。與現實生活中鎖一樣,它可以使某些資料的擁有者,在某段時間內不能使用某些資料或資料結構。

當然鎖還分級別的。

資料庫面試題 SQL ORACLE

一 資料庫基礎 1.資料抽象 物理抽象 概念抽象 檢視級抽象,內模式 模式 外模式 2.sql語言包括資料定義 資料操縱 data manipulation 資料控制 data control 資料定義 create table,alter table,drop table,craete drop ...

資料庫面試題

維護資料庫的完整性 一致性 你喜歡用觸發器還是自寫業務邏輯?為什麼?答 盡可能用約束 包括check 主鍵 唯一鍵 外來鍵 非空字段 實現,這種方式的效率最好 其次用觸發器,這種方式可以保證無論何種業務系統訪問資料庫都能維持資料庫的完整性 一致性 最後再考慮用自寫業務邏輯實現,但這種方式效率最低 程...

資料庫DBA面試題 2019版 資料庫DBA

資料庫管理員dba筆試題目 姓名日期 1 oracle系統程序主要有哪些,作用是什麼?2 簡單描述table segment extent block之間的關係 3 sga主要有那些部分,主要作用是什麼?4 oracle資料庫備份可以分為哪幾類?5 歸檔是什麼含義,歸檔與備份有什麼不同?6 對於乙個...