103 - Lecture 1

Introduction to Database

一、Introduction to Database Systems

1. 数据的定义

What is Data?

EX: data could be a docx file storing your project status report;

        data could be a spreadsheet containing information

• 数据只有在设计的场景中才有意义。(designed scenario)

• 数据需要能够被创建、修改和访问。(to be created, modified, and accessed)

2. 数据库的定义

What is a Database?

(1) Database

• 数据库是“有组织的数据集合,结构化、便于快速搜索和检索”。

“organized collection of data, structured for ease and speed of search and retrieval.”

(2) Database Management System

• 数据库管理系统 (DBMS) 是一种软件,允许用户存储、检索和更新数据库中的数据。

3. 数据库的应用

Database Applications

Database applications include mobile payment, hotel booking websites, online game data storage, and healthcare.

4. DBMS 环境的组成部分

Components of the DBMS Environment

(1) Hardware

硬件:运行 DBMS 的计算机。

(2)Software

软件:包括 DBMS、应用程序(如支付宝)和操作系统。

application programs (e.g., Alipay), and the operating system.

(3)Data

 数据:包括操作数据和元数据。( operational data and metadata.)

(4)Procedures

程序:设计和使用数据库的规则和指令。

instructions and rules governing the design and use of the database.

(5)People

人员:包括数据库设计人员、终端用户、开发人员和管理员。

database designers, end users, application developers, and database administrators.

5. DBMS 功能

DBMS Functions / Must Haves

(1). 允许用户存储、检索(retrieve)和更新数据。

(2). 系统目录:包含模式、用户、应用程序等的元数据。

System catalog: holds data about schemas, users, applications, etc., also known as metadata.

(3). 原子性(Atomicity):确保操作要么完全执行,要么不执行。

(4). 并发控制(concurrency control):确保多个用户更新时数据库的正确性。

(5). 数据恢复(data recovery):在数据库损坏时进行恢复。

(6). 权限控制(Access control):确保只有授权用户(authorized users)可以访问数据库(DB).

6.数据模型

Data Models

• 数据可以有不同的结构模型,如关系模型、层次模型、网络模型等。

 relational data model, hierarchical model, and network model.

关系模型:基于数学概念的表格形式,具有列和行。

实体关系模型:常用于教学数据库结构的基础。

Entity-Relationship Model: Commonly used to teach database structure basics.

•Graph model:uses graph structures for semantic queries with nodes,edges

 二、Relational Model

1. Terminologies

关系:相当于表格,由列和行组成。

Relation: A table with columns and rows.

属性:关系中的列。

Attribute: A named column of a relation.

:属性的允许值集合,每个属性有一个域,例如,Department 的域可能包括 Marketing、Accounts 和 Personnel。

Domain: The set of allowable values for attributes.

元组:关系中的一行,代表一个实体实例。

Tuple: A row in a relation, representing an instance of an entity.

基数:关系中的行数。

Cardinality: The number of tuples in a relation.

:关系中的属性数量。

Degree: The number of attributes in a relation.

2. Properties of Relations

• 每个关系的名称在数据库模式(schema)中是唯一的。

• 每个单元格只包含一个原子值。( atomic value)

• 关系中没有重复的元组。

No duplicate tuples in a relation.

• 一个属性的所有值必须属于同一个域,这意味着它们的数据类型和约束条件相同。

• The order of attributes has no significance. 

• The order of tuples has no significance.

三、Relational Keys

 在一个关系中,不允许有重复的元组。 因此,我们需要能够识别一个或多个属性(称为关系键),以唯一地标识(uniquely identified)关系中的每个元组。

超键(Superkey):唯一标识关系中元组的属性或属性组合。

a superkey may contain additional attributes that are not necessary for unique identification

候选键(Candidate key):最小(minimal)的超键,且不包含不必要的属性。

Thee may be several candidate keys for a relation

主键(Primary Key):候选键中选定用于唯一标识元组的键。

candidate keys = primary key + alternate keys

A relation can only have one primary key

外键(Foreign Key):引用另一个关系中候选键的属性。

Foreign Key: An attribute or set of attributes in one relation that references the candidate key of another relation.

• when a key consists of more than one attribte, we call it a composie key.

从图片中的提示可以看出,staff_id 是主键

Finding Candidate Key

• 不能仅依靠(based solely)表中的数据来推断候选键。

• 通常(more often than not),一个关系的实例只包含所有可能值的一个小子集。

示例

• 表 Queue 中的 queue_no 值会重复使用,例如从 A1 到 A99,再重置(reset back)到 A1。

• 因此,仅靠 queue_no 可能不足以唯一标识一条记录。

Example

CREATE TABLE Branch (

    branchNo CHAR(4) PRIMARY KEY,

    street VARCHAR(100),

    city VARCHAR(25),

    postcode VARCHAR(7) UNIQUE

);

• branchNo 是主键,而 postcode 是唯一键。

branchNo is the primary key, and postcode is a unique key.

EX:

外键是一种约束,用于确保一个表中的某些值必须与另一个表中的主键或候选键相对应,以维护数据的一致性和完整性。例如:

• 如果 staff 表中的 branchNo 是 Branch 表的外键,那么 staff 表中 branchNo 列的值必须在 Branch 表的 branchNo 列中存在。

• 这确保了 staff 表中引用的 branchNo 始终是有效的,避免数据引用错误。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文复现】MSA+抑郁症模型总结(二)

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀MSA抑郁症模型 情感分析的应用1. 概述2. 论文地址3. 研究背景4. 主要贡献5. 模型结构和代码6. 数据集介绍7. 性能展示8. 复现过程9. 运行过程…

JavaScript 实现文本转语音功能

全篇大概2000 字(含代码),建议阅读时间10分钟。 引言 我将向大家展示如何使用 JavaScript 和 Web Speech API 快速实现一个“文本转语音”的 Web 应用。通过这个教程,你将了解如何让浏览器将输入的文本朗读出来。 预览效果 一、…

GitLab基于Drone搭建持续集成(CI/CD)

本文介绍了如何为 Gitee 安装 Drone 服务器。服务器打包为在 DockerHub 上分发的最小 Docker 映像。 1. 准备工作 创建OAuth应用 创建 GitLab OAuth 应用。Consumer Key 和 Consumer Secret 用于授权访问极狐GitLab 资源。 ps:授权回调 URL 必须与以下格式和路径匹配&…

RHCE 第四次作业

一.搭建dns服务器能够对自定义的正向或者反向域完成数据解析查询。 1.配置环境 [rootlocalhost ~]# yum install bind [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 2.配置DNS主服务器 [rootlocalhost ~]# vim /etc/named.conf options { …

【ArcGIS】绘制各省碳排放分布的中国地图

首先,准备好各省、自治区、直辖市及特别行政区(包括九段线)的shp文件: 通过百度网盘分享的文件:GS(2022)1873 链接:https://pan.baidu.com/s/1wq8-XM99LXG_P8q-jNgPJA 提取码&#…

关于CountDownLatch失效问题

一、项目背景 这几天要开发一个类似支付宝那种年度账单统计的功能,就是到元旦后支付完会把用户这一年的消费情况从各个维度(我们把这一个维度称作一个指标)统计分析形成一张报告展示给用户。 这个功能实现用到了CountDownLatch。假如统计分析…

【专题】2024年全球生物医药交易报告汇总PDF洞察(附原数据表)

原文链接:https://tecdat.cn/?p38191 在当今复杂多变的全球经济环境下,医药行业正面临着诸多挑战与机遇。2024 年,医药行业的发展态势备受关注。 一方面,全球生物医药交易活跃,2021 - 2023 年的交易中,已…

鸿蒙5.0时代:原生鸿蒙应用市场引领开发者服务新篇章

前言 10月22日原生鸿蒙之夜发布会宣布HarmonyOS NEXT正式发布,首个版本号:鸿蒙5.0。这次“纯血鸿蒙”脱离了底层安卓架构成为纯国产的独立系统,仅凭这一点就有很多想象空间。 目前鸿蒙生态设备已超10亿,原生鸿蒙操作系统在中国市…

3.PyCharm工具

第三方IDE,集成开发工具,官网下载。 社区版本,免费使用。 创建项目 配置解释器,创建python文件,编写代码,运行:

arkUI:Flex弹性布局的各个属性

arkUI:Flex弹性布局的简单使用 1 主要内容说明2 相关内容2.1 Flex弹性布局的方向2.1.1 源码1的简答说明2.1.2 源码1 (Flex弹性布局的方向)2.1.3 源码1运行效果2.1.3.1 当direction: FlexDirection.RowReverse2.1.3.2 当direction: FlexDirect…

串口接收,不定长数据接收

###1.CUBE-MX配置串口 2.我采用串口中断接收,打开中断接口 3.时钟同样8倍频,1分频,使用内部时钟 打开串口中断 main() { __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE); // 启用空闲中断__HAL_UART_ENABLE_IT(&huart1, UART_IT_R…

TikTok本土店vs跨境店:解读TikTok小店差异

TikTok小店的两种主要的店铺类型:本土店和跨境店,虽然这两种店铺在功能上有相似之处,但它们在运营模式、市场定位、目标受众和面临的挑战等方面存在显著的区别。 一、定义与基本特征 1. TikTok本土店 本土店指的是在特定国家或地区内经营的…

深度学习——优化算法、激活函数、归一化、正则化

文章目录 🌺深度学习面试八股汇总🌺优化算法方法梯度下降 (Gradient Descent, GD)动量法 (Momentum)AdaGrad (Adaptive Gradient Algorithm)RMSProp (Root Mean Square Propagation)Adam (Adaptive Moment Estimation)AdamW 优化算法总结 经验和实践建议…

用 Python搭建一个微型的HTTP服务器用于传输 2024/11/9

使用内置的 http.server 模块,来搭建微型服务器。 快速启动服务器http.server --- HTTP 服务器Python 3.13.0 文档 声明:文章代码部分 由 ai 生成 创建一个简单的文件共享服务器 进入 需要共享的目录 再打开cmd 输入以下代码 python -m http.server 8000 打开服务器 设置主…

虚拟机linux7.9下安装mysql

1.MySQL官网下载安装包: MySQL :: Download MySQL Community Server https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz 2.解压文件: #tar xvzf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz 3.移动文件&#…

Turtlebot3 buger 硬件与操作平台详细介绍

引言 TurtleBot3 有三个版本,分别是紧凑型的 Burger、功能更强的 Waffle和性能提升的 Waffle Pi,分别适用于不同的应用需求。使用 Raspberry Pi 作为主控单板计算机(SBC),而 Waffle Pi 可以使用更强大的 NVIDIA Jetson…

LabVIEW导入并显示CAD DXF文件图形 程序见附件

LabVIEW导入并显示CAD DXF文件图形 程序见附件 LabVIEW导入并显示CAD DXF文件图形 程序见附件 - 北京瀚文网星科技有限公司 LabVIEW广泛应用于自动化、数据采集、图形显示等领域。对于涉及CAD图形的应用,LabVIEW也提供了一些方法来导入和显示CAD DXF文件&#x…

北斗智能定位平板终端|三防平板|北斗有源终端|北斗搜救终端

在当今快速发展的科技时代,智能设备的应用已经渗透到我们生活的方方面面,从日常娱乐到专业工作,无一不彰显着科技的魅力。特别是在高精度定位领域,随着全球卫星导航系统(GNSS)技术的不断进步,智…

40.第二阶段x86游戏实战2-初识lua

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

华为ENSP--ISIS路由协议

项目背景 为了确保资源共享、办公自动化和节省人力成本,公司E申请两条专线将深圳总部和广州、北京两家分公司网络连接起来。公司原来运行OSFP路由协议,现打算迁移到IS-IS路由协议,张同学正在该公司实习,为了提高实际工作的准确性和…