1.数据库
①数据库(database)## 保存有组织的数据的容器
(通常是一个文件或者一组文件)[可以想象为一个文件柜]
②数据库软件(如:Mysql)称为数据库管理系统(DBMS)
③通过使用数据库管理系统操作数据库
(数据库是一个存放数据的容器,通过数据库管理系统[比如MySQL]操作这个容器)
④数据库组织并存储数据,(一般是存储在硬盘上,也有一些是存储在内存中)应用到数据结构。
2.分类
数据库主要分成两大类
(1)关系型数据库(Mysql):数据的组织形式使用“表”作为结构,类似于excel
①首先有一个表头,表头中约定了很多列,以及每一列的类型。插入的数据就是表中的一行。这一行的每一列都需要和表头结构对应。
②对于数据的“约束”(对于数据合法性的检验)比较强。 适用于大部分场景
③关系型数据库按照数据表的形式来组织数据,一个数据库中包含若干个表,每个表又有很多字段(每个表的类型都是确定的),
表中的每一行就是一条数据类型.
④MySQL,Qracle,SQL,Server,SQLite
(2)非关系型数据库:数据的组织性形式使用“键值对”作为结构,类似于Map.
①存储的时候都是需要指定key和value。每组数据的value都需要那些字段?没有明确的要求。对于数据的约束更低。
②相比于关系型数据库,牺牲了一部分的功能。但是换来了更高的效率以及更强的水平扩展能力 更适用于分布式系统中
③Redis,MongoDB,HBase… NoSQL
3.表
①将资料放进文件柜的时候,不是随意放置,而是在文件柜中创建文件,将资料放入指定的文件中,在数据库这类文件被称为表。
表是一种结构化的文件,用于存储某种特定类型的数据
②表:某种特定类型数据的结构清单
存储在表中的数据是一种类型的数据或者一个清单,比如表可以存储学生清单和班级清单,但需注意的是学生清单和班级清单需存储在两张表里,不能放在一个表里,否则 影响后续访问和检索
③表名必须是唯一的
(模式(一个定义):关于数据库和表布局及特性的信息,可称为数据的同义词)
4.列
如学生表中一个列存学生编号,一个列存学生姓名
列:表中的一个字段。所有表都是由一个列或多个列组成。
5.行
表中的数据是按照行存储的,保存的每一条记录存储在相应的行中。
行:表中的一个记录
6.主键
主键(primary key)一列(或一组列),其值能够唯一区分表中每个行。
表中的任意列都可以作为主键,但是主键列中每一行唯一且不为空
7. SQL
SQL是一种编程语言。
操作数据库的时候主要使用SQL
关系型数据库都支持SQL
SQL:结构化查询语言(Structured Query Language)