数据库概述
1. 什么是数据库(DB,DataBase)
狭义的数据库:就是存储数据的仓库。 创建一个数据库
广义的数据库:既包含数据的仓库,又包含管理这些仓库的系统。你去安装一个数据(系统)
数据库就是用来存储和管理数据的仓库!
2. 什么是数据库管理系统(DBMS, database management system)
我们现在所说的数据库泛指“关系型数据库管理系统(RDBMS - Relational database management system)”,即“数据库服务器”。
关系:起始指的就是二维表(表格)
3、 Java程序如何存储数据
变量(内存)数组 集合(内存)
io流(磁盘/文件) 理论情况下可以永久保存
数据库(数据库也是把数据存到磁盘上,只不过他用的是他自己的格式)
4. 各种数据存储方式的优缺点
4.1 内存保存数据
优点:读写快
缺点:容量较少,断电消失。
4.2 文件保存数据(磁盘)
优点:数据可以永久保存
缺点:效率低下,对数据的操作需要程序频繁的读写磁盘。(频繁启动IO),数据不好管理。
4.3 数据库保存数据
优点:
数据永久保存;
可存储大量数据;
方便检索;
保持数据的一致性、完整性;
安全,可共享;
通过组合分析,可产生新数据。(大数据)
缺点:
有学习成本,最终是磁盘上。数据没有在内存上快
也有数据库是把数据存在内存上的(redis数据库)
5. 数据库的发展历史
-
没有数据库,使用磁盘文件存储数据;
-
层次结构模型数据库;
-
网状结构模型数据库;
-
关系结构模型数据库;(关系:二维表)主流的
-
关系-对象模型数据库(非关系型数据库,MongDB,redis);
6. 常见数据库(数据库管理系统/数据库服务器)种类
- Oracle(神喻):甲骨文; 付费的。政府/银行
- DB2:IBM;付费的 贵
- SQL Server:微软;这个不好用 商用不用他
- Sybase:赛尔斯;付费的
- MySQL:一起是瑞典的AB公司的产品,最后被甲骨文收购了,现在有付费版的也有免费的;
7. 数据库管理系统及数据库的组成
- 数据库管理系统(mysql/oracle 数据库服务器) RDBMS = 管理员(manager)+仓库(database)
- 数据库database = N张表table
- 表table:
- 表结构(表头):定义表的列名(属性/字段(java:变量名))和列类型(字段类型,表的属性类型)!
- 表记录:一行一行的记录!
8. 应用程序和数据库的关系
常见的程序的架构:
B/s架构:browser(浏览器)/server web应用 现在学的
C/s架构:client(客户端)/server(服务器) qq 桌面应用
应用程序通过数据库管理系统向数据库发送查看和管理数据的请求!数据库管理系统对该请求作出相应的结果并给出反馈!
应用程序如何和数据库管理系统交互呢?
JDBC :JAVA和数据库的连接