【数据库原理练习题】

文章讨论了关系数据库中的等值连接和自然连接操作,指出它们结果的属性个数相同。还探讨了主键、候选键和外键的概念,以及SQL查询语言在数据操作中的应用,如筛选高价格和高库存书籍,查询特定书籍的借阅情况,以及统计图书借阅人数等。
摘要由CSDN通过智能技术生成
  1. 设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为r + s

  2. 关系R与关系S只有1个公共属性,T1是R与S等值连接的结果,T2是R与S自然连接的结果,则( )。
    A.T1的属性个数等于T2的属性个数
    B.T1的属性个数小于T2的属性个数
    C.T1的属性个数大于或等于T2的属性个数
    D.T1的属性个数大于T2的属性个数

     由于T1是R与S等值连接的结果,它将包括R和S中的所有属性,以及连接属性。因此,T1的属性个数将等于R和S中的属性个数之和减去公共属性个数,即 ( (r + s) - 1 )。
     而T2是R与S自然连接的结果,它将包括R和S中的所有属性,但不会重复公共属性。因此,T2的属性个数将等于R和S中的属性个数之和减去公共属性个数,即 ( (r + s) - 1 )。
     因此,T1和T2的属性个数是相等的。
     所以,答案是:
     A.T1的属性个数等于T2的属性个数
    
  3. 有两个关系 R 和 S,R 表示为[X,Y],S 表示为[Y,Z],如果 R 中有 n 条记录,
    S 中有 m 条记录,则R 和 S 的除法所得的关系中记录的数量不可能为( )。
    A. m B. m+n
    C. 0 D. m-n

     关系的除法操作是一种关系代数操作,它返回满足一定条件的记录的集合。在这种情况下,关系 R 和 S 的除法操作将返回满足条件 "R 中的每个记录都能够在 S 中找到对应的记录" 的记录的集合。
     考虑到这一点,我们可以进行以下推理:
     如果 R 中有 n 条记录,而 S 中有 m 条记录,那么 R 和 S 的除法操作将返回满足条件的记录的集合,其中每个 R 的记录都对应至少一条 S 的记录。
     每条 R 的记录对应至少一条 S 的记录,所以除法操作的结果将不超过 R 中的记录数 n。因为即使每个 R 的记录都对应一条 S 记录,也可能有些 S 记录没有对应的 R 记录,所以结果记录的数量不会达到 m。
     因此,除法操作的结果记录数量不可能超过 R 中的记录数 n。
     所以,答案是
     A. m
    
  4. (判断)主键只能是一个属性。✗

     这是一个错误的说法。主键可以由一个或多个属性组成。在关系数据库中,主键是用来唯一标识关系中的每个元组(行)的一组属性。这些属性的组合必须保证在关系中唯一标识每个元组,即没有两个元组具有相同的主键值。因此,主键可以由单个属性或多个属性组成,只要它们的组合可以唯一标识每个元组即可。
    
  5. 关系中主码的取值必须唯一且非空,这是由实体充整性规则决定的。

  6. sQL中,下列涉及空值的揉作,不正确的是()
    A . AGE is NULL B. AGE is NOT NULL C . AGE=NULL D . NOT (AGE is NULL)

     在 SQL 中,涉及空值的操作通常使用 IS NULL 和 IS NOT NULL 运算符来检查属性是否为空。
     让我们来看看选项:
     A. AGE is NULL:这是检查 AGE 是否为空的正确语法。
     B. AGE is NOT NULL:这是检查 AGE 是否不为空的正确语法。
     C. AGE=NULL:这是不正确的语法。在 SQL 中,应该使用 IS NULL 运算符而不是 = 运算符来检查空值。
     D. NOT (AGE is NULL):这是正确的语法,它会返回不为空的 AGE。
     所以,不正确的是:
     C. AGE=NULL
    
  7. DB.DEMS 和DES三者间的关系是( )
    A . D包括DBMS 和DES B . DBS包括DB和DBMS
    C . DBMS包括DBS 和DB D. DBS与DB .DBMS无关

  8. .常用的数据模型分为层次模型.和.网状模型、关系模型

9.数据库系统(DBS)是由外部模式、概念模式和内部模式组成的多级系统结构。

  1. 属性的取值范围称作属性的

  2. 要保证数据库逻辑数据独立性,需要修改的是( ) 。
    A.模式 B.模式与内模式的映射 c.模式与外模式的映射 D.内模式

    要保证数据库逻辑数据独立性,需要修改的是 B. 模式与内模式的映射。
    逻辑数据独立性是指数据库的逻辑结构变化时,对应用程序的逻辑结构不产生影响。模式与内模式的映射关系定义了数据库的逻辑模式(概念模式)和内部模式之间的对应关系。通过修改模式与内模式的映射,可以调整数据库的逻辑结构而不影响用户的视图和应用程序的逻辑结构,从而保证了逻辑数据独立性。
    
  3. 在关系数据库中,视图是三级模式结构中的( )
    A.内模式 B.模式 c.存储模式 D.外模式

    在关系数据库中,视图是三级模式结构中的 D. 外模式。
    三级模式结构包括外部模式、概念模式和内部模式。外部模式描述了用户能够看到和操作的数据的逻辑结构和组织方式,而视图就是外部模式中的一种表现形式,它是对数据库中数据的某种特定视图或子集的逻辑表示。用户可以通过视图来对数据库进行查询和操作,而不必直接访问数据库中的实际数据。因此,视图属于三级模式结构中的外模式。
    
  4. 参照完整性规则:表的( )必须是另一个表主键的有效值,或者是空值。
    A.候选键
    B.外键
    C.主键
    D.主属性

    参照完整性规则指的是在关系数据库中,确保外键的值必须是另一个表的主键的有效值,或者是空值。因此,正确答案是 B. 外键。
    
  5. 在关系模式中,实现“关系中不允许出现相同的元组”的约束是( )约束。
    A.候选键 B.主键 c.键 D.超键

    在关系模式中,实现“关系中不允许出现相同的元组”的约束是 B. 主键 约束。
    主键约束要求关系中的每个元组必须具有唯一的标识符,即主键值不能重复。这样就确保了关系中不会出现相同的元组。因此,主键约束是用来实现这种约束的。
    
  6. 学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( ) 。
    A.多对多B.一对一c.多对一 D.一对多

  7. 设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是( )。
    A.m : n B. 1:m c. m :k D.1 :1

  8. 设学生关系S ( SNO,SNAME,SSEX,SACE,SDPART〉的主关键字为SNO,学生选课关系sc(sNO, CNO, SCORE)的关键字为SNO和CNO,则关系R(SNO, CNO,SSEX,SACE,SDPART,SCORE)的主关键字为SNO和cNO,其满足( ) 。
    A,1NF B,2NF C,3NF D,BCNF

    根据给出的信息,关系 R(SNO, CNO, SSEX, SACE, SDPART, SCORE) 中的主关键字为 SNO 和 CNO,其中 SNO 是学生关系 S 的主键,而 CNO 则是学生选课关系 sc 的关键字之一。
    考虑到这个设计,我们可以分析如下:
    第一范式(1NF)要求每个属性都是原子性的,不可再分。给定的关系 R 中的属性都是原子的,所以满足 1NF。
    第二范式(2NF)要求关系 R 必须符合 1NF,且非主属性必须完全依赖于关系的候选键(在 1NF 的基础上,消除部分函数依赖)。由于 SNO 是主键,而其他属性(SSEX, SACE, SDPART, SCORE)都完全依赖于 SNO(因为学生的性别、年龄、部门和课程成绩都是根据学生编号确定的),所以关系 R 满足 2NF。
    第三范式(3NF)要求关系 R 必须符合 2NF,且非主属性不能传递依赖于候选键。在关系 R 中,所有非主属性都直接依赖于主键(SNO 和 CNO),不存在传递依赖,所以关系 R 满足 3NF。
    BCNF(Boyce-Codd 正规化范式)要求关系 R 中的每个确定关系的函数依赖都是由候选键决定的。在关系 R 中,所有属性都直接依赖于主键(SNO 和 CNO),因此关系 R 满足 BCNF。
    综上所述,关系 R(SNO, CNO, SSEX, SACE, SDPART, SCORE) 满足 1NF、2NF、3NF 和 BCNF,因此答案为 D. BCNF。
    
  9. SQL语言通常称为( )。
    A.结构化查询语言 B.结构化控制语言 c.结构化定义语言 D.结构化操纵语言

  10. SQL Server把数据及相关信息用多个逻辑组件来表示,这些逻辑组件通常被称为数据库对象。以下( )不属于数据库对象
    A.表 B.视图C.索引D.备份

    答案是 D. 备份。
    在 SQL Server 中,常见的数据库对象包括表(Tables)、视图(Views)、索引(Indexes)、存储过程(Stored Procedures)、触发器(Triggers)等。这些对象用于存储、管理和操作数据及其相关信息。备份虽然是数据库管理中非常重要的操作,但它并不是数据库对象,而是一种操作或者策略,用于将数据库的状态保存到另一个位置,以便在需要时进行恢复。
    
  11. 若要删除数据库中已经存在的表s,可用( )
    A. DELETE TABLE s
    B.DELETE s
    C.DROP TABLE S
    D.DROP S

  12. 在关系代数运算中,五种基本运算为( )
    A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影
    C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积

  13. 实现关系代数选取运算的SQL子句是( )。
    A.SELECT B.ORDER BY C.FROM D.WHERE

  14. 下述选项中,( )是数据定义语句。
    A.Insert B.Update C.Delete D.Create

  15. 2NF规范到3NF是为了消除( )。
    A.非主属性对候选键的部分函数依赖
    B.主属性对候选键的部分函数依赖
    C.非主属性对候选键的传递函数依赖
    D.以上都不是

    2NF(第二范式)到3NF(第三范式)的转换是为了消除 C. 非主属性对候选键的传递函数依赖。
    在第二范式(2NF)中,关系已经消除了部分函数依赖,即非主属性对候选键的部分函数依赖。而在第三范式(3NF)中,进一步消除了非主属性对候选键的传递函数依赖,确保所有非主属性都直接依赖于候选键,而不是依赖于其他非主属性。
    
  16. 一个关系只有一个( )。
    A.候选码 B.外码 C.主码 D.以上都不是

  17. 以下选项中,不属于关系性质的是( )。
    A.关系的列必须是同质的 B.关系中的元组的顺序可以改变
    C.关系中列的顺序可以改变 D.关系中不同字段的域不能相同

    选项 B. 关系中的元组的顺序可以改变 不属于关系性质。
    关系数据库中,关系的性质包括以下几个方面:
    A. 关系的列必须是同质的,即每一列都具有相同的数据类型。
    C. 关系中列的顺序可以改变,因为关系模型中不关心列的顺序。
    D. 关系中不同字段的域不能相同,即每一列的值都来自于一个相同的域(数据类型)。
    
  18. SQL中,ORDER BY子句的位置是( )。
    A.SELECT子句之后 B.WHERE子句之后
    C.最后一行 D.任意一行

  19. 在下列关系代数的操作中,( )不属于专门的关系运算。
    A.自然连接 B.投影 C.广义笛卡尔积 D.连接

    在下列关系代数的操作中,C.广义笛卡尔积 不属于专门的关系运算。
    关系代数的基本操作包括:
    A. 自然连接(Natural Join):基于两个关系之间的相同属性(列)自动进行连接。
    B. 投影(Projection):从关系中选择指定的列。
    D. 连接(Join):将两个关系基于某个条件进行连接。
    而广义笛卡尔积不是关系代数的基本运算,它是笛卡尔积的推广形式,通常在关系数据库中不常用。
    
  20. 以下关于相关子查询,以下说法正确的是( )。
    A.先执行子查询
    B.子查询的查询条件与父查询中数据表无关
    C.父查询和子查询交替执行
    D.子查询执行一次

  21. 以下选项中,( )不是关系模型的组成部分。
    A.完整性约束 B.数据结构 C.数据恢复 D.数据操作

    选项 C.数据恢复 不是关系模型的组成部分。
    关系模型的组成部分主要包括:
    A. 完整性约束:用于确保数据的完整性,包括实体完整性、参照完整性、用户定义的完整性等。
    B. 数据结构:关系模型中数据的组织方式,通常使用表格的形式来表示。
    D. 数据操作:对关系数据库中的数据进行增删改查等操作的集合,通常通过 SQL 语言来实现。
    数据恢复虽然在关系数据库管理系统中是一个重要的功能,但它不是关系模型本身的组成部分,而是数据库管理系统提供的服务之一。
    
  22. 使用Create View语句产生的虚表称为视图

  23. 设有关系模式 R(A,B,C,D,E),R 的函数依赖集为 F={A→E,E→D,D→B, BC→D,CD→A }。求 R 的所有候选码。

在这里插入图片描述

  1. 有关系数据库如下,一位读者可以借阅多本书,同一书号的书可以被多位读者借阅。
    Book(BNo、BN,Author,Price,Number)
    Reader(RNo,RN,Organization,Address)
    Borrower(BNo,RNo,BorrowTime,ReturnTime,Remark)
    其中:某位读者的借阅记录中的ReturnTime为空白表示未还书。
    (1)用关系代数表达式实现,查询Price在50元以上,库存量在20本以上的图书的BN和Author。

    [ \pi_{BN, Author}(\sigma_{Price > 50 \land Number > 20}(Book)) ]
    

(2)用关系代数表达式实现,查询书号“BNo”为B1的图书的借阅情况,包括书号、借阅人的借阅号和姓名。

	[ \pi_{BNo, RNo, RN}(\sigma_{BNo = 'B1'}(Borrower \bowtie Reader)) ]

(3)用SQL语言实现,查询书名(BN)以“计”开头的图书信息。

	SELECT *
	FROM Book
	WHERE BN LIKE '计%';

(4)用SQL语言实现,查询比《大学计算机基础》库存量高的图书号(BNo)和书名(BN)(请用子查询和自身连接两种方式)。
SELECT BNo, BN
FROM Book
WHERE Number > (SELECT Number FROM Book WHERE BN = ‘大学计算机基础’);

	SELECT b1.BNo, b1.BN
	FROM Book b1
	JOIN Book b2 ON b1.Number > b2.Number
	WHERE b2.BN = '大学计算机基础';

(5)用SQL语言实现,查询所有图书的借阅情况,包括书号(BNo)和借阅人数,并且按照借阅人数降序排列。

	SELECT BNo, COUNT(RNo) AS BorrowerCount
	FROM Borrower
	GROUP BY BNo
	ORDER BY BorrowerCount DESC;
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不懂 Debug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值