当前位置: 首页 > news >正文

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

目录

前言

基本概念

数据库完整性


前言

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


基本概念

4个基本概念

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

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

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

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

数据库系统的特点

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

数据模型

基本信息

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

组成要素

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

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

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

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

数据库完整性

数据库的完整性

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

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

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

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

三大完整性

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

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


结束语

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

相关文章:

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

目录 前言 基本概念 数据库完整性 前言 今天我们来看看数据库的基本概念,帮助大家对数据库有一点点最基本的了解 基本概念 4个基本概念 数据data:描述事物的符号,数据库中存储的基本对象。 数据库Database:长期存储在计算机…...

vue2项目的打包以及部署

打包 当我们写好vue2的项目后,可以通过npm build来对项目进行打包 npm build 打包完成后我们可以看到在当面目录下生成了dis目录,src下的文件都会被打包进这个目录里,当然打包后的文件我们不能直接在浏览器打开,需要进行部署 部署 1.新建一个…...

Java的全局异常处理代码

第一步:先写一个异常管理类: package com.example.firefighting.exceptions;import com.example.firefighting.utils.Result; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerA…...

Hi3861 OpenHarmony嵌入式应用入门--LiteOS semaphore作为锁

CMSIS 2.0 接口中的 Semaphore(信号量)是用于嵌入式系统中多线程或中断服务例程(ISR)之间同步和共享资源保护的重要机制。Semaphore 是一种用于控制对多个共享资源访问的同步机制。它可以被看作是一个计数器,用于跟踪可…...

注意!年龄越大,社交圈子越窄?其实这是老人的理性选择!数学家告诉你:何时该跳槽,何时该坚守!你必须知道的三个智慧:让你的人生更加精彩!

我们到底应该在什么情况下探索新事物,什么情况下专注于已有的东西呢?本质上来说,这个问题就是在询问,你究竟应该耗费精力去探索新的信息,还是专注从既有的信息中获取收获? 有人采访了临终的老人&#xff0c…...

[SwiftUI 开发] 嵌套的ObservedObject中的更改不会更新UI

1. 发生问题的demo 业务逻辑代码 class Address: ObservableObject {Published var street "123 Apple Street"Published var city "Cupertino" }class User: ObservableObject {Published var name "Tim Cook"Published var address Addr…...

全面了解机器学习

目录 一、基本认识 1. 介绍 2. 机器学习位置 二、机器学习的类型 1. 监督学习 2. 无监督学习 3. 强化学习 三、机器学习术语 1. 训练样本 2. 训练 3. 特征 4. 目标 5. 损失函数 四、机器学习流程 五、机器学习算法 1. 分类算法 2. 聚类算法 3. 关联分析 4. …...

作为图形渲染API,OpenGL和Direct3D的全方位对比。

当你在网页看到很多美轮美奂的图形效果,3D交互效果,你知道是如何实现的吗?当然是借助图形渲染API了,说起这个不就不得说两大阵营,OpenGL和Direct3D,贝格前端工场在本文对二者做个详细对比。 一、什么是图形…...

安装Rabbitmq遇到的坑

!!!一定要对号版本号 不同的虚拟机unbontu、cetenos和不同的erlang和不同的rabbitmq之间要对应下载对应版本 下面给出我的版本centos7erlangrabbitmq 分割线 安装好后,如果在虚拟机的服务器上可以打开,在本地浏览器…...

React+TS 从零开始教程(4):useEffect

上一节传送门:ReactTS 从零开始教程(3):useState 源码链接:https://pan.quark.cn/s/c6fbc31dcb02 上一节,我们已经学会了React的第一个Hook:useState。 这一节,我们要学习的是另一…...

网络安全学习路线图(2024版详解)

近期,大家在网上对于网络安全讨论比较多,想要学习的人也不少,但是需要学习哪些内容,按照什么顺序去学习呢?其实我们已经出国多版本的网络安全学习路线图,一直以来效果也比较不错,本次我们针对市…...

你了解人工智能吗?

前言 人工智能(Artificial Intelligence,AI)是计算机科学的一个重要分支,致力于开发能够执行通常需要人类智能的任务的系统。本文将从历史发展、关键技术、应用领域以及未来挑战等方面,深入探讨人工智能的相关内容。 …...

如何使用Vue.js实现动态文档生成与下载功能

在现代Web应用开发中,用户往往需要在浏览器端完成复杂的操作,如生成和下载特定格式的文档,而无需服务器直接干预。本文将以一个Vue.js应用程序为例,详细介绍如何利用axios(或自定义请求模块)结合FileReader…...

web基础及http协议

一、WEB:就是我们所说的页面,点开的每个页面都是web。(全球广域网、万维网) 分布式图形信息系统:同一个服务,但是部署在不同的机器上且提供的服务和内容全部一致,集群就是建立在分布式的基础上。…...

【vuejs】vue-router 之 addRoute 动态路由的应用总结

1. Vue Router 概述 Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用。它与 Vue.js 深度集成,让开发者能够轻松地构建具有复杂用户界面的单页面应用。Vue Router 允许你定义不同的路由,并通过 router-view 组件在应用中显示匹配的…...

LeetCode 30. 串联所有单词的子串

LeetCode 30. 串联所有单词的子串 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words [“ab”,“cd”,“ef”], 那么 “abcd…...

python本学期所有代码!

第一单元 ----------------------------------------------------------------------- #圆面积的计算 radius 25 area 3.1415 * radius * radius print(area) print("{:.2f}".format(area)) --------------------------------------------------------------------…...

武汉星起航:无锡跨境电商加速“出海”,物流升级助品牌全球布局

随着全球化的不断深入,跨境电商作为数字外贸的新业态,正逐渐成为无锡企业拓展海外市场的重要渠道。武汉星起航关注到,近年来,无锡市通过积极推进国际物流枢纽建设,完善海外仓布局,以及各特色产业带的积极参…...

Python+Pytest+Allure+Yaml+Pymysql+Jenkins+GitLab接口自动化测试框架详解

PythonPytestAllureYaml接口自动化测试框架详解 编撰人:CesareCheung 更新时间:2024.06.20 一、技术栈 PythonPytestAllureYamlJenkinsGitLab 版本要求:Python3.7.0,Pytest7.4.4,Allure2.18.1,PyYaml6.0 二、环境配置 安装python3.7&…...

stm32-hal库(5)--usart串口通信三种模式(主从通信)(关于通信失败和串口不断发送数据问题的解决)

问题: 最近发现,stm32cubemx最新版本f1系列的hal库(1.85版本)生成的hal库,其中stm32f1xx_hal_uart.c的库文件中,其串口发送接收存在一些问题: 1.没有使用 __HAL_LOCK 和 __HAL_UNLOCK 宏&…...

FatFileSystem:面向资源受限MCU的轻量级FAT文件系统

1. FatFileSystem 嵌入式 FAT 文件系统库深度解析FatFileSystem 是一个轻量级、可移植的嵌入式 FAT 文件系统实现,专为资源受限的微控制器环境设计。它并非完整重写的 FAT32 标准栈(如 FatFs),而是对经典开源 FAT 实现的精简裁剪与…...

保姆级教程:在Ubuntu 22.04物理机上,从开启SSH到配置IPv6防火墙的完整流程

Ubuntu 22.04物理机从SSH配置到IPv6防火墙的完整安全指南 当你拿到一台全新的Ubuntu物理机时,如何安全地配置远程访问并启用IPv6连接?本文将带你从零开始,一步步完成从系统初始化到防火墙配置的全过程。无论你是搭建家庭服务器、开发测试环境…...

Matlab Simulink代码生成全流程解析

matlab simulink代码生成 包括:环境配置,参数与信号配置,函数名配置,数据管理,代码生成,以及代码优化等 文档63页在工程领域,利用Matlab Simulink进行代码生成是一项极为实用的技能,…...

24小时运行不掉线:OpenClaw+GLM-4.7-Flash监控告警方案

24小时运行不掉线:OpenClawGLM-4.7-Flash监控告警方案 1. 为什么需要自动化监控告警 去年夏天的一个深夜,我负责维护的某个内部服务突然崩溃。直到第二天早上用户反馈才发现问题,整整8小时的服务中断让我意识到:人工巡检存在天然…...

OpenClaw技能系统深度指南:打造能干活、守规矩、够聪明的工具化 AI 助手

手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定! AI 智能体想从只会动嘴皮子的“聊天机器人”变成真正能干活的“行动派”,能不能熟练使用工具就是一道分水岭。OpenClaw 的 Skills 系统,说白了就…...

如何快速构建InstaMaterial项目:Gradle配置与APK打包完整指南

如何快速构建InstaMaterial项目:Gradle配置与APK打包完整指南 【免费下载链接】InstaMaterial Implementation of Instagram with Material Design (originally based on Emmanuel Pacamalans concept) 项目地址: https://gitcode.com/gh_mirrors/in/InstaMateria…...

设计师福音:Z-Image-Turbo_UI界面实现草图到成品的快速转化

设计师福音:Z-Image-Turbo_UI界面实现草图到成品的快速转化 你是不是也遇到过这样的场景?脑子里有一个绝妙的创意,手绘了一张草图,但要把这个草图变成一张精美的成品图,却需要花费数小时甚至数天的时间,在…...

在openKylin下安装配置GitLab遇到的问题及解决方案(v0.1.0)

作者:沈传越 明德融创工作室(Minter Fusion Studio, MFS) 出品 本文安装的GitLab-ce 15.10.0版。操作系统openKylin 2.0 SP2。 一、安装GitLab-ce依赖软件时报错 1. 错误描述 在执行sudo apt-get install curl openssh-server ca-certifi…...

百川2-13B-4bits量化版温度参数研究:OpenClaw任务稳定性影响

百川2-13B-4bits量化版温度参数研究:OpenClaw任务稳定性影响 1. 温度参数与自动化任务的微妙关系 上周我在调试OpenClaw自动处理周报的任务时,遇到了一个奇怪现象:同样的提示词,有时候生成的周报结构清晰、重点突出,…...

别再手动汉化了!用Docker Compose持久化配置Greenbone GVM中文界面(附yml文件修改)

持久化配置Greenbone GVM中文界面的Docker Compose实战指南 对于安全工程师和运维人员来说,Greenbone Vulnerability Management(GVM)是进行漏洞扫描的利器。但每次重启容器后都需要重新配置中文界面,这无疑增加了维护成本。本文…...