首页 > 数据库 >MySQL数据库

MySQL数据库

时间:2024-06-21 17:58:41浏览次数:21  
标签:存储 数据库 数据表 关系数据库 完整性 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)用户定义的完整性规则

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

标签:存储,数据库,数据表,关系数据库,完整性,MySQL,数据
From: https://blog.csdn.net/henanxiaoman/article/details/139866465

相关文章

  • MySQL 查数据转Json
    将数据库表里的字段查询出来并且连接成json格式的实现方法SELECTCONCAT('[',GROUP_CONCAT(JSON_OBJECT('key-name',col1,'keyname2',col2,……,'key-namen',coln)),']')asjson_resultFROMtablenamewherecol1=83结果会将查询的数据一行行用{}返回,行之间&qu......
  • MySQL初体验
    数据库的基本概念数据描述事物的符号记录包括数字,文字、图形、图像、声音、档案记录等以“记录”的形式按统一的格式进行存储表将不同的记录组织在一起用来存储具体数据数据库表的集合,是存储数据的仓库以一定的组织方式存储的相互有关的数据集合数据库管理系统(DBMS)是实......
  • MySQL bit类型增加索引后查询结果不正确案例浅析
    昨天同事遇到的一个案例,这里简单描述一下:一个表里面有一个bit类型的字段,同事在优化相关SQL的过程中,给这个表的bit类型的字段新增了一个索引,然后测试验证时,居然发现SQL语句执行结果跟不加索引不一样。加了索引后,SQL语句没有查询出一条记录,删除索引后,SQL语句就能查询出几十条记录。......
  • 对比Oracle和MySQL索引对于like的支持,MySQL一言难尽啊...
     对比Oracle和MySQL索引对于like的支持,MySQL一言难尽啊... MySQL:|Oracle:(root@localhost09:44:08)[zkm](673009)>select*fromtest;|09:52:11ZKM@test(1076......
  • Oceanbase数据库500租户告警--模块LobReader使用异常分析
    文档编写这块确是不太好,感觉这篇文章要是写成公众号阅读量得哇哇的,也懒得弄,仅仅记录下信息,并分享下问题的处理思路上午十一点半左右收到告警信息,500租户使用率异常,告警信息如下"【云境平台告警通知】:资源类型:OceanBase集群;资源名称:xxxx;发生时间:2024-06-2111:36:14;告警内容......
  • MySQL索引、事务与存储引擎
    目录1.索引介绍(1)工作方式(2)创建索引的依据2.索引类型(1)普通索引(2)唯一索引(3)主键索引(4)多列组合索引(单列索引与多列索引)(5)全文索引(FULLTEXT)(6)删除和查看索引以及各字段的含义(1)删除索引(2)查看索引(3)各字段的含义3.遇到select查询语句执行速度慢该怎么办?4.事务介绍(1)事务的ACID特性(2)隔离......
  • MySQL数据库管理
    目录1.SQL语句(1)DDL:用于管理数据库对象(库、表、索引等)(2)DML:用于管理表数据(3)DQL:用于查询表数据(4)DCL:用于管理用户和权限2.创建及删除数据库和表3.修改表名和表结构4.数据表高级操作5.如何找回root密码?6.MySQL的六大约束属性7.权限管理1.SQL语句关系型数据库专用的操作管理语句,包......
  • MYSQL基础_18_MySQL8其它新特性
    第18章_MySQL8其它新特性1.MySQL8新特性概述MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQLOptimizer优化器进行了改进。不仅在速度上得到了改......
  • MYSQL基础_17_触发器
    第17章_触发器在实际开发中,我们经常会遇到这样的情况:有2个或者多个相互关联的表,如商品信息和库存信息分别存放在2个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存记录。这样一来,我们就必须把这两个关联的操作步......
  • 结合zabbix监控mysql,让mysql性能飙升
      前段时间客户的系统突然出现mysql只读集群cpu飙升的情况,飙升到最高点的时候,甚至导致应用服务器GC,幸好应用有备份服务器,流量直接切过去,客户也无感知。但是这个只是临时的解决办法,总归要找到具体的原因,和开发同事查了两天的应用日志和mysql的慢日志,始终无法定位到具体的问题。......