关系数据库概述

article/2025/10/9 14:53:51

一、数据模型

        一般地讲,数据模型是严格定义的一组概念的集合,通常由数据结构数据操作完整性约束三部分组成。

1.1 数据结构

        数据结构描述数据库的组成对象以及对象之间的联系。数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按数据结构的类型来命名数据模型。例如层次结构、网状结构和关系结构的数据模型分别命名为层次模型网状模型关系模型

1.1.1 层次模型

        层次模型就是以“上下级”的层次关系来组织数据的一种方式,层次模型的数据结构看起来就像一颗树:

 举例:

 图1.18

层次模型的基本特点:任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。

1.1.2 网状模型

        在现实世界中事务之间的联系更多的是非层次关系的,用层次模型表示非树形结构是很不直接的,网状模型则可以克服这一弊病。

在数据库中,满足以下两个条件的基本层次联系集合称为网状模型:

(1)允许一个以上的结点无双亲

(2)一个结点可以有多于一个的双亲

 

P26 图1.23 1.24

1.1.3 关系模型

        关系数据库系统采用关系模型作为数据的组织方式,是建立在严格的数学概念基础上。

        关系模型把数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定,它的数据模型看起来就是一个Excel表:

  •  关系(Relation):一个关系对应通常说的一张表,如上面的一张表就可以称为一个关系;
  • 元祖(Tuple):表中的一行即为一个元祖;
  • 属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。如上面的“学号”、"姓名"、“年龄”都是属性;
  • 码(Key):也称为码键。表中的某个属性组,它可以唯一确定一个元祖。例如上面的“学号”属性就可以唯一确定一个学生,也就成为本关系的码;
  • 域(Domain):属性的取值范围,如人的年龄一般在1~150岁之间,性别的域是“男”或者“女”等;
  • 分量:元组中的一个属性的值;
  • 关系模式:对关系的描述,一般表示为:关系名(属性1、属性2、...、属性n)

        例如,上面的关系可表述为:学生(学号、姓名、年龄、性别、系名、年级)

        值得注意的是,关系必须是规范的,满足一定的约束条件。最基本的约束条件: 关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。下面就是一个不规范的关系:

1.2 数据操作

        数据操作是指对数据库中各种对象的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。比如对数据库的增、删、改、查等。具体可以参见下面的SQL语言的DDL、DML和DQL。

1.3 完整性约束

        完整性约束一共可以包括实体完整性约束参照完整性约束用户自定义完整性约束。具体可以参见下面的微博,讲的很好:

https://blog.csdn.net/qq_42884482/article/details/100150177

二、SQL简介

        什么是SQL?SQL(Structured Query Language)是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。

        虽然SQL已经被ANSI组织定义为标准,不幸地是,各个不同的数据库对标准的SQL支持不太一致。并且,大部分数据库都在标准的SQL上做了扩展。也就是说,如果只使用标准SQL,理论上所有数据库都可以支持,但如果使用某个特定数据库的扩展SQL,换一个数据库就不能执行了。例如,Oracle把自己扩展的SQL称为PL/SQL,Microsoft把自己扩展的SQL称为T-SQL

        现实情况是,如果我们只使用标准SQL的核心功能,那么所有数据库通常都可以执行。不常用的SQL功能,不同的数据库支持的程度都不一样。而各个数据库支持的各自扩展的功能,通常我们把它们称之为“方言”。

总的来说,SQL语言定义了这么几种操作数据库的能力:DDL、DML和DQL。

2.1 DDL:Data Definition Language 数据定义语言

        DDL允许用户定义数据,也就是创建表、删除表、修改表结构这些操作:

  • CREATE - 创建
  • ALTER - 修改
  • DROP - 删除
  • TRUNCATE - 移除
  • COMMENT - 注释
  • RENAME - 重命名

2.2 DML:Data Manipulation Language 数据操作语言

        DML为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作:

  • SELECT - 查询
  • INSERT - 添加
  • UPDATE - 更新
  • DELETE - 删除
  • CALL - 调用
  • EXPLAIN - 解释
  • LOCK TABLE - 锁,用于控制并发

2.3 DQL:Data Query Language 数据控制语言

        DQL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等:

  • GRANT - 授权 允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限
  • REVOKE - 收回已经授予的权限
  • COMMIT - 提交
  • SAVEPOINT - 保存点
  • ROLLBACK - 回滚
  • SET TRANSACTION - 设置当前事务的特性,它对后面的事务没有影响.

三、主流关系数据库

目前,主流的关系数据库主要分为以下几类:

  • 商用数据库,例如:Oracle,SQL Server,DB2等;
  • 开源数据库,例如:MySQL,PostgreSQL等;
  • 桌面数据库,以微软Access为代表,适合桌面应用程序使用;
  • 嵌入式数据库,以Sqlite为代表,适合手机应用和桌面程序。

四、参考

1.关系数据库概述 - 廖雪峰的官方网站

2.

数据库的三种模型_彼岸的饭碗的博客-CSDN博客_数据库模型

3.MySQL基础系列之 DDL、DML和DCL的区别与理解_通往架构师的路上的博客-CSDN博客 


http://chatgpt.dhexx.cn/article/KrMVQDG1.shtml

相关文章

数据库-关系数据库基本概念

1.关系数据库及形式化定义 I、关系 关系模型的数据结构非常简单,只包含单一的数据结构--关系(表)。在用户看来关系就是一张扁平的二维表。 关系模型的数据结构虽然简单但是能够表达丰富的语义,描述出现实世界中的实体以及实体间…

关系数据库理论----如何判断关系模式规范化达到第几范式

文章目录 求关系模式最高达到第几范式的步骤通俗理解1NF,2NF,3NF.如何求关系模式的候选码如何求闭包函数依赖 求关系模式最高达到第几范式的步骤 根据给定的U和F,首先求它的候选码根据候选码判断关系F中的函数关系是否满足第二范式,若不满足则为关系模式的规范化最高为第一范式…

关系数据库

一、关系数据库 实体间的关系有三种:一对一(one-to-one)、一对多(one-to-many)、多对多(many-to-many) (一)数据模型 1、层次模型(一对多) 层次模…

【数据库原理】关系数据库理论(一)

数据库规范化理论. 当面对一个现实问题,例如要求设计一个教学管理数据库,如何使用关系模型设计一个合理且合适的关系数据库,如何选择一个比较好的关系模式的集合,每个关系由哪些属性组成,这些属于数据库逻辑设计的问题…

数据库基本理论和概念:关系模型

关系模型有三个原理组件:结构性组件、完整性组件以及操纵性组件。 本文主要介绍结构性组件及其它组件的一些基本概念。本文的产生,基于阅读The Definitive Guide to Sqlite后的一些感想! (1)结构性组件 定义了信息的组…

数据库理论

前言 本篇只讲述数据库相关的各种概念理论,具体代码实践不在本篇讨论范围之内,此后会另起一篇写代码和例题 由于是还有几天就要考试了,所以本篇内容尽量精简,采用的语言也并不官方,尽可能通俗易懂。 数据库发展史 什么…

数据库-关系数据库设计

关系数据库设计理论包括 1.数据依赖 2.范式 1NF,2NF,3NF,BCNF 3.关系模式的规范化 设计步骤 数据分析->数据建模->关系数据库模式->关系数据库管理 ER模型 实体指数据对象 实体集指一类实体构成的集合 实体某一特性称为属性 一、函数依赖 关系:描述实体及…

数据库-关系模型

最近开始做数据库的大实验,其中有一条实验要求如下: 通过网络查找相关文献并参考所给资料进行需求分析,画出系统的 E-R 图,给出实体或联系的属性,标明联系的种类,并写出 关系模式。 画ER图没有什么问题&…

【数据库原理及应用】——关系数据库的规范化理论(学习笔记)

📖 前言:关系数据库的规范化理论是数据库设计的一个理论指南,提供了判断一个关系模式优劣的理论依据。本章讨论的关系数据库的规范化理论主要包含三方面内容:函数依赖、范式和模式分解准则。函数依赖起着核心作用,是模…

数据库原理—关系数据库

一、思维导图: 二、基本知识点: 1、关系数据库结构 (1)域:一组具有相同数据类型的值的集合(如整数、实数、指定长度的字符串集合) (2)笛卡尔积运算:假设两个…

数据库原理——关系数据理论(全)

关系数据理论 数据依赖包括函数依赖和多值依赖。 5.1 函数依赖 5.1.1 函数依赖的定义 设 R ( U ) R(U) R(U)是属性集U上的关系模式, X , Y ⊆ U X,Y\subseteq U X,Y⊆U ( X , Y X,Y X,Y是属性), 若对于 ∀ r ( 值 ) ∈ R ( U…

数据库原理——关系数据理论(一)

关系数据理论 数据依赖包括函数依赖和多值依赖。 5.1 函数依赖 5.1.1 函数依赖的定义 设 R ( U ) R(U) R(U)是属性集U上的关系模式, X , Y ⊆ U X,Y\subseteq U X,Y⊆U ( X , Y X,Y X,Y是属性), 若对于 ∀ r ( 值 ) ∈ R ( U…

关系数据库基础理论

mysql系列之一关系数据库基础理论 正是数据库管理的需要催生了数据库管理系统DBMS,而关系型数据库管理系统为RDBMS 常见的数据模型有三种: - 层次模型 - 网状模型 - 关系模型 一、关系数据库的产生 在DBMS出现之前,人们用文件来管理数据…

关系数据库(数据库原理)

目录 一、关系数据结构 二、关系的完整性 三、关系运算 四、关系的规范化 一、关系数据结构 1、关系的定义和性质 (1)、 关系的数学定义: 域: 一组有相同数据类型的值得集合 笛卡尔积: 设任意的N个域D1,D2,…,Dn。…

数据库系统-关系数据理论

数据库系统-关系数据理论 关系数据库规范化理论 关系数据库规范化是为了告诉你如何才能设计出合适的库和表。 关系模式由五部分组成,即它是一个五元组 ​ R(U,D,DOM,F) R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自的域 DOM: 属性向域的映像…

关系数据理论

关系数据理论 本篇文章记录了第十五次作业 关系数据理论指的是关系数据库的规范化理论。这一理论是用来规范数据库模式的。落到实践层面来说,就是对数据库里面的这些表应该怎么建才好的一种理论。比如在之前遇到的的学生-选课-课程表中,我们有很多属性&…

关系数据库设计理论

一、关系数据库模型 关系模型是一种基于表的数据模型,以下为关系学生信息,该表有很多不足之处,本文研究内容就是如何改进它: 下面是一些重要术语: 1.属性(attribute):列的名字&…

数据库导论 关系数据库理论

1. 数据库理论 数据库是 一系列有价值的信息组成的结构化的集合 (A structured collection of meaningful data). 我们称任何有价值的信息为 数据, (Data) 用于构建和维护数据库的软件为 数据库管理系统 (DBMS, Database Management System), 而 数据库管理系统 和 数据 共同…

数据库设计——关系数据理论(超详细)

?问题——什么是一个好的数据库逻辑设计? ●关系型数据库逻辑设计: ➠针对一个具体问题应如何构造一个适合于它的数据模式,即应构造几个关系,每个关系由哪些属性组成等 eg: ?这样的设计是一个…

关系数据库理论

关系数据库理论 关系模式的组成 一个关系模式应当是一个五元组R(U,D,DOM,F) 这里R是符号化的元组语义 U为一组属性D为属性组U中的属性所来自的域DOM为属性到域的映射F为属性组U上一组数据依赖(是一组数据依赖的集合) 由于D,DOM与模式涉及关系不大&a…