在《国产数据库技术》课程学习中,我以达梦数据库(DM)为核心,系统掌握了国产数据库的安装配置、数据管理及开发应用能力。从最初对国产数据库的陌生,到能独立完成实例部署与 SQL 程序设计,每一次实操都让我深刻感受到国产数据库的稳定性与实用性。以下结合课程重点内容,分享我的学习收获与实操经验。
一、DM 数据库安装与实例配置:打好基础是关键
DM 数据库的安装与实例配置是课程入门的核心内容,也是后续所有操作的基础。不同于 MySQL 等开源数据库,DM 数据库的安装需注意系统环境兼容性与权限配置,这是我初期踩过的 “坑”。
1.1 安装前的环境准备
在 Windows 10 系统下安装 DM8 时,需先关闭防火墙与杀毒软件,避免安装文件被拦截。同时,要确保系统内存不低于 4GB、硬盘剩余空间不少于 20GB,否则会出现 “环境检测不通过” 的提示。图 1 为 DM 安装向导的 “环境检测” 界面,通过该界面可直观查看当前系统是否满足安装要求,若存在 “不满足” 项,需根据提示调整后再继续安装。
1.2 实例配置的核心步骤
安装完成后,需通过 “DM 数据库配置助手” 创建实例。实例配置的关键在于 “端口设置” 与 “字符集选择”:端口默认设为 5236,若该端口被占用,需手动修改为未占用端口(如 5237);字符集建议选择 “UTF-8”,以支持多语言数据存储。在 “初始化参数” 设置中,需根据实际需求调整 “页大小” 与 “日志文件大小”—— 例如,若数据库需存储大量大字段数据,建议将页大小设为 16KB。图 2 为实例配置的 “端口设置” 界面,清晰标注了端口号与实例名的配置位置,确保后续客户端能正常连接。
二、数据备份与还原:保障数据安全的核心操作
数据备份与还原是数据库运维的重要环节,DM 数据库提供了物理备份与逻辑备份两种方式,课程中我重点实践了物理备份(冷备份)与图形化工具还原操作。
2.1 冷备份的实操步骤
冷备份需先关闭 DM 数据库服务,再通过复制数据文件实现备份。具体步骤为:
- 打开 “DM 服务管理器”,停止 “DMInstance” 服务;
- 找到数据库安装目录下的 “data” 文件夹(默认路径:D:\dmdbms\data\DMInstance);
- 将 “data” 文件夹整体复制到备份路径(如 D:\dm_backup\202412),并重命名为 “DMInstance_backup_202412”。
冷备份的优势在于操作简单、备份文件完整,但需注意:备份期间数据库无法提供服务,因此适合在业务低峰期执行。
2.2 图形化工具还原
当数据库数据丢失时,可通过 “DM 管理工具” 进行还原。我曾模拟 “误删表数据” 场景,通过以下步骤成功恢复数据:
- 打开 DM 管理工具,连接目标实例;
- 右键点击 “数据库”,选择 “还原”,在弹出窗口中选择备份文件路径;
- 勾选 “恢复到指定时间点”,设置数据丢失前的时间(如 2024-12-10 14:30:00);
- 点击 “开始”,等待还原完成,最终提示 “还原成功”。
图 3 为还原操作的 “备份文件选择” 界面,通过该界面可精准定位备份文件,确保还原数据的准确性。
三、DM SQL 程序设计:从查询到业务实现
课程后期,我通过编写 SQL 程序,将 DM 数据库的功能与实际业务场景结合。以 “学生成绩管理系统” 为例,我设计了多表查询、存储过程与触发器,实现了成绩自动计算与数据校验功能。
3.1 多表查询的实践
在 “查询学生姓名、课程名称与成绩” 需求中,我涉及 “学生表(student)”“课程表(course)” 与 “成绩表(score)” 三张表,通过内连接实现数据关联,核心 SQL 语句如下:
SELECT
s.stu_name AS 学生姓名,
c.course_name AS 课程名称,
sc.score AS 成绩
FROM
student s
INNER JOIN score sc ON s.stu_id = sc.stu_id
INNER JOIN course c ON sc.course_id = c.course_id
WHERE
sc.score >= 60 -- 筛选及格成绩
ORDER BY
sc.score DESC;
该语句通过INNER JOIN关联三张表,精准筛选出及格学生的成绩信息,查询结果可直接用于成绩统计报表生成。
3.2 存储过程实现成绩等级判定
为自动判定学生成绩等级(如 “优秀”“良好”“及格”“不及格”),我编写了存储过程proc_grade_level,核心逻辑如下:
CREATE OR REPLACE PROCEDURE proc_grade_level(
p_stu_id IN INT, -- 学生ID
p_course_id IN INT, -- 课程ID
p_grade_level OUT VARCHAR(20) -- 成绩等级
)
AS
v_score INT; -- 存储学生成绩
BEGIN
-- 查询学生该课程成绩
SELECT score INTO v_score
FROM score
WHERE stu_id = p_stu_id AND course_id = p_course_id;
-- 判断成绩等级
IF v_score >= 90 THEN
p_grade_level := '优秀';
ELSIF v_score >= 80 THEN
p_grade_level := '良好';
ELSIF v_score >= 60 THEN
p_grade_level := '及格';
ELSE
p_grade_level := '不及格';
END IF;
END;
通过调用该存储过程,只需传入学生 ID 与课程 ID,即可快速获取成绩等级,大幅提升了成绩处理效率。
四、CSDN 博文发布与评分:规范记录学习成果
按照课程要求,我完成了 CSDN 账号注册与博文发布,具体流程如下:
- 账号注册与博客功能熟悉:通过 CSDN 官网注册账号后,进入 “博客管理” 界面,选择 “写博客”,熟悉 Markdown 编辑器的 “目录生成”“图片插入” 功能 —— 通过#符号生成多级目录,通过 “图片” 按钮上传本地实操截图,确保博文结构清晰。
- 博文撰写与规范检查:撰写时严格遵循 “无超星课程内容、无学校 LOGO” 的要求,所有截图均为个人实操界面(如 DM 安装向导、SQL 查询结果)。博文总字数控制在 1000 字左右,目录涵盖 “安装配置”“备份还原”“SQL 设计” 三大核心模块,每个模块搭配 1-2 张截图与详细说明。
- 评分与截图提交:发布后通过 CSDN “博客评分” 功能,从 “内容实用性”“技术细节”“图文清晰度”“排版规范” 四个维度自评,最终得分 90 分。按要求将 “评分截图” 命名为 “2024001_张三_评分截图”,“博文截图” 命名为 “2024001_张三_博文截图”,后续将提交至校园网盘指定路径。
五、学习反思与总结
通过《国产数据库技术》课程学习,我不仅掌握了 DM 数据库的实操技能,更认识到国产数据库在安全性、兼容性上的优势。但也发现自身不足:一是对 DM 数据库的性能优化知识掌握较少,如索引优化、SQL 语句调优;二是在复杂业务场景下,存储过程与触发器的设计还不够灵活。
未来,我计划通过查阅《达梦数据库管理员手册》、参与 DM 社区技术讨论,进一步深化对国产数据库的理解。同时,会持续在 CSDN 分享实操经验,与更多开发者交流国产数据库的应用技巧,为国产数据库的推广与发展贡献自己的力量。