数据结构背诵内容

数据库的概念

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

数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件

数据库系统:数据库,数据库管理系统,应用程序和数据库管理员组成的存储,管理,和维护数据的系统

数据库系统的特点:

1)数据结构化

2)数据的共享性高,冗余度低且易扩展

3)数据独立性高

4)数据由数据库管理系统统一管理和控制

数据模型的三个组成部分

1)数据结构

2)数据操作

3)数据完整性约束

SQL的功能

1)数据查询

2)数据定义

3)数据操作

4)数据控制

SQL的特点

1)综合统一

2)高度非过程化

3)面向集合的操作方式

4)以同一种语法结构提供多种使用方式

5)语言简洁,易学易用

两类数据模型:概念模型 逻辑模型

概念模型:实体 属性 码 实体型 实体集 联系(ER)图

关系模型:关系(一个关系对应着一张表) 元组 属性 码 域 分量 关系模式

关系的基本操作:插入 删除 修改 查询

关系的完整性

1)实体完整性(主码不能为空值)

2)参照完整性

3)用户定义的完整性

视图的概念:视图是从一个或几个表导出的表

视图的作用

1)简化用户的操作

2)用户可以以多种角度看待同一数据

3)对重构数据库提供了一定程度的逻辑独立性

4)对机密数据提供安全保护

5)清晰地表达查询

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

信息系统的生命周期

1)规划

2)需求收集与分析

3)设计

4)原型制作

5)执行

6)测验

7)转换

8)运营维护

数据库设计的步骤

1)需求分析

2)概念结构设计

3)逻辑结构设计

4)物理结构设计

5)数据库实施

6)数据库运行和维护

概念模型的特点

1)能真实,充分的反应现实世界,包括事务和事务之间的联系,能满足用户对数据处理要求,是现实世界的一个真实模型

2)易于理解,可以它和不熟悉计算机的用户交换意见。用户的积极参与是数据库设计成功的关键。

3)易于更改,当用户环境和应用要求改变时容易对概念模型修改和扩充

4)易于向关系,网状,层次等的各种数据模型的转换。

规范化的概念:一个低一级范式的关系模式通过模式分解可以转化为若干个高一级范式的关系模式的集合,

 DBMS的三大特征:可靠性 效率 数据抽象

死锁的解除方法:

1)超时法

2)等待图法

事务的ACID特性:

1)原子性

2)永久性

3)隔离性

4)一致性

故障的种类:

1)事物内部的故障

2)系统故障

3)介质故障

4)计算机病毒

数据库的恢复原理;冗余

数据库的恢复技术(建立冗余):登记日志文件

### 计算机数据结构学习与背诵笔记 #### 一、理解基础概念 计算机中的程序由两大部分组成:数据结构和算法[^1]。数据结构用于描述现实世界的问题并将其存入计算机;而算法则负责高效地处理这些数据来解决问题。 对于抽象数据类型(ADT),其定义不仅限于逻辑上的构架,还涵盖了数据的操作方式——这实际上是对一种特定的数据结构进行了全面的规定[^2]。因此,在准备有关数据结构的记忆材料时,应当关注以下几个方面: - **逻辑结构**:这是指元素之间的相互关系以及它们在整个集合内的位置安排。 - **存储结构**:具体指的是上述逻辑关联在内存里的物理体现形式。 - **运算方法**:即针对给定类型的对象所能施行的各种操作集。 #### 二、线性表作为入门实例 以线性表为例,这是一种非常重要的基本数据结构,它具有顺序性和连续性的特点[^3]。在线性表中,每个节点只与前后两个相邻结点相连形成链状序列。为了更好地理解和记忆这类结构的特点及其上可实施的主要功能,可以采用如下策略: ##### 定义要点回顾 - 线性表是由零个或多个相同类型的数据项组成的有限序列; - 表内各元素间存在一对一的关系,除了首尾两端外,其余每一对邻接元素之间都有唯一前驱和后继。 ##### 基本操作总结 | 操作名称 | 描述 | | --- | --- | | 初始化 | 创建一个新的空列表 | | 查找 | 寻找指定条件下的第一个匹配项的位置索引 | | 插入 | 将新元素加入到指定位置之前/之后 | | 删除 | 移除某个已知位置处的现有成员 | 通过这种方式整理知识点有助于加深印象,并能有效提高复习效率。同时也要注意练习编写简单的代码片段来实践理论知识,比如创建一个简单的Python函数实现对线性表的基本增删查改等功能。 ```python class LinearList: def __init__(self): self.items = [] def add(self, item): # 添加元素 self.items.append(item) def remove_at(self, index): # 根据索引删除元素 del self.items[index] def find(self, target): # 查找目标值所在下标 try: return self.items.index(target) except ValueError: return None def update(self, old_value, new_value): # 更新旧值为新值 idx = self.find(old_value) if idx is not None: self.items[idx] = new_value list_example = LinearList() list_example.add('apple') print(list_example.find('apple')) # 输出0 list_example.update('apple', 'orange') print(list_example.items) # ['orange'] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值