日期:2014-05-17  浏览次数:20452 次

面某小公司DBA考到的三道数据库比试题
面某小公司DBA考到的三道数据库比试题 大家看看 最好能解释一下
题目1: Given the following CREATE TABLE statement:
CREATE TABLE department
  (deptid INTEGER,
  deptname CHAR(25),
  budget NUMERIC(12,2))
Which of the following statement prevents two departments from being assigned the same DEPTID, but allows null values?
A ALTER TABLE department ADD CONSTRAINT dpt_cst PRIMARY KEY(deptid)
B CREATE INDEX dpt_idx ON department(deptid)
C ALTER TABLE department ADO CONSTRAINT dpt_cst UNIQUE(deptid)
D CREATE UNIQUE INDEX dpt_idx ON department(deptid)

题目2:Use the ERD to help you answer the following two questions (看下图链接,回答以下两个问题)

http://photo16.hexun.com/p/2009/0224/300689/b_491F872C8CB1B97FF826674F8D8CCB36.jpg

问1:Find all ISBN values in the EDITION table, for all FORMAT='Hardcover' books.

问2 Find the sum of all LIST_PRICE values in the EDITION table, for each publisher.

题目3:What is database transaction?


------解决方案--------------------
1. A
------解决方案--------------------
错了,应该是1. C
------解决方案--------------------
1题: 选B
2题:1问:select ISBN from EDITION where FORMAT='Hardcover'
2问:select LIST_PRICE from EDITION A left outer join Publisher B on B.Publisher_ID=A.Publisher_ID
3题:只能意会不能言传,呵呵。查下帮助吧。 (数据库事务是指作为单个逻辑工作单元执行的一系列操作。bengin transaction, rollback transaction,commit transaction)

非标准答案,自己答的。

------解决方案--------------------
选错了,1题选C。
------解决方案--------------------
可以使用 UNIQUE 约束确保在非主键列中不输入重复的值。尽管 UNIQUE 约束和 PRIMARY KEY 约束都强制唯一性,但想要强制一列或多列组合(不是主键)的唯一性时应使用 UNIQUE 约束而不是 PRIMARY KEY 约束。 

可以对一个表定义多个 UNIQUE 约束,但只能定义一个 PRIMARY KEY 约束。

而且,UNIQUE 约束允许 NULL 值,这一点与 PRIMARY KEY 约束不同。不过,当与参与 UNIQUE 约束的任何值一起使用时,每列只允许一个空值。 

FOREIGN KEY 约束可以引用 UNIQUE 约束。

------解决方案--------------------
第一题选C。
先看提问的问题大意:下列哪个选项防止两个部门(相同名称)被分配在DEPTID字段,但允许NULL值?
只有创建唯一约束,即允许空值,又防止同一字段的相同内容。故选C。
------解决方案--------------------
探讨
第一题选C。
先看提问的问题大意:下列哪个选项防止两个部门(相同名称)被分配在DEPTID字段,但允许NULL值?
只有创建唯一约束,即允许空值,又防止同一字段的相同内容。故选C。

------解决方案--------------------
题还可以,英文的看起来好晕。
1、C
2、
SQL code

--1)
select ISBN from EDITION where FORMAT='Hardcover' 
--2)
select publisher_id,sum(LIST_PRICE) from EDITION group by publisher_id

------解决方案--------------------
题目1: Given the following CREATE TABLE statement:
CREATE TABLE department
(deptid INTEGER,
deptname CHAR(25),
budget NUMERIC(12,2))
Which of the following statement prevents two departments from being assigned the same DEPTID, but allows null values?
下面哪项可以屏蔽同时出现DEPTID值,但允许为空?
我的答案:C(唯一主键)
A ALTER TABLE department ADD CONSTRAINT dpt_cst PRIMARY KEY(deptid) --主键,肯定不允许为null啦
B CREATE INDEX dpt_idx ON department(deptid) --索引
C ALTER TABLE department ADO CONSTRAINT dpt_cst UNIQUE(deptid) --
D CREATE UNIQUE INDEX dpt_idx ON department(deptid) --唯一索引

题目2:Use the ERD to help you answer the following two questions (看下图链接,回答以下两个问题)

http://photo16.hexun.com/p/2009/0224/300689/b_491F872C8CB1B97FF826674F8D8CCB36.jpg

问1:Find all ISBN values in the EDITION table, for all FORMAT='Hardcover' books.--在EDITION 表中查询所有FORMAT='Hardcover' 的ISBN,
select ISBN from EDITION where FORMAT='Hardcover'