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

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

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

数据管理系统,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): 键的值在当前列中具有唯一性。

数据库基础:基本概念相关推荐

  1. 数据库基础笔记(MySQL)1 —— 基础概念

    (写算法题目把自己心态搞崩了,休息两天顺便把之前学的数据库手写笔记记录在网上方便查阅,因为只是自己学的时候做的笔记,如果有错误欢迎大家指正,过两天再重回算法的怀抱哈哈) 如何下载配置 这个感觉视频讲的 ...

  2. 数据库的基本概念-基础(课堂笔记)

    数据库的基本概念 1.数据库的英文单词 : DataBase 简称 : DB 2.什么是数据库         用于存储和管理数据的仓库 3.数据库的特点:         1.持久化存储数据的.其实 ...

  3. 数据库基础(基本概念、关系数据库、数据库标准语言SQL)

    数据库基础 绪论 数据库系统概述 4个基本概念 数据(data) 定义:描述事物的符号.数据的含义称为数据的雨衣,数据与其语义是密不可分的. 数据库(DataBase,DB) 定义:数据库是长期存储在 ...

  4. SSH:Oracle数据库基础

    2019独角兽企业重金招聘Python工程师标准>>> Oracle数据库基础 一:Oracle基础知识 Oracle数据库的主要特点 (1.)支持多用户,大事务量的事务处理 (2. ...

  5. 1 SQL server数据库基础

    SQL server数据库基础 一 数据库简介 1数据库的基本概念 1)数据 ·描述事物的符号记录称为数据(Data),包括数字.文字.图像.声音等.以"记录"的形式按统一格式进行 ...

  6. php大牛额城战笔记,PHP语言大牛开发笔记(8)——MySQL数据库基础回顾[2]

    本文主要向大家介绍了PHP语言大牛开发笔记(8)--MySQL数据库基础回顾[2],通过具体的实例向大家展示,希望对大家学习php语言有所帮助. 一.数据表 为了确保数据的完整性和一致性,在创建表时指 ...

  7. SQL Server基础知识概念要点详细讲解

    SQL Server基础知识概念要点详细讲解 目录 基础概念 1.网状模型数据库 2.层次模型数据库 3.关系模型数据库 知识点实例总结 基础概念 SQL语言中,between and表示包括两边参数 ...

  8. 家族关系查询系统程序设计算法思路_【学习笔记】数据库基础 - 查询优化

    目录 什么是数据库查询优化? 影响查询优化的因素 优化策略概述 查询优化的总体思路 语义优化 -- 内容等价性 语法优化(逻辑层优化)---语法等价性 执行优化(物理层优化) 查询优化在DBMS中的位 ...

  9. 19年8月 字母哥 第一章 spring boot 2.x基础及概念入门 这里全部看完了 热部署没出来 第二章在前面2页 用热点公司网不行

    http://springboot.zimug.com/1233100   文档 http://www.zimug.com/page/5     字母哥个人博客 11111 第一章 spring bo ...

  10. delphi7存取配置文件与sqlserver数据库连接_SQL Server基础知识概念要点详细讲解

    SQL Server基础知识概念要点详细讲解 目录 基础概念 1.网状模型数据库 2.层次模型数据库 3.关系模型数据库 知识点实例总结 基础概念 SQL语言中,between and表示包括两边参数 ...

最新文章

  1. 模具和java哪个好_93年,本科毕业一年(模具专业),想学Java转行怎么样?
  2. 关于string的一些心得体会
  3. 从小白到精通python要多久-小白学Python需要多久?老男孩Python培训教程
  4. Struts2+Spring详解
  5. Hadoop HBase概念学习系列之HBase里的客户端和HBase集群建立连接(详细)(十四)...
  6. 是银弹吗?业务基线方法论
  7. 有关于mysql自增型需要返回id_关于mysql自增id,你需要知道的
  8. linux 命令 kps,Linux顶级命令.内存使用情况
  9. 2019.7.26数组
  10. 惠新宸:我也曾经是“不适合”编程的人
  11. 吴恩达深度学习——深度学习概论
  12. linux 查看登录记录,Linux查看用户登陆历史记录
  13. Ubuntu环境下配置巴斯勒相机及相机测试
  14. 证件照怎么裁剪?国考证件照的尺寸是多少?
  15. css精华怎么使用,css橄榄精华好用吗?css橄榄精华评测
  16. mc通用计算机,《我的世界》里打造一台计算机有多难?复旦大神花一年终于实现!...
  17. AIR780E使用AT连接TCP收发数据
  18. c语言0和1二进制,二进制0和1代表什么
  19. GEE遥感云大数据如何应用在林业生态领域中?监测森林扰动、火灾、砍伐退化、生理参数、植被状态
  20. 如何用PPT编制方案 (6)PPT完成度的自检表

热门文章

  1. Eolink 微光计划
  2. 三国志战略版:Daniel_颜良分析
  3. Navicat Premium 10.0.10 中文版注册码
  4. 身份证二要素验证的使用场景介绍
  5. android的searchview焦点,Android how to focus ActionBar searchView
  6. sklearn 笔记:高斯过程
  7. Delphi 11.2 配置Android SDK 环境
  8. MobaXterm的SOCKS代理连接与bitvise client 软件的C2S与S2C连接
  9. 【工程师有空了】安信可ESP32之TOUCH触摸传感器的花式应用--一个IO识别多个触摸按键
  10. 载药脂质体并表面修饰各种分子定制-带有多肽的脂质分子