数据库原理(二)

简介: 笔记

实体(Entity)

客观存在并可相互区别的事物称之为实体。可以看成是Java类

例子:(课程关系表)就是一个实体。



属性(Attribute)

实体所具有的某一特性称之为属性。可以看成是Java类的成员变量。属性在数据库中又称为字段(或者是列)

例子:(课程名),(课程号)、(学时)就是属性名。



元组

除含有属性名所在的行之外的其他行称之为元组。

下面的每一行数据都称之为元组

(C401001        数据结构        70)

(C401002     操作系统        80)

(C402001     计算机原理   60)


码(Key)

码也被称作是关键字。它可以唯一标识一个实体

候选码和主码:

  • 候选码:如果一组属性集能唯一地标识一个关系中的元组而又不含有多余的属性,则称该属性集为该关系的候选码 。(候选码可能不止有一个
  • 主码:用户选定的那个候选键称为主键

例子:邮寄地址(城市名,街道名,邮政编码,单位名,收件人)

它有两个候选键:{城市名,街道名} 和 {街道名,邮政编码}

如果我选取{城市名,街道名}作为唯一标识实体的属性,那么{城市名,街道名} 就是主码


关系模式

关系名和其属性集合的组合称之为关系模式

关系模式例子:课程关系表(课程号,课程名,学时)

提示:关系模型就是关系模式组成的集合


关系模型要求元组的每一个分量都是原子性的,也就是说,它必须属于某种元素类型,如Integer、String等等,不能是列,集合,记录,数组!

域就代表着该元组中每个分量的类型,从上面的图我们可以看出,它的域是这样的:课程号:string,课程名:string,学时:int


数据库体系内部结构

数据库的体系内部结构我们可以分为三层:

  • 外模式
  • 逻辑模式
  • 内模式

三级模式的位置:

120.png

三级模式的作用:


121.png


逻辑模式

逻辑模式是对数据库全部数据的整体逻辑结构的描述

例子:现在我有一个数据库,操作权限、角色、用户之间的关系

于是有了以下的关系模式

  • 权限关系(权限编号,权限名称,权限描述)
  • 角色关系(角色编号,角色名称,角色描述)
  • 用户关系(用户编号,用户名称,用户密码)

在数据库中所有关系模式的集合就组成了逻辑模式!



外模式

外模式是对数据库用户能看见和使用的局部数据逻辑结构的描述,是与某一应用有关的数据的逻辑表示

外模式是可以有多个的,外模式是用户和DBAS的接口,是对局部逻辑结构的描述!

当用户应用程序只需要显示用户名称和密码时:

  • 用户关系(用户名称,用户密码)

在数据库中操作局部逻辑结构就称作为外模式



内模式

内模式是对数据库表物理存储结构的描述。它定义了数据的内部记录类型、记录寻址技术、索引和文件的组织方式及数据控制方面的内容



123.png


DB内部体系结构的两级映像

两级映像分别是:

  • 外模式和逻辑模式的映像
  • 逻辑模式和内模式的映像

124.png

提出两级映射的概念有什么用呢?为什么需要有这两级映像呢??

  • 当数据库的逻辑模式结构因某种原因修改时,只要没有改变逻辑模式中与外模式定义有关的属性及与其关系模式名的隶属关系,就可使外模式保持不变,从而不需修改应用程序
  • 当数据库的内模式由于某种原因要修改时,可通过对逻辑模式与内模式之间的映象的修改,使逻辑模式尽可能地保持不变,实现内模式的改变尽可能地不修改应用程序。

也就说:在改变内部结构的时候,只要不会触及外部的数据时,外部的数据并不需要做改变。两级映像概念的提出也就是程序中耦合的问题!


目录
相关文章
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
缓存 NoSQL Redis
Redis原理—2.单机数据库的实现
本文概述了Redis数据库的核心结构和操作机制。
Redis原理—2.单机数据库的实现
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
1086 5
Mysql(3)—数据库相关概念及工作原理
|
存储 缓存 网络安全
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
322 2
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
543 6
|
SQL 关系型数据库 MySQL
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
|
消息中间件 Kafka 数据库
深入理解Kafka的数据一致性原理及其与传统数据库的对比
【8月更文挑战第24天】在分布式系统中,确保数据一致性至关重要。传统数据库利用ACID原则保障事务完整性;相比之下,Kafka作为高性能消息队列,采用副本机制与日志结构确保数据一致性。通过同步所有副本上的数据、维护消息顺序以及支持生产者的幂等性操作,Kafka在不牺牲性能的前提下实现了高可用性和数据可靠性。这些特性使Kafka成为处理大规模数据流的理想工具。
444 6
|
存储 SQL 关系型数据库
(六)MySQL索引原理篇:深入数据库底层揭开索引机制的神秘面纱!
《索引原理篇》它现在终于来了!但对于索引原理及底层实现,相信大家多多少少都有了解过,毕竟这也是面试过程中出现次数较为频繁的一个技术点。在本文中就来一窥`MySQL`索引底层的神秘面纱!
1123 7
|
SQL 存储 Java
sql注入原理与实战(二)数据库原理
sql注入原理与实战(二)数据库原理