mongo信息分类表多级的应该怎么设计表结构呢

mongo信息分类表多级的应该怎么设计表结构呢,第1张

有效的数据模型是为应用服务的,设计构架的关键问题是文档模型适合使用嵌入式模型(embed)还是使用引用模型(references)。

嵌入式数据模型(Embedded Data Models)

在MongoDB中,你可能将相关数据嵌入到一个单一结构或文档,这些模式通常被称为“非正规”模型,但是它充分利用了MongoDB富文档模型的有点。

嵌入式数据模型允许应用程序存储相关的信息在一条数据库记录中,这样应用程序可能需要更少的查询和更新来完成常规的 *** 作。

无限类别、无限级别的数据库分类结构,以下三个字段即可:

class_id int PKEY,

upclass int,

classname char(10)

其它产品表中,使用外键class_id关联本表的class_id作为类别。

一般可将数据库结构设计分为四个阶段,即需求分析、概念结构设计、逻辑结构设计和物理设计。

数据字典(Data Dictionary DD)用于记载系统定义的或中间生成的各种数据、数据元素,以及常量、变量、数组及其他数据单位,说明它们的名字、性质、意义及各类约束条件,是系统开发与维护中不可缺少的重要文件。数据与数据元素分别用数据表、数据元素表记载。其中,数据号是设计人员给定的顺序编号,用于分类清查与整理,并且与数据元素代码相关联。数据名是原有表格或凭证的名称。

可以这样设计数据结构

商品分类(分类ID 主键,分类名称 有唯一索引)

商品信息(商品ID 主键,商品名称,规格等等, 分类ID 外键)

商品分类与商品信息二表基于分类ID字段建立一对多关系,并实施参照完整性。

表间关系可以设置以下两种模式:

1)级联更新和级联删除;

2)级联更新。

这两种关系模式下的共同点是两者都不予许 a商品信息表的分类ID字段里出现商品分类表中不存在的分类;b商品分类表中的某个分类ID发生改变后,商品信息表里所有相应的分类ID也会随之同步改动。

这样维护商品分类的工作会被大大简化,我们只要维护商品分类表就好了,商品信息表中的分类信息则有系统自动予以维护。

两种关系的分别是删除商品分类时的表现很不一样:

第一种关系,当在商品分类表中删除某个分类时,商品信息表中所有含相应分类的记录也会被同步删除。其好处是删除 *** 作非常便捷,坏处是如果商品信息表中的记录非常重要,假如不小心删除了某个分类,那么连带的珍贵商品信息记录也会同时丢失。

第二种关系,当在商品分类表中删除某个分类时,如果商品信息表中所有含相应分类的记录,那么该删除 *** 作就无法实施。其好处是下级数据表的关联记录不会因删除商品分类而丢失,坏处是删除分类 *** 作比较麻烦,首先要删除下级表中含关联分类的记录后才能删除上级表中的分类。

究竟采取哪种关系模式,应根据实际需求而定。不过大多数情况下建议选择第二种模式,即只实施级联更新而不实施级联删除,因为下级表中的资料通常都是日常记录下来的重要数据。

其实要看你自己怎么想了,要是想数据库简单,处理复杂的话可以简单的建3各表

1、用户表

2、分类表

3、新闻表(同时也是评论表,用一个字段来标示)

要是表多一点的话就四张了

就是把评论表和新闻表分开就行了

新闻表用一个分类ID来标示分类、

评论表用一个新闻id来表示评论表属于那个表,

还有新闻和评论都要设计一个userId来标示创建新闻或回复新闻(评论)的用户ID

以上就是关于mongo信息分类表多级的应该怎么设计表结构呢全部的内容,包括:mongo信息分类表多级的应该怎么设计表结构呢、求无限分类的数据库表结构、1,数据库表结构如何设计,有哪些表,分别有什么作用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9775557.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存