简介
编辑数据库模式是以数据库管理系统 (DBMS) 支持的正式语言描述的数据库结构。术语模式指的是数据组织,作为数据库构建方式的蓝图(在关系数据库的情况下分为数据库表)。
数据库模式的正式定义是一组强加于数据库的称为完整性约束的公式(句子)。这些完整性约束确保模式各部分之间的兼容性。
所有约束都可以用相同的语言表达。数据库可以被认为是数据库语言实现中的一种结构。创建的概念模式的状态被转换为显式映射,即数据库模式。这描述了真实世界的实体是如何在数据库中建模的。
数据库模式根据数据库管理员对可能应用程序的了解,指定可以输入数据库的事实,或可能的最终用户感兴趣的事实。
数据库模式的概念与谓词演算中的理论概念起着相同的作用。
该理论的模型与数据库密切相关,可以在任何时刻将其视为数学对象。因此,模式可以包含表示特定于应用程序的完整性约束的公式和特定于一种数据库类型的约束,所有这些都以相同的数据库语言表示。
在关系数据库中,模式定义表、字段、关系、视图、索引、包、过程、函数、队列、触发器、类型、序列、物化视图、同义词、数据库链接、目录、XML 模式和其他元素。
数据库通常将其模式存储在数据字典中。尽管模式是用文本数据库语言定义的,但该术语通常用于指代数据库结构的图形描述。换句话说,模式是定义数据库中对象的数据库结构。
模式集成的理想要求
编辑下面列出的要求会影响生成的模式的详细结构。某些应用程序不需要满足所有这些条件,但这四个要求是最理想的。
重叠保存输入映射中指定的每个重叠元素也在数据库模式关系中。扩展重叠保存与源的重叠元素关联的特定于源的元素被传递到数据库模式。规范化源数据中的独立实体和关系应该 没有在数据库模式中以相同的关系组合在一起。 特别是,如果分组将独立实体或关系置于同一位置,则源特定模式元素不应与重叠模式元素分组。最小性如果删除数据库模式的任何元素,则数据库模式不理想。
两个模式集成的示例
编辑假设我们想要一个中介模式来集成两个旅游数据库,Go-travel 和 Ok-flight。
Go-travel有两个关系:
Go-flight(flight-number, time, meal(yes/no))Go-price(航班号,日期,价格)
Ok-flight 只有一个关系:
Ok-flight(航班号、日期、时间、价格、直飞(是/否))
Go-travel 和 Ok-flight 模式中的重叠信息可以用中介模式表示:
航班(航班号、日期、时间、价格)
Oracle 数据库的特殊性
编辑在 Oracle 数据库的上下文中,模式对象是一种逻辑数据存储结构。
Oracle 数据库将单独的模式与每个数据库用户相关联。模式包含模式对象的集合。 模式对象的示例包括:
- 表格
- 观点
- 序列
- 同义词
- 索引
- 集群
- 数据库链接
- 快照
- 程序
- 职能
- 套餐
另一方面,非模式对象可能包括:
- 用户
- 角色
- 背景
- 目录对象
架构对象与磁盘上存储其信息的物理文件没有一对一的对应关系。但是,Oracle 数据库将模式对象逻辑地存储在数据库的表空间中。每个对象的数据物理上包含在一个或多个表空间的数据文件中。对于某些对象(例如表、索引和集群),数据库管理员可以指定 Oracle RDBMS 在表空间的数据文件中为对象分配多少磁盘空间。
模式和表空间之间没有必然关系:一个表空间可以包含来自不同模式的对象,并且单个模式的对象可以驻留在不同的表空间中。然而,Oracle 数据库的特殊性确实强制了非同质性的平台识别。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/249392/