数据库原理之数据库基本概念

目录

前言

基本概念

数据库完整性


前言

今天我们来看看数据库的基本概念,帮助大家对数据库有一点点最基本的了解


基本概念

4个基本概念

数据data:描述事物的符号,数据库中存储的基本对象。

数据库Database:长期存储在计算机内的、有组织的、可共享的大量数据的集合。

数据库管理系统Database Management System:位于用户与操作系统之间的一层数据管理软件。

数据库系统Database System:由数据库、数据库管理系统、应用程序和数据库管理员(DBA)组成。

数据库系统的特点

数据库系统具有数据结构化、数据的共享性高,几余度低而且容易扩充、数据独立性高、数据由数据库管理系统统一管理和控制的特点。

数据模型

基本信息

数据模型包括概念模型 (信息模型)和逻辑模型/物理模型,概念模型按用户的观点建模,用于数据库设计,表示方法有 E-R模型。逻辑模型按计算机的观点建模,用于 DBMS 实现,包括网状模型、层次模型、关系模型等等。物理模型是对数据最底层的抽象。

组成要素

数据模型的组成要素主要有三个:数据结构、数据操作、数据的完整性约束条件。数据模型是严格定义的一组概念的集合,需要精确描述系统的静态特性、动态特性和完整性约束条件

  1. 数据结构:描述系统的静态特性一描述数据库的组成对象以及对象之间的联系
  2. 数据操作:描述系统的动态特性一是对数据库中各种对象的实例所允许的操作的集合,其类型有查询和更新(增删改)
  3. 数据的完整性约束条件:用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效与相
    完整性约束条件是一组完整性规则的集合

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

数据库系统的三级模式结构如下:外模式、模式(逻辑模式)、内模式。

数据库完整性

数据库的完整性

数据库的完整性是指数据的正确性和相容性

  • 正确性:符合现实世界语义
  • 相容性:同一对象在不同表中的数据符合逻辑

维护完整性需要实现的功能

维护完整性需要提供定义完整性约束条件的机制、提供完整性检查的方法、进行违约处理。

三大完整性

三大完整性包括实体完整性、参照完整性和用户定义完整性。解释如下:

  1. 实体完整性: 主码唯一旦非空。
  2. 参照完整性:外码的约束。
  3. 用户定义完整性:属性约束条件的定义。比如not null非空,unique列值唯一性,check检查列值是否满足一个表达式等。


结束语

今天对数据库的基本概念的解释就到这里,如果对您有帮助,希望您可以为我点赞或留下关注,这对我真的很重要,谢谢!

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

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

相关文章

山东大学多核并行2024年回忆版

2024.6.13回忆版 矩阵向量乘不可整除代码 集合通信与点对点通信的区别 块划分、循环划分、循环块划分(14个向量,4个进程) 按行访问还是按列访问快 SISD系统问题 循环依赖问题 问题:为什么不能对这个循环并行化&#xff0…

Python逻辑控制语句 之 综合案例

需求: 1. 提示⽤户输⼊登录系统的⽤户名和密码 2. 校验⽤户名和密码是否正确(正确的⽤户名:admin、密码:123456) 3. 如果⽤户名和密码都正确,打印“登录成功!”,并结束程序 4. 如果⽤户名或密码错误,打印“⽤户名或密码错误!”…

Django 对模型创建的两表插入数据

1,添加模型 Test/app8/models.py from django.db import modelsclass User(models.Model):username models.CharField(max_length50, uniqueTrue)email models.EmailField(uniqueTrue)password models.CharField(max_length128) # 使用哈希存储密码first_name …

代码随想录算法训练营第一天 [300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组]

代码随想录算法训练营第一天 [300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组] **一、300.最长递增子序列 ** 链接: 代码随想录. 思路:dp[i] 以nums[i]为结尾的递增子序列最大长度,下标为i的数,需要和下标为0开始一直到下标为…

DM 的断点续传测试

作者: 大鱼海棠 原文来源: https://tidb.net/blog/4540ae34 一、概述 DM有all、full、incremental三种数据迁移同步方式(task-mode),在all同步模式下,因一些特殊情况,需要变更上游MySQL的数…

LDO产品的基础知识解析

低压降稳压器 (LDO)是一种用于调节较高电压输入产生的输出电压的简单方法。在大多数情况下,低压降稳压器都易于设计和使用。然而,如今的现代应用都包括各种各样的模拟和数字系统,而有些系统和工作条件将决定哪种LDO最适合相关电路&#xff0c…

邓普顿的五大投资原则

在《逆向投资 邓普顿的长赢投资法》的推荐序《“逆向投资大神”邓普顿五大投资原则》中,刘建位总结了邓普顿的五大投资原则,分别是“以逆向投资为中心”“以价值投资为选股根本”“以分散投资为组合稳定器”“以全球投资来扩大机会池”“以极度悲观点投资…

rust单元测试顺序执行

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 存在的问题 有时候,不同单元测试之间可能会竞争相同的资源,比如读写相同的文件。在这种情况下,如果…

springboot的特点是什么?

Spring Boot是一个基于Spring框架的开源项目,它旨在简化Spring应用的初始搭建和开发过程。以下是Spring Boot的一些主要特点: 快速开发: Spring Boot提供了许多默认配置,使得开发者可以更快地开始开发应用程序,而无需…

秋招突击——6/28、6.29——复习{数位DP——度的数量}——新作{}

文章目录 引言复习数位DP——度的数量个人实现参考实现 总结 引言 头一次产生了那么强烈的动摇,对于未来没有任何的感觉的,不知道将会往哪里走,不知道怎么办。可能还是因为实习吧,再加上最近复习也没有什么进展,并不知…

Vmware Windows虚拟机卡死了

每次遇到这个问题我都想骂娘!!!! 这一次是怎么解决的呢? 解决:我给虚拟机连上网就好了! 重启,开关机,一点用都没有。

前端 JS 经典:箭头函数的意义

箭头函数是为了消除函数的二义性。 1. 二义性 函数的二义性指函数有不同的两种用法,就造成了二义性,函数的两种用法:1. 指令序列。2. 构造器 1.1 指令序列 就是调用函数,相当于将函数内部的代码再从头执行一次。 1.2 构造器 …

【Linux 工具 】 tcpdump详细使用说明

目录 1. 安装 tcpdump 2. 使用 tcpdump 命令 3. 监听所有网络接口 4. 监听指定网络接口 5. 保存数据包到文件 6. 读取保存的数据包文件 7. 过滤数据包 过滤源 IP 地址: 过滤目标 IP 地址: 过滤源和目标 IP 地址: 过滤指定端口: 过滤指定协议: 8. 显示数据包详…

爬虫实战:使用PHP爬取携程旅游信息

随着旅游业的不断发展,旅游信息变得非常丰富。为了方便大家获取更全面、准确的旅游信息,我们可以使用爬虫来抓取旅游网站上的数据,并进行分析和处理。本文将介绍如何使用php爬取携程旅游信息。 爬虫基础知识 爬虫是一种自动化程序&#xff…

Android SurfaceFlinger——OpenGL ES基础介绍(十二)

前面的文章我们介绍了 HWC,知道他在 Android 系统中用于硬件加速屏幕合成的一个组件。负责将多个 Surface(包括那些可能通过 OpenGL ES 渲染的内容)合成到一起,并输出到屏幕。HWC 利用底层硬件(如 GPU)来执行合成操作,减少 CPU 的负担,提高效率和电池寿命。 一、概述 …

如何借助 LLM 设计和实现任务型对话 Agent

1 引言 在人工智能的快速发展中,任务型对话 Agent 正成为提升用户体验和工作效率的关键技术。这类系统通过自然语言交互,专注于高效执行特定任务,如预订酒店或查询天气。尽管市场上的开源框架如 Rasa 和 Microsoft Bot Framework 在对话理解…

【笔记】一些PDN建立成功后返回的IP地址情况及日志分析

背景 Protocol满足运营商需求,即便是PDN的通的,也可能因为网络问题导致MMS、热点等业务无法正常工作。(丢包?网络无响应?服务器异常) 或者Protocol跟运营商需求不一致,直接SETUP_DATA_CALL失败了。 一般而言,如果APN Protocol 参数配置不符合运营商要求,在 PDN 建立…

正则表达式结合自定义function使用replace

replace使用正则表达式和function替换 js代码 html代码 场景描述 输入不同数量的人名,根据不同的人数打印不同的描述 代码分析 首先在js代码中使用templates定义了5个模板,通过 var idx Math.min(names.length, 4)根据人数获取对应的模板的索引&…

tqdm库教程 - 进度条可视化利器

tqdm库教程 - 进度条可视化利器 1. 什么是tqdm?2. tqdm的基本用法3. tqdm的高级用法3.1 自定义描述3.2 手动更新进度条3.3 在文件处理中使用tqdm 4. tqdm的其他特性4.1 嵌套进度条4.2 在Jupyter Notebook中使用 5. 总结 1. 什么是tqdm? tqdm是一个Python库,用于在循环或长时…

揭秘多年免费听音乐、直播、影视的自用方案:手机、电视、电脑多平台0成本实现媒体自由(内含相关资源)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 多媒体自由 📒🎧 音乐资源📱安卓平台🍎 苹果平台💻 PC平台🎥 影视资源📱 安卓平台🍎 苹果平台📺 电视盒子💻 PC平台📥 电影下载📺 直播资源📱 手机平台💻 PC平台📺 电视盒子⚓️ 相关链接 ⚓️�…