数据库概述
数据库概述
数据库技术是研究数据的组织、存储、管理和使用的一门计算机科学分支。
基本概念
信息
- 定义:信息是新的、有用的事实或知识,具有时效性、有用性和知识性。
- 特征:普遍性与客观性;有用性,可以创造价值;依附性,依附于载体表现;共享性,指同一信息可被许多人共享,且不会因分享而消失;可传属性,可以通过传输工具或载体传输;可识别性,可以通过感官、设备识别;可压缩性,用较少的信息描述事物的主要特征;可转换性,一种表现形式转换成另一种
数据
- 定义:数据是信息的最佳表现形式之一,可以通过书写的信息编码表示信息
- 特征:具备信息所有特征;可分为“值”和“型”;受数据类型和取值范围的约束;具有定量和定性表示
- 数据类型:字符型、数值型、日期型、逻辑型、备注型
数据库
-
定义:按一定数据结构来组织、存储、管理的数据集合
-
特征:
- 数据结构化:按照一定的数据模型来组织和存放数据;是数据库与文件的一个本质重要区别,是实现对数据集中控制和减少数据冗余的前提和保证(冗余是指同一组数据在多处重复出现)
- 数据独立性:是指数据库的数据与应用程序之间不存在依赖关系,即数据的逻辑结构、存储结构和存取方法等不因应用程序的修改而修改
- 物理独立性:物理结构(或存储结构)与应用之间有较强独立性,如存储设备更换、存储位置变更、存取方法改变,不需要修改应用程序
- 逻辑独立性:逻辑结构与应用之间有较强独立性,如更改数据类型、修改数据间关系
- 实现数据共享:多个用户、多种程序语言、多个应用程序使用一些共同的数据
- 数据冗余度小:冗余坏处有,浪费空间;更行冗余副本时,需要保持数据的一致性,需执行多次更新,浪费时间;数据的不同副本可能处于不同的更新阶段,可能给出不一致信息
- 避免出现数据不一致性
- 有利于数据的安全性
- 有利于保证数据的完整性:完整性是指数据的正确、有效和相容,即数据满足取值范围和关系的约束
- 可以发现故障和恢复正常状态
数据库管理系统(软件)
-
定义:是对数据库进行管理的软件系统,它负责数据库中的数据组织、数据操纵、数据维护、数据控制及保护和数据服务等
-
DBMS的功能
-
数据定义DDL:定义数据及其组成元素的结构
-
数据操纵DML:对数据进行增删查改、统计排序等
-
数据控制DCL:安全控制,保证数据安全
-
数据组织与存取:提供数据在外围存储设备的组织与存取方法(接口)
-
数据库建立与维护:数据的载入、转储、重组和恢复等
-
运行管理:提供并发控制、存取控制、完整性控制、运行日志,以保证所有数据操作的有效性
-
数据库系统
- 定义:是一个带有数据库的计算机应用系统,它由支持该系统开发、使用与运行维护的硬件、软件和人员组成。
- 硬件:包括计算机和外围设备。必须保证有足够的计算机内存、外存以及良好的通信效率。
- 计算机:用于数据存储、处理与管理,包括客户机、服务器、数据库服务器
- 内存:操作系统、DBMS、开发工具、应用程序等的程序工作区或数据缓存区
- 外存:用来存放操作系统、DBMS、开发工具、应用程序等,如硬盘、软盘等
- 外围设备:通信设备、输入输出设备。通信设备如计算机网络、交换机、路由器,用户数据传输和共享;输入输出设备如条形码扫描仪、图形扫描仪……。
- 计算机:用于数据存储、处理与管理,包括客户机、服务器、数据库服务器
- 软件:包括操作系统、DBMS、开发工具、应用程序、主语言编译系统
- 操作系统:基础性系统软件,负责合理有效地组织协调控制和维护计算机的各自硬件软件资源,控制应用程序运行并为其开发、运行与管理提供支持,提供方便、有效和友好的用户界面。
- 数据库应用系统DBAS:是一个带有数据库的软件,包括应用程序、数据、数据库以及与该系统的开发、维护和使用有关的文档的完整集合。
- DBMS与主语言编译系统:DBMS主要负责数据库中的数据组织、数据操纵、数据维护、数据控制及保护。主语言系统主要用于程序控制、人机接口、硬件接口以及与其他应用系统接口,提供复杂的数据处理和数据展现功能。
- 应用系统开发工具:应用系统开发工具即软件开发工具,是辅助开发人员和用户开发应用系统的工具性软件,包括软件需求分析工具、软件设计工具、软件测试工具、软件集成开发环境、报表生成器等
- 数据库系统的人员:数据库系统的人员是指数据库系统的开发人员、用户和运行维护人员。
- DBA:数据库在企业或组织的数据资源管理中处于核心地位,因此企业或组织应该设立专门的数据资源管理机构来管理数据库。DBA则是这个机构的一组人员,全面负责数据库系统的运行管理和控制。DBA的职责有:参与数据库系统设计;参与决定数据库的存储结构和存取策略;参与定义数据的安全性要求和完整性约束条件 ;监控数据库的使用和运行;数据库的改进和重组
- 系统分析员与程序员:系统分析员是数据库系统建设初期的主要人员,负责数据库应用系统需求分析。系统分析员是一类具有领域业务知识和计算机知识的专家,他们在很大程度上影响数据库系统的质量和成败。程序员的主要职责是根据数据库系统需求设计、实现数据库应用系统的数据库和程序模块,并参与对数据库和程序模块的测试。
- 用户(这里指最终用户):用户通过数据库应用系统的用户接口使用数据库,进行业务管理。常用的接口方式有菜单、图标、窗口、图形、对话、表格。