sql习题二

习题二
 
 
一、              一个简单的著作管理数据库,涉及如下数据:
作家Author:作家号Authorno、姓名Name、性别Sex和级别Grade
作品Book:书号Bookno、书名Title、种类Type、发行时间Date和出版社Publish
一位作家可以有多本著作,一本著作可同时多人合著,要求能描述作家出书的情况。
1)、设计简单的著作管理系统的E/R图;
 
 
2)转换成关系模型(请注明每个关系的键码)
 
 
二、              设有一个简单的经销商产品数据库如下:
     生产厂商关系:Producer(PrNo, Name, Addr, Tel),分别表示生产厂商号、
厂商名称、地址和联系电话
    产品关系:Product(TtNo, Brand, Model, Price),分别表示产品号、名称、
品牌型号和价格等
    供应关系:Supply(PrNo, PtNo, Quantity),分别表示生产厂商号、产品号以及数量
1)、查找生产厂商“方正科技公司”供应的产品的名称和价格,结果按价格的
降序排列;
 
 2)、求各类产品的最高价格、最低价格、平均价格和数量;
 
 3)、查询一种产品供应供应数量在500件以上的生产厂商名称。
 
 
三、              用SQL的有关语句定义:(共12分,每小题4分)
1)、航班关系Flight,包括航班号Number、机型Kind、起飞日期GoDate;
2)、乘客关系Customer,包括身份证号码Idno、姓名Name、性别Sex、地址Addr;
3)、搭乘关系Booking,包括身份证号码Idno、航班号Number、座位Seat;
要求说明每个关系的主键码和外键码(如果有的话),并在键码属性上建立索引。
4)、授予王飞对航班关系Flight的修改和删除的权限;
5)、删除2001年4月1日的所有航班记录;
6)、将航班号为KH3001的机型改为波音757;
7)、对航班关系的日期属性进行约束,使得其日期不得是2000年以前的。
 
 
 
四、按嵌入式SQL的格式在给出的产品关系Product中插入任意一个产品的产品号、
名称、品牌型号、价格等。)
 
 
一、

 

Member

Write

 

 

Book

 

 

Part

 

Name

 

Sex

Grade

 

Authorno

 

Bookno

 

Title

 

Publish

 


   注:Part表明作家是独立完成著作还是第一、第二作者等。
 
2)转换成关系模型为:
Author ( Authorno, Name, Sex, Grade)
Book ( Bookno, Title, Type, Date, Publish)
Write ( Authorno, Bookno, Part)
二、SQL查询语句:
   1)、SELECT Brand, Price
 FROM Product
 WHERE PtNo    IN
( SELECT PtNo
FROM Supply, Producer
WHERE Supply.PrNo=Producer.PrNo AND Name= “方正科技公司”)
ORDER BY Price DESC ;
或者:
SELECT Brand, Price
 FROM Product, Supply, Producer
 WHERE Product.PtNo=Supply.PtNo AND Supply.PrNo=Producer.PrNo
          AND Name== “方正科技公司”
 ORDER BY Price DESC ;
或者:
SELECT Brand, Price
 FROM Product
 WHERE PtNo    IN
( SELECT PtNo
FROM Supply
WHERE PrNo IN 
 ( SELECT PrNo
    FROM Producer
    WHERE Name== “方正科技公司”))
 ORDER BY Price DESC ;
 
   2)、SELECE Brand, max(Price) AS 最高价, min(Price) AS 最低价,
avg(Price) AS 平均价, count(Brand) AS 数量
FROM    Product
GROUP BY Brand ;
 
   3)、 SELECT DISTINCT Name
        FROM   Producer
        WHERE PrNo IN ( SELECT   PrNo
FROM Supply
WHERE Quantity>500) ;
       或者:
        SELECT DISTINCT Name
        FROM   Producer, Supply
        WHERE Producer.PrNo=Supply.PrNo   AND Quantity>500 ;
三、用SQL的有关语句定义:(共12分,每小题4分)
   1)、 CREATE TABLE Flight
          (Number CHAR(10) NOT NULL PRIMARY KEY ,
           Kind CHAR(10) ,
           GoDate   DATE ) ;
  
        CREATE INDEX Fkey ON Flight (Number);
 
   2)、 CREATE TABLE Customer
          ( Idno   VARCHAR(18)   NOT NULL PRIMARY KEY ,
           Name CHAR(10) NOT NULL , 
            Sex   BOOLEAN ,
           Addr   VARCHAR(30) ) ;
 
        CREATE INDEX Ckey ON Customer (Idno);
 
   3)、 CREATE TABLE Booking
          ( Idno VARCHAR(18) NOT NULL ,
           Number CHAR(10) NOT NULL ,
           Seat CHAR(4) ,
           PRIMARY KEY(Idno, Number) ,
     FOREIGN KEY(Idno) REFERENCES Customer(Idno ) ,
     FOREIGN KEY(Number) REFERENCES Flight ( Number) ) ;
 
   CREATE INDEX Bkey ON Booking (Idno, Number) ;
 
三 SQL的有关语句实现:(共12分,每小题3分)
1)、GRANT UPDATE, DELETE ON Flight    TO 王飞
 
2)、DELETE FROM Flight WHERE GoDate= “2001-04-01” ;
 
3)、UPDATE  Flight SET Kind= “波音757”
       WHERE Number= “KH3001” ;
 
4)、 在定义Flight时,加入对属性GoDate的约束如下:
    GoDate DATE CHECK (GoDate>= “2001-01-01”) ,
 
四、(8分)
1)说明:      EXEC SQL BEGIN DECLARE SECTION;
                            char pno[10];
                            char b[20];
                char m[20];
                float p;
                char SQLSTATE[6];
                     EXEC SQL END DECLARE SECTION;
 
2)赋值:      pno:= “P300101” ;
            b:= “内存条” ;
            m:= “Kindmax 128” ;
            p:=136 ;
 
3)插入:      EXEC SQL INSERT INTO Product
                        VALUES(:pno, :b, :m, :p) ;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、选择题:(20分) 1、根据关系数据基于的数据模型——关系模型的特征判定下列正确的一项:(___) A、只存在一对多的实体关系,以图形方式来表示。 B、以维表格结构来保存数据,在关系表中不答应有重复行存在。 C、能体现一对多、多对多的关系,但不能体现一对一的关系。 D、关系模型数据库数据库发展的最初阶段。 2、在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A、Windows身份验证 B、SQL Server 身份验证 C、以超级用户身份登录时 D、其他方式登录时 3、SQL Server 2000 在安装之前,应留意的事项:(___) A、SQL Server 2000的任何版本在安装时都不用考虑操作系统的制约。 B、SQL Server 2000的安装对硬件的要求不作任何限制。 C、SQL Server 2000 在安装之前,必须在操作系统级启用TCP/IP。 D、在Windows NT Server 4.0上安装SQL Server 2000时,最低的要求是必须安装Service Pack 4(SP4)以上。 4、关系数据库中,主键是(1___),主键的建立有(2___)种方法,当运用Transact-SQL语句创建主键时,可以是(3___)。 ⑴ A、为标识表中唯一的实体 B、创建唯一的索引,答应空值 C、只答应以表中第一字段建立 D、答应有多个主键的 ⑵ A、一 B、 C、三 D、四 ⑶ A、create table table1 (column1 char(13) not null primary, column2 int not) on primary; B、alter table table1 with notcheck add constraint [PK_table1] primary key nonclustered ( column1) on primary; C、alter table table1 column1 primary key ; 5、表在数据库中是一个非常重要的数据对象,它是用来(1___)各种数据内容的,数据库创建后就可以创建表了,创建表可以用(2___)等方法来创建。 ⑴ A、显示 B、查询 C、存放 D、检索 ⑵ A、企业治理器 B、查询分析器 C、OSQL D、企业治理器和CREATE TABLE语句 6、为数据表创建索引的目的是(1___),可以在创建表时用(2___)来创建唯一索引,也可以用(2___)来创建唯一索引。 ⑴ A、提高查询的检索性能 B、创建唯一索引 C、创建主键 D、归类 ⑵ A、设置主键约束,设置唯一约束 B、Create table,Create index C、设置主键约束,Create index D、以上都可以 7、 在Transact-SQL语法中,用来插入数据的命令是(___),用于更新的命令是(___)。 A、INSERT,UPDATE B、UPDATE,INSERT C、DELETE,UPDATE D、CREATE,INSERT INTO 8、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1___),使用要害字(2___)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3___),假如在SELECT语句中使用集合函数时,一定在后面使用(4___)。 ⑴ A、SELECT,INTO B、SELECT,FROM C、SELECT,GROUP D、仅SELECT ⑵ A、DISTINCT B、UNION C、ALL C、TOP ⑶ A、JOIN B、UNION C、INTO C、LIKE ⑷ A、GROUP BY B、COMPUTE BY C、HAVING D、COMPUTE 9、视图是一种常用的数据对象,它是提供(1___)和(1___)数据的另一种途径,可以简化数据库操作,当使用多个数据表来建立视图时,表的连接不能使

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值