数据库概述和MySQL数据库的简单介绍


javase的学习也基本结束,也终于进入数据库的学习,写笔记记录学习的过程和经历,也勉励自己努力学习,本文内容参考了MBA智库的文章以及B站韩老师的笔记,如有问题请联系。


数据库(DataBase,DB)是指长期存储在计算机内有组织可共享的数据集合。

数据模型是数据库中数据的存储方式。数据库中的数据以及数据之间的关系按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并在一定的范围内可以被多个用户共享。

 数据库特点:

            数据库中的数据尽可能不重复,以最优化的方式为多种应用服务

            数据结构独立于应用

            对数据的CRUD由统一软件进行管理和控制DBMS

数据模型(data model)是现实世界数据特征的抽象,用于描述一组数据的概念和定义。

数据模型的三要素:数据结构、数据操作和数据约束。

   数据结构:用于描述系统的静态特征,数据的类型、内容、性质和数据之间的联系等

   数据操作:描述系统的动态特征,数据的增删改查等;

   数据约束:数据的约束条件是一组完整性规则的集合,是数据及其联系的制约和存储

                     规则,保证数据的正确性、有效性和相容性。

数据模型包括三个方面:

      1.概念数据模型:面向用户现实世界的数据模型。

        2.逻辑数据模型:用户在数据库中看到的数据模型 ,是具体的数据库所支持的数据模   型

                     层次数据模型:(以树结构表示数据之间的联系)

                     网状数据模型:(以图结构表示数据之间的联系)

                     关系数据模型:(以二维表(或称关系)表示数据之间的联系);

      3.物理数据模型:数据在存储介质和组织结构的数据模型

数据模型的分类:层次模型,网状模型,关系模型

这里主要讨论一下关系模型,我们要使用的MySQL就是关系型数据库管理系统

关系模型的特点:

     建立在严格的数学概念之上【唯一】

              实体和各类联系都用关系表示

               数据的操纵对象是关系,返回结果也是关系

         关系模型的存取路径对用户透明,优点在于数据独立性、高安全性,简化编程

       缺点:存储路径对用户透明导致查询效率不如非关系型数据库

数据库的类型是根据数据模型来划分的,数据库管理系统也是根据数据模型而设计出来的。

数据库管理系统(Database Management Syatem,DBMS)

是位于用户和操作系统之间的一层数据管理软件。科学地组织和存储数据,高效地获取和维护数据

基础功能:数据定义功能DDL、数据操纵功能DML、数据库的运行管理、数据库的建立和维护功能

关系数据库管理系统(Relational Database Management Syatem,RDBMS)

关系型数据库是建立在关系数据模型基础上的数据库,借助集合代数的概念和方法处理数据库中的数据,同时也是一个被组织成具有描述的二维表格,表格的实质就是装载数据项的收集器,这些表格中的数据能以不同的方式被存取或者重新召集,而不需要更新组织数据库的表格。


SQL语言

SQL结构化查询语言是一种数据库操作的非过程式编程语言,用于存取数据以及查询、更新和管理关系型数据库系统,一般脚本文件后缀为.sql。

经过ANSI和ISO标准化组织结构进行标准化,但是各个数据库管理系统都对标准SQL规范进行了编改和扩充,扩展部分各个数据库不通用,标准部分通用。

SQL的特点:

     统合统一、高度非过程化,面向集合的操作方式。

     以同一种语法结构提供两种使用方法,命令行方式交互和嵌入主语言。

   语法简单,其中只有94个英文单词,核心功能只有6个单词【insert update delete select】。

MySQL数据库

MySQL使用的是SQL语句,体积小、速度快、免费开源的关系型数据库

MySQL可以支持6万多张表,约50亿行的企业级数据库应用

每个表可以最多支持64个索引,每个所以可以由1-16个列构成,最大索引宽度为为1000字节

正常字符串的比较不区分大小写

MySQL数据库最大限制取决于操作系统对文件大小的限制,不是MySQL内部限制

使用MySQL8

MySQL8比MySQL5.7快2倍

MySQL体系结构概述

MySQL是由SQL接口、解析器、优化器、缓存、存储引擎

1、客户端向MySQL服务器发送一个SQL语句

2、服务器首先检查缓存,如果命中则立刻返回存储在缓存中的结果,否则下一步

3、服务器首先进行SQL语句解析、预处理,再由优化器生成对应的执行计划

4、MySQL服务器根据执行计划,调用存储引擎的API执行查询

5、最后将查询结果返回客户端,同时缓存查询结果

你可能感兴趣的:(数据库技术,数据库,java)