数据库(一)| 数据库概述、基本概念、关系型数据库特点、超键候选码等

文章目录

  • 1 数据库的一些基础概念
    • 1.1 数据库和数据库管理系统
    • 1.2 关系模式和关系实例
    • 1.3 数据库模式和数据库实例
  • 2 数据库组织形式
    • 2.1 数据采用文件的缺点
    • 2.2 使用数据库管理系统的 优点
  • 3 关系型数据库特点
  • 4 三个层次的数据抽象Data Abstraction
  • 5 超键、候选码、主码、外码

1 数据库的一些基础概念

1.1 数据库和数据库管理系统

A database-management system (DBMS) is a collection of interrelated data and a set of programs to access those data.

It is a powerful tool for managing large amount of data efficiently and allowing data to persist safely.

Database refers to a collection of data that is managed by a DBMS

数据库是一组相关数据的集合,而数据库管理系统(DBMS)是管理、维护和操作这些数据的软件系统。简单来说,数据库是数据的集合,而DBMS是用来管理和操作这些数据的工具。

1.2 关系模式和关系实例

关系模式(Relation Schema)和关系实例Relation Instance是关系型数据库中的两个不同但相关的概念。

A relation schema (关系模式) consists of a list of attributes and their corresponding domains.It defines the structure of the table, but does not include any actual data.

关系模式(Relation Schema)是指关系型数据库中表格的结构,包括表格的名称、列名、数据类型、主键和外键等。它定义了表格的结构,但并不包含任何实际的数据。关系模式通常通过CREATE TABLE语句来定义。

A relation instance (关系实例) is a set of tuples over a relation schema

关系实例(Relation Instance)是指关系模式中表格中的具体数据,也就是表格中的行和列。它是关系模式的一个具体实例,包括表格中的所有数据。关系实例可以通过SELECT语句来检索和查询。

例如,假设我们有一个关系模式为“学生(Student)”,包括学生编号(Student ID)、姓名(Name)、年龄(Age)和性别(Gender)等列。那么,关系实例就是表格中的具体数据,如学生编号为001、姓名为张三、年龄为20岁、性别为男性等。

1.3 数据库模式和数据库实例

数据库模式(Database Schema)是数据库的结构图,它描述了数据库中各个表、列、主键、外键等的结构和关系。也就是说,数据库模式定义了数据库中数据的逻辑结构,包括表格、关系、约束和索引等元素。它是一个静态概念,不会发生变化,除非进行数据库结构的修改。

Database schema (数据库模式) – is the logical structure of the database

数据库实例(Database Instance)是指在计算机内存中运行的数据库,它是数据库在运行时的状态。也就是说,数据库实例包含了数据库中所有数据的副本以及处理这些数据的进程和线程。每个数据库实例都有自己的内存空间和处理器资源,可以独立地进行处理和管理。

Database instance (数据库实例) – is a snapshot of the data in the database at a given instant in time.

2 数据库组织形式

2.1 数据采用文件的缺点

1 获得数据很困难,得为每一个潜在的程序写代码程序

Difficulty in accessing data

2 数据丢失或者不一致

Data redundancy and inconsistency

3 完整性问题

Integrity problem

4 并发访问,或者操作到一半的时候可能会出现程序崩掉,这时候数据库可能会把前面未完整执行的进行执行

Concurrent-access problem

5 安全访问问题

Security problem

6 操作原子性问题

Atomicity problem

2.2 使用数据库管理系统的 优点

主要是两方面

​ 便于查询和修改数据

​ 便于确定数据逻辑结构

​ 支持大量数据

​ 访问控制

​ 原子性操作

即事务是原子的。原子性是指事务中的所有操作被视为一个单独、不可分割的操作,要么全部执行成功,要么全部失败回滚,不会出现部分执行的情况。

这意味着,如果一个事务包含多个操作,如果其中任何一个操作失败,整个事务就会回滚,回到原始状态,所有的操作都会取消。这种方式可以确保数据的一致性和完整性,避免了数据损坏或错误的情况。

3 关系型数据库特点

  1. 数据以表格(表)的形式存储,其中每个表包含行和列,每个表有独一无二的名称
  2. 表之间可以建立关系,通过外键(foreign key)实现表之间的连接。
  3. 数据库使用结构化查询语言(SQL)进行查询和操作。
  4. 关系型数据库通常支持事务处理和数据完整性控制。

4 三个层次的数据抽象Data Abstraction

Logical level:users can see all tables and how they are related

比如数据表的组织方式

Physical level: describe how data is stored in a file.

比如某一个内容占据多少字节等等

View level: users can see the tables within the scope of their requirements and permissions.

比如教师可以看到教师的数据表,而学生只能看到学生的数据表

5 超键、候选码、主码、外码

超键

在关系型数据库中,**超键(Superkey)**是能够唯一标识一个关系中元组的一组属性集合。简单来说,超键是可以唯一区分关系模式中不同元组的一组属性。

超键具有以下特点:

  1. 超键必须是唯一的,即在关系模式中没有两个元组具有相同的超键值。
  2. 超键可以包含一个或多个属性。
  3. 超键可以是候选键(Candidate Key)的超集,也可以是包含主键(Primary Key)的超键。

候选码

​ 最小的超键,可以有多个

主码

​ 从候选码里选出来,唯一的一个 主码是数据库表中的一个字段或一组字段,用于唯一标识表中的每一行记录。

主码是数据库表中唯一标识记录的字段或字段集合,每个表只能有一个主码。候选码也是具有唯一性的字段或字段集合,但一个表可以有多个候选码,其中一个通常会被选择为主码。主要区别在于主码是表的主要标识符,而候选码是备选的唯一标识符。

写一个关系模式,将主键用下划线画出来,且一般在其他元素前

**在这里插入图片描述
**

写出他的关系模式

注意这里,用 两个才能唯一区别building, room number同时画下划线

外码

"参照关系"和"被参照关系"是用来描述表之间关系的术语,它们涉及到外码(Foreign Key)和主码(Primary Key)之间的联系。以下是它们的解释:

  1. 参照关系(Referencing Relationship):

    • "参照关系"指的是包含外码(Foreign Key)的表,该外码引用另一张表的主码(Primary Key)或候选码(Candidate Key)。
    • 在参照关系中,外码字段存储了关联表的键值,它用于确立两个表之间的关联。
    • 表示为:表A包含一个外码字段,该字段引用了表B的主码或候选码,这时表A就与表B存在参照关系。
  2. 被参照关系(Referenced Relationship):

    • "被参照关系"指的是包含主码或候选码的表,该表的键值被外码字段引用,从而使其他表可以与它建立关联。
    • 在被参照关系中,一个表的主码或候选码通常被其他表的外码引用,这表明它在其他表中作为关联的目标。
    • 表示为:表B的主码或候选码被表A的外码引用,这时表B就与表A存在被参照关系。

例如,考虑以下两个表:Customers(客户)和Orders(订单)。Customers 表的 CustomerID 字段是主码,而 Orders 表的 CustomerID 字段是外码。这种情况下:

  • Customers 表是被参照关系表,因为它的主码(CustomerID)被 Orders 表的外码字段(CustomerID)引用,允许订单表与客户表建立关联,以指示哪些客户下了哪些订单。
  • Orders 表是参照关系表,因为它包含了外码字段(CustomerID),该字段引用了客户表的主码(CustomerID),用于建立订单表与客户表之间的关联。

总之,参照关系和被参照关系描述了表之间的关联,外码与主码之间的关系非常重要,它们有助于维护数据完整性,并允许查询和检索相关数据

一个关系数据库由多个表组成,每个表有自己独一无二的名字

一个表通常内概念有 属性,元组,分量

在这里插入图片描述

概念

属性的域(domain):属性允许的值的集合,比如年龄这个属性,允许的值是正整数

r 的所有属性的域都应该是原子的。什么原子的?域的元素被认为是不可分割的单元

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

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

相关文章

php之jwt使用

PHP JWT(JSON Web Token)是一种用于身份验证和授权的开放标准。JWT是一个包含有关用户或实体身份信息的安全令牌,它由三部分组成:头部(Header)、载荷(Payload)和签名(Sig…

计算机网络编程

网络编程 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机, Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. 计算机网络基础 2. So…

数据结构基础介绍

一.起源及重要性 1968 年,美国的高德纳 Donakl E . Kn uth 教授在其所写的《 计算机程序艺术》第一卷《基本算法 》 中,较系统地阐述了数据的逻辑结构和存储结构及其操作, 开创了数据结构的课程体系 ,数据结构作为一门独立的…

B029-JDBC增强

目录 PreparedStatement 查询1.sql注入2.Statement分析 (面试题)3.PreparedStatement (面试题) 登录功能的完善事务链接池概念实现DBCP连接池实现第一种配置方式第二种配置方式 返回主键BaseDao的抽取 PreparedStatement 查询 1.sql注入 就是在sql的字符串拼接的时候&#xf…

基于单片机的定时插座在智能家居中的应用

近年来,随着科学技术的发展迅速,人们对智能化的要求越来越高。越来越多的智能化产品进入千家万户,如电脑电视、扫地机器人、智能空气净化器等。这些家居电器和电子产品大都需要连接电源,为满足多种用电器的正常使用,延…

DevEco Studio 生成HPK文件

DevEco Studio 生成HPK文件 一、安装环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、生成HPK文件 生成的HPK文件存放在entry文件夹下。下图是未生成HPK的样式。 生成HPK:菜单Build->Build Hap(s)/APP(s)->Build Hap(s)…

启动jar包命令

一、Windows环境 找到jar包的位置; 按shift键,点击鼠标右键,选中在此处打开PowerShell窗口; 此时进入命令行工具 输入java -jar .\java_web-0.0.1-SNAPSHOT.jar(注意空格)。 二、Linux环境 2.1 方式一 …

039.Python面向对象_三大特性综合案例2

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉&…

一、微前端目标、前端架构的前生今世、微前端架构优势和劣势、软件设计原则与分层

1、目标 2、前端架构的前世今生 ① 初始:无架构,前端代码内嵌到后端应用中 ② 后端 MVC 架构:将视图层、数据层、控制层做分离 缺点:重度依赖开发环境,代码混淆严重(在调试时,需要启动后端所有…

小型洗衣机哪个牌子质量好?迷你洗衣机排名前十名

随着内衣洗衣机的流行,很多小伙伴在纠结该不该入手一款内衣洗衣机,专门来洗一些贴身衣物,答案是非常有必要的,因为我们现在市面上的大型洗衣机只能做清洁,无法对我们的贴身衣物进行一个高强度的清洁,而小小…

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分 概述NLP 简介文本处理词嵌入上下文理解 文本数据加载to_device 函数构造数据加载样本数量 len获取样本 getitem 分词构造函数调用函数轮次嵌入 RobertaRoberta 创新点NSP (Next Sentence Prediction…

23种设计模式之装饰者模式(被装饰者,接口层,装饰抽象层,具体装饰者)

23种设计模式之装饰者模式 文章目录 23种设计模式之装饰者模式设计思想装饰者模式的优点装饰者模式的缺点装饰者模式的优化方法UML 解析预设场景 代码释义总结 设计思想 原文:装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能&#xff0…

应用在LED灯光控制触摸屏中的触摸芯片

LED灯光控制触摸屏方法,包括:建立触摸屏的触摸轨迹信息与LED灯光驱动程序的映射关系;检测用户施加在触摸屏上的触摸轨迹,生成触摸轨迹信息;根据生成的触摸轨迹信息,调用对应的LED灯光驱动程序,控…

智能优化算法应用:基于头脑风暴算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于头脑风暴算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于头脑风暴算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.头脑风暴算法4.实验参数设定5.算法结果6.…

智能优化算法应用:基于蝙蝠算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于蝙蝠算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于蝙蝠算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝙蝠算法4.实验参数设定5.算法结果6.参考文献7.MA…

酷开科技多维度赋能营销,实力斩获三项大奖

在数智化新阶段、广告新生态、传播新业态的背景下,“第30届中国国际广告节广告主盛典暨网易传媒态度营销峰会”于11月18日在厦门国际会展中心盛大举行。来自全国的品牌方、战略决策者、媒体平台和品牌服务机构等汇聚一堂。在50000+现场观众和数千万线上观…

vue elementui点击按钮新增输入框(点多少次就新增多少个输入框,无限新增)

效果如图&#xff1a; 核心代码&#xff1a; <div v-for"(item,index) in arrayData" :key"item.id">//上面这个是关键代码&#xff0c;所有思路靠这个打通<el-inputtype"input" //除了输入框&#xff0c;还有textarea等placeholder&…

k8s详细教程(一)

—————————————————————————————————————————————— 博主介绍&#xff1a;Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 &#x1f345;文末获取源码…

《Spring Cloud Alibaba 从入门到实战》分布式消息(事件)驱动

分布式消息&#xff08;事件&#xff09;驱动 1、简介 事件驱动架构(Event-driven 架构&#xff0c;简称 EDA)是软件设计领域内的一套程序设计模型。 这套模型的意义是所有的操作通过事件的发送/接收来完成。 传统软件设计 举个例子&#xff0c;比如一个订单的创建在传统软…

「差生文具多系列」推荐两个好看的 Redis 客户端

&#x1f4e2; 声明&#xff1a; &#x1f344; 大家好&#xff0c;我是风筝 &#x1f30d; 作者主页&#xff1a;【古时的风筝CSDN主页】。 ⚠️ 本文目的为个人学习记录及知识分享。如果有什么不正确、不严谨的地方请及时指正&#xff0c;不胜感激。 直达博主&#xff1a;「…