首页 > 技术文章 > 初识数据库跟SQL

xqr2018 2018-03-31 19:21 原文

数据库,通常是一个或一组文件,保存在硬盘里,简称DB,其存在的意义:让我们更加有效率地存、取数据。而数据库软件称为数据库管理系统(DBMS),一个DBMS可以管理多个DB。

SQL,全称结构化查询语言,SQL是一套标准,用来与数据库打交道,但是每一个数据库都有自己特别的特性,所以只能说90%以上的SQL是通用的
那么,DBMS,DB跟SQL三者有什么关联呢? 答:DBMS通过执行SQL语句操作底层的DB中的数据

常见的关系型数据库:Oracle,sql server,MySQL(端口号:3306),sybase,DB2等

表(table)是一种结构化的文件,可以用来存储特定类型的数据,数据库通过表格存储数据。表中的列(column),称为字段;行,称为表中的记录
每一个字段有四个属性:
1.字段有字段的名称
2.字段有字段的数据类型
3.字段有长度
4.字段有其约束条件

RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database

RDBMS的术语:

  • 数据库: 数据库是一些关联表的集合。.
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
  • 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余可以使系统速度更快。(表的规范化程度越高,表与表之间的关系就越多;查询时可能经常需要在多个表之间进行连接查询;而进行连接操作会降低查询速度。例如,学生的信息存储在student表中,院系信息存储在department表中。通过student表中的dept_id字段与department表建立关联关系。如果要查询一个学生所在系的名称,必须从student表中查找学生所在院系的编号(dept_id),然后根据这个编号去department查找系的名称。如果经常需要进行这个操作时,连接查询会浪费很多的时间。因此可以在student表中增加一个冗余字段dept_name,该字段用来存储学生所在院系的名称。这样就不用每次都进行连接操作了。)
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表,是另外一个表的主键。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

冗余带来的影响:好处:查询速度提升

             坏处:数据量增加;修改时重复数据

 

SQL的分类:(前三个最重要,尤其是前两个:对表中数据增删改查
数据查询语言(DQL),代表关键字:select ;
数据操纵语言(DML),代表关键字:insert,update,delete
数据定义语言(DDL),代表关键字:create,drop,after
事务控制语言(TCL),代表关键字:commit,rollback
数据控制语言(DCL),代表关键字:grant,revoke

推荐阅读