D1-数据库介绍

作者: 喝奶茶不加奶茶 | 来源:发表于2020-06-24 22:12 被阅读0次

    1.1 数据的存储

    数据存储.png

    更直观的说明:
    我们看到的数据库如下:


    顾客/消费者看到的数据库如下:


    数据库的组成
    题外话:excel可以很好的类比于数据库,数据库里有table;excel里有sheet。
    数据库:本质是特殊的文件,由多个表组成,是数据表的集合。
    描述一类的信息的一列 称为字段
    描述一个事务的信息的一行 称为记录
    能够唯一标识一行记录的字段 叫做主键

    1.2 关系型数据管理系统(RDBMS)

    当前主要使用两种类型的数据库:关系型数据库和非关系型数据库,我们学习的是关系型数据库(relational database management system)。
    具体定义:
    是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
    了解一下关系型数据库的主要产品:

    • oracle:在大型项目中使用,银行、电信等。
    • mysql(我们所选):web时代使用最广泛的关系型数据库。
    • ms sql server:在微软的项目中使用。
      *sqlite:轻量级数据库,主要应用在移动平台。

    可以根据下图体会一下SQL在客户端与服务器之间的连接作用,SQL是我们学习的重点。


    1.3 SQL

    即structured query language,结构化查询语言,用于操作关系型数据库。
    SQL语句主要分为:
    DQL:数据查询语言,用于对数据进行查询,如select
    DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete
    TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback
    DCL:数据控制语言,进行授权与权限回收,如grant、revoke
    DDL:数据定义语言,进行数据库、表的管理等,如create、drop
    CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
    对于web程序员来讲,重点是数据的crud(增删改查),必须熟练编写 DQL、DML,能够编写DDL完成数据库、表的操作,其它语言如TPL、DCL、CCL了解即可

    学习目标:

    • 熟练掌握数据增删改查相关的SQL语句编写
    • 在python中通过SQL对数据进行操作

    1.4 数据完整性

    首先明确:一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中。
    其次,可以从字段的类型和约束两方面为表添加一些强制性的验证,以保证数据的正确有效。
    下面就从类型和约束两方面进行说明:

    • 数据类型
      原则:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间
      常用数据类型:
      整数:int,bit
      小数:decimal
      字符串:varchar,char
      日期时间: date, time, datetime
      枚举类型(enum)
      其中,
      • decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位
      • char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab '
      • varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab'
      • 字符串text表示存储大文本,当字符大于4000时推荐使用
      • 对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径

    http://blog.csdn.net/anxpp/article/details/51284106

    • 约束
      主键primary key:物理上存储的顺序
      非空not null:此字段不允许填写空值
      惟一unique:此字段的值不允许重复
      默认default:当不填写此值时会使用默认值,如果填写时以填写为准
      外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常
      说明:虽然外键约束可以保证数据的有效性,但是在进行数据的crud(增加、修改、删除、查询)时,都会降低数据库的性能,所以不推荐使用,那么数据的有效性怎么保证呢?答:可以在逻辑层进行控制

    相关文章

      网友评论

        本文标题:D1-数据库介绍

        本文链接:https://www.haomeiwen.com/subject/qpedfktx.html