数据库的基础概念

本文详细介绍了数据库的基础知识,包括数据库对象如用户、视图、表等,以及数据的关系模型,强调了主键、超码和候选码等概念。此外,还详细阐述了数据库的三级模式结构,并详细讨论了第一范式到第三范式的概念,解释了各范式在消除数据冗余和确保数据一致性方面的作用。最后,概述了DDL、DQL、DML和DCL等数据库语言的用途,以及ER图在数据库设计中的应用。
摘要由CSDN通过智能技术生成

目录

一、数据库对象

二、数据的关系模型

三、数据库的三级模式结构

四、数据库的六种范式

(1)第一范式(1NF)

(2)第二范式(2NF)

不符合例子:

符合例子:

(3)第三范式(3NF)

不符合例子:

符合例子:

(4)更多范式

五、DDL、DQL、DML、DCL

(1)DDL

(2)DQL

(3)DML

(4)DCL

(5)TCL

六、ER图


一、数据库对象

用户、视图、索引、触发器、存储过程、序列、图表 (Diagram)、规则 (Rule)、表、缺省值 (Default)

  • 用户 (User)

    用户指的就是有对数据库有权限访问的人。

  • 视图 (View)

    视图也有一组数据项和命名字段,只是在用户执行查询操作的时候才会出现,其实在数据库中并不存在,通过控制用户对数据的访问权限,简化数据,只显示用户需要的数据项。

  • 索引 (Index)

    索引是为了给用户提供快速访问数据的途径,时刻监督数据库表的数据,从而参照特定数据库表列建立起来的一种顺序,主要是为了便于用户访问指定数据,避免数据的重复。

  • 触发器 (Trigger)

    触发器在数据库表中属于用户定义的 SQL 事务命令集合。如果你对一个数据库表执行删除、插入、修改的时候,命令就能够自动去执行。

  • 序列 (Sequence)

    序列定义存储在数据字典里面,序列提供了唯一数值的顺序表从而来简化程序的设计工作。

  • 图表 (Diagram)

    图表是为了编辑表与表之间的关系,可以理解为数据库表之间的一种关系示意图。

  • 规则 (Rule)

    规则是实现对数据库表中列数据的一种限制。

  • 存储过程 (Stored Procedure)

    存储过程是为了实现某个特定功能而汇集在一起的一组 SQL 语句,经过编译之后会存储在数据库里面的 SQL 程序。

  • 表 (Table)

    数据库,由行 (Row) 和列 (Column) 构成。列又称为字段,列的标题被称为字段名。数据库表中的行,一行数据称为一条记录,多数是同类信息组成。一般来说,一个数据库表是由一条或多条记录组成,如果是没有记录的表,则称为空表。为了惟一地确定一条记录,每个数据库表中一般都是有一个主关键字。

  • 缺省值 (Default)

    缺省值,就是数据库表中插入数据或创建列时,有些列或者列的数据没有予以设定具体数值,那么就会直接以预先设置的内容赋值

二、数据的关系模型

二维表:一张由行和列组成的表

元组:表的一条记录

属性:表的一列,一个字段

域:属性的取值范围

主码:主键。例如在学生表中,学号就是主码

超码:可以唯一地标识一条记录的列。在学生表中,如果没有重名,{姓名}、{学号}、{姓名、班级}、{姓名、身份证}等等,都是超码

候选码:特殊的超码,其子集不是超码。在学生表中,如果没有重名,{姓名、班级}就不是候选码,因为它的子集{姓名}仍然是超码

主属性:所有属于候选码的列都是主属性。在学生表中,如果没有重名,学号、姓名、身份证都是

非主属性:不属于候选码的列,在学生表中,性别、年龄

函数依赖:x决定y,又称y依赖于x,写为x—>y。如:身份证号决定姓名,写为身份证号—>姓名

传递函数依赖:x—>y,y—>z,则z传递函数依赖于x。如:表1{学号,班级号,姓名}、表2{班级号、班级名称},班级名称x传递函数依赖于学号z

完全函数依赖:x—>z,且x存在真子集不决定z,则z完全函数依赖x。如:表{学号,班级号,姓名,班级名、年级名},{学号,班级号}x—>年级名z,且x存在真子集{学号}、{班级号}都分别不决定年级名z,所以年级名z完全函数依赖{学号,班级号}x

部分函数依赖:x—>z,且x存在真子集决定z,则z部分函数依赖x。如:表{学号,班级号,姓名,班级名、年级名},{学号,班级号}x—>班级名z,且x存在真子集{班级号}决定班级名z,所以班级名z部分函数依赖{学号,班级号}x

三、数据库的三级模式结构

数据库系统是由“模式(逻辑模式或概念模式)、外模式(用户模式)、内模式(存储模式)”这三级结构构成的。

其中,模式——全体数据逻辑结构、外模式——部分数据逻辑结构、内模式——数据的物理结构。

四、数据库的六种范式

(1)第一范式(1NF)

每个字段具有原子性,每个字段不可拆分;

不符合例子:userinfo(用户信息)字段就可以再拆分成id,name,age字段

(2)第二范式(2NF)

其他列依赖主键,而不是主键的一部分

说明:多个列组成联合主键,其它列依赖联合主键,而不是依赖组成联合主键的部分列

  • 不符合例子:

成绩表:学号、姓名、年龄、课程号、课程名、分数

(联合主键{学号、课程号},分数依赖联合主键,但是姓名、年龄只依赖{学号},课程名只依赖{课程号},所以不符合2nf)

  • 符合例子:

学生表:学号、姓名、年龄

课程表:课程号、课程名

成绩表:学号、课程号、分数

(3)第三范式(3NF)

不能有传递依赖,即非主键列只能依赖主键,不能依赖另一个非主键列,尽管另一个非主键列依赖主键

  • 不符合例子:

学生表:学号、姓名、年龄、课程号、课程名

(非主键列课程名依赖于非主键列课程号,所以不符合3nf)

  • 符合例子:

学生表:学号、姓名、年龄、课程号

课程表:课程号、课程名

(4)更多范式

BCNF、4NF、5NF

五、DDL、DQL、DML、DCL

(1)DDL

data defination language数据定义语言。创建数据库,对库表的结构进行删除和修改等操作

(2)DQL

data query language数据查询语言,对数据库中的数据进行查询

(3)DML

data manipulation language数据操作语言。对数据库中的表记录进行操作,包含往表中插入数据、更新表中数据、删除表等

(4)DCL

data control language数据控制语言。对数据库中的登录、用户的权限进行控制,包含登录、查看权限、删除用户、修改用户密码、查看创建授权等

(5)TCL

trasaction control language事务控制语言,commit、rollback、setpoint等对事务进行操作的语句都属于tcl。

六、ER图

E-R图也称实体联系图(Entity Relationship Diagram),三要素:属性、实体、联系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值