我知道数据模型基本上是两种类型的ER模型和关系模型&数据库模式也是物理和逻辑两种类型。
但是根据他们在DBMS中的操作,我无法理解它们之间有什么区别?
答案 0 :(得分:25)
模式是数据库的蓝图,它指定将出现哪些字段以及它们的类型。例如,employee表的employee_ID列由10位数字组成,employee_Name列包含45个字符的字符串。
数据模型是一种高级设计实现,它决定了模式中可以存在的内容。它为数据库用户提供了一个概念框架,我们在其中指定数据库用户的数据库需求和数据库结构以满足这些要求。
例如,数据模型可以是关系模型,其中数据将在表中组织,而此模型的模式将是属性集及其对应的域。参考文献:Understanding the schema和数据库系统概念(H Korth和A Silberschatz)
答案 1 :(得分:6)
据我了解,数据库模式是一个物理实体,它描述了数据存储的确切结构,并由DBMS自行存储以供参考。另一方面,数据模型是数据库的抽象表示。
答案 2 :(得分:1)
数据库模式是一个包含属性列表和指令,用于告诉数据库引擎数据的组织方式 数据模型是用于描述数据,数据关系和一致性约束的概念工具的集合。
答案 3 :(得分:1)
一个模式可以有多个与之相关的模型,每个模型可以有多个与之相关的实例。
例如。
animalSchema{name:String, type:String}
mongoose.model('carnivores', animalSchema)
这只是意味着食肉动物是一个基于animalSchema的模型。
mongoose.model('herbivores', animalSchema).
简单的意思是,食草动物也是一个基于animalSchema的模型。
const lion = new carnivores();
const tiger = new carnivores();
这两个都是模式animalSchema的食肉动物模型的实例
const deer = new herbivores();
const cow = new herbivores();
这两个都是模式animalSchema的草食动物模型的实例
答案 4 :(得分:0)
在我看来,首先准备数据库模型,然后是数据库模式。数据模型特别根据实体关系给出了数据库模型的整体逻辑视图,而数据库模型在实体及其属性上更加同心。
答案 5 :(得分:0)
我的想法......模式决定或描述您将在文档中使用的字段......而模型是模式的编译,并确保移入或移出的任何数据必须符合该模式
答案 6 :(得分:0)
据我所知,数据模型是一种高级设计,它定义了表的类型,这些表中的字段以及不同表之间的关系。数据库模式描述类型(整数,字符串等),并且约束条件(例如字段长度)应少于20个字符。数据库架构引用数据模型,并详细指定每个表和字段。
答案 7 :(得分:0)
数据库架构:- 数据库架构定义了数据库。这意味着它指定了哪些表以及它们如何相互关联。它定义了对 DBMS 软件用于理解数据库有用的所有内容。此模式存储在元数据存储库中的单独文件中
数据库数据模型:- DBMS系统在处理数据时将使用什么样的模型。这不存储在单独的文件中。数据模型就是数据库。例如:- Mysql DBMS 使用关系数据模型。