MySQL笔记1|数据库17问17答

Posted 黄含驰的机器学习与优化打怪路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL笔记1|数据库17问17答相关的知识,希望对你有一定的参考价值。


以下17个问题来自下图第一章:


1.我们身边有哪些数据库?

http://c.biancheng.net/view/7628.html


图书馆

在图书馆中可能存在一个数据库,用来存储图书馆中所有图书的详细资料和读者的详细信息等。


大学

如果你正在大学就读,学校会有一个用来存储学生所有信息的数据库系统(学生管理系统),包括注册的课程、获得的各类奖学金、往年已选择的课程和今年正在选择的课程以及考试成绩信息等。可能还有一个数据库用来存储在大学中工作员工的详细信息。


还有超市购物、信用卡消费、购买保险等都需要数据库~


2.数据管理技术的3个发展阶段

http://c.biancheng.net/view/7435.html


MySQL笔记1|数据库17问17答


3.数据库是什么?关系型数据库和非关系型数据库又是什么?

http://c.biancheng.net/view/7122.html


数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作。


关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。简单说,关系型数据库是由多张能互相连接的表组成的数据库。

MySQL笔记1|数据库17问17答


非关系型数据库又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL。通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。

MySQL笔记1|数据库17问17答


4.为什么要使用数据库?

http://c.biancheng.net/view/7167.html


1) 数据库可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。
2) 数据库可以有效地保持数据信息的一致性、完整性、降低数据冗余。

3) 数据库可以满足应用的共享和安全方面的要求,把数据放在数据库中在很多情况下也是出于安全的考虑。
4) 数据库技术能够方便智能化地分析,产生新的有用信息。


5.数据库系统是什么?它由哪几部分组成?

http://c.biancheng.net/view/7565.html


MySQL笔记1|数据库17问17答

一个完整的数据库系统一般由数据库、数据库管理系统、应用开发工具、应用系统、数据库管理员和用户组成。
数据库系统主要有以下 3 个组成部分

  1. 数据库:用于存储数据的地方。

  2. 数据库管理系统:用于管理数据库的软件。

  3. 数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库库的软件补充。


6.常用数据库访问接口简介

http://c.biancheng.net/view/7567.html


ODBC、JDBC、ADO.NET 和 PDO。

ODBC(Open Database Connectivity,开放数据库互连)为访问不同的 SQL 数据库提供了一个共同的接口。

Java Data Base(JDBC,Java 数据库连接)用于 Java 应用程序连接数据库的标准方法

ADO.NET 是微软在 .NET 框架下开发设计的一组用于和数据源进行交互的面向对象类库。

PDO(php Data Object)为 PHP 访问数据库定义了一个轻量级的、一致性的接口


7.数据库的种类有哪些?

http://c.biancheng.net/view/7215.html


层次数据库(Hierarchical Database,HDB)

把数据通过层次结构(树形结构)的方式表现出来。现在已经很少使用了


关系型数据库(Relational Database,RDB)

现在应用最广泛的数据库。采用由行和列组成的二维表来管理数据,简单易懂。同时,它还使用 SQL(Structured Query Language,结构化查询语言)对数据进行操作。有代表性的关系型数据库有 Oracle Database、SQL Server、DB2、PostgreSQL 和mysql


面向文档(Document-Oriented)数据库

将数据以文档的形式存储。每个文档都是一系列数据项的集合。每个数据项都有一个名称与对应的值。具有代表性的面向文档数据库有 MongDB 和 CouchDB。


列存储(Column-oriented)数据库

列存储数据库将数据存储存在列族(column family)中,一个列族用来存储经常被一起查询的相关数据。列存储数据库通常用来应对分布式存储的海量数据。具有代表性的列存储数据库有 Cassandra 和 HBase


XML 数据库(XML Database,XMLDB)

XML 数据库是一种支持对 XML(标准通用标记语言下的一个应用)格式文档进行存储和查询等操作的数据管理系统。


键值存储数据库(Key-Value Store,KVS)

键值存储数据库是用来保存查询所使用的主键(Key)和值(Value)的组合的数据库。有代表性的键值存储数据库有 Redis、Memcached 和 MemcachedDB。


8.
常用数据库大汇总(附带优缺点)

http://c.biancheng.net/view/7109.html


商业数据库,如甲骨文(Oracle)公司的 Oracle 数据库、IBM 公司的 DB2 数据库、微软公司的 SQL Server 数据库和 Access 数据库。

开源数据库,如 MySQL 数据库,PostgreSQL 数据库等。


下面今介绍MySQL,其他数据库介绍见 http://c.biancheng.net/view/7109.html ~

MySQL笔记1|数据库17问17答


9.MySQL是什么?优势?

http://c.biancheng.net/view/7105.html


MySQL 是最流行的数据库之一,是一个免费开源的关系型数据库管理系统(实际上社区版免费,企业版付费)。


优势:

1)MySQL 是开放源代码的数据库

2)MySQL 的跨平台性

3)价格优势

4)功能强大且使用方便

MySQL 是一个真正的多用户、 多线程 SQL 数据库服务器。它能够快速、有效和安全的处理大量的数据。相对于 Oracle 等数据库来说,MySQL 的使用是非常简单的。MySQL 主要目标是快速、健壮和易用。


10.MySQL适用于哪些场景?

http://c.biancheng.net/view/7966.html


MySQL 是目前世界上最流行的开源关系数据库,大多应用于互联网行业。比如,在国内,大家所熟知的百度、腾讯、淘宝、京东、网易、新浪等,国外的 Google、Facebook、Twitter、GitHub 等都在使用 MySQL。社交、电商、游戏的核心存储往往也是 MySQL。


1. Web 网站系统

因为安装配置非常简单,维护也不复杂,而且性能出色且开源。

2、日志记录系统

3、数据仓库系统

4、嵌入式系统


业内生产实践证明,MySQL 更适合中小型企业。以目前的软硬件产品水平来看,如果数据超过几个 TB 将难以高效利用 MySQL。


11.学MySQL前,需要了解这些数据库专业术语

https://www.xiaobaijidi.com/t/51936


数据库管理系统(DBMS)是位于操作系统与用户之间的一种操纵和管理数据库的软件。关系型数据库通过关系数据库管理系统(RDBMS)进行管理。

关系(Relational,即 RDBMS 里的 R)表示这是一种特殊的 DBMS,数据库中表与表之间要存在关系。

数据库(DataBase,即 RDBMS 里的 DB)是一个用来存储和管理数据的仓库。它的存储空间很大,并且有一定的数据存放规则。通过由行和列组成的二维表(类似 Excel 工作表)来管理数据。数据库中可以同时存储多个表。

管理系统(Management System,即 RDBMS 里的 MS)是一个软件,我们可以通过它来插入(insert)、查询(query)、修改(modify)或删除(delete)表中的数据。

用来管理数据的二维表在关系数据库中简称为表(Table),每个表由多个行(Row)列(Column)组成。

表的列(垂直方向)称为字段,是具有相同数据类型的数据集合。表的行(水平方向)称为记录(Record),相当于一条数据。记录可以包含多项信息,表中的每一列都对应于其中的某一项。


12.MySQL客户端和服务器架构(C/S架构)

http://c.biancheng.net/view/7171.html


客户端-服务器(Client/Server)结构简称 C/S 结构,是一种网络架构,通常在该网络架构下的软件分为客户端和服务器。

对于 MySQL 数据库管理系统,服务器为MySQL DBMS。你可以在本地安装的副本上运行,也可以连接到运行在你具有访问权的远程服务器上的一个副本。

客户端可以是 MySQL 提供的工具(如 MySQL Workbench、SQLyog)、脚本语言(如Perl)、Web 应用开发语言(如ASP、ColdFusion、JSP 和 PHP)和程序设计语言(如 C、C++Java)等。



13.明白了MySQL内部结构才能成为高手!

https://blog.csdn.net/shirleycyy/article/details/80057497?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-3.baidujs&dist_request_id=a71097cc-2177-4b65-b193-23b5f18a87cb&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-3.baidujs


表才是存放数据的基本单元。

结论:Mysql数据底层由多个database组成,每一个database存放多张表。

MySQL笔记1|数据库17问17答

https://blog.csdn.net/weixin_52183917/article/details/109827968?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-2&spm=1001.2101.3001.4242

一条SQL执行过程

MySQL笔记1|数据库17问17答



14.何学习数据库(新手必看)?

http://c.biancheng.net/view/7098.html


MySQL笔记1|数据库17问17答


如何高效的学习 MySQL

1)培养兴趣

2)及时学习新知识

3)多练习、多操作

4)多编写SQL语句

5)通过 Java 等编程语言来操作数据库

软件开发者学习数据库的最终目的就是在软件开发中使用数据库。

6)数据库理论知识不能丢,理论和实际结合

eg:数据库理论中会讲解 E-R 图、数据库设计原则等知识,如果不了解这些知识,就很难独立设计一个很好的数据库及表。


15.小白学习MySQL需要多长时间,可以从事哪方面的工作?

http://c.biancheng.net/view/7671.html


16.

当前市场对数据库程序员的需求如何?待遇如何?

http://c.biancheng.net/view/8301.html


数据库开发人员和维护人员在市场上一直都是急缺人才。

如果想往 DBA 这个方向发展,那么 Oracle、MySQL、DB2 或非关系型数据库(如 MongoDB、Redis 等)都可以。


数据库程序员有哪些可供选择的职业发展道路

数据库开发转 DBA,DBA 升项目经理、技术总监,转行做技术销售,大数据、云计算和数据库架构师等。

目前对于市场上数据库的求职,主要以 Oracle 和 MySQL 为主。对于 NoSQL 的要求,一般都是包含在 Oracle 和 MySQL 之内的,要求精通 Oracle 或 MySQL,熟悉一种 NoSQL 数据库。

Oracle 主要在传统行业招聘,而 MySQL 主要在互联网行业招聘。

以上是关于MySQL笔记1|数据库17问17答的主要内容,如果未能解决你的问题,请参考以下文章

17.swoole学习笔记--异步mysql操作

mysql笔记(17)--UPDATEDELETE

2016年3月17日Android学习笔记

在CentOS7中搭建MySQL主从

mysql笔记

Linux学习笔记5月16日任务