由一批数据构成有序的集合,被存放在结构化的数据表里,表表相互关联,反应客观事物之间的本质联系。
提供对数据安全控制和完整性控制。
人工管理阶段-->文件系统阶段-->数据库系统阶段-->高级数据库阶段
1.层次式数据库
2.网络 式 数据库
3.关系式数据库
ps:不同种类的数据库按不同数据结构来联系和组织
1.实现数据共享,减少数据昂余;
2.采用特点的数据类型;
3.具有较高的数据独立性;
4.具有统一的数据控制功能
1.概念:是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构
2.行:被称为记录,是组织数据的单位
3.列:被成为字段,每一列表示一个属性,有相应的描述信息,如数据类型,数据宽度
字段1 | 字段2 |
---|---|
字段1的值1 | 字段2的值1 |
字段1的值2 | 字段2的值2 |
字段1的值3 | 字段2的值3 |
1.整数数据类型
2.浮点数数据类型
3.精确小数类型
4.二进制数据类型
5.日期 | 时间 数据类型
5.字符串数据类型 (较为常用)
1.概念:被称为主码
2.作用:用于唯一标识表中的每一条记录。
2.一个表里可以有几个主键呢? answer:一个表中可以定义1或多个主键
4.相关约束:主键列具有唯一性,非空性【数据库里面的空指的是不确定】
在数据库中可以通过sql语句进行表数据插入,此时如果待插入的主键数据中,没有数值,会出现插入失败的情况,个人理解为主键的非空性约束。
而在今年的数据库课程设计的时候,我使用JDBC连接数据库并使用PrepareStatement进行数据表的插入时,主键列不小心没有设置数值【即为一个空值,并且在数据库里面的查询得知插入成功,主键列的值为空】,这到底是为什么呢??
并且,数据库的ManageMent竟然不可以删除这一行 | 主键为空| 的数据行
数据库系统(DS) : 提供一个存储空间,以存储各种数据,可以看作是一个存储数据的容器,类似java的集合,可能包含许多文件,通常包含多个数据库
数据库管理系统(DBMS DataBase Management System) : 是用户创建、管理和维护数据库时所使用的软件, 位于 操作系统和用户之间
数据库应用程序(DBA) :在很多情况下,DBMS无法满足对数据管理的要求,DBA可以满足更高的要求,可以使数据的管理更加直观和友好。它负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除 DB 中的数据
DDL: DROP,CREARE ,ALTER等等
DML: INSERT,UPDATE,DELETE
DQL: select语句
DCL: GRANT【权限授予】,REVOKE,COMMIT,ROOLBACK【事务回滚】
ODBC使得一个应用程序可以通过共同的一组代码访问不同的SQL DBMS
一个基于ODBC的程序对数据库的操作不依赖任何DBMS,所有的数据库操作都由对应的DBMS的ODBC驱动完成。
值得一提的是:在JAVA里面,ODBC的桥接方式在JDK8开始已经被废弃了,JDK8以上版本不能再使用该方式访问数据库
是一种用于执行SQL语句的Java API ,可以为多种关系数据库提供统一访问。。
由一组用JAVA语言编写的CLASS和INTERFACE组成
微软在.NET框架下开发设计的一组用于和数据源交互的面向对象类库。
顾名思义,PDO为PHP访问数据库定义的一个轻量级、一致性的接口,提供了一个数据访问抽象层。
无论使用哪种数据库,都可以通过一致的函数执行查询以及获取数据
Mysql是一个小型|关系|数据库管理系统【DBMS】 ,与其他大型DBMS相比,其规模小
功能有限,但是体积小,速度快,成本低。并且提供的功能对稍微复杂的应用已经够用。
开源。
速度快
安全性和连接性: 十分灵活和安全的权限,密码系统。允许基于主机的验证。
连接到服务器时,所有密码传输均采用加密形式。
由于Mysql是网络化的,所以可以在Internet上的任何地方访问,有着极高的共享效率
复杂程度低,简单易学。。。
可移植性
丰富的接口
1.开始维护有关密码历史的信息,限制了以前密码的重复使用。管理员可以在全局以及每个账户的基础上建立密码重用策略,从而在密码更改时限制使用以前使用过的密码
2.开始支持角色,角色可以看成一些权限的集合,为用户赋予统一的角色,权限的修改直接通过角色进行。从而高效率的进行权限授予。