数据库原理(概论)——(1)

devtools/2024/9/20 1:26:27/ 标签: 数据库

数据库概述

一、数据库的四个基本概念

1.数据

描述事物的符号记录

2.数据库

数据库长期存储在计算机内的有组织的可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储、具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

3.数据库管理系统

是位于用户和操作系统之间的一层数据库管理软件,和操作系统一样是计算机的基础软件。 

主要功能
  • 数据定义功能;
  • 数据组织、存储和管理
  • 数据操作功能
  • 数据库的事务管理和运行管理
  •  数据库的建立和维护功能等

4.数据库系统

是由数据库数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。

 二、数据库的发展阶段

1.人工管理阶段:数据不保存、不共享、不具有独立性;

2.文件系统阶段:可保存,但共享性差,冗余度大,独立性差;

3.数据库管理系统:数据库系统的出现使信息系统从以加工数据的程序为中心,转向围绕共享的数据库为中心的新阶段。实现整体数据的结构化。

数据的共享性高、冗余度低且容易扩充;数据共享可以大大减少数据冗余,节约存储空间;

数据独立性高:

物理独立性:是指用户的应用程序与数据库中的数据物理存储是相互独立的;

逻辑独立性:是指用户的应用程序与数据库的逻辑结构是相互独立的。

三、数据模型

1.概念模型

也称信息模型,他是按用户观点对数据和信息建模,主要用于数据库设计。

基本概念:
  • 实体:客观存在并相互区别的事物;
  • 属性:实体所具有的某一特性;
  • 码:唯一标识实体的属性;
  • 实体型:用实体名及其属性集合来抽象和刻画同类实体;
  • 联系:实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等多种联系;
  • 概念模型的一种表示方法:实体-联系方法。用E-R图来进行描述现实世界的概念模型。

2.逻辑模型和物理模型

(1)逻辑模型:它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现,包括:层次模型、网状模型、关系模型;

(2)物理模型:是对数据最底层的抽象,它描述数据在系统内部的表示方法和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。

(3)实体之间的联系通常是指不同实体集之间的联系,实体内部的联系通常是指实体各属性的联系。

3.ER图

        ER图是实体-关系图(Entity-Relationship Diagram)的简写,它是一种用于描述系统中实体之间关系的图形化工具。ER图主要由实体、关系和属性组成。

        实体表示系统中的具体对象或概念,如一个人、一个车辆、一本书等。实体在ER图中用矩形框表示。

        关系表示实体之间的联系或连接,如一个人与一辆车之间的拥有关系、一本书与一个作者之间的写作关系等。关系在ER图中用菱形表示。

        属性表示实体的特征或属性,如一个人的姓名、年龄、性别等。属性在ER图中用椭圆形表示,和对应的实体相连。

         ER图通过使用各种符号和线条来展示实体、关系和属性之间的联系和约束。它提供了一种直观且易于理解的方式来描述系统中实体之间的关系,有助于系统分析师和设计师理解和传达系统需求和结构。ER图在数据库设计和开发过程中广泛应用,并且也可以用于其他领域的系统分析与设计。

ER图画法及图形含义、举例说明、通俗易懂_er图怎么画-CSDN博客

4.数据模型类型()

我们这里主要说明关系模型,有兴趣的读者点击下面连接进行拓展阅读

三种数据模型---层次模型、网状模型以及关系模型 - daniumeng - 博客园 (cnblogs.com)

(1)层次模型
(2)网状模型
(3)关系模型

        简单的说关系模型的表有点像Excel表,其中有一些重要概念

  • 关系:一个关系对应通常说的一张表
  • 元组:表中的一行
  • 码:也称码键,表中的某个属性组
  • 域:是一组具有相同数据类型的值的集合
  • 分量:元组中的一个属性

四、数据库系统的结构

1.数据库的三级模式结构包括外模式、概念模式和内模式。

  1. 外模式(External Schema): 外模式是指用户能够接触到的数据库的部分,也可以理解为用户视图。它定义了用户对数据库的逻辑结构和访问方式。每个用户可以有自己的外模式,根据其需要和权限,定义自己所需的数据视图。外模式描述了用户对数据的查询、更新和删除操作。

  2. 概念模式(Conceptual Schema): 概念模式是对整个数据库的全局逻辑结构和存储方式的描述。它描述了数据库中的实体、关系以及它们之间的联系。概念模式是相对独立于具体数据库管理系统(DBMS)的,是为了满足用户的需求而设计。概念模式通常以实体关系模型(ER模型)或其他概念模型进行描述。

  3. 内模式(Internal Schema): 内模式是数据库的物理结构的描述,它定义了数据在存储介质上的存储方式和组织结构。内模式是相对于数据库管理系统(DBMS)来说的,它表示了数据库在计算机上的具体实现方式。内模式通常是与存储引擎和物理存储有关的低级描述,如数据的存储格式、索引结构、数据分区等。

总结来说,外模式描述了用户能够直接接触到的数据库部分,概念模式描述了整个数据库的逻辑结构,而内模式描述了数据库的物理存储方式。这三级模式结构的设计可以使得数据库系统更加灵活、易于维护和扩展。

2.数据库的二级映像(Physical Schema)是指数据库的物理存储结构,即将概念模式中定义的实体、属性和关系映射到真实的存储设备上的方式。

二级映像包括以下几个方面:

  1. 数据存储方式:决定了数据库中数据的实际存储方式,如表空间、文件和文件组织等。
  2. 数据存储结构:定义了数据在存储设备上的组织形式,如表的行和列的存储结构、索引的存储结构等。
  3. 数据访问方法:确定了数据的读写操作方式,包括数据的检索、插入、更新和删除等操作的实现机制。
  4. 数据文件管理:管理数据库中数据文件的创建、分配、扩展和回收等操作。

二级映像的目标是将概念模式中的逻辑数据模型转化为可以在物理存储设备中存储和操作的形式。它与二级模式形成了对应关系,通过二级映像,可以将二级模式中定义的数据映射到实际的物理存储设备上,并确定了数据的物理存储结构和访问方法,以便数据库管理系统能够有效地管理和操作数据。

总之,数据库的二级映像是将概念模式中定义的数据映射到物理存储设备上的方式,包括数据存储方式、数据存储结构、数据访问方法和数据文件管理等方面,它与二级模式形成了对应关系,用于数据库管理系统的数据存储和操作。

五、数据库系统的组成

1.硬件平台及数据库

足够大内存、磁盘或磁盘阵列等设备,较高的通道能力以提高数据的传输率。

2.软件

数据库管理系统,支持数据库管理系统运行的操作系统,具有与数据库接口的高级语言及其编译系统,以数据库管理系统为核心的应用开发工具,为特点应用环境开发的数据库应用系统。

3.人员

开发、管理和使用数据库的人员主要包括数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户。数据库管理员的职责:决定数据库中的信息内容和结构、决定数据库的存储结构和存取策略、定义数据的安全性要求和完整性约束条件、监控数据库的使用和运行、数据库的改进和重组、重构。


http://www.ppmy.cn/devtools/49724.html

相关文章

在npm发布自己的组件包

目录 前言 正文 npm和git的对比 Node环境的配置 具体发布步骤 ※※需要注意的是 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in University of Nottingham Ni…

使用QT制作QQ登录界面

mywidget.cpp #include "mywidget.h"Mywidget::Mywidget(QWidget *parent): QWidget(parent) {/********制作一个QQ登录界面*********************/this->resize(535,415);//设置登录窗口大小this->setFixedSize(535,415);//固定窗口大小this->setWindowTi…

JavaScript快速入门系列-3(函数基础)

第三章:函数基础 3.1 函数定义与调用3.1.1 函数声明3.1.2 函数表达式3.2 参数与返回值3.3 匿名函数与立即执行函数表达式(IIFE)3.3.1 匿名函数3.3.2 立即执行函数表达式3.4 箭头函数3.4.1 箭头函数与this3.5 函数的高级话题3.5.1 闭包3.5.2 函数柯里化3.5.3 高阶函数小结在Jav…

操作系统复习

一、操作系统的定义 操作系统(OS,Operating System)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。它在计算机系统中占据了重要地位,汇编程序、编译程序、数据库管理系统等系统软件,都依赖于操作系统的支持&#xff…

centos7下安装redis

目录 一:软件版本 二:安装 一:软件版本 redis版本:redis-6.0.7 gcc版本:gcc-9.2.0 默认下centos7下gcc是4.8的需要升级,因为redis6.0需要gcc5.3以上 二:安装 1:安装gcc wget…

文心一言使用体验(彩色图例)

一、初识文心一言 在我日常生活和工作中,信息检索和处理一直是一个重要的环节。无论是学术研究、市场分析,还是个人兴趣探索,快速准确地获取信息都是至关重要的。然而,随着互联网信息的爆炸式增长,如何高效地从中筛选出…

PythonWeb项目-Django+vue宾馆管理系统功能介绍

本项目源码:基于Python的Django-vue宾馆管理系统源码-参考文档资源-CSDN文库 项目关键技术 开发工具:Pycharm 编程语言: Python 数据库: MySQL5.7 框架:Django、vue 前端:Vue、ElementUI 关键技术:Django、vue、MYSQL…

Python - 处理电子书的库

kindleunpack: 转换azw3为epub https://github.com/kevinhendricks/KindleUnpackkindlegen 转换epub为mobiOpenBookPublishers https://github.com/orgs/OpenBookPublishers/repositories?qsort%3Astarsepub2pdf : converting fixed-layout manga/comic files(epub…

【Spring Boot实现网页会话(Session )】

文章目录 前言什么是网页会话(Session)Spring Boot 中的 Session 管理Session 的创建与管理Session 的数据存储使用示例 前言 会话管理允许服务器在多次HTTP请求之间保持用户的状态信息,以便用户可以进行认证、保持登录状态等操作。 什么是…

Vue24-内置指令01:v-text指令

一、我们学过的指令 二、v-text v-text把所有的字符串当成文本去解析,所以不能解析html标签。 三、小结 所以,插值语法用的多!灵活

欢乐钓鱼大师保姆级教程,云手机辅助攻略解析!

在这份攻略中,我们将为大家详细介绍如何在《欢乐钓鱼大师》中快速提升钓鱼技能和游戏进展,避免常见的新手误区和不必要的资源浪费。无论是钓鱼点的选择、装备的合理使用还是技能的优化,我们都会一一为您详细解析,帮助您成为一名优…

redis清空list

redis list清空 要清空Redis中的list,您可以使用LTRIM命令。Redis Ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 下标 0 表示列表的第一个元素,以 1 表示…

数据结构:顺序栈

目录 1.什么是顺序栈? 2.顺序栈的基本操作和应用 3.包含头文件 4.结点设计 5.接口函数定义 6.接口函数实现 什么是顺序栈? 顺序栈(Sequential Stack)是一种使用数组来实现的栈数据结构。栈是一种后进先出(Last In Firs…

Git 基础操作(一)

Git 基础操作 配置Git 安装完Git后,首先要做的事情是设置你的 用户名 和 e-mail 地址。这样在你向仓库提交代码的时候,就知道是谁提交的,以及提交人的联系方式。 配置用户名和邮箱 使用git config [--global] user.name "你的名字&qu…

opencv实战小结-银行卡号识别

实战1-银行卡号识别 项目来源:opencv入门 项目目的:识别传入的银行卡照片中的卡号 难点:银行卡上会有一些干扰项,如何排除这些干扰项,并且打印正确的号码是一个问题 最终效果如上图 实现这样的功能需要以下几个步骤…

文字悬停效果

文字悬停效果 效果展示 CSS 知识点 CSS 变量使用回顾-webkit-text-stroke 属性的运用与回顾 页面整体结构实现 <ul><li style"--clr: #e6444f"><a href"#" class"text">First</a></li><li style"--cl…

Hexapod C-887使用手册 -- 4,5,6

4 - 拆包 小心拆包C-887 根据合同和发货注意比较发货范围的内容&#xff1a; 检查危险符号的内容。如果任何零件损坏或缺失&#xff0c;立即联系客服部门。 保存所有包装材料&#xff0c;以防产品需要返厂。 5 - 安装 本章中 安装一般注意 安装PC软件 确保通风 接地C-…

从零实现ChatGPT:第三章实现大型语言模型(1)

准备深入学习transformer&#xff0c;并参考一些资料和论文实现一个大语言模型&#xff0c;顺便做一个教程&#xff0c;今天是第三部分。 本系列禁止转载&#xff0c;主要是为了有不同见解的同学可以方便联系我&#xff0c;我的邮箱 fanzexuan135163.com 实现大型语言模型 这…

Python实现逻辑回归与判别分析--西瓜数据集

数据 数据data内容如下&#xff1a; 读取数据&#xff1a; import numpy as np import pandas as pd data pd.read_excel(D:/files/data.xlsx) 将汉字转化为01变量&#xff1a; label [] for i in data[好瓜]:l np.where(i 是,1,0)label.append(int(l)) data[label] lab…

k8s-pod参数详解

目录 概述创建Pod编写一个简单的Pod添加常用参数为Pod的容器分配资源网络相关Pod健康检查启动探针存活探针就绪探针 作用整个Pod参数配置创建docker-registry 卷挂载 结束 概述 k8s中的pod参数详解。官方文档   版本 k8s 1.27.x 、busybox:stable-musl、nginx:stable-alpine3…