前言
本篇章主要讲解数据库相关的基本概念,即数据库是什么,数据库包括什么。
一、数据库系统
数据库系统(Database System,简称DBS)主要包括:
- 数据库(Database,简称DB)
- 数据库管理系统(Database Management System,简称DBMS)
- 数据库管理员(Database Administrator,简称DBA)
- 用户和应用程序
- 计算机硬件和操作系统
DB:即存储在磁带、磁盘、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合(Collection of interreleted data)。
DBMS:它是一组能完成描述、管理、维护数据库的程序系统。它按照一种公用的和可控制的方法完成插入新数据、修改和检索原有数据的操作(Provide a way to store and retrieve database information that is both convenient and efficient。Set of programs to access the data)。DBMS实现了数据的存储调度和运行维护。
和操作系统(OS)一样 DBMS也是一种系统软件。
各部分间的关系
如图:
最外层是用户或应用程序,用户通过控制DBMS来对DB进行操作。DBMS里面的部分是操作系统(OS),用户对DBMS进行操作后,DBMS进一步控制OS来达到对DB的修改。
二、文件系统和数据库系统的区别
1.文件系统
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。在早期,应用程序是直接构建在文件系统之上的,然而却带来了诸多的不便。
- 数据的冗余和不一致:数据的冗余是指,同一信息存储在不同的文件当中。不一致是指对一个数据进行修改时,另外一个文件中的数据无法被修改,造成数据不同步产生错误。
- 数据访问困难:当我们需要的数据分散在不同的文件中时,这时还需要重写程序来分别读取这些文件,并且还要进行格式的转化。
- 数据孤立:不同语言写入文件时的格式会造成很大的不一致。使数据无法访问等。
- 完整性问题
- 原子性问题
- 多个用户并发的访问问题
- 安全性问题
2.主要区别
通过以上分析可知数据库系统有一下特点:
- 数据共享
- 数据完整性
- 数据冗余性低
- 数据独立性高
主要区别是:文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
三、数据库系统的数据抽象视图
数据抽象隐藏数据存储和维护的某些复杂细节,包括:物理层,逻辑层,视图层。
物理层:描述了一个记录是如何存储的。(针对计算机)
逻辑层:描述数据库中存储的数据以及数据之间的关系。(针对数据管理员,所有数据都公开)
视图层:描述数据库的一部分。(隐藏了部分信息)
四:数据库中的表
使用一组表来表示数据和这些数据之间的关系
每个表有几个列,每个列都有一个唯一的名称.
总结
以上就是数据库的一些基础概念问题。