美文网首页
《SQL必知必会》笔记(MySQL实现)---数据库基础

《SQL必知必会》笔记(MySQL实现)---数据库基础

作者: CoolForrest | 来源:发表于2017-07-10 16:16 被阅读0次

    数据库

    数据库(database,保存有组织的数据容器)是一个以某种有组织的方式储存的数据集合。最简单的办法是将数据库想象为一个文件柜。这个文件柜是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的。

    关于数据库和数据库管理软件

    人们通常用数据库这个术语来代表他们使用的数据库软件,这是不正确的。确切的说,数据库软件应被称为数据库管理系统(DBMS),数据库是通过DBMS创建和操纵的容器。

    (table,某种特定类型数据的结构化清单)是一种结构化的文件,可用来存储某种特定类型的数据。设计表的关键一点在于,存储在表中的数据是同一类型的数据或者清单。
    数据库中的每个表都有一个名字来识别自己,这个名字是唯一的,但是实际上是数据库名和表名的组合来使表名唯一,有的数据库还使用数据库拥有者的名字作为唯一名的一部分。但是在相同的数据库中不能两次使用相同的名字。

    模式(schema)

    表具有一些特性,这些特性定义了数据在表中如何储存,包含什么样的数据,数据如何分解,各部分信息如何命名等信息。描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表,也可以用来描述整个数据库(和其中表的关系)。

    列和数据类型


    (column)代表表中的一个字段,所有表都是由一个或者多个列组成的。每一列都储存着某种特定的信息。
    将数据分解为多个列是数据库表结构设计中的重要环节,通过正确的数据分解,才有可能利用特定的列对数据进行分类和过滤。

    数据类型
    数据库中每个列都有相应的数据类型。数据类型(datatype)定义了列可以储存哪些数据种类。数据类型可以帮助正确的分类数据,并且在优化磁盘使用方面起重要的作用。因此,在设计和创建表的时候必须特别关注所用的数据类型。

    数据类型兼容

    数据类型及其名称是SQL不兼容的一个主要原因。各DBMS只是支持大部分的基本数据类型,但是对于高级类型的支持则有所不同。所以在创建表结构时需要清楚这些差异。

    (row)是表中的一个记录。表中的数据都是按行储存的,每条记录对应表中的一行。

    记录还是行?

    有些用户提到行时称其为数据库记录(record),这两个术语多半是可以交替使用的,但是准确的说,行才是正确的术语。

    主键

    表中的每一行都应该有一列或者几列可以唯一标识自己,这一列的字段被称为主键(primary key)。没有主键的话,更新或者删除表中的特定行就极为困难,因为无法保证操作只涉及到相关的行。

    应该总是定义主键,以便于以后的数据管理和操作。
    表中的任何列都可以作为主键,只需满足以下条件:

    • 任意两行都不具有相同的主键值
    • 每一行都必须具有一个主键值(主键列不允许null值)
    • 主键列中的值不允许修改或更新
    • 主键值不能重用(某行从表中删除,其主键也不能赋给以后的行)

    主键通常定义在表的一列上,也可以一起使用多个列作为主键。使用多个列作为主键的时候,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

    外键将会在后面提到

    SQL

    SQL是Structured Query Language(结构化查询语言)的缩写,SQL是一种专门用来与数据库沟通的语言。

    SQL的优点:
    • SQL不是某个特定数据库供应商专有的语言,几乎所有的DBMS都支持SQL。
    • SQL的语句全都是由有很强描述性的英文单词组成,可以像写英文句子一样写出SQL的语句,而且这些单词的数量很少。
    • SQL看似简单,但实际上是一种强有力的语言。熟练使用以后可以进行非常负责和高级的数据库查询。
    关于SQL的扩展

    许多DBMS厂商通过增加语句或指令,对SQL进行了扩展。这种扩展的目的是提供执行特定操作的额外功能或简化方法。但是这种扩展通常都是针对个别DBMS的。
    我们所讨论的SQL是由ANSI标准委员会制定的和管理的标准SQL,从而被称为ANSI SQL。所有主要的DBMS都支持标准的SQL。

    以上就是关于数据库基础的一些介绍。

    在进行下一步数据库的操作之前,还有一个重要的步骤就是安装数据库,将在下一篇介绍如何在Mac电脑上安装MySQL数据库。

    相关文章

      网友评论

          本文标题:《SQL必知必会》笔记(MySQL实现)---数据库基础

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