软考中级_【软件设计师】知识点之【数据库】

打印 上一主题 下一主题

主题 2184|帖子 2184|积分 6552

一、结构数据模子


  • 结构数据模子是直接面向数据库的逻辑结构
  • 包括:

    • 条理模子、网状模子、关系模子(紧张学习)、面向对象模子
    • 条理模子:

      • 是一个树结构
      • 一对多

    • 网状模子:

      • 图结构
      • 多对多

    • 关系模子

      • 是一种二维表格结构

        • 比方:Excel

      • 每个二维表由行、列组成(称为关系)
      • 关系模子是对关系的描述
      • 关系模子是由多个关系模子组成的集合



二、三级模式结构



  • 包括:

    • 概念模式
    • 外模式
    • 内模式

  • 概念模式:

    • 别名:模式
    • 对应:根本表

  • 外模式:

    • 别名:用户模式、子模式
    • 对应:视图

  • 内模式:

    • 别名:存储模式
    • 对应:存储文件

三、二级映像

/表示为到

  • 包括:

    • 模式/内模式映像
    • 外模式/模式映像

  • 模式/内模式映像:

    • 物理独立性
    • 实现了模式到内模式映像之间的转换

  • 外模式/模式:

    • 逻辑独立性
    • 实现了外模式到模式映像之间的转换

三、关系模子中的根本术语

注意:码=键

四、关系模子中的关系完整性


  • 三个规则

    • 实体完整性:主键不能为空
    • 参照完整性:

      • 比方:表a中有主键和外键,a中的外键对应b表中的主键,
      • 如许的话,a表中的外键的值,只能是b表中的主键,或空,不能为其他



  1. 3. 用户定义完整性:用户对某一具体的数据制定某种约束检测。
复制代码

五、笛卡尔积


  • 符号:✖
  • 比方:

六、关系代数

符号大全



差解释:

  1. 1. 删除B中和A一样的,剩下的就是差
复制代码

投影

  1. 2. 符号:Π
  2. 3. 解释:在关系R中选出若干属性列A组成新的关系
复制代码

选择

  1. 4. 符号:![](https://cdn.nlark.com/yuque/0/2025/png/38516294/1741011697358-5e48b58a-ae55-4dcc-9bdb-5462b55d89f5.png)
  2. 5. 含义:从关系R中选择满足条件的元组
复制代码

  1. 6. **注意:在关系代数中a=1和a=‘1’的含义是不一样的**
  2. 7. **a=1是比较a列和第一列的数据是否一致**
  3. 8. **a='1'是比较a列的元素是否等于字符‘1’**
复制代码
连接(join)

  1. 9. 符号:        ![](https://cdn.nlark.com/yuque/0/2025/png/38516294/1741011872559-b9e6ef15-b6a8-4f66-911c-4cb70951ca83.png)
  2. 10. 分类:
  3.     1. ![](https://cdn.nlark.com/yuque/0/2025/png/38516294/1741011915166-6d92691e-6735-4152-a56f-86c339424ae5.png)
  4.     2. 等值连接
  5.     3. 自然连接
  6. 11. 注意:**笛卡尔积是无条件产生的**
  7. 12. **如果使用自然连接,但是列于列之间没有相同属性的话,会触发笛卡尔积现象。**
  8.     1. 例如:![](https://cdn.nlark.com/yuque/0/2025/png/38516294/1741012048607-78ed8a87-e639-4ded-bcc2-a4e77207b3ce.png)
复制代码
θ连接



等值连接


  • 等值连接和自然连接的区别:

    • 等值连接 》》》只必要找到同名列的相同属性元素元组即可
    • 自然连接》》》必要再删除重复的列


自然连接


  • 含义:是去除重复属性列的等值连接(常考
  • 记作:

  • 注意:假如R和S有多个属性同名,那必要R和S的多个属性值都相同。
外连接


  • 包罗:

    • 左外连接
    • 右外连接
    • 全外连接

左外连接


  • 符号:

  • 含义:取出左侧关系与右侧不匹配的元组,用null填充左侧

右外连接


  • 符号:

  • 含义:取出右侧关系与左侧比匹配的元组,用null填充左侧

全外连接


  • 符号:


除(相识)


  • 符号:➗
  • 含义:R➗S,删除R中和S相同的元组

七、以上知识点例题


  • 例题一


  • 例题二


  • 例题三


  • 例题四


  • 例题五

八、关系代数转SQL


  • 投影
  1. select * from 表名
复制代码

  • 选择
  1. select * from 表明 where 属性 (符号) 属性
复制代码

  • 笛卡尔积征象
  1. select a.name,b.name from a,b
复制代码

  • 自然连接
  1. select * from a,b where a.name = b.name
复制代码


  • 例题1

九、SQL语言

简介:SQL Service 数据库的体系结构是由视图、根本表和存储文件之间结构组成。
SQL的数据定义语言


  • 创建数据库
  1. create database 数据库名称
复制代码

  • 创建表结构
  1. create table 表名称 (
  2.   # 属性
  3.   name char,
  4.   age char(2)
  5. )
复制代码

  • 增加表的列
  1. alert table test add f3 int
复制代码

  • 修改test表的f3范例为float
  1. alert table test modify f3 float
复制代码

  • 删除f3列
  1. alert table test drop f3
复制代码

  • 删除test表
  1. drop table  test
复制代码

  • 列级完整性约束
    1. not null
    2. unique
    3. default
    4. not null unique
  1. # 创建test表,其中a属性不能为空,且值唯一,b属性默认值为'1'
  2. create table test (
  3.   a int unique not null,
  4.   b char(11) default '1'
  5.   
  6. )
复制代码

  • 表级完整性约束(掌握)

    • 主键约束
    • 外键约束
    • 用户自定义约束

  1. create table (
  2.   id int  ,
  3.   age char(11),
  4.   imgId int,
  5.   primary key(id), # 主键
  6.   foreign key(imgId) references img # 外键
  7.   ,
  8.   check(name <=120)  # 用户自定义
  9. )
复制代码
SQL的数据操纵语言

  1. # 插入
  2. insert into 表名称 (列名) values(元组值)
  3. # 删除
  4. delect from 表名称 where 条件
  5. # 修改
  6. update 表名称 set 列名称=想要修改的值  where  条件
复制代码
SQL的数据查询语言


  • 完整语法


  • 投影查询
  1. select * from 表名
复制代码

  • 查询去重复的列
  1. select distinct 列1  from 表名称
复制代码

  • 选择查询
  1. #范围查询
  2. select * from test where between 条件1 and 条件1
  3. #like关键字  _表示一个字符,%表示一个或多个字符
  4. select * from test where like '王_'
  5. # 查询成绩为31,32,33的人
  6. select * from test where cj in (32,31,33)
  7. # 条件逻辑 and or not is
  8. # 排序查询  默认升序 asc  降序为:desc
  9. order by 列名称 desc
  10. # 查询一学号为降序的S表
  11. select * from s
  12. order by 学号 desc
复制代码

  • 聚合函数

  1. 查询s表中年龄最大的人
  2. select max(age) from s
复制代码

  • 分组
  1. #  group by 列名称
  2. # 解释:把列中值相同的分为一组
复制代码

  • 聚合和分组

    • 因为聚合函数一般只有一个分组,但是假如要表现多列的话加上分组

  • 实验顺序


  • 连接查询
  1. # 一般格式
  2. select * from a,b where 条件
  3. # 在sql service中连接分成了内连接(inner join)和外连接(outer join),mysql默认为内连接
  4. # 内连接分为:等值连接、非等值连接、自连接
  5. # 外连接分类:左外连接、右外连接、全外连接
  6. left outer join
  7. right outer join
  8. full outer join
复制代码


  • 子查询

    • 解释 :一个查询中的条件为一个查询

  1. # 例如:在A表中学生编号为105和该同学同岁的人
  2. select * from where age = (select age from A
  3.                           where no ='105')
复制代码
注意:

all(全部大于)
any(大于最小的)

  • 带EXISTS测试的子查询


  • 查询结果的并、交、差盘算

    • 并(union)

      • 比方A和B表的列1


  1. select 列1 from A union select 列1 from B   
复制代码
  1. 2. 交(intersect)
  2.     1. 例如:查A表和B表列1值都相同的
复制代码
  1. select 列1 from A intersect select 列1 from B   
复制代码
  1. 3. 差(except)
  2.     1. 例如:把A表中属于B的删除
复制代码
  1. select 列1 from A except select 列1 from B
复制代码
例题

SQL控制语句


  • 数据控制师用户对数据的存储权力
  • 授权的语句格式

    • 说明(记):wtth grant option表示了,若指定了此子句,得到的权限用户还可以赋给其他人

  1. grant <权限> [on 对象属性] <对象名> to <用户> [wtth grant optino]
  2. # 例如:将对供应商s,零件p项目j的所有操作权力给用户u1,u2
  3. grant all privileges on table s,p,j to u1,u2
  4. # 将表s的插入权限给u3
  5. grant inster on table s to u3
  6. # 数据库s创建表的权力给u4
  7. grant createtab on database S to u4
复制代码

  • 回收权限语句(相识)
  1. # 格式:
  2. revoke xxx from 用户
  3. # 例如:将u1、u2在s1,s2表中的所有权限回收
  4. revoke all privileges on table s1,s2 to u1,u2
  5. #例如 将所有用户对表s1的查询权限回收
  6. rovoke select on table s1 from public # public指全体用户
复制代码
视图


  • 视图是一张假造表
  • 注意:在视图中,子查询不能利用 ordeer by和distinct(去重)
  • 创建视图
  1. create view 视图名 as select 查询子查询
复制代码


  • 删除
  1. drop 视图表
复制代码

  • 例题

    • 答案:BC


索引(index)

重点记:**内模式**是定义所有的记录范例、索引、和文件的组织方式。

例题

十、关系模式

一个关系模式应当为一个五元组(含关系名):R(U,D,dom,F)
含义解释


  • R:关系名
  • U:一组属性
  • F:U的一组函数依靠
  • D和dom(不做相识)
经常把关系模式看作:R(U,F)
关系数据库的规范化

扩展知识:

函数依靠

  1. 1. x函数决定y或y函数依赖于x
  2. 2. 记作:x—>y
复制代码

  • 平凡函数依靠和非平凡函数依靠


  • 完全函数依靠

  1. 1. 例如:(学号,课程号)—>成绩
  2. 2. 解释:需要学号和课程号两个主属性才能推出成绩
复制代码

  • 部分函数依靠

  1. 1. 例如:(学号,课程号)—>成绩 ,学号->姓名
  2. 2. 解释:在候选码中,其中一个真子集就推出了姓名
复制代码

  • 通报依靠

    • 比方:x->y,y-z 以是可以得到:x->z

  • 伪通报依靠(x,y)->z, zx->b,b->c 可以得出:(x,y)->c
码和推理规则


  • 码:k为R(u,f)中属性的组合
  • 候选码:k的恣意子集不可能推出u
  • 全码:主属性(候选码的一个属性)+非主属性

    • 关系R中的所有属性组合在一起

  • 推理规则:

    • 通报率:a->y,y->z 则a->y
    • 合并原则:a->b,a->x,则 a->bx
    • 分解规则:a->b,c包罗b 则a->c

属性闭包盘算

目标:找出可以完全推到出U的元素
本领:整个右侧,并找到右侧 没有出现的元素


可以找到两个候选码(a1a3)和(a1a2)
注意:当有多个候选码的时候,可以恣意选一个作为主键

十一、关系模式的范式

扩展

第一范式(1NF)

要求:第一范式不可再分
题目:不能清除数据冗余和更新(包括删除、修改、插入)非常题目
第二范式(1NF)

要求:满足第一范式,且每个非属性都完全函数依靠候选码
存在题目:可能存在通报函数依靠
分解过程:

第三范式(1NF)

办理第二范式存在的非主属性函数依靠我题目

存在题目:可能存在主属性对码的部分依靠和通报依靠

BC范式(BCNF)

消除主属性对候选码的部分函数依靠和通报依靠
第四范式(1NF)(相识)

总结



  • 判断部分函数依靠本领:

    • 先找到候选码



  • 判断通报依靠函数本领

例题



十二、无损连接


  • 含义:对关系模式分解时,原关系模式下一任合法的关系实例可通过自然连接规复

    • 比方:



  • 保持函数依靠的分解

例题
答案:D

十三、E-R图


别名:概念模子
实体


  • 形状:矩形

接洽


  • 形状:菱形


  • 分类:

    • 一对一:1:1
    • 一对多: 1:n
    • 多对多 : n:m

属性


  • 形状:椭圆
  • 分类:

    • 原子属性和复合属性(可再分)
    • 单值属性和多值属性

      • 多值案例:一个职员多个亲戚

    • null属性
    • 派生属性

      • 可以从其他属性得来

        • 比方:A可以通过盘算得到B




例题


弱实体


十四、数据库分析与设计(紧张)


  • 数据库设计的战略:自顶向下、自底向上
  • 设计步调:

需求分析

紧张网络用户的需求,确定系统界限
产生的结果物:数据流程、数据字典、数据字典、系统需求说明书
概念结构设计

通过需求分析结果物,生成对应的E-R图
E-R图之间的冲突


  • 定名冲突:

    • 相同含义的属性在不同的E-R图中名称不同(异名同义)

      • 比方:学生编号和学号


  • 结构冲突

    • 同一实体在不同的E-R图中有 不同的属性


例题:

逻辑结构设计

E-R图到关系模式的转换

  • 一对一关系转换

    • 方法一:创建一新的关系模式,存放两张表的主键
    • 方法二(常用):恣意选一张表把另一张表的主键到场,作为该表的外键



  • 一对多关系转换:

    • 方法一:创建一新的关系模式,存放两张表的主键
    • 方法二(常用):选关系为多的表把另一张表的主键到场,作为该表的外键

  • 多对多关系转换:

    • 创建一新的关系模式,存放两张表的主键



  • 例题

物理结构设计

数据库实行阶段

数据库运行、维护阶段

例题



十五、事件管理

背4个特性:原子性、划一性、隔离性、持久性

例题:

十六、数据库的备份和规复


  • 备份方法


  • 规复


  • 例题

十七、并发控制技能


  • 分类:

    • 排它锁,简称:X锁或写锁
    • 共享锁,简称:S锁或读锁

  • 排它锁:事件假如到场它,其他事件都不能再给给事件加锁
  • 共享锁:只能读事件,不能修改事件,其他只能再给它加共享锁
  • 例题:

十八、分布式数据库




十九:杂题







免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表