我读了很多关于数据模型和数据库模型的东西,对此有不同的看法,有些人说都是一样的,有些人说数据模型是数据库模型的基础,但我仍然对此感到困惑。什么是数据模型及其示例,什么是数据库模型及其示例,以及这两者之间的区别。我对以下说明感到困惑:数据库设计/模型存储数据的结构以及应存储以满足用户要求的数据之间的链接/关系。数据库设计存储在数据库模式中,数据库模式又存储在数据字典中。数据模型是用于创建数据库和为数据库生成设计的构造集合或集合。数据模型有一些组成部分:1。结构:数据模型结构提供的结构可以识别可用于存储数据的结构。 2.操作语言对于使用某种模型,某些数据操作是使用特定语言执行的。这种特定语言称为数据操作语言。 3.完整性约束这些规则确保数据库中数据的正确性,并将数据库维护在可用状态,以便在设计数据库时描绘正确的信息。
数据模型的经典定义(至少在数据库设计的上下文中)是一组抽象机制,用于表示现实的一部分以构建数据库。例如,在实体 - 关系数据模型中,可以用实体(弱和强)以及它们之间的关系来表示现实;在面向对象的数据模型中,可以通过对象来表示现实,并且聚合的相关机制(在对象上是简单属性和其他对象的集合),类(类是一组具有相同类型的对象)和遗产;在关系数据模型(关系数据库系统采用的模型)中,现实通过表(或更正确的关系)与键,外键和其他类型的约束等来表示。
另一方面,术语“数据库模型”通常是使用特定数据模型构建的现实模型的名称;换句话说,它对应于某个数据库管理系统中的特定模式,表示特定的现实(即某个数据库的设计结果)。例如,在大学的数据库模型中,您拥有实体学生,课程,学院,其中包含多个关联,每个实体都具有一定的属性集。
如果有人对我说“数据模型”,我会假设他们正在谈论程序内部的数据结构,最有可能是某些模型/视图方法(例如MVC,MVVM),因此更专注于为用户提供数据接口和服务消耗,并通常从用户界面和服务响应对该数据的更改。
对于数据库模型,我会假设他们正在研究如何将这些数据存储在他们的数据库中。通常这被划分为逻辑设计,其中数据按照数据库范例(例如关系)进行组织,然后这导致物理设计,其考虑了DB技术的局限性,以及他们想要的优化。包括。