103 - Lecture1

一. Introduction to Database

1. What is Data

• 数据只有在其设计的情景(designed scenario)下才有意义。
例如1:Tracking and reporting project status.
例如2:Storing patient information for retreival later.

• 数据必须有创建(created)/修改(modified)的手段。
• 数据必须有访问(accessed)的手段。

2. What is Database

• 数据库:数据库是一个有组织的数据集合,被结构化和安排(这些信息可以是结构化的,比如表格形式,也可以是非结构化的,比如文本文件)。被设计成可以高效地进行数据的增加、删除、修改和查询操作。
Organised collection of data. Structured,arranged for ease and speed of search and retrieval.•
数据库管理系统(DBMS)Database Management System:是一种软件,旨在使用户和程序能够存储、检索和更新数据库中的数据。

3.Database Apllications

数据库应用是指利用数据库技术来存储、管理和处理数据的应用程序。在移动支付和酒店预订网站中,数据库扮演着至关重要的角色。

4. Components of the DBMS Environment

数据库管理系统(DBMS)环境由多个组件构成,主要包括硬件、软件、数据、程序以及人员。
(1)Haredware: 硬件指的是运行DBMS的计算机,它可以是个人电脑、大型计算机(mainframe)或计算机网络。
(2) Software:软件包括DBMS本身应用程序(如支付宝)和操作系统(operating system)。数据分为操作数据和元数据(Metadata)。操作(operational)数据是实际业务数据,例如游戏公司的游戏账号信息。元数据是关于数据的数据,即数据的描述信息。
(3)Procedures: 程序则是指数据库设计和使用的规则和指令,例如如何备份(backup)数据库。
(4) 人员则包括数据库设计师、最终用户、应用程序开发人员和数据库管理员(administrators)。

5. DBMS Function / Must Haves

数据库管理系统(DBMS)的主要功能和特性:
DBMS是用于管理数据库的软件系统,它允许用户存储、检索(retrieve)和更新数据。
系统目录(system catalog)(也称为元数据)保存了关于数据库架构schemas、用户、应用程序等的信息。
DBMS确保数据的原子性(Atomicity),即要么所有相关更新全部完成,要么一个都不做。
DBMS还确保在多个用户同时更新数据库时,数据库能够正确更新。DBMS具备数据恢复(recover)功能,以防数据库遭受任何形式的损害。
保证只有授权(authorised)用户才能访问数据库.
DBMS可以通过网络从远程计算机访问。
DBMS应该能够与其他软件集成(integrating)。

6. Data Models

数据模型是组织和管理数据的一种方式,它通过特定的结构来安排数据,使得数据的搜索和检索变得容易和快速。
数据模型的结构可以遵循不同的模型类型,常见的有关系型数据模型层次型数据模型网络型数据模型

  1. (Relational Data Model)关系型数据模型:是用表格的形式来组织数据,每个表格被称为一个“关系”或“表”,每个表由行和列组成,每行代表一个数据记录,每列代表数据的一个属性。这种模型的优势在于它的简单性和强大的查询语言SQL(Structured Query Language)。

请添加图片描述

  1. (Hierarchical Data Model)层次型数据模型:层次型数据模型使用树状结构来组织数据,数据之间的关系类似于家族树,其中每个节点表示数据记录,节点之间的连线表示记录之间的关系。这种模型在早期的计算机系统中较为常见。

请添加图片描述

  1. (Network Data Model)网络数据模型:网络数据模型是对层次型数据模型的扩展,它允许一个记录与多个记录相关联,从而形成更为复杂的数据网络结构。网络模型中的记录可以有多个父记录,这使得它比层次型模型更灵活。

请添加图片描述

Other Data Models

二. Relational Model

关系模型是一种用来管理数据的方法,最初由E.F. Codd在1970年发表的论文《大型共享数据库的关系模型》中提出。这种模型使用了一种与一阶谓词逻辑(first- order predicate logic)一致的结构和语言。它提供了一种声明式的方法来指定(specifying)数据和查询(queries)

Terminologies

  1. 关系(Relation):关系是数学中的一个概念。关系的物理形式是一个由列和行组成的表格。 在数据库领域,关系通常指的就是表格

  2. 属性(Attribute):在数据库中,属性是指表格中的一列,它代表了数据的某种特征或信息。
    An attribute is a named column of a relation.

  3. (Domain):在数据库中,域是指属性值的集合,它定义了属性中可以接受的数据类型和范围
    A domain is the set of allowable values for attributes.

  4. 关系的(degree)指的是它包含的属性(attribute)数量。

  5. 元组(Tuple):元组是关系中的一行,包含了多个属性的值,是数据库中存储数据的基本单位。元组中元素的顺序并不重要。

  6. 基数(Cardinality):基数指的是关系中元组的数量,也就是关系中行的总数,它描述了数据库表的大小。

请添加图片描述

Alternative Terminologies

表格中列出了几种常见的数据库术语及其替代说法请添加图片描述

Relation: 表示一个表或文件。
Tuple: 表示表中的一行或记录。
Attribute: 表示表中的一列或字段(Field)。

请添加图片描述

• 关系数据库模式(schema)中关系的名称是唯一的。
• 每个单元格恰好包含一个原子值(atomic value)。
• 关系的每个属性必须有一个不同的名称。
• 属性(attributes)的值来自同一个域(domain)。
• 属性的顺序(order)没有意义。
• 元组的顺序没有意义。
• 没有重复(duplicate)的元组。

一个关系代表一类class/种type对象
• 每个元组是该类/种的一个实例(instance)。

三. Relational Keys

在数据库的表(关系)中,不允许存在重复的元组(行)。因此,我们需要能够确定一个或多个属性(称为关系键),这些属性可以唯一地识别(uniquely identifies)表中的每一行。

如:
在一个公司里,两名员工可能有相同的名字和年龄,但是他们的身份证号(ID)是不一样的。身份证号是独一无二的,专门用来区分每一个人。

请添加图片描述

  1. 超键(Superkey):一组属性,可以唯一标识关系(表)中的一个元组(记录)可能包含多余的属性。
  2. 候选键(Candidate key):一个没有多余属性的超键,即它的任何真子集(proper subset)都不再是超键。
    (一个关系可能有多个候选键)
  3. 主键(Primary key):被选择用来唯一标识关系中元组的一个候选键
  4. 备用键(Alternate key):没有被选为主键的候选键。
  5. 复合键(Composite key):由多个属性组合形成,并且这些属性必须一起才能唯一标识每一行。请添加图片描述

它不是理想的候选键,因此标记为 none 是可以接受的

• 你不能仅仅根据表中的数据来推断(infer)候选键。
• 更常见的是(more often than not),关系的一个实例只会持有所有可能值的一个小子集。
• 例如,餐馆的预订号码在达到一个大数后可能会重置为1。

Foreign Key

• 在一个关系中引用(references)另一个关系的数据的元组也非常常见。
• 因此,数据库应该提供这样的机制(mechanism)以确保正确的引用。
• 这是通过所谓的外键来强制执行(enforced)的。

外键是一个或多个列的组合,用于在两个表之间创建关联。它要求其值在关联表的候选键或主键中存在,确保数据的完整性和一致性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值