所以我正在用NodeJS和ExpressJS编写一个应用程序。这是我第一次使用像MongoDB这样的noSQL数据库,并且试图弄清楚如何修复我的数据模型。
在我们的项目开始时,我们已经记录了关系数据库中的所有内容,但是由于我们最近从该项目的Laravel切换到ExpressJS,所以我对处理所有不同的表格布局有些困惑。
到目前为止,我已经知道最好对您的方案进行非规范化,但是它必须在某个地方结束,对吗?最后,您可以将整个数据存储在一个集合中。好吧,不是很有趣,但是你明白了。
1.因此,是否有规则或标准定义了在哪里进行切割以进行多个收藏? 我有一个与用户(都是客户或商店用户),商店,产品,购买,类别,子类别的关系数据库。
2.在noSQL数据库中定义关系是否不好? 就像每个产品都有一个类别,但是我想通过一个ID关联该类别(MongoDB中的父工作),但这是一件坏事吗?还是在这里选择性能还是结构?
3. noSQL / MongoDB可以用于具有很大关系(如果它们是在MySQL中创建)的大型数据库吗?
提前致谢
对于我必须执行的数据库修复,我需要为此查询结果的每个ID执行插入操作;
SELECT Id FROM role WHERE id != 99 AND Id NOT IN (SELECT RoleId FROM permissionaction WHERE PermissionId = 19);
Run Code Online (Sandbox Code Playgroud)
因此,它会产生一些必须与此查询一起添加的 ID。
INSERT INTO permissionaction (AccessLevel, PermissionId, ControllerActionId, Active, CreatedOn, ModifiedOn, CreatedById, ModifiedById, RoleId) VALUES (1, 19, 1, 1, Now(), Now(), 1, 1, *******ID HERE******);
Run Code Online (Sandbox Code Playgroud)
我知道可以使用 mysql 游标来完成,但这里不可能。有没有一种方法可以在一个查询中添加所有生成的 ID?
谢谢
目前我正在重新设计一个现有的程序,它使用一个包含多个值的主表。(C# .net core 3.0 & EF) (一大查表)
这些值中的大部分很少改变,我会将它们放在 ac# 枚举中。
一些示例:Language、Sex、ReceiptStatus、RiskType、RelationType、SignatureStatus、CommunicationType、PartKind、LegalStatute ……该列表不断增加,目前有 143 个不同的类别,每个类别都有自己的值,其中包含 2 个翻译。
我的公司希望这些值存在于数据库中,因此非程序员可以在必要时更改它们。
不过感觉一点都不好。我很想将表格分开,但创建 143 个表格似乎有点矫枉过正。如果只有 5-10 个查找表,那就没问题了..
有什么建议吗?坚持 1 个查找表?感觉我的眼睛不对。多桌?
说服我的公司我们应该只使用运行良好的 C# 枚举,排除非程序员可以编辑它们的可能性?