一、数据库之理论基础

  • 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、Microso? SQL Server、Microso?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

一、数据库之理论基础相关推荐

  1. 把握数据库发展趋势 DBA应如何避免“踩坑”?

    在DTCC 2019大会上,阿里云智能数据库产品事业部高级产品专家萧少聪做了题为<如何构建云时代DBA的知识体系>的演讲,进行云时代以后,IT行业各工种的职责都在发生变化,云数据库使得日常 ...

  2. 数据库设计_数据库设计(一)分析及逻辑设计

    ​作为一个后端开发者,数据库设计是我们避不开的课题,不管是面试的时候,还是在真实工作的情境下,我们的工作不仅仅是将代码开发出来,根据开发的项目,设计出支撑项目的数据库,也是一个合格的开发者所应该具备的 ...

  3. 数据库的部分依赖,完全依赖,传递依赖以及三种范式总结

    关系数据库理论也称为关系的规范化理论,是数据库的理论基础,同时也是数据库设计的有力工具. 规范化,数据依赖的公理系统和模式的分解是本科阶段要了解的内容,而后两者在研究生学习阶段需要加深巩固,所以对这几 ...

  4. 数据库发展与PostgreSQL生态系列文章二

    作者:魏波,中国PG分会培训认证执行总监.资深数据库工程师,十多年的数据库运维管理及培训经验,掌握PostgreSQL架构部署.性能优化等,致力于推动PostgreSQL在中国的发展. 数据库发展概要 ...

  5. 计算机科学不等于数学

    一些程序员认为"计算机科学就是数学".诚然,计算机科学是数学的一个分支学科,而如今我们认为,这种作为计算机科学基础的分支应当是"理论计算机科学".如Alonzo ...

  6. MongoDB的可视化工具

    MongoDB的可视化工具 MongoDB 是一款非常热门的NoSQL,面向文档的数据库管理系统,官方下载地址是:MongoDB,我选择的是 Enterprise Server (MongoDB 3. ...

  7. 知识图谱(八)——知识存储和检索

    背景 知识图谱是一种有向图结构,描述了现实世界存在的实体.事件或者概念以及它们之间的关系,为自动问答.信息检索等应用提供支撑.其中,图中的节点表示实体.事件或概念,图中的边表示相邻节点间的关系,如下图 ...

  8. 浅谈数据仓库建设中的数据建模方法

    http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0803zhousb/ 所谓水无定势,兵无常法.不同的行业,有不同行 ...

  9. MySQL 深入学习总结

    作者:yandeng,腾讯 PCG 应用开发工程师 1.数据库基础 1.1 MySQL 架构 和其它数据库相比,MySQL 有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用.主要体现在存储 ...

  10. 数据仓库建设中的数据建模方法(转)

    简介: 本文的主要内容不是介绍现有的比较流行的主要行业的一些数据模型,而是将笔者在数据仓库建设项目中的一些经验,在这里分享给大家.希望帮助大家在数据仓库项目建设中总结出一套能够合乎目前业界规范的,满足 ...

最新文章

  1. java hdfs创建文件_使用HDFS java api 创建文件出错。
  2. 简述使用混合传递参数时的基本原则_JUnit 5参数化方法测试(一)
  3. Beginning C# Objects 读书笔记(一)
  4. leetcode-387-字符串中的第一个唯一字符
  5. 计算机的80端口被占用 - 思路篇
  6. android8.0于与ios,android 8.0 oreo抄袭苹果吗 android oreo和ios 11对比
  7. java-----抽象类与接口
  8. spss 的判别分析输出结果解读,P(Dd|G=g), P(G=g|D=d),个案输出结果 casewise statistics
  9. Asp.net自定义控件开发任我行(1)-笑傲江湖
  10. U盘加密软件测试简历,U盘加密软件哪个好用?2020U盘加密软件推荐
  11. STM8L USART串口调试
  12. 计算机行业未来的规划模板,计算机专业个人职业规划优秀模板
  13. ISIS SPF算法简单过程
  14. 第五季完美童模 形象大使施承妤现场走秀回顾
  15. YUDIAN(宇电)温控器参数笔记(一)
  16. 【docker】macOS系统下安装并配置阿里云镜像加速
  17. (IS 19)wav2vec: Unsupervised Pre-training for Speech Recognition
  18. NLP笔记:常用激活函数考察整理
  19. TemplatesImpl利用链与Fastjson注入内存马
  20. GhostNet代码解析

热门文章

  1. 老徐 MYSQL 宝典
  2. Zotero取消英文语法检查
  3. 搜狗输入法取消英文空格确认
  4. 在计算机硬盘使用前需要做的工作是,工作电脑的硬盘该如何保养
  5. [转贴]杨式太极拳八十五式通释—2—王志远
  6. 随手写程序-t检验计算置信区间
  7. 北京大学肖臻老师《区块链技术与应用》公开课笔记-BTC
  8. python中的 zip函数详解
  9. 39岁阿里P9失业,资产1.5亿,北京4套房!职场人的离职悲喜各不相同
  10. 选择器的权重中对交集选择器,分组(并集)选择器,以及关系选择器的理解