當前位置:編程學習大全網 - 源碼下載 - 誰能提供壹個數據庫項目來練練手啊

誰能提供壹個數據庫項目來練練手啊

1) 為表userinfo添加約束,語法如下:

alter table userinfo add constraint uq_userid unique ( userid )

執行成功後,為userinfo表的()字段添加了(b)約束。

a) Userid ; 主鍵

b) Userid ; 唯壹

c) Uq_userid ;外鍵

d) Uq_userid ;檢查

2) 運行如下T-SQL,結果返回包含(c)的記錄集。

create table scores

(

scoreid int identity(1,2),

score numeric(4,2) not null,

courseid int

)

insert into scores values(90.5, null);

insert into scores values(100, 2);

select * from scores;

a) 1、90.5、null

3、100、2

b) 1、100、2l

c) 1、90.50、null

d) 1、90.5、null

3、100.0、2

3) 關於子查詢,以下說法正確的是(bd)。(選擇兩項)

a) 壹般來說,表連接都可以用子查詢替換。

b) 壹般來說,子查詢都可以用表連接替換。

c) 相對於表連接,子查詢適合於作為查詢的篩選條件。

d) 相對於表連接,子查詢適合於查看多表的數據。

4) 創建存儲過程如下:

CREATE procedure bookproc

@id int, @title char(20) OUTPUT

as

select @title=title from book where id= @id

執行該存儲過程的方法正確的是(c)。(選擇壹項)

a) exec bookproc 1,@title output

print @title

b) exec bookproc @id =1,@title output

print @title

c) declare @title char(20)

exec bookproc 1,@title output

print @title

d) declare @title char(20)

exec bookproc @id =1,@title output

print @title

5) 假設需要設計壹個表,記錄各個作者著作的所有圖書信息,表結構設計如下:

作者(作者名稱、圖書1、版本1、書價1、圖書2、版本2、書價2、……),

該表最高符合第(A)範式。

a) 壹

b) 二

c) 三

d) 未規範化的

6) 壹個學生只能就讀於壹個班級,而壹個班級可以同時容納多個學生,學生與班級之間是(C)關系。(選擇壹項)

a) 壹對壹

b) 壹對多

c) 多對壹

d) 多對多

7) E-R圖中,關系集用下面(c)來表示。

a) 矩形

b) 橢圓形

c) 菱形

d) 圓形

8) Sql server中,(a)命令用來刪除表。(選擇壹項)

a) Drop

b) Remove

c) Truncate

d) Delete

9) 表結構如下,# 號打頭字段代表主鍵或組合主鍵,壹份訂單可以訂購多種產品。

產品:# 產品編號,產品名稱,產品價格;

訂單:# 訂單編號,# 產品編號,訂購日期,訂購數量;

該表最高符合第(C)範式。(選擇壹項)

a) 壹

b) 二

c) 三

d) 未規範化的

10) 表結構如下,# 號打頭字段代表主鍵或組合主鍵,壹份訂單可以訂購多種產品。

產品:# 產品編號,產品名稱,產品價格;

訂單:# 訂單編號,總價,支付類型編號,訂購日期;

訂單子項:# 子項編號,訂單編號,產品編號,訂購數量;

該表最高符合第(C)範式。(選擇壹項)

a) 壹

b) 二

c) 三

d) 未規範化的

11) 創建表sql語句如下:

create table userInfo

(

userId int identity(-1,1), 第壹行

username nvarchar(20) not null, 第二行

cardNO char not null, 第三行

age smallint(2), 第四行

address ntext(300) 第五行

)

執行時,會在(DE)出現錯誤。(選擇兩項)

a) 第壹行

b) 第二行

c) 第三行

d) 第四行

e) 第五行

12) 以下關於規範設計的描述正確的是(AB)。(選擇兩項)

a) 規範設計的主要目的是消除數據冗余。

b) 規範設計往往會增加數據庫的性能。

c) 設計數據庫時,規範化程度越高越好。

d) 在規範化數據庫中,易於維護數據完整性。

13) 關於存儲過程,以下說法正確的是(a)。(選擇壹項)

a) 不能在存儲過程中使用CREATE VIEW命令。

b) T-SQL批代碼的執行速度要快於存儲過程。

c) 存儲過程必須帶有參數。

d) 存儲過程不能返回結果集。

14) 下面T-SQL代碼運行完的結果是(B)。

declare @counter int

set @counter=1

while @counter<3

begin

set @counter=@counter+1

print @counter

break

print ‘loop’

end

a) 2

loop

b) 2

c) 2

loop

3

loop

d) 2

3

15) 閱讀下面T-SQL語句,對變量賦值時存在錯誤的是(C)。(選擇壹項)

a) DECLARE @id INT,@price MONEY

set @id=100

set @price=$2.21

b) DECLARE @id INT,@price MONEY

select @id=100,@price=2.21

c) DECLARE @id INT,@price MONEY

set @id=100, @price=2.21

d) DECLARE @id INT,@price MONEY

select @id=100

select @price=$2.21

16) 已知有student表,studentid為主鍵,現在表中***有10行記錄,studentid列值從1

到10。

創建試圖:

CREATE VIEW dbo.VIEW_student

AS

SELECT * FROM dbo.student

接著執行如下命令:

DELETE FROM VIEW_student WHERE (studentid = 8);

然後執行查詢命令:

SELECT * FROM student;

SELECT * FROM VIEW_student;

假定上述命令全部執行成功,將各自返回(D)()行記錄。

a) 10,10

b) 10,9

c) 9,10

d) 9,9

17) 設計用戶表時,身份證號為固定18位長,對該字段最好采用(B)數據類型。(選擇壹項)

a) int

b) char

c) varchar

d) text

18) 授予用戶teacher對Score表的插入和修改的權限,正確的授權語句是( c)。(選擇壹項)

a) GRANT INSERT,UPDATE TO TABLE Score ON teacher

b) GRANT INSERT AND UPDATE TO TABLE Score ON teacher

c) GRANT INSERT,UPDATE ON Score TO teacher

d) GRANT INSERT AND UPDATE ON Score TO teacher

19) 建立如下數據庫表:

CREATE TABLE department(

DeptID int NOT NULL primary key,

DeptName varchar (20) NOT NULL

)

CREATE TABLE Employee (

EmployeeID int NOT NULL,

DeptID int NOT NULL,

Name varchar (20) NOT NULL

)

要想保證Employee表中每壹個雇員(Employee)是唯壹的,且只能屬於在Department表中已經存在的部門,最優的做法是(b)。(選擇壹項)

a) 把EmployeeID 和DeptID 設為組合主鍵。

b) 把EmployeeID設為主鍵,同時在DeptID列上創建壹個外健約束。

c) 把EmployeeID設為主鍵,同時在DeptID列上創建壹個檢查約束。

d) 在DepartmentID列上創建壹個唯壹約束,同時在DeptID列上創建壹個外健約束。

20) 建立壹張員工表(employee),當向表中插入數據時,若不提供入職時間(beginTime),就把系統當前時間自動作為員工入職時間插入數據庫中,以下說法正確的是(d)。(選擇壹項)

a) 約束中不能使用各種函數,所以只能使用觸發器來實現。

b) 可以使用CHECK約束實現,默認值采用日期函數getDate()。

c) 入職時間必須設為日期類型。

d) 可以使用DEFAULT 約束實現,默認值采用日期函數getDate()。

21) 為了加快對某表的訪問速度,應對此表建立(d)。(選擇壹項)

a) 約束

b) 存儲過程

c) 規則

d) 索引

22) 假設有表student的設計如下:

ID(學號)

Name(姓名)

Address(家庭住址)

Department(所在系)

DepartmentHead(系主任)

該表最高滿足第(A)範式。(選擇壹項)

a) 壹

b) 二

c) 三

d) 不滿足任何範式;

23) 為數據庫中壹個或多個表中的數據提供另壹種查看方式的邏輯表被稱為(C)。(選擇壹項)

a) 存儲過程

b) 觸發器

c) 視圖

d) 表

24) 要建立壹個教師表,包含姓名、職稱、級別等字段。若插入數據時,級別字段如果不輸入,缺省值為‘講師’,最合適的實現方法是(A)。

a) 為 “ 級別 ” 字段建立default約束。

b) 為 “ 級別 ” 字段建立check 約束。

c) 在教師表上建立壹個觸發器 (trigger)。

d) 為教師表數據輸入編寫壹個存儲過程進行控制。

25) 現有訂單表orders, 包含數據如下表。若查詢既訂購了產品P01,又訂購了產品P02的顧客編號,可以執行以下()sql語句。(選擇壹項)

cid (顧客編號) Pid (產品編號)

C01 P01

C01 P02

C02 P01

C03 P02

a) select distinct(cid) from orders o1 where o1.pid in ('p01','p02')

b) select distinct(cid) from orders o1 where o1.pid='p01' and o1.pid='p02'

c) select distinct(cid) from orders o1 where pid='p01' and exists (select * from orders where pid ='p02' and cid=o1.cid)

d) select distinct(cid) from orders o1,orders o2 where o1.pid='p01' and o2.pid='p02'

26) 關於聚焦索引,以下()說法是錯誤的。(選擇兩項)

a) 壹個表最多只能創建壹個聚焦索引。

b) 聚焦索引比非聚焦索引有更快的訪問速度。

c) 主鍵壹定是聚焦索引。

d) 創建了聚焦索引的列不允許有重復值。

27) 關於視圖,以下()說法是錯誤的。(選擇壹項)

a) 使用視圖,可以簡化數據的使用。

b) 使用視圖,可以保護敏感數據。

c) 視圖是壹種虛擬表,視圖中的數據只能來源於物理數據表,不能來源於其它視圖。

d) 視圖中只存儲了查詢語句,並不包含任何數據。

28) 常用的系統存儲過程不包括(D)。(選擇壹項)

a) sp_tables

b) sp_columns

c) sp_stored_procedures

d) sp_renametable

29) 對事務描述錯誤的是(BD)。(選擇兩項)

a) 壹個事務中的所有命令作為壹個整體提交或回滾。

b) 如果兩個並發事務要同時修改同壹個表,有可能產生死鎖。

c) Sql server默認將每條單獨的T-SQL語句視為壹個事務。

d) 事務必須使用begin transaction來明確指定事務的開始。

30) 分數表scores設計如下:

courseID(課程編號)

studentID(學生編號)

score(分數)

另有壹個學生信息表student,包含studentID,sname(學生姓名)。

已知並非所有學生都參加了考試,現在查詢所有及格學生的學生姓名,下面正確的是(A)。(選擇壹項)

a) select sname from student where studentID in (select studentID from score where score>60)

b) select sname from student where studentID = (select studentID from score where score>60)

c) select sname from student where studentID not in (select studentID from score where score<=60)

d) select sname from student where exists (select studentID from score where score>60)

31) 關於觸發器,(B)說法是錯誤的。(選擇兩項)

a) 觸發器是壹種特殊類型的存儲過程。

b) 可以使用觸發器來響應對數據的select,insert,update,delete操作。

c) 壹個表上的觸發器不可以包含對另外壹個表的數據操作,以免造成死循環。

d) 觸發器和觸發它的語句構成壹個事務。

32) 在(AD)的列上更適合創建索引。(選擇兩項)

a) 需要對數據進行排序

b) 具有默認值

c) 頻繁更改

d) 頻繁搜索

33) SQL Server數據庫有2種登錄認證方式。其中在(C)方式下,需要客戶端應用程序連接時提供登錄時需要的用戶標識和密碼。

a) Windows身份驗證。

b) 以超級用戶身份登錄時。

c) SQL Server 身份驗證。

d) 以系統身份登錄時。

34) SQL Server數據庫中,下列不屬於T-SQL事務管理語句的是(B)。(選擇壹項)

a) BEGIN TRANSACTION;

b) END TRANSACTION;

c) COMMIT TRANSACTION;

d) ROLLBACK TRANSACTION;

35) 要建立壹個約束,保證用戶表(user)中年齡(age)必須在16歲以上,下面語句正確的是(A)。(選擇壹項)

a) Alter table user add constraint ck_age CHECK(age>16)

b) Alter table user add constraint df_age DEFAULT(16) for age。

c) Alter table user add constraint uq_age UNIQUE(age>16)。

d) Alter table user add constraint df_age DEFAULT(age>16)。

36) 銀行系統中有帳戶表和交易表,帳戶表中存儲了各存款人的帳戶余額,交易表中存儲了各存款人每次的存取款金額。為保證存款人每進行壹次存、取款交易,都正確的更新了該存款人的帳戶余額,以下選項中正確的做法是(B)。(選擇壹項)

a) 在帳戶表上創建insert觸發器。

b) 在交易表上創建insert觸發器。

c) 在帳戶表上創建檢查約束。

d) 在交易表上創建檢查約束。

37) SQL Server數據庫中,包含兩個表:Order訂單表, Item訂單子項目表。

當壹個新定單被加入時,數據要分別保存到Order和Item表中,要保證數據完整性,可以使用以下(C)語句。(選擇壹項)

a) BEGIN TRANSACTION

INSERT INTO Order VALUES (此處省略)

INSERT INTO Item VALUES (此處省略)

END TRANSACTION

b) BEGIN TRANSACTION

INSERT INTO Order VALUES (此處省略)

INSERT INTO Item VALUES (此處省略)

IF (@@Error = 0)

COMMIT TRANSACTION

ELSE

ROLLBACK TRANSACTION

c) BEGIN TRANSACTION

INSERT INTO Order VALUES (此處省略)

IF (@@Error = 0)

INSERT INTO Item VALUES (此處省略)

IF (@@Error = 0)

COMMIT TRANSACTION

ELSE

ROLLBACK TRANSACTION

ELSE

ROLLBACK TRANSACTION

d) BEGIN TRANSACTION

INSERT INTO Order VALUES (此處省略)

INSERT INTO Item VALUES (此處省略)

IF (@@Error <> 0)

ROLLBACK TRANSACTION

38) 現有壹個學生信息表student,包含主鍵studentID (學生編號)。

又有分數表scores,包含studentID(學生編號)、以及 score(考試分數)。

已知student表中***有50個學生,有45人參加了考試(分數存在scores表中),其中10人不及格。執行以下sql語句:

select * from student where exists (select studentid from score where score<60)

可返回(C)條記錄。(選擇壹項)

a) 50

b) 45

c) 10

d) 0

39) create table student

(

id int identity(1,1),

name varchar(20)

)

alter table student add constraint uq_name unique(name)

insert into student values(null)

insert into student values(null)

insert into student values(‘jack’)

insert into student values(‘jack’)

依次執行以上SQL語句後,student表中存在(b)行記錄。

a) 1

b) 2

c) 3

d) 4

40) 已知employee表中具有默認約束df_email, 刪除該約束的語句為(A)。(選擇壹項)

a) Alter table employee drop constraint df_email

b) Alter table employee remove constraint df_email

c) Alter table employee delete constraint df_email

d) Remove constraint df_email from table employee

41) 有關T-SQL中變量的使用,以下說法錯誤的是(B)。(選擇壹項)

a) 變量的使用必須先聲明,後使用。

b) 變量的賦值只能使用set語句。

c) 可以使用print語句和select語句輸出結果。

d) 局部變量的命名必須以@打頭。

42) 關於觸發器和約束,以下說法錯誤的是(D)。

a) 觸發器可以支持約束的所有功能。

b) Check約束不能跟據另壹個表中的列驗證列值。

c) 最好在約束所支持的功能無法滿足應用程序的需求時,再使用觸發器。

d) 在維持數據完整性時,要使用標準的系統錯誤信息,必須使用觸發器。

43) 在某個觸發器中,存在如下代碼片斷:

Declare @p1 int, @p2 int

Select @p1=price from deleted

Select @p2=price from inserted

print convert(varchar, @p2-@p1)

該觸發器是(B)觸發器。

a) select

b) update

c) insert

d) delete

44) 創建存儲過程的片斷如下:

Create procedure proc_score

@passed int=60,

@excellent int=90

AS

以下(AB)調用方式是正確的。(選擇兩項)

a) Exec proc_score

b) Exec proc_score 60,90

c) Exec proc_score @passed=65,@excellent=95

d) Exec proc_score @passed=65

45) 現有學生表student和用戶表user, 兩表中的數據如下。

執行sql語句:select * from user union select * from student。

下面說法正確的是(C)。(選擇壹項)

user

Userid (int) Name (varchar)

1 Lee

2 Chen

3 Jack

4 rose

student

Studentid (int) Age (int)

1 80

2 75

a) 出現錯誤:name與age不是同壹種數據類型。

b) 正確執行,返回6行4列。

c) 正確執行,返回6行2列。

d) 正確執行,返回4行2列。

46) 假設有表scores的設計如下:

ID(編號,主鍵)

StudentID(學生編號)

CourseID(課程編號)

Score(分數)

現在要查詢參加過至少兩門課程考試的學生的各門課程的平均成績。以下sql語句正確的是(C)。(選擇壹項)

a) Select studentID, avg(score) from scores group by studentID having count(studentID)>1

b) Select studentID, avg(score) from scores group by studentID where count(studentID)>1

c) Select studentID, avg(score) from scores where count(studentID)>1 group by studentID

d) Select studentID, avg(score) from scores having count(studentID)>1

47) 假設order表中存在orderid等於1的記錄,執行下面T-SQL:

BEGIN TRANSACTION

Delete from Order where orderid=1

IF (@@Error <> 0)

ROLLBACK TRANSACTION

ROLLBACK TRANSACTION

以下說法正確的是(B)。(選擇壹項)

a) 執行成功,Orderid為1的記錄被永久刪除。

b) 執行成功,Order表沒有任何變化。

c) 執行時出現錯誤。

d) 執行成功,但事務處理並沒有結束。

48) 項目開發需要經過幾個階段,繪制數據庫的E-R圖應該在(B)階段進行。(選擇壹項)

a) 需求分析

b) 概要設計

c) 詳細設計

d) 代碼編寫

49) 將E-R圖轉換為表的過程中,如果實體之間存在多對多的關系,通常的做法是(B)。(選擇壹項)

a) 在兩個實體間建立主外鍵關系。

b) 在兩個實體間建立關聯表,把壹個多對多的關系分解成兩個壹對多的關系。

c) 在兩個實體間建立關聯表,把壹個多對多的關系分解成兩個壹對壹的關系。

d) 在兩個實體間不建立任何關系。

50) 在score表上創建壹個觸發器:

create trigger tri_score

on score

for update,delete

as

if (select count(*) from inserted)>0

print('success')

go

在查詢分析器上執行以下(A)語句,可能會輸出“success”。(選擇壹項)

a) Update score set score=20

b) Delete from score where score<60

c) Insert into score values ( 此處省略)

d) Select * from score

  • 上一篇:聯想數碼相機S500 有防紅眼功能嗎?
  • 下一篇:python基礎學完後再學什麽
  • copyright 2024編程學習大全網