数据库的三级模式和二级映像

嘿兄弟,我最近一直在研究数据库系统,我发现这个三步示例非常有趣。
有外部模式、内部模式和听起来三重舞蹈的内部模式。

先说说方案。
这和数据库的逻辑视图一样,描述了全局的逻辑结构。
数据库只有一个模式,即核心数据库,没有其他层。
记得有一次,我们公司在设计数据库模式的结构时,首先设计了数据库的逻辑模式,然后DBMS(数据库管理系统)用一种语言描述该模式,严格定义该模式。

下面是外部Schema,它就像数据库的用户视图,描述本地逻辑结构。
一个数据库可以有多个外部模式。
每个用户只能看到和访问对应的foreign schema中的数据,其他数据是不可见的。
这充当了保护数据库安全的屏障。
在之前的项目中,我使用外部方法来控制对用户数据的访问,我发现这非常有用。

最后是一个内部图,相当于对数据存储的物理结构和方法的描述。
它基于全局逻辑结构,但没有用户视图和数据存储机制。
我正在开发一个项目,由于指定了数据表结构,因此需要调整内部模式。

次要图像是图像模式/图像模式和图像模式/内部模式。
外部模式/模式镜像定义了外部模式与模式之间的对应关系,而模式模式/内部模式定义了全局逻辑数据结构与存储结构之间的对应关系。
这样,当改变schema或者内部schema时,只需要适配相应的镜像就可以保持数据的逻辑和物理独立性。

听起来有点复杂,但是非常有用。
我们知道如何玩游戏并使其公平。
哈哈,别再说了,数据库有问题吗?我可以回答你。

MySQL的三种模式简介mysql三种模式

抱歉,说到MySQL的三种模式,我实在是有话要说。
记得那年我在一家电子商务公司担任数据库管理员。
当时公司业务发展很快,数据库的压力也很大。

首先我们来说说MyISAM模式。
当时我们公司有一个请求系统,读操作比较多,写操作相对较少。
我选择MyISAM模式是因为它的读取性能确实不错。
记得我们曾经一次性导出几百万订单数据,使用MyISAM模式几分钟就完成了,效率很高。

然后是InnoDB模式。
后来公司开发了新的订单处理系统,写操作特别频繁。
你果断地转入了InnoDB模式。
当时正值双十一,系统压力很大,不过InnoDB中的行级锁和外键限制帮了很大忙,没有出现什么大问题。

我们来谈谈内存模式。
有一次,我们需要进行临时数据分析,所以我使用了内存模式。
数据存储在内存中,查询速度非常快。
然而,当我后来重新启动服务器时,所有数据都消失了,这令人心碎。

因此,MySQL模式的选择取决于具体的需求。
使用MyISAM 进行更多的读取和更少的写入,使用InnoDB 进行更多的写入,并使用MEMORY 进行临时数据。
但内存模式的数据一旦丢失就无法恢复,所以要谨慎使用。
哈哈,我个人在这三种模式中遇到了很多陷阱!

数据库模式的三种类型

老实说,这个数据库的三种主要模式让我在学习的时候非常头疼。
但用了几年后,就渐渐清楚了。

想象对于我来说,这是一个顶层的蓝图。
比如我之前接触过酒店管理系统。
概念模型中,“用户”是整个酒店行业;它将被分成“房间”和“订单”等大块,每个块都有详细的属性,如“用户有手机号码和会员级别,有房间类型和价格”。
这样的层次划分是为了构建整个系统的框架。
不用担心以后如何实现。
首先,了解总体蓝图。

有趣的是户外模式。
这是非常脚踏实地的。
以酒店系统为例。
前台的名字是“用户”。
您只需要看到电话号码和预订表格,不需要知道哪些字段用于客户积分等后台统计。
系统管理员可以看到所有的表,但是普通用户只能看到自己的订单。
这是不同的,这与他们的日常工作直接相关这就像为角色定制不同的操作界面。
记得有一个实习生在测试外模授权时,不小心看到了销售授权书,立刻就被领导骂了。
这就是外在形式边界的重要性。

我对室内模型接触不多,但有一个案例给我留下了深刻的印象。
曾经有一个旧系统,订单表数据以内部分区的方式存储。
查询速度很慢,尤其是在旺季。
后来我改用B+树索引,直接一起读取相关订单明细,速度快了三倍。
该字段涵盖标签的结构;数据块有多大;纯粹是与硬件打交道,比如如何优化磁盘 I/O。
这不适用于用户,但它直接影响系统性能。

数据建模的关键是分层。
概念模式适用于架构师,外部模式适用于销售人员,内部模式适用于 DBA。
我接手了一个糟糕的系统,花了三天时间清理三级模式,并且某个查询停止了——概念模式中的两个表。
不相关的;外部模式权限设置已经缩小,内部模式索引也早已被删除。
这项工作就像拆除炸弹,每一步都需要小心。

据我所知,我有数据。