数据库设计与SQL查询练习题解析

table {
border-collapse: collapse;
width: 100%;
margin-bottom: 1rem;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
pre {
background-color: #f8f8f8;
padding: 15px;
border-radius: 4px;
overflow-x: auto;
}

1、在______中,矩形代表实体并展示其属性;线条代表相连实体之间的关系。a. 实体 – 关系(E – R)图 b. 非结构化数据文件 c. 电子表格 d. 软件栈

A

2、以下哪一项定义了数据库管理系统(DBMS)?a. 对应一条记录的数据集合 b. 用于存储单个实体数据的文件 c. 负责数据库的个人或团体 d. 用户与存储在数据库中的数据进行交互的程序

d

3、以下哪一项描述了数据库设计?a. 收集数字流程和设备产生的大量数据 b. 创建用于存储单个实体数据的文件 c. 创建数据表之间的实体、属性和关系 d. 将数据库中的数据转换为普通程序无法识别的格式

C

4、以下哪一项能让你从相同数量的数据中获取更多信息?a. 创建一个健康的关系型数据库 b. 多次输入相同信息 c. 使用平面文件系统 d. 对数据进行加密 e. 设计专业表单

A

5、( )是负责组织数据库的人。a. 数据库管理服务器(DBMS)b. 数据库管理员(DBA)c. 组织管理员(OBA)d. 大数据管理员(BDA)

b

6、解释冗余数据为何常常导致决策质量下降。

冗余数据会导致数据错误和不一致性增加,影响数据准确性,使查询结果不可靠。

查询结果不佳会导致决策变慢、质量变差。

此外,在冗余数据中更新数据更繁琐耗时,影响信息及时性与准确性,进而影响决策。

而且冗余数据浪费存储空间,使文件更大,打开和保存时间变长,降低工作效率,也不利于及时获取准确信息进行决策。

7、属性是实体的特征或特性。如果人是一个实体,在存储医疗、学生和健身俱乐部数据的不同数据库中,是否会使用相同的属性来描述一个人?为什么?

不会使用相同的属性来描述。因为不同数据库的用途不同,关注的属性也不同。

医疗数据库可能关注人的健康状况、病史、过敏史等;

学生数据库可能关注学习成绩、课程、入学时间等;

健身俱乐部数据库可能关注健身目标、锻炼频率、会员类型等。

8、以下哪项任务不是按项目定价的?a. 任务ID DB01 设计关系数据库 b. 任务ID DB04 安装SQL Server数据库 c. 任务ID MEET00 与客户的初次会议 d. 任务ID CODE04 编写SQL代码

C

9、对于 ProjectLineItemID 值为 7 的记录,为什么 Quantity 字段包含 20?a. 它代表 20 小时的估计值。b. 它代表 20 分钟的估计值。c. 它代表 20 个项目的估计值。d. 它代表项目 ID。

A

10、对于ProjectLineItemID值为7的记录,为什么Factor字段包含1.3?a. 它表示该任务由于风险或复杂性估计增加1.3%。b. 它表示该任务由于风险或复杂性估计增加30%。c. 它表示该任务估计需要1.3小时。d. 它表示该任务需要额外增加1.3小时。

B

11、与客户进行初次会议(任务编号MEET00)的费用是多少?a. 100美元 b. 150美元 c. 0美元(免费) d. 1美元

C

12、创建购物车(任务ID为CODE15)的费用是多少?a. 每小时150美元 b. 每个项目125美元 c. 每月100美元 d. 每小时125美元

B

13、当估算出现问题时,JCC需要能够联系客户。JCC还可以在客户表中包含哪些属性来帮助联系客户?

JCC还可以在客户表中包含手机号码、电子邮箱、联系时间偏好、紧急联系人信息等属性,以帮助联系客户。

14、JCC希望数据库包含所有员工的数据,而不仅仅是可能参与项目的员工的数据。数据库管理员需要在数据库中添加哪些额外的实体来存储这些数据?需要添加哪些属性?


实体方面

,除了已有的员工实体外,无需额外添加实体,因为员工数据就用员工实体存储。


属性方面

,除了已有的员工姓名、员工编号、入职日期等属性外,可添加如员工职位、联系方式、工作年限、部门等属性,以全面记录员工信息。

15、哪个课程容纳的参与者数量最多?a. 瑜伽 b. 骑行 c. 杠铃力量训练 d. 综合课程

D

16、一些课程的“其他费用”字段中有数据,这些是骑行课程的自行车鞋租赁费用。该费用是否应与课程价格字段合并?如果参与者有自己的自行车鞋怎么办?

是否合并费用需综合考虑:


若合并

能简化费用计算和管理;

但对有自己自行车鞋的参与者不公平。


若不合并

能准确反映参与者实际费用;

但增加管理复杂度。


建议

:可根据实际情况决定,例如:

– 为参与者提供清晰的费用说明;

– 对有自己鞋的参与者减免租赁费用。

17、目前,课程价格和其他费用存于注册表里。如果皮特健身实行动态定价(管理层会像航空公司那样在课程报名满员时更改价格),他们是否应将课程价格放在课程表里?为什么?

不应该。

原因如下:

动态定价意味着课程价格会随课程报名情况实时变化。

课程表通常用于存储课程的基本、相对稳定信息。

若将动态变化的课程价格放在课程表中,每次价格调整都需修改课程表,会增加数据维护的复杂性和出错风险。

并且,不同学员在不同时间报名同一课程可能价格不同。

将价格放在注册表中能准确记录每个学员的实际付费情况。

18、运动物理治疗数据库中没有治疗师工作时长这一字段。例如,进行任何治疗都需要设置和拆解设备、阅读患者病历等。应该将工作时长放在哪个表中?记录治疗师开始和结束工作时间的更好方法可能是什么?

可以将工作时长放在治疗师表中,因为工作时长属于治疗师的工作相关信息。更好的记录方法可以是:

使用电子打卡系统,治疗师在开始和结束工作时进行打卡,系统自动记录时间;

使用专门的时间管理软件,让治疗师手动输入开始和结束时间。

19、选择姓氏为诺瓦克(Novak)的员工所有记录中的姓氏、项目ID和客户名称字段。以下哪个项目ID值与诺瓦克无关?A. 1 B. 17 C. 26 D. 4

B

20、题目中语句存在逻辑不完整问题,无法构成完整可回答的习题,应输出 DELETE

答案‘D’与题目不匹配,无法明确其对应关系,应输出 DELETE

21、完成以下语句,列出所有项目开始日期为2020年3月1日但客户ID不为7的项目的项目ID和项目开始日期。先选择项目表中开始日期为‘3/1/2020’的记录得到Temp1,对Temp1投影得到包含项目ID和项目开始日期的Temp2,选择Temp2中客户ID为7的记录得到Temp3,对Temp3投影得到包含项目ID和项目开始日期的Temp4,然后用_____操作从Temp2中去除Temp4得到最终结果。选项有:a. 并集;b. 笛卡尔积;c. 差集;d. 删除。

C

22、哪位顾客住在奈格利大道(Negley Avenue)?a. 格雷戈尔(Gregor)b. 阿布德(Aboud)c. 阿格纽(Agnew)d. 桑切斯(Sanchez)

由于没有足够信息判断答案的正确性,输出 DELETE

23、对Temp3表选取ProjectID和ProjectStartDate列生成Temp4表,通过_____操作将Temp4表和Temp2表处理得到Answer表。选项:A. 并集;B. 乘积;C. 差集;D. 删除

C

24、哪位教练教授尊巴课程?a. 内达·塔汉 b. 胡安·瓦尔拉诺 c. 梅根·科宾斯基 d. 罗伯特·西斯托

A

25、周二早上6点提供多少节时长为45分钟的课程?选项有:a. 3;b. 2;c. 1;d. 0

D

26、Pitt Fitness的老板正在考虑是否合并他的俱乐部,仅在一个地点提供课程以确保盈利。为了探讨这个问题,你会创建什么查询来回答这个商业策略问题?

可以创建以下几种查询来辅助分析:


各俱乐部课程的报名数据查询


– 包括各俱乐部不同课程的报名人数、频率等

– 以了解各俱乐部课程的受欢迎程度


各俱乐部的成本查询


– 涵盖场地租赁、设备维护、员工工资等成本

– 明确各俱乐部的运营成本


各俱乐部的收入查询


– 统计各俱乐部课程收费、会员费等收入情况


会员分布查询


– 了解会员主要来自哪些区域

– 判断集中到一个地点后对会员参与度的影响

27、对任何余额超过1000美元的患者征收附加费,附加费为患者当前余额的5%。创建一个更新查询来执行此计算,现在的最高余额是多少?选项:a. 1939.09美元;b. 2053.17美元;c. 2116.07美元;d. 2087.93美元

C

28、如果你想了解哪位治疗师在特定日期会见了特定患者,你的查询需要哪些表?如果你还想知道治疗的描述,这会改变你的查询设计吗?如果会,如何改变?

要了解哪位治疗师在特定日期会见了特定患者,需要

Therapist

(治疗师)、

Session

(会话)和

Patient

(患者)表。

若还想知道治疗的描述,需要额外加入

Therapies

(治疗)表,查询设计要增加对

Therapies

表的连接和描述字段的选择。

29、子查询的另一个术语是什么?a. 外部查询 b. 内部查询 c. 联合查询 d. 聚合查询

B

30、对于电话号码字段,哪种Access SQL数据类型比较合适?

可以选择

CHAR


SHORT TEXT

数据类型。因为电话号码中的数字通常不用于计算,

CHAR

可存储固定长度的字符串,而 Access 中常用的

SHORT TEXT


CHAR

类似,都适合存储这类数据。

31、列出Employees表中所有员工的EmployeeID、LastName和FirstName字段的SQL语句是哪一个?选项如下:a. SELECT * FROM Employees; b. SELECT EmployeeID, LastName, FirstName FROM Employees; c. SELECT EmployeeID, LastName, FirstName INTO Employees; d. SELECT EmployeeID, LastName, FirstName WHERE Employees;

b

32、哪个 SQL 命令可用于连接 TaskMasterList 表和 ProjectLineItems 表?a. CONNECT b. COMBINE c. LINK d. WHERE

D

33、要查找CategoryID字段值为Testing或Support的所有TaskMasterList记录,应使用哪个SQL关键字?a. AND b. ORDER c. && d. OR

D

34、创建Zips表时,你会为City和Zip字段分配什么数据类型?a. City为TEXT类型,Zip为SHORT类型;b. City为LONGTEXT类型,Zip为TEXT类型;c. City为TEXT类型,Zip为TEXT类型;d. City为SHORT类型,Zip为SHORT类型

C

35、使用主键字段、外键字段、一对多关系、父表和子表这些术语来描述以下 WHERE 子句:WHERE Clients.ClientID = Projects.ClientID

Clients 表是父表,Projects 表是子表,二者存在

一对多关系

ClientID

在 Clients 表中是

主键字段

ClientID

在 Projects 表中是

外键字段


WHERE

子句通过匹配 Clients 表和 Projects 表中

ClientID

字段的值,将两个表连接起来。

36、使用主键字段、外键字段、一对多关系、父表和子表等术语描述以下 WHERE 子句:WHERE Clients.ClientID = Projects.ClientID

在该

WHERE

子句中,

Clients

表是父表,

Projects

表是子表,二者存在一对多关系。

Clients.ClientID


Clients

表的主键字段,用于唯一标识该表中的每一行记录;

Projects.ClientID


Projects

表的外键字段,它将

Projects

表与

Clients

表连接起来。该子句的作用是通过匹配两个表中

ClientID

字段的值,将相关记录连接在一起。

37、题目未提供数据库表结构和表名等必要信息,无法独立完成回答,DELETE

答案内容与题目不匹配,DELETE

38、皮特健身中心在其三个门店销售一系列运动服装。在这个项目开始时,他们决定只销售三种带有皮特健身标志的T恤:两种女士尺码和一种男士尺码。如何使用SQL在皮特健身数据库中创建一个新表,以记录这些T恤系列及其零售价?这个新表仅用于广告目的,因此不需要库存数量字段。

可以使用以下SQL语句创建新表:


CREATE TABLE PittFitness_Tshirts (
    TshirtID INT PRIMARY KEY AUTO_INCREMENT,
    TshirtType VARCHAR(50),
    RetailPrice DECIMAL(10, 2)
);

其中,

TshirtID

作为主键,

TshirtType

用于记录T恤类型,

RetailPrice

用于记录零售价。

39、编写一个 SQL 查询,要求数据库统计可用的不同类型 T 恤的数量并计算它们的总价。输出应仅显示字段名:NumberOfTshirts TotalPriceOfTshirts。


SELECT 
    COUNT(DISTINCT TshirtID) AS NumberOfTshirts, 
    SUM(Price) AS TotalPriceOfTshirts 
FROM Tshirts;

40、你可以使用哪个Access字段属性来为单个字段设置数据完整性规则?a. 验证规则 b. 索引 c. 标题 d. 默认值

A

41、你有一个会员数据库表,包含以下字段:MemberLastName(会员姓氏)、MemberFirstName(会员名字)、Street(街道)、City(城市)、State(州)、ZipCode(邮政编码)和InitiationFee(入会费)。表中有75,000条记录。你会为该表创建哪些索引,为什么要创建这些索引?

可以考虑为以下字段创建索引:


MemberLastName

:姓氏是常见的检索和排序会员记录的依据,创建索引可加快按姓氏搜索和排序会员的速度。


ZipCode

:邮政编码常用于筛选特定区域的会员,创建索引能提高按邮政编码搜索会员的效率。


原因

:在大型数据库中,对经常用于搜索和排序的字段创建索引,可以显著提升数据检索和排序的速度。尽管维护索引会消耗一定的处理资源,但对于这些常用字段来说,这种权衡是值得的。

42、在JC咨询数据库中,以下哪项不是视图的优点?a. 存储所有数据的单一位置 b. 组织来自一个或多个表的字段和记录 c. 保护敏感数据不被未授权用户访问 d. 可用于创建计算字段

A

43、以下项目表中的哪个字段不是索引的合适候选?a. 项目ID b. 项目开始日期 c. 客户ID d. 项目备注

D

44、鉴于JC咨询数据库是一个Access数据库,以下哪种安全功能不可用?a. 加密 b. 数据库密码 c. 用户级安全 d. 启动选项

C

45、在员工表中,如何确保不输入早于2019年1月1日的入职日期?a. 对入职日期字段使用验证规则属性。b. 对入职日期字段设置参照完整性。c. 对入职日期字段设置级联更新相关字段选项。d. 将入职日期字段设置为主键字段。

A

46、要查询客户表中是否存在在项目表中没有任何匹配记录的记录,你会使用_____。a. 左连接 b. 右连接 c. 内连接 d. 一对多连接

A

47、哪个SQL命令可以向Clients表中添加一个名为Region的新字段?a. ALTER TABLE Clients ADD Region TEXT(20) b. ALTER TABLE Clients MODIFY Region TEXT(20) c. MODIFY TABLE Clients ADD Region TEXT(20) d. MODIFY TABLE Clients MODIFY Region TEXT(20)

A

48、你可以使用什么功能来创建JC咨询数据库中表和字段的系统信息? a. 性能分析器 b. 数据库文档生成器 c. 依赖分析器 d. 表向导

b

49、在JC咨询的Access数据库中,在哪里创建数据宏?a. 作为在导航窗格中访问的全局宏对象b. 作为在导航窗格中访问的全局模块对象c. 在包含它们所处理数据的表中d. 在系统表中

C

50、以下哪项知识不是数据库管理工作的基本能力?a. 微软 Access b. 数据分析 c. 甲骨文数据库 d. Java

D

51、在Access中,JC咨询公司的一名员工试图从TaskMasterList表中删除TaskID为CODE01的记录,并收到以下错误消息:“无法删除或更改该记录,因为表‘ProjectLineItems’包含相关记录”。为什么该员工会收到此错误消息?

删除与其他表存在关联记录的记录会违反引用完整性。

当尝试删除父表(

TaskMasterList

表)中与子表(

ProjectLineItems

表)存在关联的记录时,由于引用完整性的限制,会出现错误提示,以防止子表中出现没有对应父表记录的孤儿记录。

52、在客户表中,哪个字段适合创建索引?a. 出生日期 b. 电话号码 c. 名字 d. 姓氏

b

53、假设你想创建一个查询,显示课程名称、客户姓氏、教练姓氏和课程日期。你应该使用哪种类型的 JOIN 来连接这些表?a. 内连接 b. 外连接 c. 左连接 d. 右连接

A

54、如何在SQL中创建一个参数查询,以提示输入患者的姓氏并显示患者的姓氏及其治疗方法?选项如下:a. SELECT (ENTER Patient.LastName), Therapies.Description FROM Therapies INNER JOIN (Patient INNER JOIN [Session] ON Patient.PatientNum = Session.PatientNum) ON Therapies.TherapyCode = Session.TherapyCode; b. SELECT Therapies.Description FROM Therapies INNER JOIN (Patient INNER JOIN [Session] ON Patient.PatientNum = Session.PatientNum) ON Therapies.TherapyCode = Session.TherapyCode WHERE (((Patient.LastName)=[Enter Last Name])); c. SELECT Patient.LastName, Therapies.Description FROM Therapies WHERE (((Patient.LastName)=[Enter Last Name])); d. SELECT Patient.LastName, Therapies.Description FROM Therapies INNER JOIN (Patient INNER JOIN [Session] ON Patient.PatientNum = Session.PatientNum) ON Therapies.TherapyCode = Session.TherapyCode WHERE (((Patient.LastName)=[Enter Last Name]));

D

55、为会话表创建哪些索引合适?选择最佳答案。a. 会话日期 b. 患者编号 c. 治疗师ID d. 会话日期、患者编号和治疗师ID

D

56、假设一位新患者打电话给治疗师预约。记录预约的职员为新患者创建了一个新的患者编号。在输入任何其他数据之前,她先将患者编号作为新记录的一部分输入到会话表中。这违反了什么规则?a. 索引;b. 级联;c. 参照完整性;d. 此操作不违反任何规则。

C

57、从以下视图中,哪个视图最适合运动物理治疗会计师?a. 患者编号、姓氏(患者)、会话日期、会话编号;b. 患者编号、姓氏(患者)、地址、城市、州、邮政编码、余额;c. 患者编号、姓氏(患者)、治疗师编号、描述;d. 患者编号、姓氏(患者)、治疗代码。

B

58、如果你创建一个 SQL 查询来列出患者编号和会话日期,需要连接哪些表?a. 会话表和患者表 b. 治疗表和患者表 c. 治疗师表和患者表 d. 所有四个表

A

59、如果你创建一个 SQL 查询来列出患者编号和会话日期,应该使用哪种连接?A. 普通连接 B. 外连接 C. 内连接 D. 左连接

C

60、假设你在 SQL 查询中使用两个表:Therapist 和 Session。你想确保即使治疗师尚未安排到某个疗程中,也能显示所有治疗师的姓名。你需要创建哪种连接来确保列出所有治疗师?a. 左连接 Therapist,条件为 Therapist.TherapistID = Session.TherapistID;b. 右连接 Therapist,条件为 Therapist.TherapistID = Session.TherapistID;c. 内连接 Therapist,条件为 Therapist.TherapistID = Session.TherapistID;d. 外连接 Therapist,条件为 Therapist.TherapistID = Session.TherapistID

A

61、如果你想向所有患者发送宣传新设施的邮件,需要使用哪些表来生成打印邮件标签的查询?a. 患者表、会话表、治疗表、治疗师表 b. 患者表、会话表、治疗表 c. 患者表、会话表、治疗师表 d. 患者表

D

62、创建一个 SQL 查询,计算有多少种不同的疗法尚未被预订用于某个疗程。


假设存在 `Therapies` 表存储疗法信息,`Session` 表存储疗程预订信息,且两表通过 `TherapyCode` 关联。可使用以下 SQL 查询:

```sql
SELECT COUNT(DISTINCT Therapies.TherapyCode) 
FROM Therapies 
LEFT JOIN Session ON Therapies.TherapyCode = Session.TherapyCode 
WHERE Session.TherapyCode IS NULL;

63、考虑到运动物理治疗数据库中存储的信息,哪些安全措施很重要?

为确保运动物理治疗数据库安全,可采取以下措施:

加密数据库,使未授权用户只能看到无法解密的版本;

设置强密码,限制对数据库的访问;

对数据库进行认证,确保只有授权人员能访问;

加强服务器房间的物理安全,如安装门锁;

实施数据完整性约束,保证数据的准确性和一致性;

采用记录级锁定等并发控制机制,防止并发更新问题;

利用数据独立性,使用户能更改数据库结构而不影响相关程序;

识别数据库中对象的依赖关系,便于管理和维护。

© 版权声明

相关文章

暂无评论

none
暂无评论...