目录
待续...
MySQL:
1.数据库管理系统(DBMS)
一、基本概念:
1、数据库:数据库是按照一定的数据结构来组织、存储和管理数据的仓库。
2、数据库管理系统:是一种操作和管理数据库的大型软件,用于建立、使用和维护数据库。
3、数据库系统:由数据库、数据库管理系统和应用程序组成一个体系;
4、数据模型:数据模型有层次模型、网状模型、关系模型,关系型数据库就是建立在关系模型上的数据库。
5、SQL:结构化查询语言DDL数据定义语言:DML:数据管理语言DQL:数据查询语言
二、关系型数据库管理系统:(还有K-V型数据库如Redis)
它是基于关系数据模型的,模型的三要素:
1)结构:结构定义了数据的表示;
2)完整性:是一种对数据的约束,是向数据库输入数据时必须遵守的规则、限制条件;
3)语言:提供访问和操作数据的手段。
三、关系型数据库与表:
1、什么是关系型数据库:
建立在关系型模型下的数据库称为关系型数据库,关系型数据库需满足三大范式;
关系型数据库通常由唯一表名的一张张二维表组成,表由记录行和字段列组成;
四、完整性约束:
1、概述:完整性约束有:域约束、主码约束、外码约束;域约束和主码约束涉及一个表,外码约束涉及多个表。所有关系数据库管理系统都支持主码和外码约束,不一定支持域约束。
2、域约束:域约束就是规定字段的取值范围,即字段是哪一类型的值。
3、主码约束:主码也称主键,是表中唯一确定一条记录的字段,可以是一个字段,也可以是多个字段(称复合主键),主键值不能为空(NULL)。
4、外码约束:一个表中的某字段不是该表的主键,但却是另一张表的主键,则这样的字段称为外键,外键是表与表的纽带。
五、数据库范式
1NF:不满足第一范式的数据库不是关系型数据库;1NF表示每一列都是不可分割的具有独立含义的数据项,只能有一个值。简之就是无重复的列。
2NF:2NF必需在1NF基础上,表每个行必需被唯一区分,不能有重复的行。这个可以唯一区分一行的属性称为主键或主码;并且每一列必需和主键有关,若主键为复合键,每一列必需和主键的全部相关,不能只和主键的某一部分相关。也就是消除部分依赖。
3NF:在2NF基础上,3NF规定一个数据库的表中不能包含已在其它表中已包含的非主关键字信息。换言之,3NF就是属性不依赖于其他非主属性。若如此,就需要分表!!消除传递依赖。
关系型数据库的三大范式有效的减少了数据的冗余、提高了数据的有效性检查和数据存储效率。
2.JDBC
一、JDBC概述:
JDBC是Java database Connectivity的简称,是Java访问数据库的一组Java API。通过JDBC,应用程序可以执行SQL语句、获取结果、显示数据、将修改传回数据库等,JDBC主要用来连接数据库、发送SQL语句、处理SQL语句执行的结果。
二、JDBC驱动类型:
1、JDBC-ODBC桥加ODBC驱动程序
2、本地API部分用Java编写的驱动程序
3、JDBC网络协议纯Java驱动程序
4、本地协议纯Java驱动程序
三、相关接口:
1、Drivermanager类:
创建Connection接口的对象;
2、Connection接口:
由Drivermanager类的getConnection()方法来创建该接口对象,
拥有创建SQL语句的方法:
createStatement(String url, String user, String driver) ;
实现事务操作的方法:setAutoCommit()方法、commit()方法、rollback()方法等
3、Statement接口:
该接口对象调用相关方法将SQL语句发送到连接的数据库、执行SQL语句、返回结果;
4、ResultSet接口: