數據倉庫工程師面試題
姓名:____張小核______ 開始時間:_____:______ 結束時間:_____:_____
數據庫
使用過哪些數據庫?試說出它們的異同。答:使用過SQL SERVER和ORACLE它們的區別是:1.sql server 是中小型企業用的,oracle是中大型企業用的;oracle跨平臺能在linux上運行,sqlserver只能在windows運行,而linux平臺比windows平臺穩定,所以安全性高;sqlserver操作簡便,oracle比較復雜;oracle能把數據存在不同的硬盤上sqlserver不能;oracle能夠回滾表空間查詢sqlserver不能;oracle支持label security,sqlserver不能;oracle擴展性比較強。
事務有多個性質,其中不包括( B )
A.一致性 B.唯一性
C.原子性 D.隔離性
CHAR類型和VARCHAR類型有何區別?答:char的長度是固定的,最長2000個字符,當輸入的字符小于你定義的字符數目時,它會自動補空值,所以它占用空間較大但是效率高;varchar的長度是可變的,用它可以節省存儲空間,但是效率沒有char高。
視圖與表有何區別?表是實際存在的,視圖是一個或多個表結果的映射,實際不存在,所以視圖不占用實際的物理空間,但刪除時不影響數據,而表影響
數據庫中常見的約束有哪些?答:1.非空值約束,是not null;2。唯一性約束,不能重復造成冗余;3.檢查約束,能夠保證數據完整性;還有主鍵不能為空,應該是唯一的,字段屬性要不能再分
有一個空表t_empty,結構是:create table t_empty( a integer)請問以下各語句的輸出分別是什么?(A) select sum(a) from t_empty 什么都不輸出(B) select NullToZero(a) from t_empty *假定NullToZero是一個將Null值轉成0的標函數(C) select count(*) from t_empty
?有下列兩表??Table1? ???Col1? ?INT? ???Col2? ?CHAR (30)??Table2? ???Col1? ?INT? ???Col2? ?CHAR (30)請問下列哪條語句會將table2的全部列插入到table1? BA.??INSERT INTO table1 (table2.col1,table2.col2)B.??INSERT INTO table1 SELECT col1, col2 FROM table2C.??INSERT INTO table1 VALUES (SELECT col1,col2 FROM table2)D.??INSERT INTO table1 (col1, col2) VALUES (SELECT col1, col2 FROM table2)
有下列兩表??TAB1? ?? ?? ?? ?? ?? ?? ?? ???TAB2C1? ? C2? ?? ?? ?? ?? ?? ?? ?? ?CX? ? CY----? ? -----? ?? ?? ?? ?? ?? ?? ? ------? ?-----A? ?? ?11? ?? ?? ?? ?? ?? ?? ?? ?A? ?? ?21B? ?? ?12? ?? ?? ?? ?? ?? ?? ?? ?C? ?? ?22 C? ?? ?13? ?? ?? ?? ?? ?? ?? ?? ?D? ?? ?23如果要得到如下的輸出結果:C1? ? C2? ? CX? ???CY-----? ?-----? ? ----? ? -----A? ?? ?11? ???A? ?? ? 21 C? ?? ?13? ???C? ?? ? 22--? ?? ?--? ?? ?D? ?? ?23下列哪條語句會得到所需的結果?A.? SELECT * FROM tab1 INNER JOIN tab2 ON c1=cxB.? SELECT * FROM tab2 FULL OUTER JOIN tab1 ON c1=cxC.? SELECT * FROM tab2 RIGHT OUTER JOIN tab1 ON c1=cxD.??SELECT * FROM tab1 RIGHT OUTER JOIN tab2 ON c1=cx
在數據庫中使用存儲過程有什么好處?使用方便,速度快,方便改動,一個過程可以包含多個語句,可以用參數