数据库作业答案整理课件_第1页
数据库作业答案整理课件_第2页
数据库作业答案整理课件_第3页
数据库作业答案整理课件_第4页
数据库作业答案整理课件_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

里是幅里

是数据库作业答案助教2015-01推荐阅读书目v《Oracle

PL/SQL最

佳

践》,机械工出

版

社v《数据挖掘概念与技》家,机械工出版社v《Building

the

Data

Warehouse》W.H.Inmon第一章v

1.8列出文件理系和

DBMS的四个主要区第一章v

1.9解物理数据独立性的概念,以及它在数据系中的重要性。v

物理数据独立性:物理独立性是指用的用程序与存在磁上的数据中数据是相互独立的。即,数据在磁上怎存由

DBMS管理,用程序不需要了解,用程序要理的只是数据的构,当数据的物理存改了,用程序不用改。v

重要性:用程序与存在磁上的数据相分离,用程序不依与物理模式,不随物理模式的改而改。第二章v

2.9考2-15所示行数据系:v

(a)适当的主是什么?v

branch(branch_name,

branch_city,

assets)v

customer

(customer_name,

customer_street,

customer_city)v

loan

(loan_number,

branch_name,

amount)v

borrower

(customer_name,

loan_number)v

account

(account_number,

branch_name,

balance)v

depositor

(customer_name,

account_number)v

(b)出你的主,确定适当的外。v

loan:

branch_name

references

branchv

account:

branch_name

references

branchv

borrower:

customer_name

references

customervloan_number

references

loanv

depositor:

customer_name

references

customeraccount_number

references

accountv第二章v

2.10

考2-8所示advisor关系,advisor的主是s_id。假一个学生可以有多位指老。那么

s_id是advisor关系的主?如果不是,advisor的主会是什么呢?v

答案:不能,s_id不再是advisor的主。因可能存在多个元有着相同的

s_id,此s_id不能用来区不同的元。

advisor的主是

s_id,i_id。v

2.11

解关系和关系模型在意上的区v

答案:关系模式(relation

schema)是一种定型,关系(

relation)是种型的一个例v

2.12考2-14所示关系数据。出关系代数表达式来表示下列每一个v

a.找出“FirstBankCorporation”工作的所有工姓名。v

b.找出“FirstBankCorporation”工作的所有工的姓名和居住城市v

c.找出“FirstBankCorporation”工作且10000美元的所有工的姓名、街道地址和居住城市。第二章v

答案:v

2.13考2-15所示行数据。于下列每个出一个关系代数表达式:v

a.找出款度10000美元的所有款号v

b.找出所有的存款人姓名,他有一个存款大于

6000美元的v

c.找

出

所

有

的存款人的姓名,他在

“Uptown”支行有一个存款大于6000美元的第二章v

答案:v

a.Πloan_number(σamount>10000(loan))v

b.Πcustomer_name(σbalance>6000(depositor

⋈

account))v

c.Πcustomer_name(σ(branch_name=”Uptown”

∧balance>6000)(

depositor

⋈account))第三章v

3.11使用大学模式,用SQL写出如下.v

a.找出所有至少修了一Comp.Sci.程的学生姓名,

保果中没有重复的姓名v

b.找出所有没有修在

2009年春季之前开的任何程的学生的

ID和姓名v

c.找出每个系老的最高工。可以假每个系至少有一位老v

d.从前述算出的每个系最高工中出最v

答案:v

a.

select

namevvfrom

student

natural

join

takes

natural

join

coursewhere

course.dept

=

’Comp.

Sci.’;v

b.

select

id,

name

from

studentvvvexceptselect

id,

name

from

student

natural

join

takeswhere

year

<

2009;v

C.

select

dept,

max(salary)vvfrom

instructorgroup

by

dept;v

d.

select

min(maxsalary)vvfrom

(select

dept,

max(salary)

as

maxsalary

from

instructorgroup

by

dept);第三章v

3.12

使用大学模式,用SQL写出如下v

a.建一“CS-001”,其名称“WeeklySeminar”,学分0v

b.建程在

2009年秋季的一个程段,sec_id1v

c.Comp.Sci.系的每个学生修上述程段v

d.除名Chavez的学生修上述程段的息v

e.除程

CS-001。如果在运行此除句之前,没有先除的息程段),会生什么事?v

f.除程名称中包含

“database”的任意程的任意程段所的所有

takes元,在程名的匹配中忽略大小写v

答案:v

a.

insert

into

coursevalues

(’CS-001’,

’Weekly

Seminar’,

’Comp.

Sci.’,

0);v

b.

insert

into

sectionvvalues

(’CS-001’,

1,

’Autumn’,

2009,

null,

null,

null);vv

C.

insert

into

takesvvvselect

id,

’CS-001’,

1,

’Autumn’,

2009,

nullfrom

studentwhere

dept

name

=

’Comp.

Sci.’;第三章v

d.

delete

from

takesvvvwhere

course

id=

’CS-001’

and

section

id

=

1

andyear

=

2009

and

semester

=

’Autumn’

andid

in

(select

id

from

student

where

name

=

’Chavez’);v

e.

delete

from

coursevvwhere

course_id

=

‘CS-001’;(会出外。因section有外指course,如果直接从courseCS-001的信息,此section中关于CS-001的字段在course中找不到关)v

f.

delete

from

takesvvvwhere

course

id

in(select

course

id

from

coursewhere

lower(title)

like

’%database%’);v

3.13写出3-18中模式的SQLDDL.在数据型上做合理的假,确保声明主和外.第三章v

3.13写出3-18中模式的SQLDDL.在数据型上做合理的假,确保声明主和外.v

答案:create

table

ownsv

create

table

personv

(driver_id

varchar(50),v

name

varchar(50),v

address

varchar(50),v

primary

key

(driver_id));v

create

table

carv

(license

varchar(50),v

model

varchar(50),v

year

integer,v

primary

key

(license));v

create

table

accidentv

(report_number

integer,v

date

date,(driver_id

varchar(50),license

varchar(50),primary

key

(driver_id,license)foriegn

key

(driver_id)references

personforiegn

key

(license)

references

car);create

table

participated(report_number

integer,license

varchar(50),driver_id

varchar(50),damage_amount

integer,primary

key

(report_number,license)foriegn

key

(license)

references

carforiegn

key

(report_number)references

accident));vlocation

varchar(50),v

primary

key

(report_number));第三章v

3.14考3-18中的保公司数据,其中加下划的是主。个关系数据构造如下的SQLv

a.找出在“JohnSmith”的有关的交通事故的数量v

b.事故告号“AR2197”中的牌是“AABB2000”的坏保3000美元v

答案:v

a.select

count(*)vvvvvvvvfrom

accidentwhere

exits(select

*from

participated,owns,personwhere

owns.driver_id=person.driver_idand

=‘John

Smith’and

owns.license=participated.licenseand

accident.report_number=participated.report_number)v

b.

update

participatedvvset

damage_amount=3000where

report_number=”AR2197”

and

license=”AABB2000”第三章v

3.15

考3-19中的行数据,其中加下划的是主。个关系数据构造如下的SQLv

a.找出在“Brooklyn”的所有支行都有的所有v

b.找出行的所有款的和v

c.找出至少位于

Brooklyn的某一家支行要多的所有支行名字v

答案:v

a.with

branchcount

asv

(select

count(*)

from

Branch

Where

branch_city=’Brooklyn’)v

select

customer_name

from

customer

c

where

branchcount=v

(select

count

(distinct

branch_name)

from(customer

natural

join

depositornatural

join

account

natural

join

branch)as

d

where

d.customer_name=c.customre_name)v

b.

select

sum(amount)

from

loanv

c.select

branch_namev

from

branch

where

assets

>

somev

(select

assetsv

from

branchv

where

branch_city=’Brooklyn’)第四章v

4.12于4-11中的数据,写出一个来找到那些没有理的雇。注意一个雇可能只是没有列出其理,或者可能有null理。使用外接写,然不用外接再重写v

答案:v

使用外接:v

select

employee_namev

from

employee

naturalleftouterjoin

managesv

where

manager_name

is

null;vv

不使用外接:v

select

emplyee_namev

from

employeev

where

not

existsv

(select

employee_namev

from

managesv

where

manages.employee_name

=

emplyee.employee_namev

and

manages.manager_name

is

not

null);第四章v

4.12于4-11中的数据,写出一个来找到那些没有理的雇。注意一个雇可能只是没有列出其理,或者可能有null理。使用外接写,然不用外接再重写v

答案:v

使用外接:v

select

employee_namev

from

employee

naturalleftouterjoin

managesv

where

manager_name

is

null;vv

不使用外接:v

select

emplyee_namev

from

employeev

where

not

existsv

(select

employee_namev

from

managesv

where

manages.employee_name

=

emplyee.employee_namev

and

manages.manager_name

is

not

null);第四章v

4.13在什么情况下,v

select*v

fromstudentnaturalfullouterjointakesnaturalfullouterjoincoursev

将包含在属性titles上取空的元?v

答案:v

情况一:course元中存在title属性null的元v

情况二:存在一个学生,没有上任何(即takes里面没有此学生的ID)v

4.14定学生每年修到的学分数,如何定tot_credits(year,num_credits)v

答案:v

createview

tot_credits(year,

num_credits)v

asvvv(select

year,

sum(credits)from

takes

natural

join

coursegroup

by

year)第六章v6.10v

a.

∏name

(student

⋈takes

⋈

∏course_id

(ϭdept_name

=

‘Comp.Sci.’(course)))v

b.

∏ID,name

(student

)

−∏ID,name

(ϭyear<2009(student⋈takes))v

c.

dept_nameɡmax(salary)(instructor)v

d.

ɡmin(maxsal)(dept_nameɡmax(salary)

as

maxsal(instructor

))v6.11v

a.

∏person_name

(ϭcompany_name

=

“First

Bank

Corporation”

(works))v

b.

∏person_name,

city

(employee

⋈

(ϭcompany_name

=

“First

Bank

Corporation”(works)))v

c.

∏person_name,

street,

city(ϭ

(company_name

=“First

Bank

Corporation”∧

salary>

10000)(works

⋈

employee))v

d.

∏person_name

(employee

⋈

works

⋈

company)v

e.

∏company_name(company÷(∏city(ϭcompany_name

=

“Small

Bank

Corporation”(company))))v6.12v

a.ϭinstrcnt>1

(course_id,section_id,year

,semesterɡcount(*)

as

instrcnt(teaches))v

b.∏course_id,section_id,year,semester(ϭID<>other_ID(takes⋈ρtakes1(ID2,course_id,section_id,year

,semester

)(takes)))第七章v7.20

(a)v

author

(

name,

address,

URL

)v

book

(

ISBN,

title,

year,

price

)v

customer

(

email,

name,

address,

phone

)v

publisher

(

name,

address,

phone,

URL

)v

shopping_basket

(

basket_id

)v

warehouse

(

code,

address,

phone

)v7.20

(b)(c)第八章v

8.6因A->BC,所以有A->B和A->C;因A->B

和B->D,所以

A->D;因A->CD和CD->E

,所以

A->E;又因A->A

,

所以上有A->ABCDE;vvvvvvvvvv因E->A

,

所以由E->ABCDE;因CD->E

,同理有

CD->ABCDE;因B->D和BC->CD,所以

BC->ABCDE有C->C

,

D->D,

BD->D。所以F的包有BD->B

,

BD->D,

C->C

,

D->D,

BD->BD,

B->D,B->B

,

B->BDR的候A,

BC,

CD,

E。v

8.27v

由result

=

{B},以及F中的β

→

γ形式的FDs,足

β

⊆

result的是B

→B和B

→

D。所以result

=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论