一、数据库之理论基础

一、数据库之理论基础

  • 1、什么是数据库
    • 1.1 数据
    • 1.2 数据库
  • 2、数据库管理系统(DBMS)
  • 3、数据库与文件系统的区别
    • 3.1 文件系统
    • 3.2 数据库系统
    • 3.3 区别:
  • 4、数据库的发展史
  • 5、常见数据库
    • 5.1 关系型数据库
    • 5.2 非关系型数据库
  • 6、DBMS支持的数据模型
  • 7 、运维对数据库的要求
    • 7.1 程序员对数据库要求
    • 7.1 运维对数据库要求
    • 7.3 数据库运维工作总原则
  • 8 MySQL简介
    • 8.1 MySQL的特性
    • 8.2 MySQL获取
    • 8.3 MySQL的安装

1、什么是数据库

1.1 数据

        数据:就是描述事物的符号记录, 可以是数字、 文字、图形、图像、声音、语言等,数据有多种式,它们都可以经过数字化后存入计算机。

1.2 数据库

       数据库: 存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享,总结为以下几点:

  • 数据结构化
  • 数据的共享性高,冗余度低,易扩充
  • 数据独立性高
  • 数据由 DBMS 统一管理和控制(安全性、完整性、并发控制、故障恢复)

2、数据库管理系统(DBMS)

        数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。

3、数据库与文件系统的区别

3.1 文件系统

        文件系统: 文件系统是操作系统用于明确存储设备(常见的是磁盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

3.2 数据库系统

        数据库系统: 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软
件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的
安全性和完整性。

3.3 区别:

  • 管理对象不同: 文件系统的管理对象是文件,并非直接对数据进行管理,不同的数据结构需要使用不同的文件类型进行保存(举例: txt 文件和 doc 文件不能通过修改文件名完成转换);而数据库直接对数据进行存储和管理
  • 存储方式不同:文件系统使用不同的文件将数据分类保存在外部存储上;数据库系统使用标准统一的数据类型进行数据保存(字母、 数字、符号、时间)
  • 调用数据的方式不同:文件系统使用不同的软件打开不同类型的文件;数据库系统由 DBMS统一调用和管理。

4、数据库的发展史

  • 初始阶段-----人工管理:人力手工整理存储数据
  • 萌芽阶段-----文件系统:使用磁盘文件来存储数据
  • 初级阶段-----第一代数据库:出现了网状模型、层次模型的数据库
  • 中级阶段-----第二代数据库:关系型数据库和结构化查询语言
  • 高级阶段------新一代数据库:NOSQL型数据库

5、常见数据库

5.1 关系型数据库

        关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。 简单说,关系型数据库是由多张能互相联接的二维行列表格组成的数据库。
        关系模型就是指二维表格模型, 因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Oracle、DB2、SQL Server、Access、MySQL、浪潮K-DB 、武汉达梦、南大通用、人大金仓等。
        实体关系模型简称 E-R 模型,是一套数据库的设计工具,他运用真实世界中事物与关系的观念,来解释数据库中的抽象的数据架构。实体关系模型利用图形的方式(实体-关系图)来表示数据库的概念设计,有助于设计过程中的构思及沟通讨论。

5.2 非关系型数据库

        非关系型数据库: 又被称为 NoSQL(Not Only SQL ),意为不仅仅是 SQL, 是一种轻量、开源、不兼容 SQL 功能的数据库, 对 NoSQL 最普遍的定义是“非关联型的”,强调 Key-Value 存储和文档数据库的优点,而不是单纯地反对RDBMS(关系型数据库管理系统)。

6、DBMS支持的数据模型

  • 层次模型(Hierarchical Model)
  • 网络模型(Network Model)
  • 实体关系模型(Entity-relationship Model)
  • 关系模型(Relational Model)

7 、运维对数据库的要求

7.1 程序员对数据库要求

 基本的SQL操作、CRUD操作
 多表连接查询、分组查询和子查询。
 常用数据库的的单行函数。
 常用数据库的基本命令。
 常用数据库的开发工具。
 事务概念。
 索引、视图、存储过程和触发器。

7.1 运维对数据库要求

 部署环境
 数据库安装、参数配置、权限分配
 备份/还原
 监控
 故障处理
 性能优化
 容灾
 升级/迁移
 系统用户反馈的数据库问题

7.3 数据库运维工作总原则

1、能不给数据库做的事情不要给数据库,数据库只做数据容器。
2、对于数据库的变更必须有记录,可以回滚。

8 MySQL简介

        MySQL是一个小型关系数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被sun公司10亿美金收购。2009年,SUN又被Oracle以74亿美金收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

8.1 MySQL的特性

  1. 使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
  2. 支持AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、
    OS/2 Wrap、Solaris、SunOS、Windows等多种操作系统。
  3. 为多种编程语言提供了API。这些编程语言包括C、C++、C#、Delphi、Ei?el、Java、Perl、
    PHP、
    Python、Ruby和Tcl等。
  4. 支持多线程,充分利用CPU资源,支持多用户。
  5. 优化的SQL查询算法,有效地提高查询速度。
  6. 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入
    到其他的
    软件中。
  7. 提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shi?_JIS等都可以用作数据表
    名和数
    据列名。
  8. 提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
  9. 提供用于管理、检查、优化数据库操作的管理工具。
  10. 可以处理拥有上千万条记录的大型数据库。

8.2 MySQL获取

  • 版本介绍:

      Alpha版:开发版,公司内部使用
      Beta版:完成开发后,用户体验版
      RC版:生产环境发布之前的一个小版本或称候选版
      GA版:正式发布版本
      MySQL官网地址: http://www.mysql.com/
      从官方网站下载安装包
      从官方网站下载源代码包
      从官方网站下载二进制包
      从发行版本光盘中获取安装包
    
  • MySQL 常见版本:
           (1)MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
           (2)MySQL Enterprise Edition 企业版本,需付费,可以试用 30 天。
           (3)MySQL Cluster 集群版,开源免费。可将几个 MySQL Server 封装成一个 Server。MySQL Cluster CGE 高级集群版,需付费

8.3 MySQL的安装

见下一篇文章,点击此链接进行跳转:
https://blog.csdn.net/qq_46645079/article/details/121479062

你可能感兴趣的:(数据库,开发语言,数据库,mysql,数据库开发,经验分享)