資料庫筆試題

2023-01-27 05:51:04 字數 3524 閱讀 9874

資料庫1. 有個表tableqq,有整型的id項和字元型別的nickname項,這兩個項都不允許為空

(1)寫出建立該錶的sql語句

(2)找出nickname為qq的使用者,按id降序排列的sql語句

(3)寫出刪除id為1234使用者記錄的sql語句

(4)寫出新增id為5555,nickname為'1234'的sql語句

答案:(1) create table tableqq

(id number(12) not null,

nickname varchar2(30) not null

);(2) select * from tableqq where nickname = 'qq' order by id desc;

(3) delete from tableqq where id = 『1234』;

(4) insert into tableqq values(5555,'1234');

//刪除表

(5)drop table tableqq;

2. 有關係 s(sno,sname) c(cno,cname) sc(sno,cno,grade)

1 問上課程 "db"的學生

2 成績最高的學生號

3 每科大於90分的人數

答案: (1)select from sc a, c b where =

o and = 'db';

(2)select sno, max(grade) from sc group by sno;

(3)select cno, count(sno) from sc where grade > 90 group by cno;

資料庫的基本知識

118.資料庫與t-sql語言

關聯式資料庫是表的集合,它是由乙個或多個關係模式定義。sql語言中的資料定義功能包括對資料庫、基本表、檢視、索引的定義。

119.關係模型的基本概念

關聯式資料庫以關係模型為基礎,它有以下三部分組成:

●資料結構——模型所操作的物件、型別的集合

●完整性規則——保證資料有效、正確的約束條件

●資料操作——對模型物件所允許執行的操作方式

關係(relation)是乙個由行和列組成的二維**,表中的每一行是一條記錄(record),每一列是記錄的乙個字段(field)。表中的每一條記錄必須是互斥的,欄位的值必須具有原子性。

語言概述

sql(結構化查詢語言)是關聯式資料庫語言的一種國際標準,它是一種非過程化的語言。通過編寫sql,我們可以實現對關聯式資料庫的全部操作。

●資料定義語言(ddl)——建立和管理資料庫物件

●資料操縱語言(dml)——用來查詢與更新資料

●資料控制語言(dcl)——控制資料的安全性

起來是乙個很簡單的問題,每乙個使用過rdbms的人都會有乙個概念。

事務處理系統的典型特點是具備acid特徵。acid指的是atomic(原子的)、consistent(一致的)、isolated(隔離的)以及durable(持續的),它們代表著事務處理應該具備的四個特徵:

原子性:組成事務處理的語句形成了乙個邏輯單元,不能只執行其中的一部分

一致性:在事務處理執行之前和之後,資料是一致的。

隔離性:乙個事務處理對另乙個事務處理沒有影響。

持續性:當事務處理成功執行到結束的時候,其效果在資料庫中被永久紀錄下來。

是什麼cvs(concurrent version system) 是乙個版本控制系統。使用它,可以記錄下你的原始檔的歷史。 例如,修改軟體時可能會不知不覺混進一些 bug,而且可能過了很久你才會察覺到它們的存在。

有了 cvs,你可以很容易地恢復舊版本,並從中看出到底是哪個修改導致了這個 bug。有時這是很有用的。

cvs伺服器端對每個檔案維護著乙個修訂號,每次對檔案的更新,都會使得檔案的修訂號加1。在客戶端中也對每個檔案維護著乙個修訂號,cvs通過這兩個修訂號的關係,來進行update,commit和發現衝突等操作操作

123.三種基本的資料模型

按照資料結構型別的不同,將資料模型劃分為層次模型、網狀模型和關係模型。

16一般資料庫若出現日誌滿了,會出現什麼情況,是否還能使用?

答:只能執行查詢等讀操作,不能執行更改,備份等寫操作,原因是任何寫操作都要記

錄日誌。也就是說基本上處於不能使用的狀態。

17 sql server是否支援行級鎖,有什麼好處?

答:支援,設立封鎖機制主要是為了對併發操作進行控制,對干擾進行封鎖,保證資料

的一致性和準確性,行級封鎖確保在使用者取得被更新的行到該行進行更新這段時間內不

被其它使用者所修改。因而行級鎖即可保證資料的一致性又能提高資料操作的迸發性。

18如果資料庫滿了會出現什麼情況,是否還能使用?

答:見16

21.對資料庫的一張表進行操作,同時要對另一張表進行操作,如何實現?

答:將操作多個表的操作放入到事務中進行處理

24.觸發器怎麼工作的?

答:觸發器主要是通過事件進行觸發而被執行的,當對某一表進行諸如update、 insert

、 delete 這些操作時,資料庫就會自動執行觸發器所定義的sql 語句,從而確保對數

據的處理必須符合由這些sql 語句所定義的規則。

28.資料庫:抽出部門,平均工資,要求按部門的字串順序排序,不能含有"human resource"部門,

employee結構如下:employee_id, employee_name, depart_id,depart_name,wage

答:select depart_name, **g(wage)

from employee

where depart_name <> 'human resource'

group by depart_name

order by depart_name

29.給定如下sql資料庫:test(num int(4)) 請用一條sql語句返回num的最小值,但不許使用統計功能,如min,max等

答:select top 1 num from test order by num desc

33.乙個資料庫中有兩個表:

一張表為customer,含欄位id,name;

一張表為order,含欄位id,customerid(連向customer中id的外來鍵),revenue;

寫出求每個customer的revenue總和的sql語句。

建表create table customer

(id int primary key,

name char(10))go

create table [order]

(id int primary key,

customerid int foreign key references customer(id) , revenue float)go

--查詢

select sum( isnull([order].revenue,0) )

from customer full join [order]

on( [order].customerid= )

group by

資料庫面試題

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

資料庫技能大賽試題

某學校為加強教學管理得自動化,希望對學生成績管理設計一套程式,以滿足教務管理得靈活性和高效性。通過資訊採集與分析,決定後台資料庫採用mysql,建立名為score的資料庫 各個表結構如下 student表 學生表 course表 課程表 score表 成績表 user表 操作該軟體的使用者 各表內容...

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

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