目录

  • 1 从这里开始你的学习
    • 1.1 欢迎词
    • 1.2 单元学习目标
    • 1.3 课程学习说明
      • 1.3.1 课程概述与内容
      • 1.3.2 学习目标
      • 1.3.3 学习安排
      • 1.3.4 学习活动
      • 1.3.5 考核标准
      • 1.3.6 学习准则
    • 1.4 先修知识与必备技能
      • 1.4.1 学习平台使用及技术支持
      • 1.4.2 必备基础要求
      • 1.4.3 学习资源使用指南
      • 1.4.4 教材电子版下载
      • 1.4.5 相关软件下载与安装方法
      • 1.4.6 答疑安排与教师课表
      • 1.4.7 作业和考试反馈
    • 1.5 FAQ:常见问题解答
    • 1.6 教师自我介绍和学生自我介绍
    • 1.7 计算思维能力调查
    • 1.8 学习风格调查
    • 1.9 交流协作分组情况
    • 1.10 第0讲 单元测试
  • 2 计算思维概述——第1周
    • 2.1 单元学习目标
    • 2.2 本章课件下载
    • 2.3 课程思政
      • 2.3.1 线上思政(自主学习)
      • 2.3.2 线下课程思政
    • 2.4 计算无所不在
    • 2.5 计算思维概述
    • 2.6 计算工具与计算机
    • 2.7 第1讲 单元测试
    • 2.8 上机实验1-1:计算思维概述——系统自动评阅
    • 2.9 延伸学习
  • 3 计算基础——第2~3周
    • 3.1 单元学习目标
    • 3.2 本章课件下载
    • 3.3 课程思政
      • 3.3.1 线上课程思政(自主学习)
      • 3.3.2 线下课程思政
    • 3.4 初识二进制
    • 3.5 二进制的运算(自主学习)
    • 3.6 数制转换
    • 3.7 数的表示
    • 3.8 字符编码
    • 3.9 声音图像编码(自主学习)
    • 3.10 第2讲 单元测试
    • 3.11 上机实验2-1:进制转换——系统自动评阅
    • 3.12 延伸学习
  • 4 计算平台——第4周
    • 4.1 单元学习目标
    • 4.2 本章课件下载
    • 4.3 课程思政
      • 4.3.1 线上课程思政(自主学习)
      • 4.3.2 线下课程思政
    • 4.4 计算机系统
    • 4.5 硬件之主板(自主学习)
    • 4.6 硬件之接口与总线(自主学习)
    • 4.7 硬件之CPU(自主学习)
    • 4.8 硬件之内存(自主学习)
    • 4.9 硬件之外存(自主学习)
    • 4.10 硬件之输入输出设备(自主学习)
    • 4.11 计算机基本工作原理
    • 4.12 操作系统之处理机功能
    • 4.13 操作系统之其他功能
    • 4.14 第3讲 单元测试
    • 4.15 上机实验3-1:计算机硬件系统——系统自动评阅
    • 4.16 延伸学习
  • 5 问题求解——第5~7周
    • 5.1 单元学习目标
    • 5.2 本章课件下载
    • 5.3 课程导图与设计
    • 5.4 典型课例(课堂实录)
    • 5.5 线上思政(自主学习)
    • 5.6 线下思政
    • 5.7 纸版教材在线阅读
    • 5.8 什么是问题求解?
    • 5.9 算法与算法描述
    • 5.10 顺序结构
    • 5.11 选择结构
    • 5.12 循环结构
    • 5.13 算法策略基础之数组
    • 5.14 算法策略基础之函数
    • 5.15 算法策略之枚举法
    • 5.16 算法策略之递归法
    • 5.17 算法策略之递推法
    • 5.18 算法策略之迭代法
    • 5.19 算法策略之分治法(自主学习)
    • 5.20 算法策略之动态规划(自主学习)
    • 5.21 算法策略之贪心算法(自主学习)
    • 5.22 算法策略之回溯法(自主学习)
    • 5.23 算法策略之查找
    • 5.24 算法策略之排序
    • 5.25 实验4-1:Raptor 软件基本操作(教师手工评阅)
    • 5.26 实验4-2:算法设计与分析(生生互评)
    • 5.27 实验4-3:问题求解(自主学习)
    • 5.28 实验7-1:解题报告
    • 5.29 实验7-2:解题报告
    • 5.30 实验7-3:解题报告(自主学习)
    • 5.31 第7讲 单元测试
    • 5.32 延伸学习
  • 6 网络技术与信息共享——第8周
    • 6.1 单元学习目标
    • 6.2 本章课件下载
    • 6.3 课程思政
      • 6.3.1 线上思政(自主学习)
      • 6.3.2 线下思政
    • 6.4 初识网络
    • 6.5 网络分类(自主学习)
    • 6.6 网络体系结构
    • 6.7 网络设备(自主学习)
    • 6.8 局域网的搭建(自主学习)
    • 6.9 IP与域名系统
    • 6.10 划分子网
    • 6.11 Internet 服务(自主学习)
    • 6.12 数字公民与网络安全(自主学习)
    • 6.13 组网实例(自主学习)
    • 6.14 第4讲 单元测试
    • 6.15 上机实验4(PBL):网络互联训练——生生互评
      • 6.15.1 思科网络实验室1:网络布线
      • 6.15.2 思科网络实验室2:将计算机添加到现有网络
      • 6.15.3 思科网络实验室3:连接无线路由器
      • 6.15.4 思科网络实验室4:测试无线连接
    • 6.16 延伸学习
  • 7 数据库技术与数据管理——第9-10周
    • 7.1 单元学习目标
    • 7.2 本章课件下载
    • 7.3 课程思政
      • 7.3.1 线上思政(自主学习)
      • 7.3.2 线下思政
    • 7.4 数据库基本概念(自主学习)
    • 7.5 数据库的设计方法
    • 7.6 数据库的规范化设计1
    • 7.7 数据库的规范化设计2
    • 7.8 Access数据库的创建与查询(自主学习)
    • 7.9 关系代数理论
    • 7.10 SQL语句编程(自主学习)
    • 7.11 实验5-1:数据库设计——互评作业
    • 7.12 实验5-2:窗体与报表——互评作业
    • 7.13 第5讲 单元测试
    • 7.14 延伸学习
  • 8 逻辑思维——第10-11周
    • 8.1 单元学习目标
    • 8.2 本章课件下载
    • 8.3 课程导图与设计
    • 8.4 典型课例(课堂实录)
    • 8.5 线上思政(自主学习)
    • 8.6 线下思政
    • 8.7 实验6-1:逻辑推理(PBL个人项目——教师手工评阅)
    • 8.8 前6章思维导图训练(PBL小组项目——互评)
    • 8.9 纸版教材在线阅读
    • 8.10 逻辑思维及其训练方法(自主学习)
    • 8.11 命题与命题判断
    • 8.12 命题符号化
    • 8.13 布尔代数与真值表
    • 8.14 命题演算与逻辑推理
    • 8.15 习题课
    • 8.16 实验6-1:解题报告
    • 8.17 第6讲 单元测试
    • 8.18 延伸学习
  • 9 数据分析与数据挖掘——第11~12周
    • 9.1 单元学习目标
    • 9.2 本章课件下载
    • 9.3 课程导图与设计
    • 9.4 课程思政
    • 9.5 线上思政(自主学习)
    • 9.6 线下思政
    • 9.7 上机实验8-1:数据分析(PBL个人项目——系统自动评阅)
    • 9.8 上机实验8-2:数据挖掘(自主学习)
    • 9.9 纸版教材在线阅读
    • 9.10 数据挖掘概述(自主学习)
    • 9.11 数据采集(自主学习)
    • 9.12 数据探索之数据质量分析
    • 9.13 数据探索之数据特征分析
    • 9.14 数据特征分析之分布分析
    • 9.15 数据特征分析之集中统计分析
    • 9.16 数据特征分析之离散统计分析
    • 9.17 数据预处理
    • 9.18 分类
    • 9.19 预测
    • 9.20 聚类分析(自主学习)
    • 9.21 关联规则(自主学习)
    • 9.22 第8讲 单元测试
    • 9.23 延伸学习
  • 10 课程思政案例篇
    • 10.1 课程思政案例
  • 11 特色思维训练库
    • 11.1 数学思维(50篇)
    • 11.2 逻辑思维(50篇)
    • 11.3 AI智能思维(50篇)
    • 11.4 专业思维(50篇)
  • 12 游戏编程案例篇
    • 12.1 编程游戏关卡(30篇)
    • 12.2 编程游戏制作(10关)
  • 13 大工程思训项目库
    • 13.1 综合性案例——北京冬奥会智能餐厅设计
    • 13.2 综合性案例——北京冬奥会运动员密码设置
    • 13.3 综合性案例——北京冬奥电脑装配
    • 13.4 综合性案例——北京冬奥网络安全培训
    • 13.5 综合性案例——北京冬奥会商品销售数据库系统设计
    • 13.6 综合性案例——北京冬奥金牌榜预测
    • 13.7 综合性案例——北京冬奥会奖牌榜自动更新算法设计
    • 13.8 综合性案例——北京冬奥会线上销售大数据分析
  • 14 考试专栏
    • 14.1 教材及教材修订
    • 14.2 考试纪律
    • 14.3 考试注意事项
    • 14.4 逻辑符号的录入方法
    • 14.5 期末考试模拟样卷
第5讲 单元测试
  • 1 知识点回顾
  • 2 练习题及解析
  • 3 章节自测

1997年6月3日,中国互联网络信息中心组建。说起信息,你可知道信息和数据是一回事吗?

在回答这个问题之前,先讲一个“马拉松”的故事。波斯人和雅典人在公元前490年曾经在离雅典不远的马拉松进行了一次激烈的战役,史称希波战争,雅典人最终获得了反侵略的胜利。为了让故乡人民尽快知道胜利的喜讯,统帅米勒狄派一个叫菲迪皮茨的士兵回去报信。菲迪皮茨是个有名的“飞毛腿”,为了让故乡人早知道好消息,他一个劲地快跑,当他跑到雅典时,已上气不接下气,激动地喊道“欢......乐吧,雅典人,我们......胜利了”说完,就倒在地上死了。为了纪念这一事件,在1896年举行的现代第一届奥林匹克运动会上,设立了马拉松赛跑这个项目,把当年菲迪皮茨送信跑的里程——42.193公里作为赛跑的距离。

从这个故事里,我们来看两个关键词。一个是胜利的“消息”,是十分重要的“信息”。另一个是重要的信息需要及时准确地“传输”。一般来讲,信息可以理解为表示事物或者事物发出的消息、情报、指令、信号中所包含的内容。接收者对信息识别后表示的符号称为数据。数据的作用是反映信息内容并为接收者识别。声音、符号、图像、数字就成为人类传播信息的主要数据形式。因此,信息是数据的含义,数据是信息的载体。

(1)数据库:DataBase,简称DB,是指长期保存在计算机外存上的、有结构的、可共享的数据集合。

(2)数据库管理系统:DataBase Management System,简称DBMS,是位于用户和操作系统之间的软件。实现对数据的存储和管理。

(3)数据库管理员:DataBase Administrator,简称DBA,是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。

(4)数据库系统:DataBase System,简称DBS,是由DB、DBMS、应用系统、DBA、用户等构成。

数据库是如何设计的?让我们先来看看建筑设计的全过程。

(1)需求分析:承建单位需要了解建设单位的目的、需求、技术要求、以及服务承诺等信息

(2)设计图纸:承建单位根据上述需求分析报告绘制建筑设计图(业内人士使用)

(3)建筑沙盘:承建单位根据建筑图纸,制作建筑沙盘(业外人士使用)

(4)建筑备料:承建单位将建筑图纸交给施工单位,并找监理单位监督施工情况,施工单位积极备料准备施工。

(5)项目施工:施工单位根据图纸进行建筑施工,并接受监理单位全程监督、审查。

(6)项目验收:施工完毕,需要三方进行项目验收,如果验收合格,则进入房地产市场,定价销售。

我们再来看数据库的设计过程。

(1)需求分析:了解用户需求,定义系统目标、功能需求,撰写需求分析报告(类似建筑合同文本)

(2)概念设计:构建概念模型,绘制实体-联系图(E-R图,类似建筑图纸)

(3)逻辑设计:将概念模型转换为数据模型,制定数据字典(类似建筑沙盘)

(4)物理设计:选择DBMS,制定数据库安全机制(类似建筑备料)

(5)具体实施:建库建表、编写代码(类似建筑项目施工)

(6)运行维护:项目验收通过,撰写技术手册和用户手册,并投入试运行、升级(类似建筑项目验收)

从上述比较可以看出,数据库设计过程和建筑施工过程基本相同,在设计阶段都用到了“模型”,建筑过程中用到建筑图纸与建筑沙盘,数据库设计时用到了概念模型与数据模型。一般来说,数据库模型是现实世界特征的模拟和抽象,应满足三方面的要求,一是比较真实地模拟现实世界;二是容易为人所理解。三是便于在计算机上实现。

E-R模型,或称E-R图,即实体联系模型(实体联系图),最早由Peter Chen(陈品山)于1976年提出,并在数据库设计领域得到了广泛的认同。在-ER图中有如下四个成分:

(1)矩形框:表示实体,在框中记入实体名。

(2)菱形框:表示联系,在框中记入联系名。

(3)椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。

(4)连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型(一对一联系、一对多联系、多对多联系)。

概念模型(E-R图)转换为关系数据模型的转换原则是:

(1)一个关系转换为一张表

(2)一对一联系:将任意一个表的主关键字放到另外一个表里做外关键字

(3)一对多联系:将一表的关键字放到多表的关系里

(4)多对多联系:将多对多的联系独立建一张表

关系的性质:

(1)关系中的每一个属性必须是不可再分的基本数据项

(2)每一列中的数据项具有相同的数据类型

(3)每一列的名称在一个关系中是唯一的

(4)关系中任意两行不能相同

(5)行次序可以是任意的

(6)列次序可以是任意的

范式(数据库设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。

(1)第一范式(1NF)是指数据库表的每一列都是不可分的数据项,即每个表应该有唯一标识每一行的主键,不能有表中有表的情况,例如,不能有地址集合、工资集合等。

(2)第二范式(2NF)要求非主属性不能部分依赖于主码(主关键字),即完全依赖,不能仅依赖主码的一部分属性,必须依赖全部属性,换句话说,就是在联合主键的情况下,非主属性不能部分依赖于主码。如果存在,那么这个属性和主码的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。分离的方法有三种:简单拆分法、外键法、弱实体法。

(3)第三范式(3NF)要求必须先满足第二范式(2NF),然后要求非主属性不能传递依赖于主码。所谓传递依赖,是指如果存在”A → B → C”的决定关系,则C传递函数依赖于A,因此,满足第三范式的数据库表应该不存在如下依赖关系: 关键字段 → 非关键字段x → 非关键字段y。简言之,一个数据库表中不包含已在其它表中已包含的非主关键字信息。

(4)BCNF范式(BCNF)是由Boyce和Codd提出的,比3NF又进了一步,通常认为是修正的第三范式,要求主属性不能部分依赖和传递依赖主码。

(5)第四范式(4NF)是消除多值依赖,显然一个关系模式是4NF,则必为BCNF。

(6)第五范式(5NF)是最终范式,消除了4NF中的连接依赖,将表尽可能的切成小块,减少数据冗余。

关系完整性约束是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、域完整性,参照完整性,是关系模型必须满足的完整性约束条件。

(1)实体完整性:规定表的每一行在表中是惟一的实体。

(2)域完整性:表中的列必须满足某种特定的数据类型约束,如:取值范围、精度等规定。

(3)参照完整性:一个表的外关键字的数据应该与另一个表(参照表)的主关键字一致,外键取值要么匹配参照表的值,要么为空。

创建Access数据库对象,第一步,启动时新建:【开始|所有程序|Microsoft Office|……】,第二步,在Access2013中新建:“空白桌面数据库…”。

创建表对象时,可以在设计视图中创建并修改表结构,然后录入数据,或从外部导入数据。

创建查询时,可以用查询设计器、查询向导、SQL语句三种方法。

关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。关系代数的运算对象是关系,运算结果亦为关系。

关系代数的运算包括传统的集合运算和专门的关系运算。其中传统的集合运算包括:并操作、交操作、差操作、笛卡尔积。专门的关系运算包括选择运算、投影运算、连接运算。

SQL,指结构化查询语言,全称是 Structured Query Language,是用于访问和处理数据库的标准的计算机语言。

(1)常用的SQL命令:

        SELECT - 从数据库中提取数据

        UPDATE - 更新数据库中的数据

        DELETE - 从数据库中删除数据

        INSERT INTO - 向数据库中插入新数据

        CREATE DATABASE - 创建新数据库

        ALTER DATABASE - 修改数据库

        CREATE TABLE - 创建新表

        ALTER TABLE - 变更(改变)数据库表

        DROP TABLE - 删除表

        CREATE INDEX - 创建索引(搜索键)

        DROP INDEX - 删除索引

(2)SELECT语句

        SELECT 要投影的列或集函数

        FROM  表名

        WHERE 筛选条件

        ORDER BY 要排序的列

        GROUP BY 要分组的列

        HAVING 按分组进行筛选