首页 > 数据库 >第一章---数据库介绍

第一章---数据库介绍

时间:2024-08-18 21:04:18浏览次数:8  
标签:文件 机器 数据库 mysql 第一章 --- 管理软件 MySQL

一、数据库管理软件的由来

基于我们之前对数据的了解,数据想要进行永久保存,一般都是保存到文件中,但是一个文件仅仅只能存在于某一台机器上。

如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。

很不幸,这些假设都是你自己意淫出来的,上述假设存在以下几个问题。。。。。。

1、程序所有的组件就不可能运行在一台机器上

# 因为这台机器一旦挂掉则意味着整个软件的崩溃,并且程序的执行效率依赖于承载它的硬件,而一台机器机器的性能总归是有限的,受限于目前的硬件水平,就一台机器的性能垂直进行扩展是有极限的。
# 于是我们只能通过水平扩展来增强我们系统的整体性能,这就需要我们将程序的各个组件分布于多台机器去执行。

2、数据安全问题

# 根据1的描述,我们将程序的各个组件分布到各台机器,但需知各组件仍然是一个整体,言外之意,所有组件的数据还是要共享的。但每台机器上的组件都只能操作本机的文件,这就导致了数据必然不一致。
# 于是我们想到了将数据与应用程序分离:把文件存放于一台机器,然后将多台机器通过网络去访问这台机器上的文件(用socket实现),即共享这台机器上的文件,共享则意味着竞争,会发生数据不安全,需要加锁处理。。。。

3、并发

# 1.远程连接(支持并发)
# 2.打开文件
# 3.读写(加锁)
# 4.关闭文件

总结

我们在编写任何程序之前,都需要事先写好基于网络操作一台主机上文件的程序(socket服务端与客户端程序),于是有人将此类程序写成一个专门的处理软件,这就是mysql等数据库管理软件的由来,但mysql解决的不仅仅是数据共享的问题,还有查询效率,安全性等一系列问题,总之,把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。

ps:mysql数据库管理软件是一个cs架构的套接字程序,该程序的基本流程就是客户端提交命令给服务端运行,然后服务端将结果返回给客户端,所以说白了数据库管理软件如mysql本质就是一个远程执行命令的套接字程序,数据库管理软件提供的这套命令称之为sql。

二、数据库基本概念

1、什么是数据(Data)

事物的状态

2、什么是记录

就是一组数据所构成,相当于文件中的一行内容,如1,Tmars,male,22

3、什么是表

文件

4、什么是库(DataBase,简称DB)

文件夹

5、什么是数据管理系统(DataBase Management System 简称DBMS)

管理数据的套接字软件,CS架构

6、什么是数据库服务器

运行有DBMS服务端的计算机,该计算机对内存和硬盘要求都相对较高

三、数据库管理软件分类

简单分为两类

  1. 关系型数据库(RDBMS:Relational Database Management System)
sqllite

db2

access

sql server
微软公司的产品,主要应用于大中型企业,如联想、方正等。

oracle
主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。
也是甲骨文公司的产品。

MySQL
主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码
因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。

MariaDB
SUN被甲骨文收购后,MySQL 的原创人员有拉出另外一个分支,
命名MariaDB 。该数据库被维基百科,Facebook 甚至 Google 
等技术巨头使用。 MariaDB 是一种可为 MySQL 提供插件替换功能的
数据库服务器。开发人员的首要关注点是安全性,在每个版本发布时,
开发人员还会合并所有 MySQL 的安全修补程序,
并在需要时对其进行增强。

注意:sql语句通用
  1. 非关系型数据库
如
    mongodb(可用来作为后端数据库管理软件)
    redis(多用来作为缓存)
    memcache(多用来作为缓存)

可以简单的理解为:

关系型数据库需要有表结构
非关系型数据库是key-value存储的,没有表结构

MySQL介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
 
mysql本质是一个基于socket套接字编写的C/S架构的软件
客户端软件
    mysql自带:如mysql命令,mysqldump命令等
    python模块:pymysql

标签:文件,机器,数据库,mysql,第一章,---,管理软件,MySQL
From: https://www.cnblogs.com/Tmars/p/18366098

相关文章

  • 剪辑技巧速成课,高清拍摄+调色 转扇子,建筑-抠图精通,新手秒变剪辑专家
    1.引言随着数字媒体的发展,视频剪辑技术已成为传达创意和信息的重要手段。本课程通过系统化的教学,使学员能在较短时间内掌握视频剪辑的核心技巧。2.课程内容摘要基础剪辑技巧隔空抓取技术:学习如何实现物体的瞬间移动效果。扇子转场:掌握使用扇子进行平滑转场的技巧。创......
  • [Python学习日记-8] 读取用户指令和格式化输出
    简介    平常我们在网上冲浪是经常会遇到需要我们输入数据,然后来进行交互的,而我们本篇要说的读取用户指令就是在命令行当中程序和用户进行交互的一种方法,表现形式就像使用shell登录linux时需要你输入用户名和密码然后回车确认的那种形式。而在输入前一定是需要说......
  • JSP基于Java的学生综合测评管理系统7pc27程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:学生,教师,课程类型,课程信息,权重设置,思想道德,拓展素质,课程成绩,总成绩信息,考勤信息技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后......
  • JSP基于java的ktv管理系统s0wdw--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,房间展示,房间类型,房间预定,商品类型,零食酒水,开房信息开题报告内容一、项目背景与意义随着娱乐产业的蓬勃发展,KTV已成为人们休闲娱乐的重要场......
  • AIGC时代算法工程师的面试秘籍(第二十式2024.8.5-8.18) |【三年面试五年模拟】
    写在前面【三年面试五年模拟】旨在整理&挖掘AI算法工程师在实习/校招/社招时所需的干货知识点与面试方法,力求让读者在获得心仪offer的同时,增强技术基本面。也欢迎大家提出宝贵的优化建议,一起交流学习......
  • 【代码随想录训练营第42期 Day32打卡 - 从零开始动态规划 - LeetCode 509. 斐波那契数
    目录一、做题心得二、动规五步走三、题目与题解题目一:509.斐波那契数题目链接题解1:记忆性递归 题解2:动态规划题目二:70.爬楼梯 题目链接题解:动态规划题目三:746.使用最小花费爬楼梯题目链接题解:动态规划三、小结一、做题心得今天开始动态规划章节的第一......
  • Linux系统-通用权限管理
    目录一、文件类型二、通用权限1.文件的常规权限权限类型壹.对于文件:贰.对于目录:查看和修改权限说明:举例:字母表示法数字表示法2.文件的访问控制列表(FACL Fileaccesscontrollist)setfacl设置 getfacl查看举例说明基本组的控制访问删除文件访问控制列表......
  • Mybatis学习日记-day7-动态sql
    一、学习目标        在之前的学习中,使用的都是静态sql,而动态SQL相比静态SQL具有多个显著的优点。    首先。,动态SQL允许根据程序运行时的条件和需求来动态地生成SQL语句。这意味着它可以根据不同的情境和需求生成不同的SQL语句,从而提供更高的灵活性和适应......
  • _PIX 7.0 Day 4-2
    有一些协议的协商需要动态的打开一个连接,动态的改变源目地址端口.这时防火墙需要对这些包进行监控,从而打开这些端口号,允许这些流量穿越防火墙,防火墙处理nat/pat做地址转换,对包重新封装.阻止一些非法的流量.fw1(config)#class-mapinspectiondefaultdefaultprotocol监控策......
  • SNRS Day 2-1 (CBAC&Auth-Proxy)
    cbac基于内容的访问控制authenticationproxy认证代理,对穿越路由器的流量做认证审计授权.intrusionpreventionsystem(ips)cbac对数据包监控动态放行某些流量,要结合访问列表,对穿越路由器的tcp,udp进行一个监控.从而形成一个状态化的表项,基于表项动态的建立访问列表,当超......