最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

课堂练习答案

来源:动视网 责编:小OO 时间:2025-09-24 10:51:56
文档

课堂练习答案

一、电影数据库:Movie(title:string,year:integer,genre:string,电影所属的流派电影制片人的授权证书号码)MovieStar(name:string,性别:F或M)StarsIn(movieTitle:string,movieYear:integer,starName:string)MovieExec(电影制片人cert#:integer,授权证书号码资产净值)Studio(name:string,公司总裁的授权证书号码)每一个电影制片人有一个授权证书号
推荐度:
导读一、电影数据库:Movie(title:string,year:integer,genre:string,电影所属的流派电影制片人的授权证书号码)MovieStar(name:string,性别:F或M)StarsIn(movieTitle:string,movieYear:integer,starName:string)MovieExec(电影制片人cert#:integer,授权证书号码资产净值)Studio(name:string,公司总裁的授权证书号码)每一个电影制片人有一个授权证书号
一、电影数据库:

Movie (

 title: string,

 year: integer,

  

 genre: string, 电影所属的流派

  电影制片人的授权证书号码

)

MovieStar (

 name: string,

   性别:F或M

)

StarsIn (

 movieTitle: string,

 movieYear: integer,

 starName: string

)

MovieExec (电影制片人

 cert#: integer, 授权证书号码

 资产净值

)

Studio (

 name: string,

   公司总裁的授权证书号码

)

每一个电影制片人有一个授权证书号码,这个授权号码是具有惟一性的整型数。假设电影公司总裁也一定是电影制片人。用下划线表示主键。

课堂练习一:

1.写出关系Movie的关系模式定义,并定义主键。

CREATE TABLE Movies (

);

2.写出关系StarsIn的关系模式定义,并定义主键。

CREATE TABLE StarsIn (

);

课堂练习二:

已知

关系R 关系S

AB
12
34
BCD
256
478
91011
1.求RS的结果

2.求R和S的自然连接

3.求R和S的等值连接,连接条件:R.B=S.B

4. 求R和S的连接,连接条件:R.A5.求R和S的自然外连接

课堂练习三:

Movies (title, year, length, genre, studioName, producerC#)

(1)找出Harrison Ford演过的电影的制片人的姓名

SELECT name

FROM MovieExec

WHERE cert# IN

 producerC#

     (SELECT movieTitle,movieYear

      FROM StarsIn

  ’Harrison Ford’;

     )

SELECT DISTINCT name 

FROM MovieExec, Movies, StarsIn

WHERE cert#=producerC# AND

  ’ Harrison Ford’;

(2)找出被两部或两部以上电影使用过的电影名

SELECT x.title

FROM Movies x

WHERE x.year<>ANY

);

SELECT x.title

FROM Movies x

WHERE x.year);

SELECT x.title

FROM Movies x

WHERE x.year<

);

SELECT x.title

FROM Movies x

WHERE x.year>ANY

);

SELECT x.title

FROM Movies x

WHERE x.year>

 IN(y.year)

);

SELECT x.title

FROM Movies x

WHERE EXISTS

);

找出最高分在90分以上的学生的学号(HAVING短语可以有子查询)

SELECT Sno

SELECT Sno

 MAX(Grade)>90 ;

课堂练习四:

Movies (title, year, length, genre, studioName, producerC#)

用SQL语句写出下面的查询:

1.找出电影公司MGM的地址。

SELECT address 

FROM Studio

WHERE name=’MGM’;

2.找出那些在1980年制作的,或者电影名中包括“Love”单词的电影中出现的所有电影明星。

SELECT starName

FROM StarsIn 

WHERE movieYear=1980 OR movieTitle LIKE ‘%Love%’;

3.哪些男影星出演了电影Titanic?

SELECT name

FROM MovieStar, StarsIn

WHERE MovieStar.name= StarsIn.starName AND gender=’M’ AND movieTitle=’ Titanic’;

4.哪些影星在MGM电影公司于1995年制作的电影里演出?

SELECT starName

FROM StarsIn, Movies

WHERE StarsIn.movieTitle= Movies.title and StarsIn.movieYear= Movies.year and

movieYear=1995 and studioName=’MGM’;

5.谁是MGM电影公司的总裁?

SELECT MovieExec.name

FROM Studio,MovieExec

WHERE Studio.presC#= MovieExec.cert# and Studio.name=’ MGM’;

6.哪些电影的时间比Gone with the wind长?

SELECT title 

FROM Movies 

WHERE length> (SELECT length

FROM Movies

WHERE title=’ Gone with the wind’);

7.找出最富有的制片人的姓名及资产。

SELECT name, netWorth

FROM MovieExec

WHERE networth >= ALL (SELECT networth

               

8.找出每个制片人的姓名及制作的电影的数量。

SELECT name,COUNT(title)

FROM MovieExec,Movies

WHERE MovieExec.cert#= Movies.producerC#

GROUP BY name

课堂练习七:

对于电影数据库,包括电影、电影明星、电影制片人和电影公司的信息。电影的信息包括名字、出品的年份、片长和流派;电影明星的信息包括姓名、地址、性别和出生日期;电影制片人的信息包括姓名、地址、证书号和资产净值;电影公司的信息包括名字和地址。每部电影只由一家电影公司制作,只有一个电影制片人。一个电影明星可以在多部电影中演出,一部电影中也可以出现多个电影明星。一家电影公司只有一位总裁,而且一定是一位电影制片人。画出该数据库的E-R图。

文档

课堂练习答案

一、电影数据库:Movie(title:string,year:integer,genre:string,电影所属的流派电影制片人的授权证书号码)MovieStar(name:string,性别:F或M)StarsIn(movieTitle:string,movieYear:integer,starName:string)MovieExec(电影制片人cert#:integer,授权证书号码资产净值)Studio(name:string,公司总裁的授权证书号码)每一个电影制片人有一个授权证书号
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top