当前位置: 首页 > news >正文

达梦数据库相关术语及管理操作

学习者:张源凯

目录

1. 数据存储的基本单元

2. 数据安全与一致性

3. 性能与业务优化工具

二、达梦数据库产品优势

1. 安全可控

2. 高效稳定

3. 易用可扩展:降低学习与迁移成本

三、达梦数据库相关操作

1. 表空间、表与模式的创建

(1)表空间

(2)对象 

(3)表

2. 数据查询与操作

(1)单表查询

(2)子查询

3. 高级对象

(1)视图

(2)索引

一、达梦数据库相关核心术语

1. 数据存储的基本单元

表(Table):数据存储的最小实体,由 "字段(列)" 和 "记录(行)" 组成。

字段(Field):定义数据类型的载体,达梦支持 INT、VARCHAR、DATE等常用类型,需根据业务场景选择。

主键(Primary Key):唯一标识表中记录的字段,保障数据唯一性。

表空间(Tablespace):逻辑存储容器,关联物理数据文件。

2. 数据安全与一致性

事务(Transaction):不可分割的操作单元,遵循 ACID 原则。比如 "员工调薪" 需同时更新employees.salarysalary_history表,事务确保要么全成功,要么全回滚,避免数据不一致。

权限与角色:权限是用户操作数据库的 "通行证",角色则是权限的集合。通过角色分配权限,可简化多用户管理。

备份与恢复:定期将数据复制到备份介质(如磁盘、磁带),应对数据损坏或丢失。达梦支持全量备份(完整复制数据库)和增量备份(仅备份新增数据),结合归档日志可实现 "任意时间点恢复"。

日志(Log):记录所有数据库操作的 "账本",包括重做日志和归档日志。

3. 性能与业务优化工具

索引(Index):提升查询速度的 "目录",如给employees.position创建索引,查询 "工程师" 相关记录时无需扫描全表。注意:索引会增加写入开销,避免过度创建。

视图(View):虚拟表,基于查询结果动态生成。

存储过程(Stored Procedure):预编译的 SQL 集合,减少网络传输量,提升业务执行效率。

触发器(Trigger):满足条件自动执行的 "规则",实现业务逻辑的自动化管控。

二、达梦数据库产品优势

1. 安全可控

达梦通过 "多层防护 + 国密合规" 构建安全体系:支持数据传输加密(SSL/TLS)和存储加密(国密 SM4 算法),防止数据在传输和存储中泄露;提供细粒度审计日志,记录每一次用户操作(如 "谁在什么时间修改了薪资"),满足金融、政务等行业的合规要求。更重要的是,达梦完全自主研发,无外部技术依赖,避免 "卡脖子" 风险。

2. 高效稳定

性能优化:内置智能查询优化器,能自动选择最优查询计划;

高可用架构:支持主备复制、分布式集群等部署方式。例如 "一主两备" 架构中,主节点故障时,备用节点可秒级切换,确保业务不中断;分布式集群则通过横向扩展节点,承载 PB 级数据存储与高并发访问。

3. 易用可扩展:降低学习与迁移成本

低门槛上手:提供图形化管理工具(如达梦管理工具 DM Manager),可视化创建表、备份数据,无需记忆复杂命令;支持标准 SQL 和 JDBC/ODBC 等通用接口,熟悉 MySQL/Oracle 的开发者可快速迁移。

完善生态支持:配套数据迁移工具(如 DM DTS),可一键从 Oracle/MySQL 迁移数据,自动处理语法差异;官方社区提供文档、视频教程和技术问答,新手遇到问题能快速找到解决方案。

三、达梦数据库相关操作

1. 表空间、表与模式的创建

(1)表空间

表空间是数据文件的逻辑载体,建议按业务类型划分(如员工数据、部门数据分开存储)。示例:创建员工数据专用表空间

sql

-- 创建用于存储员工数据的永久表空间,初始大小100M,满后自动扩展10M(最大200M)
CREATE TABLESPACE tbs_emp_data
DATAFILE '/dm/data/tbs_emp_data.dbf' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 200M;-- 查看表空间状态:确认是否创建成功、数据文件路径是否正确
SELECT tablespace_name, file_name, bytes/1024/1024 AS file_size_mb 
FROM dba_data_files 
WHERE tablespace_name = 'TBS_EMP_DATA';-- 扩展表空间:若数据文件满了,可手动增加大小
ALTER DATABASE DATAFILE '/dm/data/tbs_emp_data.dbf' RESIZE 150M;
(2)对象 

模式(Schema)是数据库对象的逻辑分组,避免不同业务的表名冲突(如emp_schema.employeesdept_schema.departments)。示例:创建员工业务模式并授权

sql

-- 创建模式,指定所有者为emp_admin用户
CREATE SCHEMA emp_schema AUTHORIZATION emp_admin;-- 查看所有模式:确认模式归属与状态
SELECT schema_name, owner 
FROM dba_schemas 
WHERE schema_name = 'EMP_SCHEMA';-- 授权:允许开发用户dev_user访问该模式下的表
GRANT USAGE ON SCHEMA emp_schema TO dev_user;
(3)表

创建表时需明确字段类型、约束(主键、外键、非空等),确保数据完整性。示例:创建员工表与部门表(含外键关联)

sql

-- 创建部门表(主表)
CREATE TABLE emp_schema.departments (dept_id INT PRIMARY KEY,  -- 部门ID(主键)dept_name VARCHAR(50) NOT NULL,  -- 部门名称(非空)location VARCHAR(100)  -- 部门位置
) TABLESPACE tbs_emp_data;-- 创建员工表(从表),通过dept_id关联部门表
CREATE TABLE emp_schema.employees (emp_id INT PRIMARY KEY,  -- 员工ID(主键)emp_name VARCHAR(50) NOT NULL,  -- 员工姓名(非空)position VARCHAR(50),  -- 职位salary DECIMAL(10,2),  -- 薪资(保留2位小数)hire_date DATE,  -- 入职日期dept_id INT,  -- 关联部门ID-- 外键约束:确保员工的部门ID在部门表中存在CONSTRAINT fk_emp_dept FOREIGN KEY (dept_id) REFERENCES emp_schema.departments(dept_id)
) TABLESPACE tbs_emp_data;

2. 数据查询与操作

(1)单表查询

查询 2025 年入职、薪资高于 5000 的员工信息

sql

SELECT emp_id, emp_name, position, salary, hire_date
FROM emp_schema.employees
WHERE hire_date >= TO_DATE('2025-01-01', 'YYYY-MM-DD') AND salary > 5000
ORDER BY salary DESC;  
(2)子查询

需求:查询薪资高于本部门平均薪资的员工

sql

SELECT e.emp_name, e.dept_id, e.salary, (SELECT AVG(salary) FROM emp_schema.employees WHERE dept_id = e.dept_id) AS dept_avg_salary
FROM emp_schema.employees e
WHERE e.salary > (SELECT AVG(salary) FROM emp_schema.employees WHERE dept_id = e.dept_id);

3. 高级对象

(1)视图

需求:创建 "部门薪资 TOP3 员工" 视图,仅显示关键信息

sql

CREATE OR REPLACE VIEW emp_schema.v_dept_top3_salary AS
SELECT d.dept_name, e.emp_name, e.position, e.salary
FROM emp_schema.departments d
JOIN (SELECT emp_name, position, salary, dept_id,ROW_NUMBER() OVER (PARTITION BY dept_id ORDER BY salary DESC) AS rankFROM emp_schema.employees
) e ON d.dept_id = e.dept_id
WHERE e.rank <= 3  
WITH CHECK OPTION; 
SELECT * FROM emp_schema.v_dept_top3_salary;
(2)索引

需求:针对 "按职位 + 薪资查询员工" 的高频场景,创建联合索引

sql

CREATE INDEX idx_emp_pos_sal 
ON emp_schema.employees (position, salary);

社区地址:https://eco.dameng.com

http://www.dtcms.com/a/478195.html

相关文章:

  • 百度网站推广公司济南网络优化推广
  • 【SpringBoot从初学者到专家的成长14】SpringBoot项目结构介绍
  • mongodb一个服务器部署多个节点
  • 基金网站制作工程承包公司
  • 成都企业网站建设价格搜索引擎收录
  • 第9章:两条道路的风景:技术与管理的真实世界(4)
  • 基于frenet坐标系的规划与避障
  • 从本地到云端:Fiora+cpolar打造真正的私密社交通讯站
  • Vue Router 导航守卫
  • 技术评测丨RPA主流平台稳定性、安全与信创适配能力对比
  • 简约淘宝网站模板免费下载建立 wiki 网站
  • 【Unity】uNet游戏服务端框架(三)心跳机制
  • 二叉树的深搜
  • C++设计模式之行为型模式:模板方法模式(Template Method)
  • 做3dh春丽网站叫什么重庆十大软件公司
  • 长沙电商网站开发php开发网站后台
  • QT6中Combo Box与Combo BoxFont 功能及用法
  • 软考网工知识点-1
  • win10下Qt应用程序使用FastDDS
  • 链表相关的知识以及算法题
  • 模板网站建站步骤微信公众号和小程序的区别
  • Shell 使用指南
  • 重庆网站seo服务没效果
  • 开源项目重构我们应该怎么做-以 SQL 血缘系统开源项目为例
  • Sora2:AIGC的技术革命与生态重构
  • Modbus RTU 数据结构(发送和返回/读/写)
  • Nginx IP 透传
  • 海外IP的主要应用业务
  • 门户网站建设工序做微信网站要多少钱
  • 南阳网站优化费用推进网站 集约化建设