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 始终是有效的,避免数据引用错误。

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

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

相关文章

【大数据学习 | kafka高级部分】kafka中的选举机制

controller的选举 首先第一个选举就是借助于zookeeper的controller的选举 第一个就是controller的选举,这个选举是借助于zookeeper的独享锁实现的,先启动的broker会在zookeeper的/contoller节点上面增加一个broker信息,谁创建成功了谁就是主…

关于几种卷积

1*1卷积 分组卷积&深度可分离卷积 空洞卷积、膨胀卷积 转置卷积 https://zhuanlan.zhihu.com/p/80041030 https://yinguobing.com/separable-convolution/#fn2 11的卷积可以理解为对通道进行加权,对于一个通道来说,每个像素点加权是一样的&am…

OCR、语音识别与信息抽取:免费开源的AI平台在医疗领域的创新应用

一、系统概述 在医疗行业中,大量数据来自手写病历、医学影像报告、患者对话记录等非结构化数据源。这些数据常常存在信息碎片化和管理困难的问题,给医务人员的工作带来了不便。思通数科AI多模态能力平台正是为了解决这一行业痛点而生,产品集…

Git进阶(十八):git rebase详解

文章目录 一、前言二、rebase 图解三、应用示例四、重建提交历史五、rebase VS merge六、拓展阅读 一、前言 rebase 使用方法 git rebase [基节点] git rebase [基节点] [待变基节点]rebase后面的参数可以是两个,也可以是一个,当rebase为一个参数的时…

【React】条件渲染——逻辑与运算符

条件渲染——逻辑与&&运算符 你会遇到的另一个常见的快捷表达式是 JavaScript 逻辑与(&&)运算符。在 React 组件里,通常用在当条件成立时,你想渲染一些 JSX,或者不做任何渲染。 function Item({ nam…

《深度学习》——深度学习基础知识(全连接神经网络)

文章目录 1.神经网络简介2.什么是神经网络3.神经元是如何工作的3.1激活函数3.2参数的初始化3.2.1随机初始化3.2.2标准初始化3.2.3Xavier初始化(tf.keras中默认使用的)3.2.4He初始化 4.神经网络的搭建4.1通过Sequential构建神经网络4.2通过Functional API…

Bsin-kb-agent:企业级AI知识库

企业级AI知识库 Bsin-kb-agent 是基于BsinPaaS开源框架和大语言模型构建的企业知识库应用,借鉴langchain的框架思想,引入langchian4j组件,微前端微服务的架构设计,可快速助您构建和体验端到端的AI知识库应用。 应用场景 企业微…

每日OJ题_牛客_春游_贪心+数学_C++_Java

目录 牛客_春游_贪心数学 题目解析 C代码 Java代码 牛客_春游_贪心数学 春游 描述: 盼望着,盼望着,东风来了,春天脚步近了。 值此大好春光,老师组织了同学们出去划船,划船项目收费如下:…

容器化技术入门:Docker详解

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 容器化技术入门:Docker详解 容器化技术入门:Docker详解 容器化技术入门:Docker详解 引言 Doc…

数据挖掘实战-基于SARIMA时间序列模型预测Netflix股票未来趋势

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

Java:多态的调用

1.什么是多态 允许不同类的对象对同一消息做不同的响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)。多态使用了一种动态绑定(dynamic binding)技术,指在执行期间判断所引用…

HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac

寻找模拟器 背景: 运行的是h5,模拟器是网易MuMu。 首先检查一下是否配置dab环境,adb version 配置一下hbuilderX的adb: 将命令输出的路径配置到hbuilderx里面去,然后重启下HbuilderX。 开始安装基座…一直安装不…

小程序 CRM 运营系统:提升用户体验的新利器

在当今数字化时代,小程序以其便捷、高效的特点迅速成为企业与用户互动的重要平台。而将客户关系管理(CRM)运营系统融入小程序中,更是为企业带来了全新的机遇与挑战。那么,如何构建一个成功的小程序CRM运营系统呢&#…

【362】基于springboot的在线租房和招聘平台

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统在线租房和招聘平台信息管理难度大,容错率低&…

华为Mate70前瞻,鸿蒙NEXT正式版蓄势待发,国产系统迎来关键一战

Mate 70系列要来了 上个月,vivo、小米、OPPO、荣耀等众多智能手机制造商纷纷发布了他们的年度旗舰产品,手机行业内竞争异常激烈。 同时,华为首席执行官余承东在其个人微博上透露,Mate 70系列将标志着华为Mate系列手机达到前所未有…

【Java Web】JSP实现数据传递和保存(中)中文乱码 转发与重定向

文章目录 中文乱码转发与重定向转发重定向区别 升级示例1 中文乱码 JSP 中默认使用的字符编码方式:iso-8859-1,不支持中文。常见的支持中文的编码方式及其收录的字符: gb2312:常用简体汉字gbk:简体和繁体汉字utf-8&a…

Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized

这里是Themberfue 在上一节的最后,我们讨论两个线程同时对一个变量累加所产生的现象 在这一节中,我们将更加详细地解释这个现象背后发生的原因以及该如何解决这样类似的现象 线程安全问题 public class Demo15 {private static int count 0;public …

React前端框架:现代网页开发的基石(附带构建简单任务管理应用案例代码)

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 React 是由 Facebook 开发并开源的前端框架,用于构建用户界面。它通过虚拟DOM、高效的渲染机制和组件化的开发模式&am…

在Zetero中调用腾讯云API的输入密钥的问题

也是使用了Translate插件了,但是需要调用腾讯云翻译,一直没成功。 第一步就是,按照这上面方法做:百度、阿里、腾讯、有道各平台翻译API申请教程 之后就是:Zotero PDF translat翻译:申请腾讯翻译接口 主要是…

kelp protocol

道阻且长,行而不辍,未来可期 有很长一段时间我都在互联网到处拾金,but,东拼西凑的,总感觉不踏实,最近在老老实实的看官方文档 & 阅读白皮书 &看合约,挑拣一些重要的部分配上官方的证据,和过路公主or王子分享一下,愿我们早日追赶上公司里那些可望不可及大佬们。…