数据库

1 定义

数据库,可以简单的解释为:高效的存储和处理数据的介质(主要分为磁盘和内存两种)。

每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢,所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

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

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

2 分类

根据数据库存储介质的不同,可以将其分为两类,即:关系型数据库(SQL)和非关系型数据库(NoSQL,Not Only SQL)。

3 举例

关系型数据库:

  • 大型:Oracle、DB2 等;
  • 中型:SQL Server、MySQL 等;
  • 小型:Access 等。

非关系型数据库:

  • Memcached、MongoDB 和 Redis 等。

4 区别

关系型数据库:

  • 安全,其将数据保存到磁盘之中,基本不可能出现丢失数据的情况;
  • 比较浪费空间,因为其用二维表的形式存储数据。

非关系型数据库:

  • 存储数据的效率比较高;
  • 不是特别安全,突然断电时会导致数据丢失。

5 关系型数据库

定义

关系型数据库,是一种建立在关系模型(数学模型)上的数据库。

至于关系模型,则是一种所谓建立在关系上的模型,其包含三个方面,分别为:

  • 数据结构:数据存储的形式,二维表(行和列);
  • 操作指令集合:所有的 SQL 语句;
  • 完整性约束:表内数据约束(字段与字段)和表与表之间的约束(外键)。

设计

  • 数据库:从需要存储的数据需求中分析,如果是一类数据(实体),则应该设计成二维表;
  • 二维表:由表头(字段名,用来规定数据的名称)和数据(实际存储的内容)部分组成。

二维表示例:

ID EEROR_CODE DESCRIPTION
1 US0001 此用户未注册
2 OR0001 订单生成失败
3 SY0001 系统未知异常

在此处,如果表中对应的某个字段值为空,但是系统依然会为其分配存储空间,这也就是关系型数据库比较浪费空间的原因啦!

关键字说明

  • DB:Database,数据库;
  • DBMS:Database Management System,数据库管理系统;
  • DBS:Database System = DBMS + DB,数据库系统;
  • DBA:Database Administrator,数据库管理员。
  • 行\记录:row\record,本质都是指表中的一行(一条记录),行是从结构角度出发,记录则是从数据角度出发。
  • 列\字段:column\field,本质都是指表中的一列(一个字段),列是从结构角度出发,字段则是从数据角度出发。

SQL

SQL:Structured Query Language,结构化查询语言(数据以查询为主,99% 都是在进行查询操作)。

SQL 主要分为三种:

  • DDL:Data Definition Language,数据定义语言,用来维护存储数据的结构(数据库、表),代表指令为createdropalter等。
  • DML:Data Manipulation Language,数据操作语言,用来对数据进行操作(表中的内容)代表指令为insertdeleteupdate等,不过在 DML 内部又单独进行了一个分类,即 DQL(Data Query Language),数据查询语言,代表指令为select.
  • DCL:Data Control Language,数据控制语言,主要是负责(用户)权限管理,代表指令为grantrevoke等。

SQL 是关系型数据库的操作指令,是一种约束,但不强制,类似于 W3C,因此这意味着:不同的数据库产品(如 Oracle 和 MySQL)内部可能会有一些细微的区别。

6 MySQL 数据库

MySQL 数据库是一种C\S结构的软件,即分为:客户端和服务端。

若想访问服务器,则必须通过客户端;服务器应该一直运行,客户端则在需要使用的时候运行。

交互方式

  1. 客户端连接认证,即连接服务器,认证身份mysql.exe -hPup

    • -h,主机地址,本地为localhost,远程为IP地址
    • -P,端口号,用来找软件
    • -u,用户名
    • -p,密码
  2. 发送 SQL 指令;

  3. 服务器接受 SQL 指令,然后处理 SQL 指令并返回操作结果;
  4. 客户端接受结果并显示结果;
  5. 由于服务器并发限制,需要断开连接(三种指令,分别为:exitquit\q),释放资源。

服务器对象

由于没办法完全了解服务器内部的结构,因此只能粗略的分析数据库服务器的内部结构。

一般来说,将 MySQL 数据库服务器的内部对象分为四层,分别为:数据管理系统(DBMS)–> 数据库(DB)–> 表(Table)–> 字段(Filed).

MYSQL----(2) 数据库基础知识相关推荐

  1. java学习与总结:MySQL和数据库基础知识

    文章目录 MySQL MySQL数据库索引数据结构 B树和B+树的区别 MySQL一条数据是怎么保存到数据库的 WAL : WRITE AHEAD LOG binlog 和 redo log 流程 M ...

  2. 虚拟机安装mysql及数据库基础知识一

    一.安装前的准备 首先要准备好安装环境: ① 准备一台有IP地址的虚拟机 ② 使用winscp把数据库安装包传到虚拟机中 安装包可自行去官网下载 mysql官网 ③ 进行mysql的安装 二.安装 1 ...

  3. 1.0 MySQL数据库基础知识

    MySQL数据库基础知识 MYSQL介绍 MySQL分支版本的发展 MySQL. Oracle. SQLServer的市场区别 MYSQL数据库使用上的结构 MYSQL体系架构图 MYSQL体系架构- ...

  4. Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构

    第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询 第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询 第三部分:My ...

  5. Mysql数据库基础知识总复习

    前言 小亭子正在努力的学习编程,接下来将开启javaEE的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ ...

  6. MYSQL学习01--MySQL基础知识

    一.Mysql的安装和navicat的安装使用 1.MYSQL的安装 安装参考:http://www.runoob.com/mysql/mysql-install.html 我的电脑上已经安装过了,再 ...

  7. mysql系列问答题_(2)MySQL运维基础知识面试问答题

    面试题001:请解释关系型数据库概念及主要特点? 面试题002:请说出关系型数据库的典型产品.特点及应用场景? 面试题003:请解释非关系型数据库概念及主要特点? 面试题004:请说出非关系型数据库的 ...

  8. 一幅长文细学GaussDB(二)——数据库基础知识

    文章目录 2 数据库基础知识 2.1 数据库管理简介 数据库管理 数据库管理工作范围 对象管理 制定数据库对象命名规范 备份和恢复 灾难恢复 备份方式 数据库安装 数据库卸载 数据库迁移 数据库扩容 ...

  9. SQL数据库基础知识巩固

    SQL数据库基础知识 数据库,又称"电子化的文件柜",是"按照数据结构来组织.存储和管理数据的仓库",是一个长期存储在计算机内的.有组织的.可共享的.统一管理的 ...

  10. SQL数据库基础知识-巩固篇一

    SQL数据库基础知识-巩固篇<一>... 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用了> MySQL-57 D ...

最新文章

  1. C语言中的void指针
  2. [网络安全提高篇] 一一〇.强网杯CTF的Web Write-Up(上) 寻宝、赌徒、EasyWeb、pop_master
  3. “睡服”面试官系列第十七篇之Reflect(建议收藏学习)
  4. 谷歌浏览器外贸版_针对谷歌SEO,你有哪些值得推荐的工具、插件、网站、app,或者技巧分享?...
  5. Spark高级操作之json复杂和嵌套数据结构的操作二
  6. 大话数据结构第一章理解
  7. python 实现SOM: 函数更新
  8. spring学习-xml属性注入-数组--list--map--set类型
  9. 关于线段树套伸展树被卡常
  10. tomcat7安装详细过程
  11. acer台式电脑怎么重装系统_宏基台式电脑怎么重装系统
  12. matlab 线性拟合(好像也可以由两点得出直线)
  13. GIS招聘 | 云南省自然资源厅所属事业单位
  14. cordova环境配置步骤
  15. uniapp保存图片到相册
  16. JavaScript-Tool:Moment.js
  17. 完美世界手游服务器维护中,完美世界手游黑屏闪退解决办法 玩不了怎么办
  18. 服务器编程入门(11)TCP并发回射服务器实现 - 单线程select实现
  19. Axure设计网页时,需要注意的尺寸设置。
  20. Oracle ERP 库存管理(业务流程 核心流程) [转]

热门文章

  1. Leetcode - 143. Reorder List
  2. 嵌入式Linux系统编程学习之十一Linux进程的创建与控制
  3. Elasticsearch Java API四种实现方式
  4. PHP编译configure时常见错误(转)
  5. mysql 启动报错Can't connect to local MySQL server through socket '/data/mysql/mysql/mysql.sock'(111)...
  6. Python学习相关资料
  7. 尝试使用Java6API读取java代码
  8. Linux初步(一)——关于操作系统的启动
  9. js获取Listbox选择的值
  10. python书籍推荐:Python Cookbook第三版中文