数据库基础

数据库是由一批数据构成的有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互联系,反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。

什么是数据库

数据库的发展大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。其种类大概有三种:层次式数据库、网络式数据库和关系式数据库。不同类的数据库按不同的数据结构来联系和组织。

对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有很大的差异,其中一种比较普遍的观点认为,数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统,即数据库包含两层含义:保存数据的“仓库”,以及数据管理的方法和技术。

数据库的特点包括,实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的数据独立性;具有统一的数据控制能力。

在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行称为记录,是组织数据的单位;列被称为字段,每一列代表记录的一个属性,每个属性都有相应的描述信息,如数据结构、数据宽度等。

数据类型

数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/时间数据类型、字符串数据类型。表中的每一个字段就是某种指定数据类型。

主键

主键(Primary Key)又称主码,用于唯一标识表中的某一个记录。可以定义表中的一列或多列为主键,主键列上不能有相同的值,也不能为空值。

数据库技术构成

数据库系统由硬件部分和软件部分共同构成,硬件主要用于存储数据库中的数据,包括计算机、存储设备。软件部分则包括 DBMS 运行的操作系统,以及支持多种语言进行开发应用的访问技术。

数据库系统

数据库系统有三个重要的组成部分。

  • 数据库:用于存储数据的地方。
  • 数据库管理系统:用于管理数据库的软件。
  • 数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。

数据库(DataBase)提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。

数据库管理系统(DataBase Management System, DBMS)是用户创建、管理、和维护数据时所需要的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS 能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。

虽然已经有了 DBMS,但是在很多情况下,DBMS 无法满足对数据管理的要求。数据库应用程序(DataBase Application)的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与 DBMS 进行通信,访问和管理 DBMS 中存储的数据,允许用户插入、修改、删除 DB 中的数据。

数据库系统如图所示:

SQL语言

对数据库进行查询和修改的语言叫做 SQL。SQL 的含义是结构化查询语言(Structured Query Language)。

SQL包含以下四个部分。

  • 数据定义语言(DDL):DROP、CREATE、ALTRE 等语句。
  • 数据操作语言(DML):INSERT、UPDATE、DELETE 语句。
  • 数据查询语言(DQL):SELECT 语句。
  • 数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK 等语句。

数据库访问接口

不同的程序设计语言会有各自不同的数据库访问接口,程序语言通过这些接口,执行 SQL 语句,进行数据库管理。主要的数据库访问接口有:

  1. ODBC

    Open DataBase Connectivity(ODBC,开放数据库互连)技术为访问不同的 SQL 数据库提供了一个共同的接口。ODBC 使用 SQL 作为访问数据的标准。这一接口提供了最大限度的互操作性。一个应用程序可以通过共同的一组代码访问不同的 SQL 数据库管理系统(DBMS)。

  2. JDBC

    Java DataBase Connectivity(JDBC,Java数据库连接)用于 Java 应用程序连接数据库的标准方法,是一种用于执行 SQL 语句的 Java API,可以为多种关系型数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。

  3. ADO.NET

    ADO.NET 是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET 提供了对关系数据、XML 和应用程序数据的访问,允许和不同类型的数据源已经数据库进行交互。

  4. PDO

    PDO(PHP Data Object)为 PHP 访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。

什么是 MySQL

Mysql 是一个小型关系数据库管理系统,与其他大型数据库管理系统(例如 Oracle、DB2、SQL Server 等)相比。MySQL 规模小、功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用来说已经够用,这些特性使得 MySQL 成为世界上最受欢迎的开源数据库。

MySQL 版本

针对不同的用户,MySQL 分为两个不同的版本:

  • MySQL Community Server(社区版):该版本免费,但是官方不提供技术支持。
  • MySQL Enterprise Server(企业版服务器):它能够以很高性价比为企业提供数据仓库应用,支持 ACID 事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话技术支持。

MySQL 的命名机制由 3 个数字和 1 个后缀组成,例如:MySQL-5.7.10。

(1)第一个数字 5 是主版本号,描述了文件格式,所有版本 5 的发行版都有相同的文件格式。

(2)第二个数字 7 是发行版本,主版本号和发行级别组合在一起便构成了发行序列号。

(3) 第三个数字 10 是在此发行系列的版本号,随每次新分发版本递增。通常选择已经发行的最新版本。

MySQL 的优势

MySQl 的主要优势如下:

(1)速度:运行速度快。

(2)价格:MySQL 对多数个人来说是免费的。

(3) 容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习。

(4)可移植性:能够在众多不同的系统平台上,例如:Windows、Linux、Unix、Mac os 等。

(5)丰富的接口:提供了用于 C、C++、Java、Python、PHP 等语言的API。

(6)支持查询语言:MySQL 可以利用标准SQL语法和支持 ODBC(开放式数据库连接)的应用程序。

(7)安全性和连接性:十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全,并且由于 MySQL 是网络化的,因此可以在因特网上的任何地方访问,提高数据共享的效率。

MySQL(一) 初识MySQL的更多相关文章

  1. Mysql:初识MySQL

    转载自:https://www.cnblogs.com/hellokuangshen/archive/2019/01/09/10246029.html Mysql:初识MySQL 只会写代码的是码农: ...

  2. 【Mysql】初识MySQL

    一. MySQL是客户端/服务器架构1)macOS操作系统上的默认安装目录:/usr/local/mysql/  在MySQL的安装目录下有一个bin目录,这个目录下存放着许多可执行文件.2)将该bi ...

  3. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句

    MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...

  4. 初识 MySQL 5.6 新功能、参数

    摘要: 继上一篇的文章 初识 MySQL 5.5 新功能.参数 之后,现在MySQL5.6 针对 MySQL5.5 各个方面又提升了很多,特别在性能和一些新参数上面,现在看看大致提升了哪些方面(后续不 ...

  5. 初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

  6. Mysql(一):初识数据库

    一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件 ...

  7. MySQL之初识数据库

    一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件 ...

  8. 【MySQL】初识数据库及简单操作

    一.数据库概述 1.1 什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机. ...

  9. python之路--MySQL数据库初识

    一 . MySQL安装 # 下载MySQL地址 https://dev.mysql.com/downloads # 要选稳定的,不要选最新的,稳定的就是半年以上没有出现过bug 现在5.6.43为绝大 ...

随机推荐

  1. ZZNU 正约数之和

    #include<stdio.h> #include<string.h> #include<math.h> #include<time.h> #incl ...

  2. OpenModelica中simulate的用法

    先把官网上的说明文档放上来: simulate simulates a modelica model by generating c code, build it and run the simula ...

  3. vue-cli3快速创建项目

    文档:https://cli.vuejs.org/zh/guide/ 条件: npm 更至最新 node >=8.9 1.全局安装 npm install -g @vue/cli 或 yarn ...

  4. zlib交叉编译

    下载 zlib-1.2.9.tar.gz wget http://www.zlib.net/fossils/zlib-1.2.9.tar.gz 解压文件 tar -zxvf zlib-1.2.9.ta ...

  5. U8工具栏特别小是怎么回事

    用友的工具栏特别窄了,填制凭证里的保存.增加凭证等按钮因为工具栏特别窄都看不清了 解决方法:正常机器下的system32下面的mscomctl.ocx文件替换到有问题的机器下,您的系统应该是XP的,这 ...

  6. lua中pairs 和 ipairs 的区别

    1.table中存储值的时候,是按照顺序存储的,存储 k-v 的时候,是按照 k 的哈希值存储的. 2.ipairs --- 只能输出 table 中的值,并且不可输出nil,遇到 ni l就退出 p ...

  7. 第 3 章 镜像 - 015 - 调试 Dockerfile

    如何 debug Dockerfile 通过 Dockerfile 构建镜像的过程 从 base 镜像运行一个容器 执行命令对容器做修改 执行类似 docker commit 的操作,生成一个新的镜像 ...

  8. springboot---->获取不到yml配置文件指定的值

    import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.Spr ...

  9. 20181013xlVba计算优秀率及合格率

    Sub 计算高一优秀合格率() Dim Wb As Workbook Dim Sht As Worksheet Dim oSht As Worksheet Dim dOs As Object 'Out ...

  10. php单例模式的使用场景,使用方法

    一个类只有一个对象实例 1.含义 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例.它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用. 2 ...