3分钟学会数据库原理
我们所熟知的数据库一般都是关系型数据库,比如Oracle、Sql Server、DB2和Mysql等。Oracle一般用在电信公司,Sql Server可以在中小型企业或零售公司寻觅其踪影,DB2一般配合IBM的大型机(如OS390),只有高大上的银行能够用得起来,而Mysql因其开源和支持高可用集群,经常在淘宝等网站亮其身份。
谈到数据库,最基本的莫过于对其原理的寻幽探密。我们需要了解关系型数据库的基本特征,SQL的语法结构,以及数据库编程技术、数据安全和保护机制等。
现将几个耳熟能详的概念解释列举如下,
1、第三范式3NF,即不具有传递函数依赖关系的第二范式2NF,第二范式是表的所有非主属性都完全函数依赖于候选关键字的第一范式1NF,第一范式是任一给定关系R中每个列与行的交点处的取值都是不可再分的基本元素,即不含重复组的关系或嵌套结构;
2、E-R图,表示表或实体的关系图,通常作为表之间关系的设计,属于UML语言的静态组件图的范畴,并可以列出每个表字段的详细信息。一般我们设计的表格要符合第三范式;
3、表的连接关系(JOIN),表之间的连接关系用笛卡尔乘积,比如R X S中选取R的第i列属性值与S的第j列属性的乘积。连接又分为内连接和外连接,外连接又分左外连接和右连接;
4、常见的SQL语句:
create database/table/PROCEDURE(创建操作),
select, insert,update,delete(增删改查),
select col_name INTO var_name(变量赋值),
DROP database/table/PROCEDURE(删除操作),
DECLARE cursor_name CURSOR FOR(声明游标),
OPEN cursor_name(开启游标),
FETCH cursor_name INTO var_name(游标取值),
Create Trigger mysql.customers After Insert(创建触发器),
IF...THEN...ELSE(条件判断的语法结构)