數(shù)據(jù)庫面試題

1. 主鍵 超鍵 候選鍵 外鍵

主 鍵:數(shù)據(jù)庫表中對儲(chǔ)存數(shù)據(jù)對象予以唯一和完整標(biāo)識的數(shù)據(jù)列或?qū)傩缘慕M合浇衬。一個(gè)數(shù)據(jù)列只能有一個(gè)主鍵,且主鍵的取值不能缺失缨该,即不能為空值(Null)。

超 鍵:在關(guān)系中能唯一標(biāo)識元組的屬性集稱為關(guān)系模式的超鍵。一個(gè)屬性可以為作為一個(gè)超鍵旷偿,多個(gè)屬性組合在一起也可以作為一個(gè)超鍵。超鍵包含候選鍵和主鍵爆侣。

候選鍵:最小超鍵萍程,即沒有冗余元素的超鍵。

外 鍵:在一個(gè)表中存在的另一個(gè)表的主鍵稱此表的外鍵兔仰。

2.數(shù)據(jù)庫事務(wù)的四個(gè)特性及含義

數(shù)據(jù)庫事務(wù)transanction正確執(zhí)行的四個(gè)基本要素茫负。ACID,原子性(Atomicity)、一致性(Correspondence)乎赴、隔離性(Isolation)忍法、持久性(Durability)。

原子性:整個(gè)事務(wù)中的所有操作榕吼,要么全部完成饿序,要么全部不完成,不可能停滯在中間某個(gè)環(huán)節(jié)羹蚣。事務(wù)在執(zhí)行過程中發(fā)生錯(cuò)誤原探,會(huì)被回滾(Rollback)到事務(wù)開始前的狀態(tài),就像這個(gè)事務(wù)從來沒有執(zhí)行過一樣顽素。

一致性:在事務(wù)開始之前和事務(wù)結(jié)束以后咽弦,數(shù)據(jù)庫的完整性約束沒有被破壞。

隔離性:隔離狀態(tài)執(zhí)行事務(wù)胁出,使它們好像是系統(tǒng)在給定時(shí)間內(nèi)執(zhí)行的唯一操作离唬。如果有兩個(gè)事務(wù),運(yùn)行在相同的時(shí)間內(nèi)划鸽,執(zhí)行 相同的功能输莺,事務(wù)的隔離性將確保每一事務(wù)在系統(tǒng)中認(rèn)為只有該事務(wù)在使用系統(tǒng)。這種屬性有時(shí)稱為串行化裸诽,為了防止事務(wù)操作間的混淆嫂用,必須串行化或序列化請 求,使得在同一時(shí)間僅有一個(gè)請求用于同一數(shù)據(jù)丈冬。

持久性:在事務(wù)完成以后嘱函,該事務(wù)所對數(shù)據(jù)庫所作的更改便持久的保存在數(shù)據(jù)庫之中,并不會(huì)被回滾埂蕊。

實(shí)現(xiàn)ACID的方式WAL(Write-Ahead Logging)預(yù)寫式日志 和?Shadow paging 影子分頁技術(shù)

WAL:在數(shù)據(jù)寫入到數(shù)據(jù)庫之前往弓,先寫入到日志.再將日志記錄變更到存儲(chǔ)器中疏唾。

SQL Server修改數(shù)據(jù)的步驟

1.在SQL Server的緩沖區(qū)的日志中寫入”Begin Tran”記錄

2.在SQL Server的緩沖區(qū)的日志頁寫入要修改的信息

3.在SQL Server的緩沖區(qū)將要修改的數(shù)據(jù)寫入數(shù)據(jù)頁

4.在SQL Server的緩沖區(qū)的日志中寫入”Commit”記錄

5.將緩沖區(qū)的日志寫入日志文件

6.發(fā)送確認(rèn)信息到客戶端(SMSS,ODBC等)

7.將緩沖區(qū)內(nèi)的頁寫入到磁盤

而將緩沖區(qū)的數(shù)據(jù)寫入到磁盤的過程又分為:Lazy Writer、CheckPoint

3函似、SQL 約束有哪幾種

NOT NULL: 用于控制字段的內(nèi)容一定不能為空(NULL)槐脏。

UNIQUE: 控件字段內(nèi)容不能重復(fù),一個(gè)表允許有多個(gè) Unique 約束撇寞。

PRIMARY KEY: 也是用于控件字段內(nèi)容不能重復(fù)顿天,但它在一個(gè)表只允許出現(xiàn)一個(gè)。

FOREIGN KEY: 用于預(yù)防破壞表之間連接的動(dòng)作蔑担,也能防止非法數(shù)據(jù)插入外鍵列牌废,因?yàn)樗仨毷撬赶虻哪莻€(gè)表中的值之一。

CHECK: 用于控制字段的值范圍啤握。

DEFAULT: 用于設(shè)置新記錄的默認(rèn)值鸟缕。

4. 關(guān)系數(shù)據(jù)庫的范式

第一范式(1NF):所謂第一范式(1NF)是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng),同一列中不能有多個(gè)值排抬,即實(shí)體中的某個(gè)屬性不能有多個(gè)值或者不能有重復(fù)的屬性叁扫。如果出現(xiàn)重復(fù)的屬性,就可能需要定義一個(gè)新的實(shí)體畜埋,新的實(shí)體由重復(fù)的屬性構(gòu)成莫绣,新實(shí)體與原實(shí)體之間為一對多關(guān)系。在第一范式(1NF)中表的每一行只包含一個(gè)實(shí)例的信息悠鞍。

第二范式(2NF):第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的对室,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。第二范式(2NF)要求數(shù)據(jù)庫表中的每個(gè)實(shí)例或行必須可以被惟一地區(qū)分咖祭。為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列掩宜,以存儲(chǔ)各個(gè)實(shí)例的惟一標(biāo)識。

第三范式(3NF):滿足第三范式(3NF)必須先滿足第二范式(2NF)么翰。簡而言之牺汤,第三范式(3NF)要求一個(gè)數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息。

5浩嫌、數(shù)據(jù)庫運(yùn)行于哪種狀態(tài)下可以防止數(shù)據(jù)的丟失檐迟?

在archivelog mode只要其歸檔日志文件不丟失,就可以有效地防止數(shù)據(jù)丟失码耐。

6追迟、通過JDBC訪問數(shù)據(jù)庫包含下面哪幾步?

1. 加載JDBC驅(qū)動(dòng)程序:

2. 提供JDBC連接的URL

3. 創(chuàng)建數(shù)據(jù)庫的連接

4. 創(chuàng)建一個(gè)Statement

5. 執(zhí)行SQL語句

6. 處理結(jié)果

7. 關(guān)閉JDBC對象

7骚腥、解釋什么是死鎖敦间,如何解決Oracle中的死鎖?

簡言之就是存在加了鎖而沒有解鎖,可能是使用鎖沒有提交或者回滾事務(wù)廓块,如果是表級鎖則不能操作表厢绝,客戶端處于等在狀態(tài),如果是行級鎖則不能操作鎖定行

解決辦法:

1). 查找出被鎖的表

select b.owner,b.object_name,a.session_id,a.locked_mode

from v$locked_object a,dba_objects b

where b.object_id = a.object_id;

select b.username,b.sid,b.serial#,logon_time

from v$locked_object a,v$session b

where a.session_id = b.sid order by b.logon_time;

2). 殺進(jìn)程中的會(huì)話

alter system kill session "sid,serial#";

8. 簡述oracle中 dml带猴、ddl昔汉、dcl的使用

Dml 數(shù)據(jù)操縱語言,如select浓利、update挤庇、delete钞速,insert

Ddl 數(shù)據(jù)定義語言贷掖,如create table 、drop table 等等

Dcl 數(shù)據(jù)控制語言渴语, 如 commit苹威、 rollback、grant驾凶、 invoke等

9. 說說oracle中的經(jīng)常使用到得函數(shù)

Length 長度牙甫、 lower 小寫、upper 大寫调违, to_date 轉(zhuǎn)化日期窟哺, to_char轉(zhuǎn)化字符

Ltrim 去左邊空格、 rtrim去右邊空格技肩,substr取字串且轨,add_month增加或者減掉月份、to_number轉(zhuǎn)變?yōu)閿?shù)字

10. 怎樣創(chuàng)建一個(gè)一個(gè)索引,索引使用的原則,有什么優(yōu)點(diǎn)和缺點(diǎn)

創(chuàng)建標(biāo)準(zhǔn)索引:

CREATE? INDEX 索引名 ON 表名 (列名)? TABLESPACE 表空間名;

創(chuàng)建唯一索引:

CREATE unique INDEX 索引名 ON 表名 (列名)? TABLESPACE 表空間名;

創(chuàng)建組合索引:

CREATE INDEX 索引名 ON 表名 (列名1,列名2)? TABLESPACE 表空間名;

創(chuàng)建反向鍵索引:

CREATE INDEX 索引名 ON 表名 (列名) reverse TABLESPACE 表空間名;

11虚婿、?在java種怎樣調(diào)用oracle存儲(chǔ)過程;

{ call test_a(?,?) } 有出參則需要注冊出參

{? = call tpackage.test_b(?) } 返回游標(biāo) 注冊出參為游標(biāo)

12旋奢、?rowid, rownum的定義

1. rowid和rownum都是虛列

2. rowid是物理地址,用于定位oracle中具體數(shù)據(jù)的物理存儲(chǔ)位置

3. rownum則是sql的輸出結(jié)果排序然痊,從下面的例子可以看出其中的區(qū)別至朗。

部分參照Oracle數(shù)據(jù)庫面試題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市剧浸,隨后出現(xiàn)的幾起案子锹引,更是在濱河造成了極大的恐慌,老刑警劉巖唆香,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粤蝎,死亡現(xiàn)場離奇詭異,居然都是意外死亡袋马,警方通過查閱死者的電腦和手機(jī)初澎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人碑宴,你說我怎么就攤上這事软啼。” “怎么了延柠?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵祸挪,是天一觀的道長。 經(jīng)常有香客問我贞间,道長贿条,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任增热,我火速辦了婚禮整以,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘峻仇。我一直安慰自己公黑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布摄咆。 她就那樣靜靜地躺著凡蚜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吭从。 梳的紋絲不亂的頭發(fā)上朝蜘,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機(jī)與錄音涩金,去河邊找鬼谱醇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鸭廷,可吹牛的內(nèi)容都是我干的枣抱。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼辆床,長吁一口氣:“原來是場噩夢啊……” “哼佳晶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起讼载,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤轿秧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后咨堤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體菇篡,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年一喘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驱还。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗜暴。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖议蟆,靈堂內(nèi)的尸體忽然破棺而出闷沥,到底是詐尸還是另有隱情,我是刑警寧澤咐容,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布舆逃,位于F島的核電站,受9級特大地震影響戳粒,放射性物質(zhì)發(fā)生泄漏路狮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一蔚约、第九天 我趴在偏房一處隱蔽的房頂上張望奄妨。 院中可真熱鬧,春花似錦炊琉、人聲如沸展蒂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柳骄,卻和暖如春团赏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耐薯。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工舔清, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人曲初。 一個(gè)月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓体谒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親臼婆。 傳聞我的和親對象是個(gè)殘疾皇子抒痒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容