目录
一、初识数据库
1.什么是数据库
数据库:DB(DataBase)
概念:数据仓库,软件
,安装在操作系统之上
作用:存储数据,管理数据
2.数据库分类
关系型数据库
:SQL(Structured Query Language)
- MySQL、Oracle、Sql Server、DB2、SQLlite
- 通过表和表之间,行和列之间的关系进行数据的存储
- 通过外键关联来建立表与表之间的关系
非关系型数据库
:NoSQL(Not Only SQL)
- Redis、MongoDB
- 指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定
3.DBMS
DBMS(数据库管理系统)
- 数据库的管理软件,科学有效的管理、维护和获取我们的数据
- MySQL就是数据库管理系统
二、初始SQL
1.SQL的概述
Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。
2.SQL的优点
1、简单易学,具有很强的操作性
2、绝大多数重要的数据库管理系统均支持SQL
3、高度非过程化;用SQL操作数据库时大部分的工作由DBMS自动完成
3.SQL的分类
DDL(Data Definition Language) 数据定义语言,用来操作数据库、表、列等; 常用语句:
CREATE、 ALTER、DROP
DML(Data Manipulation Language) 数据操作语言,用来操作数据库中表里的数据;常用语句:
INSERT、 UPDATE、 DELETE
DCL(Data Control Language) 数据控制语言,用来操作访问权限和安全级别; 常用语句:
GRANT、DENY
DQL(Data Query Language) 数据查询语言,用来查询数据 常用语句:
SELECT
三、数据库的三大范式
第一范式(1NF):属性不可再分,确保每列的原子性。(即每个列的值都是一个值)
第二范式(2NF):每个表只描述一件事。要求数据库表中每个实例或行必须可以被唯一地区分(即每个行的信息是唯一的)
第三范式(3NF):就是数据表不要包含其他表已包含的非关键字的信息。(在设计表时,为了性能,有时会打破第三范式。
)
3NF 举例:
已经有课程表(课程编号、课程名称、课程时长)现在学生信息表也要有课程的信息,也想要有课程名称,但是根据第三范式是不允许直接在学生信息表出现课程名称(非主键),可以通过主键的课程编号间接拥有课程名称。