首页 > 数据库 >数据库绪论

数据库绪论

时间:2023-10-25 12:45:31浏览次数:49  
标签:绪论 数据库 用户 模式 数据 模型 数据模型

一、数据库系统概述

1.1 数据库四个基本概念

1.1.1 数据(data)

  数据是数据库中存储的基本对象。描述事物的符号记录称为数据,描述事物的符号可以是文字、图形、图像、音频、视频等,数据有多重表现形式,它们都可以经过数字化后存入计算机。数据的含义称为数据的语义,例如:李明是数据,名字是语义。

1.1.2 数据库(DataBase,DB)

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

1.1.3 数据库管理系统(DataBase Management System,DBMS)

  数据库管理系统是位于用户与操作系统之间的一层数据管理软件。与操作系统一样是计算机的基础软件。其具有以下几个功能:

  • 数据定义功能(DDL):用户可以通过它对数据库中的数据对象的组成与结构进行定义

  • 数据组织、存储和管理:确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。

  • 数据库操纵功能:提供数据库操纵语言(DML),增删改查

  • 数据库的事务管理和运行管理:保证事务的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。

  • 数据库的建立和维护功能。

  • 其他功能:包括数据库管理系统与网络中其他软件系统的通信功能等。

1.1.4 数据库系统(DataBase System,DB)

  数据库系统由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。(数据库应用系统由数据库、数据库应用程序组成)。

1.2 数据库系统的特点

1、数据结构化

  数据库系统实现整体数据的结构化。(数据库的主要特征之一,也是数据库系统与文件系统的本质区别)所谓“整体”,结构化是指数据库中的数据不在仅仅针对某一个应用,而是面向整个组织或企业;不仅数据内部是结构化的,而且整体是结构化的,数据之间是有联系的。(文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决)

2、数据的共享性高、冗余度低且易扩充

  数据可以被多个用户多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享减少了由于数据冗余造成的不一致现象

3、数据独立性高

  数据独立性包括物理独立性和逻辑独立性。

  • 物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的。即用户不需要了解数据是如何存储的。
  • 逻辑独立性:指用户的应用程序与数据库的逻辑结构时相互独立的。也就是说数据的逻辑结构改变时用户程序也可以不变。

4、数据由数据库管理系统统一管理和控制

  • 数据安全性保护:保护数据以防止不合法的使用造成数据的泄密和破坏。
  • 数据完整性检查:数据的完整性是指数据的正确性、有效性和相容性。完整性检查将数据控制在有效地范围内,并保证数据之间满足一定的关系。
  • 并发性控制:多个用户的并发进程同时存取、修改数据库时,可能会发生星湖干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。
  • 数据库恢复:将数据库从错误状态恢复到某一已知的正确状态。

二、 数据模型

  数据模型也是一种模型,它是对现实世界数据特征的抽象。数据模型是用来描述数据、组织数据和对数据进行操作的。

2.1 两类数据模型

  • 概念模型:概念模型也称为信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。
  • 逻辑模型和物理模型:逻辑模型主要包括层次模型、网状模型、关系模型等。它是按照计算机系统的观点对数据建模,主要用于数据库管理系统的实现。物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方法和存取方法,是面向计算机系统的,其具体实现是数据库管理系统的任务,数据库设计人员要了解和选择物理模型,最终用户则不必考虑物理级的细节

2.2 概念模型

  概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,数据库的概念模型独立于具体的机器和DBMS(数据库管理系统)。

1、信息世界中的基本概念

  • 实体:客观存在并可相互区别的事物称为实体。(人、事、物、抽象的概念或联系)
  • 属性:实体所具有的某一特性。例如:一个学生可以由学号、姓名、性别、出生年月、所在院系等属性组成。
  • 码:唯一表示实体的属性集。例如: 学号是学生实体的码(学号是唯一的)。
  • 实体型:用实体名及其属性名集合来抽象和刻画同类实体。例:学生(学号、姓名、性别、出生年月、所在院系)。
  • 实体集:同一类型实体的集合。例如:全体学生。
  • 联系:实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等多种类型:

2、概念模型的一种表示方法:实体联系法

2.3 数据模型的组成要素

  • 数据结构:数据结构描述数据库的组成对象以及对象之间的联系。
  • 数据操作:增删改查。
  • 数据的完整性约束条件:一组完整性规则。(保证数据的正确、有效和相容)

2.4 常用的数据模型

  • 层次模型
  • 网状模型
  • 关系模型
  • 面向随想数据模型
  • 对象关系数据模型
  • 半结构化数据模型

在格式化模型中数据结构的单位是基本层次联系。所谓基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系。

2.5 层次模型

1、层次模型(树)的数据结构:满足下面两个条件的基本层次联系的集合:

  • 有且只有一个结点没有双亲结点,这个结点是根结点。
  • 根意外的其他结点有且只有一个双亲结点。

2、基本特点:任何一个给定的记录值只能按其层次路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在。只能表示一对多联系。

2.6 网状模型

1、数据结构:

  • 允许一个以上的结点无双亲。
  • 一个结点可以有多余一个的双亲

2、子女结点和双亲结点的联系可以不唯一。多对多联系。

2.7 关系模型

1、关系模型有一组关系组成,每个关系的数据结构是一张规范化的二维表。

  • 关系:一张表。
  • 元组:表中的一行。
  • 属性:表中的一列。
  • :也称为码键,表中的某个属性组,它可以唯一的确定一个元组。
  • :一组具有相同数据类型的值的集合,属性的取值范围来自某个域。
  • 分量:元组中的一个属性值。
  • 关系模式:对关系的描述。一般表示为:关系名(属性1,属性2,...,属性n)。

关系模型要求关系必须是规范化的,关系中每一个分量必须是一个不可分的数据项,不允许表中还有表
2、关系模型的数据操纵:增删改查。
3、关系模型的完整性约束条件:实体完整性、参照完整性和用户定义的完整性。
关系模型的操作第集合操作,操作对象和操作结果都是关系,即若干元组的集合,而不是项格式化模型中单记录的操作方式。关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”“找什么”,不必详细说明“怎么干”“怎么找”。

三、 数据库系统的结构

3.1 数据库系统模式的概念

  在数据模型中有“型”和“值”的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。例如:学生记录定义为(学号,姓名,性别,系别)这样的记录型,而(201315130,李明,男,计算机系)则是该记录型的一个记录值。
  模式是数据库中全体数据的逻辑结构和特性的描述,仅仅涉及型的描述,不涉及具体的值。模式(数据的结构及其联系)是相对稳定的,实例(不同情形,不同时刻)是相对变动的。

3.2 数据库系统的三级模式结构

  • 模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。数据库管理系统提供(DDL)严格定义模式。
  • 外模式:也称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式(不同用户在应用需求、看待数据的方式等方面存在差异,则其外模式藐视就不同的)。即不同用户只能看见和访问所对应的外模式中的数据。
  • 内模式:也称存储模式,一个数据库只能有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

数据库三级模式体系结构的划分,有利于保持数据库的数据独立性

3.3 数据库的二级映像与数据独立性

  • 外模式/模式映像:定义该外模式与模式之间的关系。当模式改变时,由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。
  • 模式/内模式映像:定义数据全局逻辑结构和存储结构之间的对应关系。当模式改变时,由数据库管理员对各个模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序不必修改,保证了数据与程序的物理独立性。

四、 数据库系统的组成

1、硬件平台及数据库

  • 足够大的内存
  • 足够大的外存作数据备份
  • 要求系统由较高的通信能力一提高数据传送率

2、软件

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

3、人员

  • 数据库管理员
    决定数据库中的信息内容和结构;
    决定数据库的存储结构和存取策略;
    定义数据的安全性要求和完整性约束条件;
    监控数据库的使用和运行;
    数据库的改进和充足、重构。
  • 系统分析员和数据库设计人员
    负责应用系统的需求分析和规范说明。
  • 应用程序员
    负责设计和编写应用系统的程序模块,并进行调试和安装。
  • 用户

标签:绪论,数据库,用户,模式,数据,模型,数据模型
From: https://www.cnblogs.com/QwertyWang/p/sql_1.html

相关文章

  • 关于 LLM 和知识图谱、图数据库,大家都关注哪些问题呢?
    自LLM系列文章《知识图谱驱动的大语言模型LlamaIndex》、《Text2Cypher:大语言模型驱动的图查询生成》、《GraphRAG:知识图谱结合LLM的检索增强》陆续和大家见面,以及《夜谈LLM》主题直播同大家交流一番LLM和知识图谱、图数据库之后,在上周NebulaGraph的研发人员做客开......
  • ChatGPT 问答00024 10亿小片段文本推荐用什么数据库记录
    对于这种大规模的文本数据,一种可能的解决方案是使用分布式数据库系统,它能够有效地处理和查询大量数据。以下是一些可能的选择:ApacheCassandra:Cassandra是一个高度可扩展的分布式数据库,特别适合处理大量数据跨多个数据中心和云服务。它提供了高性能和无单点故障等特点。Goog......
  • 数据库系列:使用高区分度索引列提升性能
    数据库系列:MySQL慢查询分析和性能优化数据库系列:MySQL索引优化总结(综合版)数据库系列:高并发下的数据字段变更1背景我们常常在创建组合索引的时候,会纠结一个问题,组合索引包含多个索引字段,它的顺序应该怎么放,怎样能达到更大的性能利用。正确的索引字段顺序应该取决于使用该索......
  • 单位机房 服务器 ORACLE数据库服务器
    开发好的软件系统都部署在服务器上才能访问,服务器是专门伺候大家为大家服务的计算机。上几张图片看下服务器的样子 ......
  • 一文教你学会使用Cron表达式定时备份MySQL数据库
    各位小伙伴大家好,今天我就来讲述一下作为一个运维,如何解放自己的双手去让服务器定时备份数据库数据,防止程序操作数据库出现数据丢失。mysql_dump_script.sh脚本文件#!/bin/bash#保存备份个数,备份7天数据number=7#备份保存路径路径名可自定义backup_dir=/data/backup#日期......
  • 使用Python随机查询数据库中10个信息然后删除这10个信息
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【刘苏秦】问了一个Python数据库数据处理的问题,一起来看看吧。cursor=connect.cursor()sql="SELECT*FROMinfoswherestatus=''"cursor.execute(sql)result=random.sample(cursor.fetchall(),10)result=[d......
  • 五矿期货:悦数图数据库在金融期货行业的应用与实践探索
    本文整理自五矿集团-五矿期货有限公司副总经理-张剑锋在NUC2022年度用户大会上的分享。大家好,我是五矿期货的张剑锋。今天十分感谢悦数科技能够提供这个跟各位专家,还有行业技术大拿们当面学习和交流的机会。首先介绍一下期货行业。在中国的六大金融行业里面,银行,保险,还有信托,是......
  • # yyds干货盘点 #使用Python随机查询数据库中10个信息然后删除这10个信息
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【刘苏秦】问了一个Python数据库数据处理的问题,一起来看看吧。cursor=connect.cursor()sql="SELECT*FROMinfoswherestatus=''"cursor.execute(sql)result=random.sample(cursor.fetchall(),10)result=[dict(i......
  • openGauss学习笔记-108 openGauss 数据库管理-管理用户及权限-用户
    openGauss学习笔记-108openGauss数据库管理-管理用户及权限-用户使用CREATEUSER和ALTERUSER可以创建和管理数据库用户。openGauss包含一个或多个已命名数据库。用户和角色在整个openGauss范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都......
  • 悦数图数据库 x 阿里云计算巢:打造云上超大规模图数据库
    近年来,图数据库的概念被越来越多的企业反复提及。图(Graph)是一种存储实体,及实体之间关系的数据结构,而图数据库(GraphDatabase)则是一个使用图数据进行存储,同时使用图结构进行语义查询的数据库。图数据库能够高效地将关联数据的实体作为顶点(vertex)存储,关系作为边(edge)存储,并允许对这些......