第十七周总结
Java 学习第十七周总结
一、学习概述
本周学习内容涵盖数据库过程化编程、计算机网络体系结构核心层知识。在数据库领域,深入学习存储过程、函数及过程化 SQL 的条件与循环控制;网络部分系统学习物理层、数据链路层、网络层和运输层的核心概念、协议及设备工作原理。通过理论与实践结合,掌握数据库复杂业务逻辑实现及网络分层架构设计,为全栈开发奠定基础。
二、数据库过程化编程
- 存储过程实践
基础存储过程
-- MySQL存储过程:获取员工信息
DELIMITER //
CREATE PROCEDURE GetEmployeeInfo(IN emp_id INT)
BEGIN
SELECT name, position, salary
FROM employees
WHERE id = emp_id;
END //
DELIMITER ;
-- 调用存储过程
CALL GetEmployeeInfo(1001);
带输出参数的存储过程
-- MySQL存储过程:获取员工薪资
DELIMITER //
CREATE PROCEDURE GetEmployeeSalary(IN emp_id INT, OUT emp_salary DECIMAL(10, 2))
BEGIN
SELECT salary INTO emp_salary
FROM employees
WHERE id = emp_id;
END //
DELIMITER ;
-- 调用示例
CALL GetEmployeeSalary(1001, @salary);
SELECT @salary;
2. 函数开发
计算奖金函数
-- MySQL函数:计算员工奖金
DELIMITER //
CREATE FUNCTION CalculateBonus(salary DECIMAL(10, 2))
RETURNS DECIMAL(10, 2)
BEGIN
DECLARE bonus DECIMAL(10, 2);
SET bonus = salary * 0.1;
RETURN bonus;
END //
DELIMITER ;
-- 调用函数
SELECT CalculateBonus(5000);
3. 流程控制语句
IF 条件判断
-- MySQL存储过程:检查薪资级别
DELIMITER //
CREATE PROCEDURE CheckEmployeeSalary(IN emp_id INT)
BEGIN
DECLARE salary DECIMAL(10, 2);
SELECT salary INTO salary FROM employees WHERE id = emp_id;
IF salary > 10000 THEN
SELECT 'High Salary' AS salary_level;
ELSE
SELECT 'Normal Salary' AS salary_level;
END IF;
END //
DELIMITER ;
WHILE 循环
-- MySQL存储过程:打印数字
DELIMITER //
CREATE PROCEDURE PrintNumbers(IN max_num INT)
BEGIN
DECLARE num INT DEFAULT 1;
WHILE num <= max_num DO
SELECT num;
SET num = num + 1;
END WHILE;
END //
DELIMITER ;
三、计算机网络物理层
- 传输介质
有线介质 - 双绞线:UTP(非屏蔽)与 STP(屏蔽),CAT5e 支持 100Mbps,CAT6 支持 1Gbps
- 光纤:单模(SMF)传输距离 > 10km,多模(MMF)传输距离 < 2km
- 同轴电缆:曾用于有线电视,现逐步被光纤取代
无线介质 - 无线电波:4G/5G 通信,频率 300MHz-3GHz
- 微波:卫星通信,频率 300MHz-300GHz
- 红外线:IrDA 标准,传输距离 < 1 米
- 信号与编码
数字信号编码 - 曼彻斯特编码:每位中间跳变,自同步,效率 50%
- 差分曼彻斯特编码:跳变表示 0,不跳变表示 1
- NRZ 编码:高电平 1,低电平 0,需同步时钟
模拟信号调制 - ASK(幅移键控):1 对应高幅度,0 对应低幅度
- FSK(频移键控):1 对应高频,0 对应低频
- PSK(相移键控):1 对应 0°,0 对应 180°
- 多路复用技术
- FDM(频分多路复用):有线电视
浙公网安备 33010602011771号