数据库基础:基本概念

article/2025/10/14 21:43:53

数据库、数据管理和数据管理系统

数据管理,是指对数据进行分类、组织、编码、存储、检索和维护。

数据库,存储数据的容器。

数据管理系统,DBMS(Database Management System),是管理数据库的软件。数据库管理系统是数据库系统的核心,实现把用户意义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。

 

关系数据库管理系统

关系数据库管理系统,RDBMS(Relational Database Management System),RDBMS的特点:

  • 数据以表格的形式出现
  • 每行为各种记录名称
  • 每列为记录名称所对应的数据域
  • 许多的行和列组成一张表单
  • 若干的表单组成database

 

数据库管理系统的几个阶段

人工管理

  • 不能长期保存
  • 程序本身管理数据
  • 不支持共享
  • 缺乏独立性

文件管理

  • 能够长期保存
  • 文件系统管理数据
  • 数据冗余大,共享性差
  • 独立性差

数据库管理

  • 能够长期保存
  • 支持共享
  • 独立性强
  • 数据粒度变小

 

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

 

RDBMS 数据库程序

常用的数据库管理程序有 MS Access、SQL Server、MySQL等,其中MySQL最为典型。

RDBMS的一些术语如下:

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
  • 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

 

数据库的锁

数据库有两种锁,共享锁【S】和排他锁【X】。

共享锁:又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A。其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

排他锁:又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A。但其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。

共享锁允许多个线程同时获取一个锁,一个锁可以同时被多个线程拥有。排它锁,也称作独占锁,一个锁在某一时刻只能被一个线程占有,其它线程必须等待锁被释放之后才可能获取到锁。

ReentrantLock就是一种排它锁。CountDownLatch是一种共享锁。这两类都是单纯的一类,即,要么是排它锁,要么是共享锁。

ReentrantReadWriteLock是同时包含排它锁和共享锁特性的一种锁。使用ReentrantReadWriteLock的写锁时,使用的便是排它锁的特性;使用ReentrantReadWriteLock的读锁时,使用的便是共享锁的特性。

 

MySQL

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL 是开源的,所以你不需要支付额外的费用。
  • MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL 使用标准的 SQL 数据语言形式。
  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
  • MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
  • MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:

  • 表头(header): 每一列的名称;
  • 列(col): 具有相同数据类型的数据的集合;
  • 行(row): 每一行用来描述某条记录的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 键的值在当前列中具有唯一性。

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

相关文章

GaussDB高斯数据库(数据库基础知识)

数据库管理工作就是对数据库管理系统进行管理和维护的工作。 核心目标:稳定性,安全性,数据一致性,系统的高性能 数据库对象: 制定命名规范 灾难恢复: 恢复时间目标(RTO)&#xf…

数据库基础学习(思维导图)

在复习数据库时画的一些思维导图,自己觉得还不错,发出来希望帮助大家复习。 如有问题,,,欢迎指正!! 个人网站原文链接!!! 主要教材:数据库系统教程(第三版,施伯乐) 辅助教材:数据库系统概论(第五版,王珊) 其他参考:数据库系统教程习题解答与实验指导(…

一、数据库基础

文章目录 一、数据库基础知识和基本概念1、数据库基础知识2、数据库基本述语3、数据库系统的组成4、主流数据库 二、SQLServer 2012(1)服务器名称(2)身份验证(3)如何开启SQL Server服务?&#x…

MySQL数据库基础命令

1.连接数据库 在目录下输入cmd 输入命令: mysql -h 127.0.0.1 -u root -p 输入密码进入数据库 2.显示系统所有数据库名称 输入命令: show database; 3.新建数据库oo 命令: create database oo; 建成后查看: 4.使…

MySQL数据库基础

文章目录 1.数据库的操作1.1显示当前的数据库1.2创建数据库1.3使用数据库(选中数据库)1.4删除数据库 2.常用的数据类型2.1数值类型2.2字符串类型2.3日期类型 3表的操作3.1创建表3.2查看表结构3.3显示表3.4删除表 1.数据库的操作 1.1显示当前的数据库 s…

数据库基础语句

1.SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 1.1 查询和更新指令构成了 SQL 的 DML 部分: SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向…

数据库基础命令

目录 环境 1、连接数据库 2、显示系统中所有数据库 3、新建数据库 4、使用数据库创建表 5、添加数据 6、删除数据 7、修改数据 8、查询数据 9、order by用法 10、limit用法 11、union select用法 12、union select 结合 information_schema数据库 环境 phpstudy20…

数据库基础(超详细版)

目录 简介: 三大范式: sql语句分类: DDL操作数据库: DML操作: DCL DQL 模糊查询 字段控制查询 排序 聚合函数 分组查询 HAVING子句 limit关键字和分页查询 简介: 数据库(DataBase&a…

Ubuntu升级后DNS不好用

服务器Ubuntu16升级到Ubuntu18后,DNS不好用,解决办法。 我使用的是三丰云的免费云服务器。这个服务器用了有一段时间了,挺稳定的。暂时还没有出现过问题。感兴趣的可以试一试。 感觉虽然系统升级到了Ubuntu18,但是DNS的配置方法并…

常用的免费好用的DNS有哪些?

阿酷TONY 原创文章 关键词:免费dns、百度dns、阿里dns、114 dns 、Google DNS 2019-1-24 DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(doma…

DNS

1.介绍: 域名系统 (Domain Name System),是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数据串。 DNS由解析器以及域名…

优秀公共DNS服务器推荐

选择最优秀的 DNS 服务器,不仅为你提供安全的上网环境,而且还能加速你的网速。目前互联网上提供了大量匿名、公共、免费的 DNS 服务器,因此挑选适合自己的最佳选项可能并不简单。国外科技媒体 BGR 分享了一些主流的 DNS 服务器并提供了一些选…

国内外优秀公共DNS测评及推荐

DNS在平时上网中扮演重要角色,如果不注意DNS的话,可能会导致网速慢、弹窗广告、网址打不开、打开不是自己想要的网站、劫持等一系列问题。针对DNS的问题,今天我们就来总结一下,看看哪个DNS服务器最好用!注意&#xff1…

最好用的DNS地址

2019独角兽企业重金招聘Python工程师标准>>> DNS是 Domain Name System 的缩写,它是由解析器和域名服务器组成的。简单说就是通过DNS服务,将域名信息翻译成IP地址然后连通。 今天将目前国内主流的公共DNS地址、全国各地中国电信和联通DNS服务…

成都最稳定的dns服务器地址,成都首选DNS服务器地址

成都首选DNS服务器地址 内容精选 换一换 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 系统提示无法下载脚本或使用Linux系统方式二安装Agent时失败。原因1:DNS无法…

dns服务器的设置

1.为什么设置本机的dns服务器 计算机在访问网站的时候一般通过ip地址访问,但是ip不是很好记,于是出现了域名,而dns服务器就是将域名与ip关联起来。 所以在每次通过域名第一次访问任何一个网站的时候都是要先询问dns服务器该域名对应的ip地址…

监控系统首选DNS服务器,监控windows DNS服务器

监控windows DNS服务器 内容精选 换一换 主机监控分为基础监控、操作系统监控、进程监控。基础监控:ECS/BMS自动上报的监控指标。操作系统监控:通过在ECS或BMS中安装Agent插件,为用户提供服务器的系统级、主动式、细颗粒度监控服务。进程监控…

有哪些好用的网关和dns?

大家可能对于DNS并不是很了解,简单来说就是进行域名解析的服务器,且DNS和网关可以是中继服务,一致应该是用的路由器,路由器同时提供中转这两种服务。会把要高提交到更高一层的路由和DNS服务器,来提供服务的&#xff0c…

目前国内最快最稳定的DNS

目前最快的DNS 闲着没事做,给大家找了一下国内目前最快的DNS (我说是最快的,不是最稳定的,不保证DNS劫持); 废话不多说,直接直接上图;最上面的是最快的,一次往下排; 测试地点&#…

国内好用的免费DNS服务器

一、引言 网速慢到让人抓狂,真是醉醉的。有很多种原因造成上网速度慢,DNS服务器不给力是其中之一啊。 二、下面列举几个国内好用的DNS CNNIC: 1.2.4.8 …