数据库管理系统的主要功能有哪些

嗯……数据库管理系统……早在2 02 2 年的时候,我还在想这个东西。

首先,数据定义......就是这样。
有这个DDL。
想一想:如果你想在数据库中创建一些东西,你需要定义什么?三层模式结构,外部模式,概念模式,内部模式……是的,仅此而已。
还有图像,从概念模型到内部模型的图像和从外部模型到概念模型的图像。
还有完整性约束,例如B. 没有重复的身份证号码。
这需要确定。
还必须定义谁可以看到哪些数据的保密限制。
我当时就很困惑,那么多东西都要用DDL来定义。

然后是数据操作。
这个有DML。
您所能做的就是添加、删除、更改和查看。
比如2 02 2 年,我在北京,写了一条SQL语句,INSERT INTO 表名(字段1 ,字段2 )VALUES(值1 ,值2 ),目的是添加一个数据项。
另一个例子是 DELETE FROM 表名 WHERE 条件,该条件删除数据。
UPDATE表名SET字段1 =值1 WHERE条件,这个是更新数据。
SELECT FROM 表名 WHERE 条件,这个是查询数据。
最简单的工艺,但应用广泛。

接下来就是数据库的操作和管理了。
这个有很多功能。
例如并发控制。
2 02 2 年我可能在一家多人同时使用数据库的公司。
如何保证数据没有问题?这就是并发控制。
必须检查有关谁不能访问哪些数据的安全控制。
完整性检查还必须检查插入的数据是否符合限制。
还有日志和运行日志。
如果出现问题,能够恢复是非常重要的。
在事务管理中,操作必须完成或未完成。
这称为原子性,必须予以考虑。
自动恢复。
如果数据库突然崩溃,可以自动恢复到特定的备份点。
这是必须的。
后来我意识到,运营和管理真的要包办一切。

数据组织、存储和管理。
这也很关键。
数据需要分类,例如例如,用户数据、系统数据、数据字典等。
您需要决定使用哪种文件结构,例如B. 堆文件、顺序文件和索引文件。
另外,必须指定访问方式,是直接访问还是顺序访问。
2 02 2 年,我看了一些资料,说B树索引非常高效,但是数据组织需要好好设计。

数据库保护。
这非常重要。
数据是战略资源,不能丢失。
必须有适当的备份和恢复机制。
还必须采取安全措施来防止黑客攻击。
2 02 2 年,看到新闻称某公司数据库被黑客入侵,大量用户信息被泄露,造成巨大损失。
因此,必须认真对待数据库保护。

最后一步是数据库维护。
这还包括加载数据。
例如,如果您刚刚购买了系统,则需要导入旧数据。
数据转换:有时旧系统的数据格式与新系统不兼容,需要转换。
数据转储,定期备份数据。
数据库的重组和重建。
如果数据库使用时间较长且性能下降,则可能需要重新组织和重新索引。
为了监控性能,需要随时检查数据库的运行状态。
2 02 2 年,我用的监控工具可以检测到哪个查询慢,哪个表包含大量数据。
这些维护任务不应掉以轻心。

总之,数据库管理系统有很多功能。
从数据定义到运营数据、运营管理、仓库组织到保护和维护,一切都需要管理。
2 02 2 年,我认识到数据库系统是一个复杂的系统,需要很好的设计和管理。

数据库管理系统的主要功能有哪些?

当我谈论这六个核心 DBMS 功能时,老实说我必须从一个特定的场景开始。
上次帮朋友调试电商后台,没发现重复订单的问题。
最后我发现并发操作没有管理好——这就是操作管理功能第三点最直观的体现。

首先我们来说说数据定义函数。
当我刚进入这个行业时,我因为写第一份数据库设计文档而被老板批评,因为我不明白外部模式和概念模式之间的区别。
现在想一想:理解这三层模式就像装修房子一样。
外部模式是用户看到的装修风格,概念模式是承重墙结构,内部模式是钢筋混凝土的建造方式。
像 Oracle 这样的旧 DBMS 的 DDL 语法非常复杂,可以在全世界范围内使用,但在定义触发器约束时,它的详细程度确实令人惊讶。

数据操作函数必须是SQL。
印象最深的是,当我使用SQL Server处理报表数据时,使用“LEFT JOIN”将空值计为0,差点毁了财务总监的奖金。
其实DML就像一把菜刀:增删改查时,各司其职,但如果使用不当,就如同一只手放在菜板上。
现在许多 DBMS 支持 JSON 操作,例如 MongoDB 语法,这使得检查嵌套数据不再有趣。

运营管理中最大的问题是并发控制。
我亲眼见过两个系统同时修改同一条记录。
一个删除了库存,另一个添加了库存。
最终数据库直接爆炸了。
为此,MySQL的InnoDB采用了两阶段锁定协议,允许每一行锁定的数据填充CPU缓存。
在优化会话期间,我注意到将事务隔离级别从 REPEATABLE READ 调整为 READ COMMITTED 时,查询性能翻倍。
虽然偶尔会有脏读,但老板觉得值得。

仓库管理特别有趣。
过去使用Access数据库时,所有表数据都会堆放在一个文件中,检查数百万条记录会卡在PPT过渡中。
使用 PostgreSQL,您现在可以一次性创建 GIN 索引,并在几秒钟内检查整个表。
上次我为银行创建报告时,我直接将数据存储在不同的分区表中。
结果我从一大早一直跑到下午的ETL脚本。
数据组织实际上是一门形而上学。

说到保护功能:加密尤其没用。
有做过透明数据加密的测试,但是运维人员的密码是加密的。
最终只能通过热备份来恢复系统。
现在最好使用MariaDB的XSS功能,但是需要添加解密功能来验证数据。
感觉就像给一辆很难骑的自行车加了一个防盗锁。

说到维护功能,备份已经是老生常谈了。
我公司的数据仓库每天早上都是完全备份的,但是有一次因为磁带柜门没有关紧,数据丢失了五分钟。
现在我们使用Oracle Goldengate进行增量同步,数据与灾备中心实时同步。
虽然每年的运维费贵得要命,但也比每天祈祷不出问题要好。

当您更多地使用这些功能块时,您会发现它们并不是孤立的。
例如,重建索引(第6 点)可能会触发第4 点的内存重排,​​并且由于表锁定也会影响第3 点的并发性。
就像修路一样,改变路段可能需要拆除旁边的电线杆。
然而,如果DBMS设计得好,这些链接是可以自动处理的。
就像我朋友的电商系统,他根本不知道自己应该改索引规则,系统就默默优化了。

数据库管理系统的主要功能

这是数据库系统的功能。

1 .创建维护功能。
创建数据库并管理空间。
处置回收、重组。
性能监控调整。
这是通过工具来实现的。

2 数据定义函数。
定义表、视图和存储过程。
由DDL实现。

3 组织存储管理。
分层存储。
存储字典数据、用户数据和密码数据。
定义存储结构、方法和位置。
关联数据。
增加空间和效率。
提供索引、哈希和顺序搜索。

4 数据操作功能。
检查、插入、删除、更改。
取决于 DML。

5 交易管理。
多个用户的数据。
确保安全可靠。
并发不干扰。
可以从失败中恢复。

说白了,就是管理好数据,让人们可以轻松使用。
你仔细品味。