软件设计师-上午题-06 数据库(6分)

数据库每年6题,题号一般为51-56,分值一般为6分。

考的相对较多的是关系代数、SQL语言、关系模式、范式、关系分解。E-R图主要在下午题考查(15分),因此在上午题中不做主要讲解。

目录

1 数据模型

1.1 概念数据模型

1.2 结构数据模型

1.3 真题

2 三级模式结构

2.1 真题

3 两级映像

3.1 真题

4 关系模型

4.1 关系模型中基本术语

4.2 完整性约束

5 关系代数

5.1 并、差、交、笛卡尔积

5.2 投影、选择

5.3 θ连接和等值连接

5.4 自然连接(重要)

5.5 外连接

5.5.1 左外连接

5.5.2 右外连接

5.5.3 全外连接

5.6 除(了解)

5.7 真题

5.8 关系代数转为SQL语句

5.8.1 投影、选择转为SQL语句

5.8.2 笛卡尔积转为SQL语句

5.8.3 自然连接转为SQL语句

5.8.4 真题

6 SQL语言

6.1 数据定义语言

6.2 列级、表级完整性约束

6.3 数据操作语言

6.4 数据查询语言

6.4.1 投影查询

6.4.2 选择查询

6.4.3 排序查询

6.4.4 聚合函数

6.4.5 数据分组

6.4.6 内连接(了解)

6.4.7 外连接(了解)

6.4.8 一般子查询

6.4.9 相关子查询和EXTSIS子查询

6.4.10 查询结果并、交、差运算

6.4.11 真题

6.5 SQL控制语句

6.5.1 真题

7 数据库对象

7.1 视图

7.1.1 真题

7.2 索引

7.2.1 真题

8 关系数据理论

8.1 关系模式

8.2 规范化

8.2.1 函数依赖

8.2.2 码和推理规则

8.3 属性闭包计算

8.4 真题

8.5 范式

8.5.1 第一范式

8.5.2 第二范式

8.5.3 第三范式

8.5.4 BC范式

8.5.5 第四范式

8.5.6 判断部分函数依赖技巧

8.5.7 判断传递函数依赖技巧

8.6 真题

8.7 关系分解

8.7.1 真题

8.7.2 无损链接和保持函数依赖

8.7.3 真题

9 数据库设计

9.1 数据库设计概述

9.2 需求分析

9.3 E-R图实体、联系、属性

9.3.1 真题

9.3.2 E-R图设计和弱实体

9.4 概念结构设计阶段

9.4.1 真题

9.5 逻辑结构设计

9.5.1 真题

9.6 物理设计阶段和实施与维护

9.6.1 真题

10 数据库的控制功能

10.1 事务处理

10.1.1 真题

10.2 数据库备份与恢复

10.2.1 真题

10.3 并发控制

10.3.1 真题

11 分布式数据库

11.1 真题

12 杂题选讲


1 数据模型

1.1 概念数据模型

1.2 结构数据模型

1.3 真题

1.2009年上半年第51题

2 三级模式结构

一个数据库可以有多个外模式,只能有一个内模式。

视图对应外模式基本表对应模式存储文件对应内模式

2.1 真题

1.2015年下半年第51题

2.2018年下半年第51题

3 两级映像

3.1 真题

1.2016年上半年第51题

2.2019年下半年第51题

4 关系模型

4.1 关系模型中基本术语

4.2 完整性约束

5 关系代数

5.1 并、差、交、笛卡尔积

5.2 投影、选择

5.3 θ连接和等值连接

5.4 自然连接(重要)

5.5 外连接

5.5.1 左外连接

5.5.2 右外连接

5.5.3 全外连接

全外连接就是将左外连接和右外连接产生的新元组加到自然连接后。

5.6 除(了解)

5.7 真题

1.2009年上半年第55、56题

2.2010年上半年第52题

3.2012上年上半年第52、53题

4.2012年下半年第51、52题

几元关系就是有几列。

5.2016年下半年第54、55题

6.2016年下半年第56题

7.2018年下半年第55、56题

8.2019年上半年第51题

9.2020年下半年第54、55题

10.2021年上半年第54、55、56题

11.2021年下半年第54、55题

这道题官方答案是C,但有待商榷,题目应该有些问题,看看即可。

选C的话将选项带入,发现最后只有6个属性列,而学号、学生名、学院名、成绩在1,2,3,6列,应该投影1,2,3,6,与题目1237不符。

而选A的话,根据《软件设计师教程》第5版 第482页倒数第2第3行原文:“如果没有重复属性,那么自然连接就转化为笛卡尔积”,那么A选项有7个属性列,学号、学生名、学院名、成绩在1,2,3,7列,与题目1237相符合,但没有相同属性列课程号,自然连接转化为笛卡尔积,就是把所有成绩和市场营销组合,那么会出现张晋的市场营销课程后接其他课程成绩或其他人的成绩,所以也不对。

5.8 关系代数转为SQL语句

5.8.1 投影、选择转为SQL语句

SQL不支持列的序号。

5.8.2 笛卡尔积转为SQL语句

5.8.3 自然连接转为SQL语句

5.8.4 真题

1.20011年下半年第53、54、55题 

2.2013年下半年第51、52、53、54题

要注意题目的连接方式,如果是笛卡尔积直接标列序号即可,如果是自然连接则要去除重复列。

3.2014年下半年第53、54、55题

4.2018年上半年第52、53题

5.2019年下半年第54、55题

6 SQL语言

6.1 数据定义语言

 

6.2 列级、表级完整性约束

列:not null (不能为空) 、unique (唯一)  、not null  unique (不能为空且唯一)、 default (默认)

主键(实体完整性)

外键(参照完整性)

检查(用户定义完整性)

6.3 数据操作语言

上图中第8行等价于第6行,查询结果一致。

6.4 数据查询语言

6.4.1 投影查询

6.4.2 选择查询

上图两行代码是等价的,得到相同结果。

6.4.3 排序查询

6.4.4 聚合函数

6.4.5 数据分组

6.4.6 内连接(了解)

上图两行代码是等价的,得到相同结果。(了解,大概率不考)

6.4.7 外连接(了解)

6.4.8 一般子查询

6.4.9 相关子查询和EXTSIS子查询

6.4.10 查询结果并、交、差运算

6.4.11 真题

1.2010年上半年第53、54、55题 

2.2012年上半年第55、56题

3.2014年上半年第56、57、58、59题

4.2014年上半年第54、55、56题

去重后结果都是1,题目要查询人数大于2,所以不存在符合的情况,所以56问D选项错误。

5.2017年上半年第54、55、56题

6.5 SQL控制语句

6.5.1 真题

1.2011年下半年第51、52题 

2.2016年下半年第51题

3.2019年上半年第54题

7 数据库对象

7.1 视图

7.1.1 真题

1.2012年下半年第55、56题

2.2013年上半年第54题

7.2 索引

7.2.1 真题

1.2017年下半年第51题 

2.2021年下半年第51题

8 关系数据理论

8.1 关系模式

8.2 规范化

8.2.1 函数依赖

8.2.2 码和推理规则

8.3 属性闭包计算

8.4 真题

1.2011年上半年第55、56题

2.2014年下半年第56题

3.2015年上半年第51题

4.2016年上半年第53题

5.2016年下半年第52、53题

53题D选项如果去掉的话,没有其他条件能够推出来,而去掉A1→A4,可由A1→A2,A2→A4推出。

6.2017年上半年第53题

7.2019年上半年第52、53题

8.2019年下半年第52、53题

9.2020年下半年第53题

10.2021年上半年第52、53题

11.2015年下半年第51题

8.5 范式

8.5.1 第一范式

数据冗余:没必要的信息多次出现。如上图,一名学生每选一门课姓名、学院、院长都会重复出现。

更新异常:

修改异常:可能引起修改不一致的问题。如上图,若修改张三的姓名为张四,就要修改多条信息,否则会出现学号001的学生既有张三又有张四。

插入异常:本来可以插入的数据现在插入不了。根据完整性约束,主键不能为空或部分为空,而上图是以学号和课程号为主键,这时如果我想单独插入学生信息(课程号为空)或课程信息(学号为空)或学院信息(学号、课程号都为空),则都会插入失败。

删除异常:删除时把不该删除的信息一起删除掉。如上图,要删除课程号105,则会把003孙七和数学学院一起删除掉,将不再查询到他们的信息,但孙七和数学学院仍客观存在。

8.5.2 第二范式

1NF→2NF:消除非主属性对候选码的部分函数依赖。

数据冗余:每多一名同学院学生,则院长就会冗余一次。

插入异常:仅插入学院信息无法插入。

修改异常:院长信息变更需修改多条数据。

删除异常:仅删除学院信息则会把003孙七一起删除掉,将不再查询到他的信息,但孙七仍客观存在。

8.5.3 第三范式

2NF→3NF:消除非主属性对候选码的传递依赖。

数据冗余:书店每有一本图书,店长名字就会冗余一次。

修改异常:店长信息变更需修改多次。

插入异常:仅插入书店和店长信息无法插入。

删除异常:仅删除高等数学则会把书店2一起删除掉,但书店2仍客观存在。

8.5.4 BC范式

3NF→BCNF:消除主属性对候选码的部分函数依赖和传递依赖。

8.5.5 第四范式

8.5.6 判断部分函数依赖技巧

当候选码是多个属性的属性组时,可能会存在部分函数依赖。

8.5.7 判断传递函数依赖技巧

题目中存在明显的传递:(时间,教室)→课程 、 课程→教师,但要注意的是判断第三范式的条件是,非主属性对候选码的一个传递依赖,而(时间,教室)都不是候选码。

8.6 真题

1.2010年下半年第54、55、56题

2.2012年上半年第54题

3.2012年下半年第53、54题

4.2015年下半年第55、56题

5.2017年下半年第52、53题

6.2018年下半年第53、54题

8.7 关系分解

8.7.1 真题

1.2009年上半年第52、53、54题 

2.2010年上半年第56题

3.2016年上半年第55、56题

8.7.2 无损链接和保持函数依赖

8.7.3 真题

1.2013年上半年第55题

2.2015年上半年第52题

3.2017年下半年第55题

9 数据库设计

9.1 数据库设计概述

9.2 需求分析

9.3 E-R图实体、联系、属性

9.3.1 真题

1.2009年下半年第54、55、56题 

派生属性是指在数据库中通过计算、组合或转换已有属性得到的新属性。

2.2010年下半年第52、53题

9.3.2 E-R图设计和弱实体

9.4 概念结构设计阶段

9.4.1 真题

1.2010年下半年第51题 

2.2015年下半年第51题

9.5 逻辑结构设计

9.5.1 真题

1.2009年下半年第51、52题 

2.2011年上半年第51、52、53、54题

3.2011年下半年第56题

4.2015年上半年第54、55、56题

5.2021年上半年第51题

9.6 物理设计阶段和实施与维护

9.6.1 真题

1.2010年上半年第51题 

2.2014年下半年第51、52题

3.2016年上半年第52题

10 数据库的控制功能

10.1 事务处理

10.1.1 真题

1.2014年上半年第53题 

2.2019年下半年第58题 

10.2 数据库备份与恢复

10.2.1 真题

1.2009年下半年第53题 

2.2013年下半年第56题

3.2014年上半年第51、52题

10.3 并发控制

10.3.1 真题

1.2017年上半年第51、52题 

2.2019年上半年第55题

11 分布式数据库

11.1 真题

1.2013年下半年第55题

2.2015年下半年第53、54题

3.2018年下半年第52题

4.2019年上半年第56题

5.2020年下半年第56题

12 杂题选讲

1.2012年上半年第49题

2.2015年上半年第53题

3.2015年下半年第52题

4.2017年下半年第56题

5.2018年上半年第51题

6.2015年下半年第51题

sql中declare是声明的意思,就是声明变量的,这个一般是用在函数和存储过程中的。

7.2018年上半年第56题

8.2021年下半年第56题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值