数据库原理

简介: 介绍数据库基本原理

 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

数据库技术所研究的问题是如何科学的组织和存储数据,如何高效的获取和处理数据

1.1数据库技术发展史

数据库技术是20世纪60年代后期兴起的一门信息管理自动化学科,是计算机学科的一个重要分支(数据处理)从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政府行政部门,人们对数据处理的要求也越来越高。1968年,世界上诞生了第一个商品化的信息管理系统IMS(Information Management System),从此,数据库技术得到了迅猛发展。在互联网日益被人们接受的今天,Internet又使数据库技术、知识、技能的重要性得到了充分的放大。如今数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一,帮助人们处理各种各样的信息数据。

1.2数据

数据(Data) 是描述现实世界中各种具体事物或抽象概念的符号记录。除了常用的数字数据外,文字(如名称)、图形、图像、声音等信息,也都是数据。

1.3数据处理

数据处理(Data Process)是指对数据的收集、分类、组织、编码、存储、查询、维护、加工、计算、传播以及打印等系列的活动。其目的就是从大量的数据中提取出有效的信息资源。在数据处理中,通常数据的加工、计算等比较简单,而数据的管理比较复杂。数据管理是数据处理的核心

指的是数据的收集,分类,组织,编码,存储,检索,维护等操作

1.4从数据管理的角度数据库的技术经历了三个阶段

1.人工管理阶段

2.文件系统阶段(文件相互独立)

3.数据库系统阶段(各个文件之间是相互关联一个整体)

数据库系统简称DBS

数据库管理系统(DBMS)是数据库系统的核心,是为数据库的建立,使用和维护而配置的软件。

image.gif编辑

 

1.5数据库系统的组成

数据库系统一般由数据库、数据库管理系统、数据库开发工具、数据库应用系统和人员构成,其中数据库管理系统(DBMS)为数据库系统的核心。

image.gif编辑

一般说来,数据库管理系统的功能主要包括以下4个方面。    

(1)数据定义和操纵功能

DBMS提供数据定义语言DDL对数据库中的对象进行定义和数据操纵语言DML检索、插入、修改、删除数据库中的数据。

(2)数据库运行控制功能

对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护等。

(3)数据库的组织、存储和管理

DBMS确定以何种文件结构和存取方式,物理地组织数据,实现数据之间的联系,以便提高存储空间利用率和各种操作的时间效率

(4)建立和维护数据库

初始数据的输入与数据转换,数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。

1.6数据库的体系结构

为了保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构,简化应用程序的编制和程序员的负担,增强系统的可靠性。

DBMS将数据库的体系结构分为三级模式:外模式、模式和内模式

(1)模式

      模式也称概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

    一个数据库只有一个模式,综合地考虑了所有用户的需求,并将这些需求结合成一个逻辑整体。*

(2)外模式

       外模式也称子模式或用户模式,它是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。外模式通常是模式的子集,一个数据库可以有多个外模式*。

(3)内模式  

       内模式也称存储模式或物理模式,是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式*

image.gif编辑

数据库的三级模式结构把数据的具体组织(内模式)留给DBMS去做,用户只要抽象地处理数据(模式——DBA、外模式——程序员),减轻了用户使用系统的负担。

三级模式结构之间差别往往很大,为了实现这3个抽象级别的联系和转换,DBMS在三级模式结构之间提供了两级映像:外模式/模式映像,模式/内模式映像。

大多系统在总的体系结构上都具有三级模式的结构特征,其目的是保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑的物理结构,简化应用程序的编制和程序员的负担,增强系统的可靠性


相关文章
|
4月前
|
算法 关系型数据库 MySQL
【MySQL 解析】数据库的乐观锁和悲观锁实现原理
【1月更文挑战第11天】【MySQL 解析】数据库的乐观锁和悲观锁实现原理
|
4月前
|
NoSQL 中间件 API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(下)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
84 2
|
4月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)(上)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
74 0
|
6天前
|
存储 算法 搜索推荐
矢量数据库基础:概念、原理与应用场景
【4月更文挑战第30天】矢量数据库,处理高维向量数据的工具,应用于GIS、推荐系统、图像搜索及语义搜索。核心原理是将原始数据嵌入到高维空间,通过索引算法优化搜索性能。现代深度学习模型如Word2Vec提升向量表示准确性,KD-Tree、LSH等算法加速相似性搜索。随着技术发展,矢量数据库在数据科学领域的重要性日益增强。
|
13天前
|
存储 SQL 数据库
数据库库表结构设计:原理、实例与最佳实践
数据库库表结构设计:原理、实例与最佳实践
28 0
|
14天前
|
C#
【自考】之数据库系统原理
【自考】之数据库系统原理
15 0
|
5月前
|
druid 网络协议 Java
再有人问你数据库连接池的原理,这篇文章甩给他!
在 Spring Boot 项目中,数据库连接池已经成为标配,然而,我曾经遇到过不少连接池异常导致业务错误的事故。很多经验丰富的工程师也可能不小心在这方面出现问题。 在这篇文章中,我们将探讨数据库连接池,深入解析其实现机制,以便更好地理解和规避潜在的风险。
|
2月前
|
缓存 Java 数据库连接
mybatis 数据库缓存的原理
MyBatis 是一个流行的 Java 持久层框架,它封装了 JDBC,使数据库交互变得更简单、直观。MyBatis 支持两级缓存:一级缓存(Local Cache)和二级缓存(Global Cache),通过这两级缓存可以有效地减少数据库的访问次数,提高应用性能。
283 1
|
3月前
|
存储 关系型数据库 数据库
数据库索引的原理,为什么要用 B+树,为什么不用二叉树?
数据库索引的原理,为什么要用 B+树,为什么不用二叉树?
|
3月前
|
NoSQL Java API
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
分布式锁【数据库乐观锁实现的分布式锁、Zookeeper分布式锁原理、Redis实现的分布式锁】(三)-全面详解(学习总结---从入门到深化)
301 0