zoukankan      html  css  js  c++  java
  • MYSQL数据库

     一、为什么会出现数据库

    在没有学习数据库之前,我们保存数据是保存在文件中,然而一个个文件只能保存在一台机器之上,假设我们忽略直接基于文件存取数据的效率问题,并且程序的所有组件都是运行在一台机器之上的,那么用一台机器存取数据似乎是没有问题的,然而事实并非如此!

    上述假设是存在问题的:

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

      如果程序所有组件运行在一台机器之上,那么一旦我们的机器挂掉,意味着整个软件就将崩溃,而且一台机器的硬件承受能力,总归是有限的,即使是做垂直扩张,硬件的性能的提升任然是有限的,所以我们应该想到用水平扩张,让我们程序的组件在多台机器之上进行运行,这样即使某一台机器挂掉,也不至于使得整个程序都挂掉。

    2、数据安全问题

         我们要明确程序的所有组件运行在不同的机器之上,但是他们任然是一个整体,既然是一个整体数据就是共享的,但是每台机器只能操作自己本机的文件,数据显然不能进行共享,就会导致数据一定不一致,我们就会想到将数据和应用程序进行分离,此时我们就把我们的数据放到一台机器之上,这样我们就可以通过网络去访问这台存放数据的机器,然而此时数据是共享了,但是此时大家都可以对共享数据进行修改,数据就会出现安全问题,我们又要对数据进行加锁处理

    2、让运行数据的机器实现并发

    多台机器来访问存放数据的机器,当同时访问数据的机器很多时,我们就要让运行数据的机器能够实行并发的效果,基于这三点我们就想到做一个数据库管理软件,这样就免去了我们开发人员开发程序时还要考虑以上三点的顾虑,可以基于现在成熟的数据库,免去了重复造文字的过程

    二、数据库的基本概念

    1 什么是数据(Data) 

    描述事物的符号记录称之为数据,描述事物的符号可以是数字,文字、图片、声音、视频、等等,当然他们都可以经过数字化之后存入计算机中,在计算机中描述一个事物,就需要抽取一个事物的典型特征,组成一条记录,也就是文件中的一行内容:

    如:1 xiaoming ,male ,18,1999

    然而单纯的一行内容我们明不能很明确的直到到底该内容代表的是不是我们想象的内容,如18我们不知道这是人的年龄还是代表别的什么东西,所以我们想到为其添加描述该内容的一些东西,这样我们就直到具体的一条内容到底在表达的是什么含义了,也就是为其添加上字段。

    2 什么是数据库(DataBase,简称DB)

    数据库就是存放数据的仓库,只不过该仓库是存放于计算机之上的,并且存放的数据是按照一定的格式进行存放的,以前数据是存放在文件柜里的,但是现在数据量越来越大,显然这种方法已经不够用了,数据库是长期存放在计算机内,有组织、可以共享的数据。

     

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

    那么我们如何进行更加科学的组织和存储数据呢?如何更加高效的查询数据和维护数据呢?这就需要我们用到一个系统软件也就是数据库管理系统。

    数据库又分为:

    关系型:
    有表结构,存取数据前必先定义表结构,存数据必须按照字段的类型或者约束来
    典型代表:MySQL,Oracle,DB2,SQL server,mariadb《------------mysql开发者又参照mysql写了一个
    非关系型:
    存取数据都是采用key:value的形式
    非关系型:Mongodb,redis,memcache

    4 数据库服务器、数据管理系统、数据库、表与记录的关系(重点理解!!!)

    记录:1 刘海龙  324245234 22(多个字段的信息组成一条记录,即文件中的一行内容)

    表:student,scholl,class_list(即文件)

    数据库:db1(即文件夹)

    数据库管理系统:如mysql(是一个软件)

    数据库服务器:一台计算机(对内存要求比较高)

    总结:

        数据库服务器-:运行数据库管理软件

        数据库管理软件:管理-数据库

        数据库:即文件夹,用来组织文件/表

        表:即文件,用来存放多行内容/多条记录

    三、MYSQL数据库介绍

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

    mysql是什么

    mysql就是一个基于socket编写的C/S架构的软件
    客户端软件
      mysql自带:如mysql命令,mysqldump命令等
      python模块:如pymysql



    https://dev.mysql.com/downloads/mysql/5.6.html#downloads

  • 相关阅读:
    深入解析Hibernate核心接口
    Hibernate基本原理
    深入hibernate的三种状态
    Hibernate commit() 和flush() 的区别
    Hibernate中的merge使用详情解说
    Record is locked by another user
    Vue路由router-link的使用
    Vue-router的基本使用
    Vue把父组件的方法传递给子组件调用(评论列表例子)
    Vue中子组件调用父组件的方法
  • 原文地址:https://www.cnblogs.com/sui776265233/p/9332456.html
Copyright © 2011-2022 走看看