数据库(DB):存储数据的仓库,保存了一系列有组织的数据集合,相当于一个文件柜,此文件柜是是一个存放数据的物理位置。抽象来看,数据库就是一个存放数据的容器。
数据库管理系统(DBMS):一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
常见的数据库管理系统:
-
MySQL 开源数据库,大公司喜欢用,因为这样节省成本
-
Oracle 很贵的数据库管理系统,无论是购买还是技术支持
-
DB2 适合处理海量的数据
-
SqlServer 由微软提供,缺点是只能安装到了微软的系统
人们喜欢将数据库和数据管理系统相互混淆,严谨的说,其实这是不对的,数据库是数据库管理系统进行操作和管理的容器,而数据库是个大型的软件。
SQL:结构化查询语言,专门用来与数据库通信的语言。其实就是告诉数据库进行增删改查
SQL的优点 :
-
不是某个特定的数据库供应商专有的语言,DBMS几乎都支持SQL
-
简单易学
-
虽然简单,但是很灵活,可以进行复杂和高级的数据库操作。
表(table):某种特定类型数据的结构化清单,如水果信息表。
name | 价格 | 数量 |
---|---|---|
香蕉 | $1 | 5 |
苹果 | $1 | 6 |
草莓 | $1 | 7 |
我们将数据放入数据库里面,不可能随意的将每条信息逐个逐个的添加,而是应该在数据库里面创建文件,将特定的信息放在特定的文件里面,在数据库里面,这种文件就叫做表,比如说产品清单,学生的个人信息表。当你记录两种不同的信息清单的时候,记住要创建两个表,不然以后的检索和修改很困难。同一个数据库的不同的表名字不允许相同。
列(column):表中的一个字段,存储着表中的某部分的信息。所有表都是一个或多个列组成的。比如上表中的 name,价格,数量这几列都分别构成一个字段,代表数据的属性。
数据类型(datatype):所能容许的数据的类型。由于表的每一列都存储着相同属性的数据,那么每一列都有着相应的数据类型,如整形,字符串类型等。数据类型还能帮助正确的排序数据,优化磁盘方面也有重要作用,防止在某一字段内录入了不正确的数据类型。
行(row):表中的一个记录,例如,上图中的:香蕉,1,5就构成了一个记录,感觉上有点像是一个对象。
主键:一列(或一组列),其值可以唯一区分表中的每一行,比如说上表上的name列,就可以作为这个表的主键,没有主键,更新或者删除特定的行很困难。
当然不是表都需要主键,但是大多数的时候设计人员应该保证创建的每一个表都有一个主键,方便管理。
设为主键的条件:
-
任意两行都不具有相同的主键值
-
每个行都必须要有一个主键值,就是说每一行的主键值不允许为空
主键的好习惯:
-
不跟新主键值
-
不随意更改主键值
-
不重用主键值
-
及时跟新主键值(比如产品的信息发生的改变,如果你恰好使用了产品的某个信息为主键的话,那么就需要及时修改)