1、数据库(database):数据库是一个以某种有组织的方式存储数据的集合。最简单的 方法是将数据库想象为一个文件柜,这个文件柜是一个存放数据的物理位置,不管数据是是什么,也不管数据是如何组织的。
注意:误用导致混淆。人们通常用数据库代表所使用的数据库软件。确切的说,数据库软件应该称为数据库管理系统(DBMS),而数据库是通过DBMS创建和操作的容器。
2、表:表是一种结构化的文件,可以用来存储某种特定类型的数据。表可以存储顾客清单、产品目录,或者其他信息清单 ,但是存储在表中的数据应是同一种类型的数据或者清单,绝不应该将顾客的清单与订单的清单存储在同一个数据表中,否则 以后检索会很困难。同一个数据库中的每个表都有唯一的名字,即数据库中没有其他表具有相同的名字。
3、关系型数据库
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
4、列和数据类型
表由列组成,列是表中的一个字段,所有表都是由一个或多个列组成。每一列 存储特定的信息
数据库中每个列都有相应的数据类型。数据 类型定义了列可以存储哪些种类的数据,每个表列都有相应的数据类型,它限制(或允许)该列中存储的数据。
5、主键(primary key)
表中应该有一列(或几列)可以唯一标识自己。注意:虽然并不总是需要主键,但多数数据库设计者都会保证他们创建的每个表具有一个主键,以便于以后的数据操作和管理。
表中的任何列都可以作为主键,只要它满足下列条件:
(1)任意两行都不具有相同的主键值
(2)每一行都必须有一个主键值(主键列不允许NULL)
(3)主键列中的值不允许修改或更新
(4)主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)
6、外键(foreign key)
如果公共关键字在一个关系中是主键,那么这个公共关键字被称为另一个关系的外键
外键用于保持数据的一致性,完整性,控制存储在外键表中的数据。
7、视图(view)
视图是一种虚拟存在的表,是一个逻辑表,本身并不包含数据,作为一个select语句保存在数据字典中。
通过视图可以展现基表的部分数据,视图数据来自定义视图的查询中使用的表,使用视图动态生成。
基表:用来创建视图的表叫做基表base table
8、存储过程
简单的说,存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。
特性:(1)有 输入输出参数,可以声明变量,有if/else,case,while等控制语句,存储过程可以实现复杂的逻辑功能。
(2)模块化,封装,代码复用
(3)速度快,只有首次执行需要经过编译和优化步骤,后续被调用可以 直接执行。
-- ----------------------------
-- Procedure structure for `proc_adder`
-- ----------------------------
DROP PROCEDURE IF EXISTS `proc_adder`;
DELIMITER ;;
CREATE PROCEDURE `proc_adder`(IN a int, IN b int, OUT sum int)
BEGIN
#Routine body goes here...
DECLARE c int;
if a is null then set a = 0;
end if;
if b is null then set b = 0;
end if;
set sum = a + b;
END
;;
DELIMITER ;
set @b=5;
call proc_adder(2,@b,@s);
select @s as sum;