database-design相关内容

您是否应该将自引用表列设为外键?

例如,要创建类别层次结构,您可以使用列“parent_id",它指向同一张表中的另一个类别. 这应该是外键吗?有什么缺点/优点? 解决方案 是的.确保您没有孤儿(没有父项的条目),并且根据使用情况,如果您定义级联删除,当父项被删除时,其所有子项也将被删除. 缺点是会像任何其他外键一样对性能造成轻微影响. ..
发布时间:2022-01-20 12:22:24 其他开发

为什么外键是识别关系中主键的一部分?

我试图理解一个概念,而不是修复一段不起作用的代码. 我将举一个表单(父表)和表单域(子表)的一般示例.逻辑上,这将是一种识别关系,因为没有表单就不能存在表单域. 这会让我觉得为了将 逻辑 关系转换为 技术 关系,form_id 字段的简单 NOT NULL在 form_field 表中就足够了.(见上图左侧.) 但是,当我使用 MySQL Workbench 添加标识关系时,fo ..
发布时间:2022-01-20 12:21:35 其他开发

将外键重构为字段

在 PostgreSQL 中我需要重构一个表 (Purchases);它有另一个表的外键(Shop).相反,我想要两个以文本方式保持关系的字段.我不能丢失任何信息,表格已经包含数据. Purchases.shop_id: (long) -- 是我需要删除的字段Purchases.shop:(字符)-- 将包含商店的名称Purchases.shop_user:(字符)-- 将保存商店的用户名.Sh ..
发布时间:2022-01-20 12:18:57 其他开发

在一个表中定义多个外键到多个表

我有 3 个模型: 发帖: 身份证 标题 正文 照片: 身份证 文件路径 评论: 身份证 post_id 正文 和数据库中的相应表.现在,如果我只想对我的帖子发表评论,我可以简单地添加以下外键:ALTER TABLE comment ADD FOREIGN KEY (post_id) REFERENCES post (id).但我想对其他模型(照 ..
发布时间:2022-01-20 11:57:47 其他开发

在实体框架中的 1:1 关系中,关联的主体端是什么意思

公共类 Foo{公共字符串 FooId{get;set;}公共嘘嘘{get;set;}}公共课嘘{公共字符串 BooId{get;set;}公共 Foo Foo{get;set;}} 当我收到错误时,我试图在实体框架中执行此操作: 无法确定类型之间关联的主体端“ConsoleApplication5.Boo"和“ConsoleApplication5.Foo".此关联的主体端必须使用以下任 ..

对 Sequelize 关联感到困惑

我刚刚发现 Sequelize 是一个很好的 ORM 框架,可以在我的节点 + MySQL webapp 中使用.但是当我设计我的数据库表时,我对 Sequelize 关联感到非常困惑. 只需将 webapp 中的用户和系统通知视为一个非常简单的案例: 该网站有很多用户 网站会向部分或所有用户发送通知,并且相同的通知只是保存为一条记录 用户可以知道他/她收到的任何通知是否已阅读(通 ..
发布时间:2022-01-19 18:49:35 其他开发

过滤后从 SQL Server 获取相关标签

我之前问过这个问题并得到了很好的答案. 查询是什么获取“相关标签"就像堆栈溢出一样 但我意识到 SOF 实际上更进一步,因为它支持多标签向下钻取 我的意思是,如果点击标签 C#,它会过滤到 20,000 个问题,它会显示所有与 C# 相关的问题的标签一个标签. 然后,我可以点击“Collections"标签,现在可以看到带有“C#"标签和“Collections"标签的问题 ..
发布时间:2022-01-18 21:48:54 数据库

标签系统中标签的 ID

我正在实现一个类似于 StackOverflow 标签系统的标签系统.我在考虑在存储标签并与问题相关时,这种关系将直接与标签名称相关,或者最好创建一个字段 tagID 以将问题与标签“链接"?看起来直接链接到标签名称更容易,但看起来不太好,主要是为什么在使用统计数据和/或标签分类(恕我直言)时很难管理这一点.另一个问题是当一个管理员决定“修复"标签名称时.如果标签名称中没有标签ID,那么我将更改表 ..
发布时间:2022-01-18 21:47:06 其他开发

用于标记、云和搜索的最佳数据架构(如 StackOverflow)?

我很想知道 Stack Overflow 的标记和搜索是如何构建的,因为它似乎工作得很好. 如果我想做以下所有事情,什么是好的数据库/搜索模型: 在各种实体上存储标签(标准化程度如何?即实体、标签和 Entity_Tag 表?) 搜索带有特定标签的项目 构建适用于特定搜索结果集的所有标签的标签云 如何在搜索结果中显示每个项目的标签列表? 也许以标准化形式存储标签是有意义的, ..
发布时间:2022-01-18 21:42:47 其他开发

将标签存储在数据库中的最佳方式?

我有一个包含两个表的数据库: 参赛作品 标签 条目表包含每个具有一个或多个标签的帖子.问题是,每个帖子都可以有任意数量的标签.换句话说,我不能有一个 'tag1'、'tag2' 等列并进行 LEFT JOIN. 我应该如何设置条目,以便每个帖子可以有任意数量的标签? 解决方案 你需要一个映射表. 创建一个名为 entries_tags 的表,其中包含两列:entr ..
发布时间:2022-01-18 21:32:17 其他开发

如何使用 php 和 mysql 创建标记系统?

想知道如何在 php 和 mysql 数据库中创建标签系统,我最初的想法是在存储文章的表中创建一行,命名标签,并列出用逗号分隔的标签,但我是不知道如何创建一个搜索匹配标签的查询,我不想每次有人点击标签时都查询每篇文章.谁能帮忙? 解决方案 您正在描述文章和标签之间的多对多关系.您可能希望使用中间联结表来解决这种关系. 现在,要查找与所选标签匹配的所有文章: 选择 a.article ..
发布时间:2022-01-18 21:21:13 PHP

什么标签模式最有效/最有效?

http://tagging.pui.ch/post/37027745720/tags-database-schemas Stackoverflow 的标签处理是迄今为止我见过的最好的. 有谁知道我可以从中获得一些想法的模式模式吗? 否则,我只是在寻找其他人成功实施的标签架构的建议. 解决方案 这完全取决于数据量和内容与标签的分布和密度比 如果您的标签分布和密度比率 ..
发布时间:2022-01-18 21:11:53 其他开发

用于标记的数据库设计

您将如何设计数据库以支持以下标记功能: 项目可以有大量标签 必须快速搜索使用给定标签集标记的所有项目(项目必须具有所有标签,因此它是 AND 搜索,而不是 OR 搜索) 创建/写入项目可能会更慢以实现快速查找/读取 理想情况下,应使用单个 SQL 语句来查找(至少)带有一组 n 个给定标签的所有项目.由于要搜索的标签数量以及任何项目上的标签数量都是未知的并且可能很高,因此使用 JO ..
发布时间:2022-01-18 20:53:03 其他开发

推荐的用于标记或标记的 SQL 数据库设计

我听说过一些实现标记的方法;使用 TagID 和 ItemID 之间的映射表(对我来说很有意义,但它可以扩展吗?),向 ItemID 添加固定数量的可能 TagID 列(似乎是个坏主意),将标签保留在逗号分隔的文本列中(听起来疯狂但可以工作).我什至听说有人推荐稀疏矩阵,但是标签名称如何优雅地增长? 我错过了标签的最佳实践吗? 解决方案 三个表(一个用于存储所有项目,一个用于所有标签 ..
发布时间:2022-01-18 20:50:25 其他开发

存储多语言字符串的最佳实践

我需要在 Postgres 表中为不同语言(2-4 种语言)存储不同版本的不太长的字符串. 最好的方法是什么?数组或 JSON 或类似的东西? 解决方案 首先确保 数据库语言环境 可以处理不同的语言.使用 UTF-8 服务器编码.可以选择将 LC_COLLATE = 'C' 设置为中立,或使用您的第一语言的排序规则来获得默认排序顺序.首先阅读手册中的排序规则支持一章. 我强烈建 ..

名称的推荐数据库列大小是多少?

关于数据库设计,对于某人的名字、中间名和姓氏等字段,推荐的列大小是多少?此外,中间名的标准一个字符是否安全,或者是否应该为中间名首字母留出额外的空间? 具体来说,我正在寻找可以让我不必担心国际使用的尺寸.我见过一些中间的首字母是两个字符,所以我怀疑单个字符是个好主意,但我很好奇是否已经有任何指导方针. 解决方案 ISO 尚未发布人类命名标准(目前),不过我听说最高级别正在通过初步草案 ..
发布时间:2022-01-18 13:34:28 其他开发

多个独立的mariadb用法:多个容器还是一个?隔离与效率?

我有一个架构问题. 假设我们有一个系统有多个子系统:A、B,等等.这些子系统中的每一个都需要持久化它们的数据,并且它们都使用 MariaDB.子系统 A 可能需要一个名为 a_db 的 database(如 create database ...);子系统B 可能需要一个名为b_db 的数据库.此外,A 和 B 之间没有数据共享 在微服务和 docker 之前的单体世界中,通常设置一个中 ..
发布时间:2022-01-15 20:28:23 其他开发

从多个表中选择 - 一对多关系

我有这样的表: 餐桌产品 [ 标识 |姓名] 表格图片 [ 产品 ID |网址 |订单号] 餐桌价格 [ 产品 ID |组合 |货币 |价格] 表格数量 [ 产品 ID |组合 |数量] 表格产品与其他表格是一对多的关系.我需要查询表并得到类似这样的结果(伪数组): [产品编号:1,名称:'样品产品',图片: [[网址,1],[网址,2]], ..
发布时间:2022-01-15 20:26:28 数据库