Coursera 笔记

Module 03 · Basics of Programming

Query and Assembly Programming Languages查询与汇编编程语言对比

Coursera ↗


学习目标

观看本视频后,您将能够:

  • 比较高级编程语言与低级编程语言。
  • 描述查询语言与汇编语言的用途与特点。

编程语言分类

编程语言分为两类:

  1. 高级编程语言(High-Level Languages)
    • 使用接近自然语言(如英语)的代码,便于理解和调试。
    • 例子:SQL(查询语言)、Pascal(结构化语言)、Python(面向对象语言)。
  2. 低级编程语言(Low-Level Languages)
    • 使用符号直接表示机器码。
    • 例子:ARM、MIPS 和 X86(汇编语言)。

查询语言(Query Languages)

什么是查询?

查询是从数据库中请求信息的过程:

  • 数据库根据请求查询其表格并返回结果。
  • 用户与数据库之间需要 使用相同的语言 进行通信。

查询语言特点

  • 定义:查询语言是预定义的指令集,用于向数据库请求或操作数据。
  • 功能:执行创建、读取、更新、删除数据(即 CRUD 操作)。
  • 常见查询语言:
    • SQL(结构化查询语言):最广泛使用的数据库查询语言。
    • 其他示例:AQL、CQL、Datalog、DMX。

SQL 数据库与 NoSQL 数据库的区别

SQL 数据库 NoSQL 数据库
结构化、预定义的模式 非结构化、动态模式
关系型数据库 非关系型数据库
适合结构化数据操作 适合非结构化数据存储和处理

用户与数据库交互流程

  1. 用户输入命令:
    • 用户通过符合数据库管理系统(DBMS)语法的命令来发起查询或执行 CRUD(创建、读取、更新、删除)操作。
  2. 数据库的结构:
    • 数据库通常由结构化的表格组成,每个表包含 多行(rows)和多列(columns) 的数据。
  3. 查询执行流程:
    • 数据检索:当用户发起查询时,数据库会从相关的行和列中提取所需数据。
    • 数据排序:数据库对提取的数据进行某种形式的排序或整理。
    • 结果返回:整理后的数据以查询结果的形式返回并展示给用户。

数据库查询:SELECT 和动作命令

查询语句分类

  1. SELECT 命令:
    • 用于从数据库中 检索数据。
    • 示例:SELECT * FROM users; 提取 users 表的所有数据。
  2. 动作命令(Action Commands):
    • 用于 操作和管理数据,包括:
      • CREATE:创建数据库对象,如表或用户。
      • INSERT:向表中插入新记录。
      • UPDATE:更新表中现有数据。
      • DELETE:删除表中的数据。
    • 示例:
      • INSERT INTO users (name, age) VALUES ('Alice', 30);
      • UPDATE users SET age = 31 WHERE name = 'Alice';

“Statement” 的意义

  • SQL 查询语句(Statements):
    • 既可用于数据操作(如 CRUD 操作),也可用于管理功能(如创建用户、修改权限)。

SQL 常见查询语句

命令 用途 示例
SELECT 从数据库中检索数据 SELECT name FROM users;
CREATE 创建新表、用户或其他数据库对象 CREATE TABLE users (id INT);
INSERT 插入新数据到表中 INSERT INTO users VALUES (1);
UPDATE 修改表中现有数据 UPDATE users SET age = 25;
DELETE 删除表中指定数据 DELETE FROM users WHERE id=1;

汇编语言(Assembly Languages)

汇编语言的特点

  • 低级语言:
    • 使用简单符号表示机器码(如 0 和 1)。
    • 示例指令:INP(输入)、OUT(输出)、ADD(加法)。
  • 紧密关联硬件:
    • 每种 CPU 类型都有独特的汇编语言(如 ARM、MIPS、X86)。
    • 不同硬件制造商之间的汇编语言差异较大。
  • 翻译工具:
    • 使用 汇编器(Assembler) 将代码翻译为机器码。
    • 每行汇编代码仅对应 一条机器指令,与高级语言不同。


汇编语言的语法结构

部分 功能
指令(Mnemonic) 指示处理器执行的操作(如 ADD、LDA)。
参数(Operands) 提供操作数据或数据存储位置。
注释(可选) 提供额外说明,帮助理解代码。

特点:

  • 一行代码对应一条机器指令,与高级语言相比,指令精确且直接。

汇编语言常用指令

指令 功能
INP 输入数据。
OUT 输出数据。
LDA 加载数据到寄存器。
STA 存储数据到内存。
ADD 执行加法操作。

高级语言 vs. 低级语言

特性 高级语言 低级语言
语言特性 接近自然语言,易读易写。 使用符号直接映射机器码。
用途 创建复杂应用程序(如数据库管理、操作系统)。 针对特定硬件平台优化(如设备驱动程序)。
示例 Python、SQL、Pascal。 ARM、MIPS、X86。
翻译方式 使用编译器或解释器。 使用汇编器。

总结

  1. 高级语言:
    • 包括查询语言、结构化语言、面向对象语言。
    • 示例:SQL 用于数据库查询,Python 用于通用开发。
  2. 低级语言:
    • 使用符号表示机器码,与硬件架构直接相关。
    • 示例:ARM、MIPS、X86 汇编语言。
  3. 查询语言(SQL):
    • 用于请求和操作数据库数据。
    • 包括 SELECT、INSERT、UPDATE、DELETE 等命令。
  4. 汇编语言:
    • 使用简单符号表示机器指令,翻译为机器码后直接运行。
    • 精确控制硬件操作,适用于特定任务。

通过本视频,您对查询语言和汇编语言的特点、应用场景以及两者的差异有了全面了解! 🚀