
数据库及其相关概念解析
数据库:数据库(DataBase,简称DB)是信息的集合,或者说是由数据库管理系统(Database Management System,简称DBMS)管理的数据的集合。
数据库管理系统:数据库管理系统(DBMS)是一种操纵和管理数据库的大型软件,通常用于建立、使用和维护数据库。
数据库系统:数据库系统(Data Base System,简称DBS)通常由软件、数据库和数据管理员(DBA)组成。
数据库管理员:数据库管理员(Database Administrator,简称DBA)负责全面管理和控制数据库系统,确保其性能、安全性和完整性。
基本构成:数据库系统基本构成包括元组、码、候选码、主码、外码、主属性、非主属性等概念。元组是关系数据库中的基本概念,关系就像一张表,表中的每行就是一个元组。码是能唯一标识实体的属性,对应表中的列。其他如候选码、主码、外码等都是对数据表中属性或属性的组合的描述,用于确定数据的唯一性和关联性。
外键与级联:外键(外码)用来和其他表建立联系。虽然阿里巴巴开发手册强调不使用外键与级联,因为其在某些情况下可能导致复杂性增加和额外的工作,但外键也有其优点,如保证数据的一致性和完整性,方便级联操作等。在实际应用中,应根据系统需求和设计来权衡是否使用外键。
E-R图:E-R图(Entity Relationship Diagram)也称实体-联系图,提供了表示实体类型、属性和联系的方法,用于描述现实世界的概念模型。
数据范式:
1NF(第一范式):属性不能再被分割,即字段只能是一个值,不能分为多个其他的字段。这是关系型数据库的最基本要求。
2NF(第二范式):在1NF的基础上,消除非主属性对于码的部分函数依赖。这要求非主属性都依赖于主键,确保数据的完整性。
3NF(第三范式):在2NF的基础上,消除非主属性对于码的传递函数依赖。这可以进一步减少数据冗余和异常。
存储过程:存储过程是一些SQL语句的集合,中间加入了逻辑控制语句。它可以在业务比较复杂时使用,方便多次调用,并且执行速度比单纯SQL语句快,因为存储过程是预编译过的。在互联网公司应用不多,因为其调试和扩展困难,且没有移植性。
数据删除操作:
drop:丢弃数据,直接将表都删除。
truncate:清空数据,只删除表中的数据,再插入数据时自增长ID从1开始。
delete:删除某一列的数据,如果不加where子句和truncate table类似。这三种操作都会对表中的数据进行操作,但drop还会删除表的结构。
DML与DDL区别:
DML(Data Manipulation Language)是数据库操作语言,对表记录进行操作。
数据库及其相关概念是数据处理和存储的核心,了解和掌握这些概念对于数据库管理和开发人员至关重要。
