数据库与SQL

数据库简介

数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。

E-R模型

  • 当前物理的数据库都是按照E-R模型进行设计的
  • E 表示entry,实体
  • R 表示relationship,关系
  • 一个实体转换为数据库中的一个表
  • 关系描述两个实体值的对应规则:
    • 一对一关系:在E-R图中标记为1:1,实体A和实体B之间是一一对应的关系,比如一个学生只有一个学生证。
    • 一对多关系:实体A的一个实例与多个实体B的实例与之相关联,反过来,任意实体B实例只与唯一一个实体A相关联,比如:班级与学生,人与银行卡,在E-R图中标记为1:N。
    • 多对多关系:实体A的一个实例与多个实体B关联,实体B的一个实例也与多个实体A的实例相关联,在E-R图中标记为M:N,比如一个学生可以学多门课程,而每门课程可以有多个学生来学。

这里写图片描述

关系表设计

将实体转换为数据表,将实体的属性转换为表中的列,为每个列定义相应的数据类型

  1. 对于有1:1关系的两个表,为两个表设置相同的主键列

  2. 对于1:N关系的两个表,在N表中添加一个外键列,该列与1表的主键相关联

  3. 对于M:N关系,生成一个单独的表表示该关系,该关系的列由两个表的主键组成

SQL语法规范

1. 不区分大小写,但建议关键字大写,表名、列名小写
2. 每条命令最好用分号结尾
3. 每条命令根据需要,可以进行缩进 或换行
4. 注释
    单行注释:#注释文字
    单行注释:-- 注释文字
    多行注释:/* 注释文字  */

三范式

经过研究和对使用中问题的总结,对于设计数据库提出了一些规范,这些规范被称为范式

  1. 第一范式(1NF):列不可拆分
  2. 第二范式(2NF):唯一标识
  3. 第三范式(3NF):引用主键

说明:后一个范式,都是在前一个范式的基础上建立的

SQL语言分类

  1. DDL:数据定义语言(data definition language),create alter 负责数据结构定义与数据库对象定义
  2. TPL:事务处理语言,确保被DML语句影响的表和行得以及时更新,包括开始事务,提交事务,回滚
  3. DCL:数据控制语言(Data Control Language),用来设置数据库用户或角色权限的,包括GRANT、DENY、REVOKE
  4. DML:数据操作语言(data manipulation language),增删改查

键型,索引,约束

  1. Index:索引,对列进行排序,对常用的查询条件字段添加索引可以提高sql语句的性能
  2. PK:主键,唯一标示一条记录,不允许为空
  3. FK:外键,是另一个表的主键,表示关联关系
  4. NOT NULL:非空约束,即不允许列值为空

猜你喜欢

转载自blog.csdn.net/qq_14876133/article/details/81984390