1.1 数据库系统简介

思维导图:

1.1.数据库系统简介 

前言:

数据库系统是一个软件系统,用于管理和操作数据库。它提供了一个组织良好、高效并能够方便存取的数据存储机制,并且能够支持各种数据操作、事务管理、并发控制和恢复功能。以下是数据库系统的一些主要特点和组件:

1. **数据的组织与管理**:数据库系统提供了一种高效的方式来存储、检索和管理大量的数据。

2. **数据独立性**:物理数据独立性是指应用程序与存储在磁盘上的数据格式或数据的物理位置分离。逻辑数据独立性是指应用程序与逻辑数据结构(如表、视图等)分离。

3. **数据安全性**:数据库管理系统(DBMS)提供安全功能,如访问控制、加密等,以确保只有授权的用户可以访问数据。

4. **数据一致性与完整性**:DBMS可以实施各种完整性约束,如主键、外键等,以确保数据的一致性和正确性。

5. **事务管理**:事务是一个或多个SQL语句的序列,它作为一个整体执行,以确保数据库的一致性和完整性。DBMS支持ACID属性(原子性、一致性、隔离性、持久性),这些属性确保即使在系统崩溃的情况下,数据库也能保持一致状态。

6. **并发控制**:并发控制机制确保当多个用户同时访问数据库时,数据库的完整性和一致性得到维护。

7. **数据恢复**:在系统崩溃或其他故障情况下,DBMS可以从备份中恢复数据,以减少数据丢失。

8. **查询语言**:大多数数据库系统提供一种查询语言(如SQL),使得用户和程序员可以轻松地查询和修改数据。

9. **视图管理**:数据库系统允许创建视图,这是一个虚拟的表,它是基于一个或多个实际的表。视图可以为用户提供所需的特定视角,而不必显示基础表的所有数据。

10. **数据字典**:这是一个“关于数据库的数据库”,包含了关于数据库结构的元数据。例如,表结构、视图、权限等。

11. **多样化的数据模型**:例如关系模型、面向对象模型、层次模型、网络模型等。

数据库系统在现代企业中发挥着至关重要的作用,支持各种业务应用,从简单的数据记录和检索到复杂的数据分析和决策支持。

1.1.1 数据库技术的发展历史

 

 

我的理解

首先,数据库技术的发展可以分为三个主要阶段:人工管理阶段、文件系统阶段和数据库系统阶段。

 

1. **人工管理阶段(20世纪50年代之前)**:
    - 这一阶段主要发生在计算机刚诞生的时期。那时的计算机被主要用于科学计算。
    - 数据管理非常简单,且通过穿孔卡片或磁带来处理和存储数据。
    - 特点:
        - 数据基本不保存。
        - 缺乏管理数据的软件系统。
        - 没有文件的概念,导致数据冗余。
        - 数据与程序紧密耦合,当数据结构改变时,应用程序也需要修改。

 

2. **文件系统阶段(20世纪50年代后期至60年代中期)**:
    - 随着技术的发展,现在有了可以直接访问的存储设备如磁盘和磁鼓。
    - 也有了操作系统中的文件系统来管理数据。
    - 特点:
        - 数据可以长期保存。
        - 由文件系统管理数据。
        - 文件格式多样化,提供了多种访问方式。
        - 尽管数据管理有所进步,但数据的共享性和独立性仍然有限。

 

3. **数据库系统阶段(20世纪60年代之后)**:
    - 由于传统文件系统不能满足日益增长的数据管理需求,数据库管理系统(DBMS)开始应用。
    - 数据库技术允许更高级别的数据管理和共享。
    - 特点:
        - 采用复杂的结构化数据模型。
        - 较高的数据独立性,意味着数据结构的变化不会影响程序的运行。
        - 数据库系统提供了复杂的功能,支持大量数据的处理。

 

总之,从20世纪50年代到60年代,数据库技术经历了从简单的数据处理和存储到复杂的数据管理系统的演变。随着计算机技术的进步,数据管理变得越来越重要,导致了数据库技术的快速发展和广泛应用。

 

1. **数据库技术的产生背景**:随着20世纪60年代数据处理自动化的发展,数据处理开始在计算机应用中占主导地位,因此需要更好地管理这些数据。这就催生了数据库技术的产生。

2. **人工管理阶段**:在计算机技术尚未完善之前,即20世纪50年代末之前,计算机的主要任务是进行科学计算。数据是直接从卡片或磁带读取的,没有长期存储,也没有管理数据的软件系统,数据处理是批处理的方式,数据管理十分简单。

3. **文件系统阶段**:在20世纪50年代后期至60年代中期,随着直接存取的存储设备(如磁盘)的出现,操作系统中也开始有了文件系统,不再仅限于批处理,还有实时处理。此时,数据开始可以长期保存,并由文件系统来管理。

4. **数据库系统阶段**:进入20世纪60年代,人们对数据的共享提出了更高的要求,传统的文件系统已经不能满足需求,因此数据库管理系统(DBMS)应运而生。此时的数据库不再是为某个应用服务,而是为整个企业或应用服务,数据管理变得更加复杂。

5. **数据库的当前应用和未来趋势**:随着技术的进步,数据库技术被广泛应用于各个领域,如金融业、航空业、学校等。但由于各行业的需求不断增长,现有数据库技术无法完全满足,因此新一代的数据库技术开始孕育并逐渐应用于各个领域。这一代的数据库支持多种数据模型,并与许多新技术结合。总的来说,随着科技的发展,未来的数据库技术将会有更高的要求。

简而言之,从人工管理、文件系统,到现代的数据库系统,数据库技术已经经历了一个长时间的发展过程。随着科技的进步,我们可以预期未来的数据库技术将更加先进、复杂,并广泛应用于各个领域。

 

1.1.2 数据库系统的基本概念 

这段内容介绍了数据库系统相关的几个核心概念,以下是其要点总结:

1. **数据 (Data)**:数据是数据库中存储的基本对象,包括数字、文字、图形、声音等多种形式。它们可以被计算机识别并存储。数据本身的形式并不能完全传达其意义,因此需要对数据的语义进行解释。

   例子:学生李飞扬的信息如学号、姓名等都是数据。

2. **数据库 (DataBase, DB)**:数据库是一个仓库,存放在计算机存储设备中。数据库中的数据有组织地存储,数据之间相互关联。它是一个长期、有组织、可共享的大量数据的集合。

3. **数据库管理系统 (DataBase Management System, DBMS)**:是用于管理数据库的计算机系统软件,位于应用程序和操作系统之间。它为数据库提供数据定义、建立、维护、查询等功能,同时也控制数据的完整性和安全性。

   常用的DBMS:SQL Server, Access, Oracle, MySQL, DB2, Informix等。

4. **数据库系统 (DataBase System, DBS)**:引入数据库后的计算机系统。它由计算机硬件、数据库、数据库管理系统、应用程序和用户构成。硬件包括主机、存储设备等;软件主要包括操作系统和数据库管理系统。用户可以是数据库管理员、应用程序员或终端用户。

 

   总结:数据库存放数据;数据库管理系统负责数据的管理和控制;数据库系统是一个整体的计算机应用系统,强调系统的整体性。

图1-4说明了数据库系统在整个计算机系统中的地位

此外,文章中还提到了应用系统、应用开发工具、操作系统和硬件的概念。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/110684.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于PIC单片机温度-脉搏-DS18B20温度-液晶12864显示(proteus仿真+源程序)

一、系统方案 1、上电初始化液晶第一行显示脉搏,第二行显示温度,第三行显示模式,第四行显示强度;按下K1按键可以选择模式,催眼模式或治疗模式。 2、治疗模块下,可以通过K2、K3修改强度。 二、硬件设计 原理…

c++之指针

总结性质 我们如何在一个函数中获取数组的长度: 我们都知道,在main函数中我们获得数组的长度只需要使用sizeof(a)/sizeof(a【0】)即可获得,但当我们把一个数组传入到方法时,c默认把…

W5500-EVB-PICO进行UDP组播数据回环测试(九)

前言 上一章我们用我们的开发板作为UDP客户端连接服务器进行数据回环测试,那么本章我们进行UDP组播数据回环测试。 什么是UDP组播? 组播是主机间一对多的通讯模式, 组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将…

完美解决Ubuntu网络故障,连接异常,IP地址一直显示127.0.0.1

终端输入ifconfig显示虚拟机IP地址为127.0.0.1&#xff0c;具体输出内容如下&#xff1a; wxyubuntu:~$ ifconfig lo: flags73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen …

Java【手撕滑动窗口】LeetCode 209. “长度最小子数组“, 图文详解思路分析 + 代码

文章目录 前言一、长度最小子数组1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: &#x1f4d5; JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 &#x1f4d7; Java数据结构: 顺序表, 链…

苹果新健康专利:利用 iPhone、Apple Watch 来分析佩戴者的呼吸情况

根据美国商标和专利局&#xff08;USPTO&#xff09;公示的清单&#xff0c;苹果获得了一项健康相关的技术专利&#xff0c;可以利用 iPhone、Apple Watch 来分析佩戴者的呼吸系统。 苹果在专利中概述了一种测量用户呼吸功能的系统&#xff0c;通过 iPhone 上的光学感测单元&am…

中央发文:提高青年人才资助比例, 放宽学历、年龄限制 (附2023国自然资助比例统计)~

8 月 27 日&#xff0c;中共中央办公厅、国务院办公厅印发《关于进一步加强青年科技人才培养和使用的若干措施》&#xff08;以下简称《若干措施》&#xff09;&#xff0c;明确提出包括提高国家自然科学基金对青年科技人才的资助比例&#xff0c;放宽学历、年龄限制等措施&…

stm32之DHT11

今天&#xff0c;记录一下DHT11&#xff0c;涉及到了单总线协议&#xff0c;所以先花点时间谈论一下单总线协议&#xff08;DS18B20也是用的单总线&#xff09;。 单总线协议 单总线技术的通信协议 可能这时序图就是个例子&#xff0c;ds18b20的时序图与DHT11的时序图也是不一…

我想开通期权?如何开通期权账户?

场内期权的合约由交易所统一标准化定制&#xff0c;大家面对的同一个合约对应的价格都是一致的&#xff0c;比较公开透明&#xff0c;期权开户当天不能交易的&#xff0c;期权开户需要满足20日日均50万及半年交易经验即可操作&#xff0c;下文科普我想开通期权&#xff1f;如何…

软件工程(十七) 行为型设计模式(三)

1、观察者模式 简要说明 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新 速记关键字 联动,广播消息 类图如下 基于上面的类图,我们来实现一个监听器。类图中的Subject对应我们的被观察对象接口(IObservable),…

开源与云计算:新的合作模式

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

SQL注入之宽字节注入

文章目录 宽字节注入是什么&#xff1f;注入练习让转义符失效联合查询 代码审计 宽字节注入是什么&#xff1f; 宽字节注入准确来说不是注入手法&#xff0c;而是另外一种比较特殊的情况。宽字节注入的目的是绕过单双引号转义。 宽字节注入是一种绕过单双引号转义的手段&#x…

HQL解决连续三天登陆问题

1.背景 统计连续登录天数超过3天的用户&#xff0c;输出信息包括&#xff1a;用户id&#xff0c;登录天数&#xff0c;起始时间&#xff0c;结束时间&#xff1b; 2.准备数据 -- 建表 create table if not exists user_login_3days(user_id STRING,login_date date );--插入…

基于PIC单片机篮球计分计时器

一、系统方案 本设计采用PIC单片机作为主控制器&#xff0c;矩阵键盘控制&#xff0c;比分&#xff0c;计时控制&#xff0c;24秒&#xff0c;液晶12864显示。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 2、液晶显示程序 /*************…

老Python程序员职业生涯感悟—写给正在迷茫的你

我来讲几个极其重要&#xff0c;但是大多数Python小白都在一直犯的思维错误吧&#xff01;如果你能早点了解清楚这些&#xff0c;会改变你的一生的。所以这一期专门总结了大家问的最多的&#xff0c;关于学习Python相关的问题来给大家聊。希望能带给大家不一样的参考。或者能提…

前端js实现获取指定元素(top,lef,right,bottom)到视窗的距离 ;getBoundingClientRect()获取

getBoundingClientRect()获取元素位置&#xff0c;这个方法没有参数 该函数返回一个Object对象&#xff0c;该对象有6个属性&#xff1a;top,lef,right,bottom,width,height&#xff1b; <div id"box"></div>var objectdocument.getElementById(box); …

【数据结构】树与二叉树

文章目录 &#x1f340;树型结构&#x1f431;‍&#x1f464;什么是树型结构&#x1f431;‍&#x1f453;树型结构的概念&#x1f431;‍&#x1f3cd;树的表示形式&#x1f431;‍&#x1f409;树的应用 &#x1f333;二叉树&#x1f431;‍&#x1f464;二叉树的概念&#…

计算机网咯——性能指标

常见性能指标 1.速率 2.带宽 3.吞吐量 4.时延 [外链图片转存失败,源站可 5.时延带宽积 6.往返时间 7.利用率 8.丢包率

SpringBoot初级开发--加入Log4j进行日志管理打印(6)

日志记录在整个java工程开发中占着很重要的比重&#xff0c;因为很多问题的排查需要通过日志分析才能确认。在SpringBoot中我用得最多的就是log4j这个日志框架。接下来我们具体配置log4j. log4j定义了8个级别的log&#xff08;除去OFF和ALL&#xff0c;可以说分为6个级别&#…

Python爬虫实战案例——第三例

文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff01;严禁将文中内容用于任何商业与非法用途&#xff0c;由此产生的一切后果与作者无关。若有侵权&#xff0c;请联系删除。 起点中文网月票榜加密字体处理 字体加密的原理&#xff1a;就是将一种特定的…