软件设计师之数据库系统万字大总结(莽起来)上

简介: 软件设计师之数据库系统万字大总结(莽起来)上

软件设计师之数据库系统



1.数据库模式


1.1三级模式-两级映射


微信图片_20211229130832.png


  • 三级模式


  • 模式: 模式又称概念模式或逻辑模式,是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。


  • 外模式:又称子模式;它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行处理。外模式反映了数据库的用户观(视图、查出数据的表)。


  • 内模式:又称存储模式;它是数据库中全体数据的内部表示或底层描述,它描述了数据在存储介质上的存储方式及物理结构(顺序存储、按照B树结构存储还是按hash方法存储),对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。


  • 两级映射


  • 外模式一模式映射:定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变。


  • 模式一内模式映射:定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式一内模式映射,就能保持模式不变,因此应用程序也可以保持不变。


1.2数据库设计过程


微信图片_20211229131059.png



2.ER模型


方框表示实体,椭圆表示属性,菱形表示联系。


微信图片_20211229131135.png


一般都是先画局部的,然后再集成全部的ER图


  • 集成的方法:


  • 多个局部ER图一次集成
  • 逐步集成,用累加的方式一次集成两个局部ER


  • 集成产生的冲突及解决办法:


  • 属性冲突:包括属性域冲突和属性取值冲突
  • 命名冲突:包括同名异议和属性取值冲突
  • 结构冲突:包括同一对象在不同应用中具有不用的抽象,以及同一实体在不同局部ER图中所包含的属性个数和属性排列次序不完全相同 。


联系:


  • 一个实体型转换为一个关系模式


  • 1:1联系:一个实体转成一个关系模式,把联系放在任何一个实体记录下来
  • 1:n联系:每个实体要转成一个单独的关系模式,可以把联系单独转成一个关系模式,这个做法不是必须的。也可以把联系放到多的那一端。
  • m:n联系:每个实体要转成一个单独的关系模式,联系也要转成一个关系模式。


  • 三个以上实体间的一个多元联系


3.关系代数与元组演算


主要以选择题出现


并,交,差,笛卡尔积,投影,选择,联接


微信图片_20211229131530.png


并:把两个内容合在一起,并将一样的内容只显示一次


交:把两个内容相同的,显示出来。


微信图片_20211229131601.png


差:我有的你没有


微信图片_20211229131605.png


笛卡尔积:前面的几个字段来自于S1,后面的几个字段来自于S2。把参与笛卡尔积的属性一一列出来。记录的产生是S1的第一条记录要和S2的所有记录进行一次组合形成一条组合。


笛卡尔积不会把相同的部分去掉


微信图片_20211229131654.png


投影和选择:


投影是选列的操作,


选择的是选行的操作


微信图片_20211229131658.png


联接:


联接会把相同的部分去掉


等值联接:S1 Sno = S2 Sno


微信图片_20211229131754.png


相关文章
|
存储 机器学习/深度学习 安全
软件设计师之数据库系统万字大总结(莽起来)下
软件设计师之数据库系统万字大总结(莽起来)下
软件设计师之数据库系统万字大总结(莽起来)下
软件设计师之数据库系统万字大总结(莽起来)中
软件设计师之数据库系统万字大总结(莽起来)中
软件设计师之数据库系统万字大总结(莽起来)中
|
数据库 分布式数据库
软件设计师-数据库( 分布式)
数据库备份与恢复 数据仓库/分布式系统
1125 0
|
10天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
25 1
|
12天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
28 4
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
61 3
Mysql(4)—数据库索引
|
19天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
87 1
|
21天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
61 2
|
24天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
92 4
|
6天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
51 0