MySQL数据库

一.数据库概念

1.数据

描述事物的符号记录称为数据(Data)。数字、文字、图形、图像、声音、档案记录等都是数据。

在数据库中,数据是以"记录"的形式按照统一的格式进行存储的,而不是杂乱无章的。相同格式和类型的数据统一存放在一起,而不会把"人"和"书"混在一起存储。这样,数据的存储就能够井然有序。

2.数据库表

不同的记录组织在一起,就形成了数据库(Database,DB)的"表"(Table)。也可以说,表是用来存储具体数据的。

3.数据库

数据库就是表的集合。它是以一定的组织方式存储的相互有关的数据集合。例如,关系数据库的表由记录组成,记录由字段组成,字段由字符或数字组成。它可以供各种用户共享,具有最小元余度和较高的数据独立性,它是统一管理的相关数据的集合。

数据库并不是简单地存储这些数据的,还要表示它们之间的关系。例如,书和人是存在联系的,书的作者可能就是某个人,因此需要建立书与人的"关系"。这种关系也需要用数据库来表示,因此关系的描述也是数据库的一部分。

4.数据库管理系统

数据库管理系统(DatabaseManagementSystem,DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作。DBMS主要包括以下功能。

  • 数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的转储与恢复、数据库的重组与性能监视等功能
  • 数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出。
  • 数据操纵功能:包括数据查询统计和数据更新两个方面。
  • 数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控、数据库内部维护等功能。
  • 通信功能:DBMS与其他软件系统之间的通信,如Access能与其他Office组件进行数据交换。

5.数据库系统

数据库系统(DatabaseSystem,DBS)是一个人-机系统,一般由硬件、操作系统、据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。用户可以通过DBMS操作数据库,也可以通过应用程序操作数据库。

二.关系数据库的基本概念

关系数据库系统是基于关系模型的数据库系统,是关系模型应用到数据库领域的实例化。它的基本概念来自于关系模型。

1.关系数据库的基本结构

系数据库使用的存储结构是多个二维表格,即反映事物及其联系的数据描述是以平面表格形式体现的。

在每个二维表中,每一行称为一条记录,用来描述一个对象的信息:每一列称为一个字段,用来描述对象的一个属性。数据表与数据库之间存在相应的关联,这些关联用来查询相关的数据。

关系数据库是由数据表之间的关联组成的。其中:

  • 数据表通常是一个由行和列组成的二维表,每一个数据表分别说明数据库中某一特定的方面或部分的对象及其属性
  • 数据表中的行通常叫做记录或者元组,它代表众多具有相同属性的对象中的一个。
  • 数据表中的列通常叫做字段或者属性,它代表相应数据库中存储对象的共有属性

2.主键与外键

(1)主键

数据表中的每行记录都必须是唯一的,而不允许出现完全相同的记录,通过定义主键(主关键字,PrimaryKey)可以保证记录(实体)的唯一性

(2)外键

一个关系数据库通常包含多个表,通过外键(ForeignKey)可以使这些表关联起来。

外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就称为第二个表的外键。

3.数据完整性规则

为了维护数据库中的数据与现实世界的一致性,关系数据库的数据与更新操作必须遵守下列四类完整性规则。

(1)实体完整性规则

实体完整性规则要求关系中的元组在主键的属性上不能有空值。如果出现空值,那么主键值就起不到唯一标识元组的作用。

(2)域完整性规则

域完整性也称列完整性,指定一个数据集对某一个列是否有效或确定是否允许空值。

(3)引用完整性规则

如果两个表之间相互关联,那么引用完整性规则要求不允许引用不存在的元组

(4)用户定义的完整性规则

用户定义的完整性规则是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。系统提供定义和检验这类完整性的机制,以便用统一的系统方法进行处理,不再由应用程序承担这项工作。

相关推荐
醇氧7 分钟前
【MySQL】MySQL 9.0悄悄的来了
数据库·mysql
毛瞌羊9 分钟前
浅析MySQL-索引篇01
数据库·mysql
丁总学Java1 小时前
MySQL高级-MVCC-原理分析(RR级别)
数据库·mysql·mvcc·rr级别·可重复读
“抚琴”的人1 小时前
C#——Path类详情
开发语言·数据库·microsoft·c#
创作小达人1 小时前
InnoDB中的表级锁、页级锁、行级锁详解
java·数据库·mysql
周杰伦的稻香2 小时前
“LNMP环境搭建实战指南:从零开始配置CentOS 7下的Nginx、MySQL与PHP“
mysql·nginx·centos
missterzy2 小时前
Spring Boot 创建定时任务
java·数据库·spring boot·定时任务
m0_748171582 小时前
数据库第一次作业
数据库
V+zmm101342 小时前
springcloud分布式架构网上商城 LW +PPT+源码+讲解
java·数据库·后端·vue·idea·springclud
苏生Susheng3 小时前
【Oracle】Oracle常用语句大全
java·数据库·sql·mysql·oracle·sql语句·数据库语法