Hanerson 的学术车辙

观察 · 描述 · 记录

此课程维持了南软诸多专业课的一贯的水准。理论部分底蕴悠久,一脉相承,与南软同寿

南软佛脚玩乐指南

课程学习路线总览

操作系统是计算机系统的核心系统软件,负责管理硬件资源、控制程序运行、为用户提供接口。整个课程围绕”资源管理“和”程序控制“两条主线展开,涵盖进程管理、内存管理、文件管理、设备管理四大资源管理功能,以及并发程序设计这一核心控制问题。

阅读全文 »

有关于2026年春季操作系统课程的选择题复习,已经移动到–>这里<–

其一·铜鼎

井壁磴道如肋,苔从石罅渗出,碧色浸人,湿可鉴影。趾扣阶棱,觉石面经前趾磨啮,已成弧凹。下及井底,鼎高过丈,锈叠如鳞,底锈已玄。鼎中沙沸,不闻水响,惟沙砾相戞,作燥白声,若万蚁啮骨。热气袭面,初觉灼,旋即枯。

其二·桥钱

桥白玉,泥地雨渥,桥面滑腻若脂,无纤尘。翁立桥首,掷钱于空,钱坠泥中,半没。俯身欲拾,翁叱之,声沉若自膈出。敛手归舍,舍中已有携其钱者,锈色新伪,心知其异。欲掷窗外,启牖,桥首设丧,翁尸在焉,吏卒翻泥索钱,遍搜行客。急纳钱于袖,下楼。阶无尽,每层皆达一皓白广厅,厅心立短杆,悬黑旂一,升之极缓,若溺者浮水。四围忽集多人,寂然同趋,环杆而跑,禁步惟驰。

其三·赤轮

入店市物,人潮拥塞,踵接肩摩,几至足不履地。掌中攥铜钱数枚,及付,钱化为赤齿轮,雕镂精绝。贾人色变,叱曰:”伪币!”四顾人迹顿空,堂宇豁然。怖而反奔,长廊幽邃,渐窄渐软,终至匍匐乃进。尽处一室逼仄,中设桌案,案下有柜。启之,柜底列赤钱如阵,粘固不可取,若本就在彼。

数据挖掘概述 (DM & KDD)

什么是数据挖掘?

  • 别名:数据库中的知识发现 (KDD, Knowledge Discovery in Database)。
  • 核心定义:从大量、完整的数据库(或数据仓库)中,提取出隐含的、事先未知的、潜在有用的**模式(规则)**的过程。
  • 本质:与传统的查询(找已知)和统计不同,数据挖掘是通过归纳发现未知的规律。
阅读全文 »

核心概念与模型结构

基本组件

  • 事实表 (Fact Table)
    • 多维模型的核心,记录业务事件的度量值(可量化数据)。
    • 度量值:通常为数值型(可加、半加、不可加),是分析的对象。
    • 外关键字 (FK):连接维度表,组合构成事实表的主键。
    • 粒度 (Granularity):事实表中一行所代表的含义(如:每一笔POS交易中的单个商品条目)。
  • 维度表 (Dimension Table)
    • 入口:是用户查询、筛选和报表分组的“列”。
    • 属性:文本型或离散数据,提供描述性信息(如:日期、产品名、商店地址)。
    • 特点:列多行少(相对于事实表),属性高度反规范化。
  • 融合:通过外键将维度表和事实表连接起来(见下方的星型模型)。
阅读全文 »

设计背景与核心理念

设计方法的起源

  • 共同点:数据库设计的许多思想(如数据模型)可以应用于数据仓库。
  • 不同点
    • OLTP (事务型):需求明确,遵循传统的 SDLC (系统开发生命周期,需求驱动)。
    • DW (分析型):需求不明确,只能在装载部分数据后才能弄清,因此无法完全用需求驱动,而采用 CLDS (由数据驱动的生命周期)。

操作型数据库 vs. 数据仓库

维度 操作型数据库 (OLTP) 数据仓库 (DW)
处理类型 面向应用 (日常事务) 面向分析 (决策支持)
需求 确定、明确 不确定、不断变化
设计目标 事务处理性能 (高并发) 全局一致的数据环境 (历史、集成)
输入 事务相关数据 多种多样 (来自多个源系统)
设计方法 SDLC (系统生命周期) CLDS (需求在后期明确)
阅读全文 »

写在前面: 本文致力于对于2026年春季南京大学商务智能(Business Intelligence)做一个简要的重点复习,内容不能用于实际生产实践 (或者至少避免使用?)

使用AI对于一些较为抽象的概念进行了简短解释 (考试也只是要求能知道XXX是啥就可以)

BI构件

需要明确各个构件的含义/作用

Data WareHouse

什么是操作/分析型数据

  • 操作型数据
    • 事务处理所需要的细节性的数据,是面向企业员工的日常业务处理过程的,通常由数据库管理系统来负责其存储与管理
  • 分析型数据
    • 分析处理所需的综合性数据,是面向企业管理人员的决策需要的
阅读全文 »

本文是题目导向的,立足于期末考试可能会出现的题目,并且对于提到的相关概念做了一个简单整理

运行时存储结构 (Runtime Storage Organization)

程序的运行时内存通常划分为三个主要区域,分别存放不同生命周期的数据:

  • 代码区 (Code Segment):存放编译后的机器指令(如 mainsub 函数的代码)。由于大小在编译时已知,属于静态区域。
  • 静态数据区 (Static Data Segment):存放编译时大小已知的数据对象。
    • 包括:全局变量(如 $int$ $m=10$)、全局常量、编译器产生的辅助数据。
    • 生命周期:贯穿整个程序运行过程。
  • 动态数据区 (Dynamic Data Segment):存放运行时动态产生的数据,分为栈区堆区
    • 栈区 (Stack):存放活动记录 (Activation Record),即函数调用的栈帧。遵循后进先出(LIFO)原则。由 BP (栈底指针) 和 SP (栈顶指针) 管理。
    • 堆区 (Heap):存放生命周期不确定的数据(如 malloc/new 申请的对象),由程序员手动释放或由垃圾回收器管理。
阅读全文 »