第一章 数据库系统概述
第一节 数据库基本概念
👉1.1 请说明数据库管理系统的功能?
1.数据定义功能; DDL(create,alter,drop)
2.数据操纵功能; DML(insert,update,delete)
3.数据库的建立和维护功能;
4.数据库的运行管理功能;
5.数据组织、存储和管理功能;
6.其他功能:主要包括与其他软件的网络通信功能、不同数据库 管理系统之间的数据传输以及相互访问功能等。
第二节 数据管理技术的发展
👉2.1 数据库管理系统提供哪些对数据的统一管理和控制功能?
(1)数据的完整性;
(2)数据的安全性;
(3)并发控制;
(4)故障恢复。
助记:完全病故(完全并故)。
第三节 数据库系统的结构
【三级模式结构的两层映像与数据独立性】
👉3.1 外模式/模式映像
定义了各个外模式与概念模式之间的映像关系,这些映像定义通常在各自的外模式中加以描述。由于同一个模式
可以有任意多个外模式,因此对于每一个外模式,数据库系统都会有一个外模式/模式映像。 保证了数据与程序
的逻辑独立性。
👉3.2 模式/内模式映像
定义了数据库全局逻辑结构与物理存储之间的对应关 系,这种映像定义通常是在模式中加以描述的。
模式/ 内模式映像是唯一的。 保证了数据与程序的物理独立性。
第四节 数据模型
【数据模型的分类】
👉4.1 简述数据模型的分类?
1.概念层数据模型
2.逻辑层数据模型
3.物理层数据模型
👉4.2 主要的逻辑数据模型有哪些?
1.层次模型:有且仅有一个结点没有父结点,它称作根结点; 其他结点有且仅有一个父结点。
2.网状模型:以网状结构表示实体与实体之间的联系。
3.关系模型:用二维表结构来表示实体及实体间联系的模型。
4.面向对象模型:面向对象方法与数据库相结合所构成的数 据模型。
👉4.3 简述关系模型的优点?
1.关系模型是建立在严格的数学概念的基础上的。
2.关系模型的概念单一,统一用关系来表示实体以及实体之间的联系,对数据的检索和更新结果同样也是用关系(即
表)来表示。因而,关系模型的数据结构简单、清晰,用户易懂、易用。
3.关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据
库开发建 立的工作。
助记:数学因关系简单,独立安检。(数学;因关系简单;独立、 安全、简化工作。)
第二章 关系数据库
第一节 关系数据模型
👉1.1 关系代数
👉1.2 简述实体完整性约束?
指关系的主属性,即主码的组成不能为空,也就是关系的主属性 不能是空值 NULL。
👉1.3 简述参照完整性约束?
定义外码和主码之间的引用规则,它是对关系间引用数据的一种 限制。 描述定义:若属性 F 是基本关系 R 的外码,它与基本关系 S 的主 码 K 相对应,则对于 R 中每个元组在 F 上的值只允许两种可能, 即要么取空值,要么等于 S 中某个元组的主码值。
👉1.4 简述用户定义的完整性约束?
针对某一应用环境的完整性约束条件,它反映了某一具体应用所涉及的数据应满足的要求。
第二节 关系数据库的规范化理论
【函数依赖与关键字】
👉2.1 完全函数依赖
设R为任一给定关系,X、Y为其属性集,若X->(决定)Y,且对X中的任何真子集X`,都有X`-/->(不决定)Y,则称Y完全函数依赖于X
理解:必须是一个完整的X才能决定Y,所以Y是完全依赖于X
👉2.2 部分函数依赖
设R为任一给定关系,X,Y为其属性值,若X->Y,且X中存在一个真子集X`,满足X`->Y,则称Y部分函数依赖于X
理解: Y可以由X的一部分X`(X的真子集)来决定,则Y部分函数依赖于X
👉2.3 传递函数依赖
设R为任一给定关系,X,Y,Z为其不同属性子集,若X->Y,Y-/->X,Y->Z,则有X->Z,成为Z传递函数依赖于X
👉2.4 候选关键字
设R为任一给定关系,U为其所含的全部属性集合,X为U的子集,若有完全函数依赖X->U,则称X为R的一个候选关键字
理解:X(学号+科目)->U(该学生的个人信息+考试成绩)
【范式与关系规范化过程】
👉2.5 第一范式(1NF)
设R为任一给定关系,如果R中每个行与列的交点处的取值都是不可再分的基本元素,则R为第一范式。
1NF是关系型数据库表设计最基本的要求
理解:1NF就是数据表中没有重复的“列”
👉2.6 第二范式(2NF)
设R为任一给定关系,若R为1NF,且其所有非主属性都完全函数依赖于候选关键字,则R为第二范式。
理解:消除部分依赖
👉2.7 第三范式(3NF)
设R为任一给定关系,若R为2NF,且其每一个非主属性都不 传递函数依赖于 候选关键字,则R为第三范式。
理解:建立在2NF上,消除传递函数依赖
注:满足高级范式的一定满足低级范式,但是满足低级范式的不一定满足高级范式。
第三章 数据库设计
第一节 数据库设计概述
【数据库的生命周期】
👉1.1 数据库实现与操作阶段包括哪些子阶段?
数据库的实现与操作阶段包括:
1.数据库的实现
2.操作与监督
3.修改与调整阶段
第二节 数据库设计的基本步骤
【逻辑结构设计】
👉2.1 简述逻辑结构设计的主要步骤?
1.模型转换是指将概念模型等价地转换为特定DBMS支持地关系模型,网状模型或层次模型表示。
2.子模式设计地目标是抽取或导出模式的子集,以构造不同用户使用的局部数据逻辑结构。
3.编制应用程序设计说明的目的是为可实际运行的应用程序设计提供依据和指导,并作为设计评价的基础。
4.设计评价的任务是分析并检验模式及子模式的正确性与合理性。
👉2.2 简述需求分析的四个步骤?
1.确定数据库范围
2.分析数据应用过程
3.收集与分析数据
4.编写需求分析报告
第三节 关系数据库设计方法
【E-R图的表示方法⭐⭐⭐】
👉3.1 E-R图的表示元素?
1.实体:矩形
2.属性:椭圆形,用无向边连接与其对应的实体和联系
3.联系:菱形,用无向边分别与有关实体连接起来(1:1,1:N候造M:N)
【E-R图向关系模型的转换⭐⭐⭐】
👉3.2 E-R图向关系模型转换的原则?
1.一个实体型转换为一个关系模式
2.一个一对一联系可以转换为一个独立的关系模式
3.一个一对多联系可以转换为一个关系模式
4.一个多对多联系转换为一个关系模式
5.三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
6.具有相同码的关系模式可以合并
举例:设有如下
解析:
1(需要注意的是:题中要求的是不必画实体的属性,但是“还书日期”,和“借书日期”并不是实体的属性)
- 注意:在“借阅”中,“读者号”和“图书号”共同作为借阅关系的主键,但同时这两个属性又同时是“读者”和“类别”实体中的属性,所以他俩又同时是外键
第四章 SQL与关系数据库基本操作
第一节 SQL概述
【SQL的组成⭐⭐⭐】
👉1.1 SQL的特点有哪些?
1.SQL不是某个特定数据库供应商专有的语言
2.SQL简单易学
3.SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作
👉1.2 简述数据操纵语言(DML)的功能以及主要SQL语句?
数据库操纵语言主要用于操纵数据库中各种对象,特别是检索和修改数据
DML主要包括的SQL语句:
SELECT: 用于从表或者视图中检索数据
INSERT: 用于将数据插入到表或者视图中
UPDATE: 用于修改表或者视图中的数据,其既可修改表或者视图中一行数据,也可同时修改多行或全部数据
DELETE: 用于从表或者视图中删除数据,其可根据条件删除指定数据
👉1.3 简述数据控制语言(DCL)包括的SQL语句以及其功能?
1.GRANT :用于授权,把语句许可或对象许可的权限授予其他用户和角色。
2.REVOKE :用于回收权限。
👉1.4 简述SQL调用以及主要目的?
1.SQL调用:
包括SQL例程和调用规则。
2.目 的:
以便提高SQL的灵活性、有效性、共享性以及使SQL具有更多高级语言的特征
👉1.5 简述SQL会话规则?
可使应用程序连接到多个SQL服务器中的某一个,并与之交互
第二节 MySQL预备知识
【MySQL中的SQL⭐⭐】
👉2.1 简述变量的含义及其属性?
变量用于临时存储数据,变量中的事件可以随着程序的运行而变化,变量有名字和数据类型两个属性
第三节 数据定义
【表定义⭐⭐⭐】
👉3.1 请列出MySQL中和表定义相关的四个SQL语句?
(1) CREATE TABLE
(2) ALTER TABLE
(3) RENAME TABLE
(4) DROP TABLE
(5) SHOW TABLES
(6) SHOW COLUMNS
👉3.2 用SQL语句建立“类别”表
类别(类号、类名),其中类号是主键
create table 类别(类号 char(10) primary key,类名 char(10) );
例子:create table user (user_id char(10) primary key,user_name char(32));
【索引定义⭐】
👉3.3 简述索引的分类有哪些?
1.普通索引:最基本的索引类型,没有任何限制
2.唯一索引:索引列中所有值都只能出现一次,必须是唯一的
3.主键索引:一种唯一性索引
【删除表⭐⭐】
👉3.4 说明DROP TABLE 和DELETE 语句的联系和区别?
(1)DROP TABLE 语句和DELETE语句都可以从基本表中删除元组
(2)DROP TABLE 语句不但删除表中的全部元组,还删除整个关系表结构
(3)DELETE 语句可以根据条件删除表中指定的部分元组
第四节 数据更新
【修改数据⭐⭐⭐】
👉4.1 修改数据语法格式?
UPDATE 表名称 SET 列名称 = 新值
[where 数据的选择条件]
[order by 被修改的次序]
[limit 被限定的行数]
例子:update "t_user" set name="张三" where id=1234
第五节 查询语句
【SELECT数据⭐⭐⭐】
👉5.1 SELECT语法格式?
select 输出的字段 from 数据的来源表
[WHERE 数据的选择条件]
[GROUP BY 分组]
[HAVING 过滤分组]
[ORDER BY 排序字段] ASC(升序,默认)/DESC(降序)
[LIMIT 限制要检索的行数]
【列的选择于指定⭐⭐⭐】
👉5.2 常用名词解释?
(1)定义并使用列的别名:select 列名 as 新列名
(2)聚合函数:
求组中项数(count)
求最大值(max)
求最小值(min)
求和(sum)
求平均值(avg)
第六节 视图
【创建视图⭐⭐⭐】
👉6.1 创建视图案例?
例:
使用SQL语言建立一个“男”会员的视图VSH,该视图包括信息:
会员编号、会员名、性别、联系电话。
答:
create view VSH(会员编号,会员名,性别,联系电话)
as select 会员编号,会员名,性别,联系电话
from 会员
where 性别='男'
👉6.2 简述使用视图表的优点?
(1)集中分散数据
(2)简化查询语句
(3)重用SQL语句
(4)保护数据安全
(5)共享所需数据
(6)更改数据格式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-86adKC30-1597913176830)(C:/Users/liqiang/AppData/Roaming/Typora/typora-user-images/image-20200811113153756.png)]
答:
(1)select 商品编号 from 商品 where 价格 between 10 and 15;
(2)select 商品编号,采购日期,采购数量 from 采购 where 编号 in (select 编号 from 采购员 where 姓名='刘聪');
**姓名可能重名**
第五章 数据库编程
第一节 存储过程
【存储过程的基本概念⭐】
👉1.1 简述存储过程的基本概念?
概念:
存储过程是一组为了完成某项特定功能的SQL语句集,其实质上就是一段存储在数据库中的代码,它可以由声明式的SQL语句和过程式SQL语句组成
👉1.2 请简述在数据库中使用存储过程的优点?
(1)可增强SQL语言的功能和灵活性
(2)良好的封装性
(3)高性能
(4)可减少网络流量
(5)存储过程可作为一种安全机制来确保数据库的安全性和数据的 完整性
【局部变量⭐⭐⭐】
👉1.3 简述在存储过程中局部变量与用户变量的区别?
局部变量:
局部变量声明时,其前面没有使用@符号,并且他只能被声明他的BEGIN……END语句块中的语句所使用
用户变量:
用户变量声明时,会在其名称前面使用@符号,同事已声明的用户变量存在于整个会话之中
【游标⭐⭐】
👉1.4 简述游标的含义及创建游标的语句?
游标是一个被SELECT语句检索出来的结果集。
在MySQL中,可以使用 DECLARE CURSOR 语句创建游标
👉1.5 游标使用的注意事项?
(1)游标只能用于存储过程或存储函数中,不能单独在查询操作中使用。
(2)在存储过程或存储函数中可以定义多个游标,但是在一个BEGIN……END语句块中每一个游标的名字必须是唯一的。
(3)游标不是一条SELECT语句,是被SELECT语句检索出来的结果集。
持续更新……