如何在关系数据库中存储字典树?

2023-12-28

我有一个前缀特里树。在关系数据库中表示此结构的推荐模式是什么?我需要子字符串匹配才能保持高效。


怎么样物化路径 http://www.dbazine.com/oracle/or-articles/tropashko4 design?

CREATE TABLE trie (
  path VARCHAR(<maxdepth>) PRIMARY KEY,
  ...other attributes of a tree node...
);

存储像“stackoverflow”这样的单词:

INSERT INTO trie (path) VALUES
  ('s'), ('st'), ('sta'), ('stac'), ('stack'),
  ('stacko'), ('stackov'), ('stackove'), ('stackover'),
  ('stackover'), ('stackoverf'), ('stackoverflo'),
  ('stackoverflow');

树中的物化路径是字符本身的前缀序列。这也构成了主键。 varchar 列的大小是要存储的 trie 的最大深度。

我想不出有什么比这更简单直接的了,而且它保留了高效的字符串存储和搜索。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在关系数据库中存储字典树? 的相关文章

  • Django,多表继承有那么糟糕吗?

    这并不是 django 特有的 一罐模型 Place with location name and other common attributes Restaurant menu ConcertHall hall size 在两个单独的表中
  • 在数据库中存储布尔值的最佳数据类型是什么

    在数据库中存储布尔值的最佳数据类型是什么 最常用的 RDBMS 类型 例如 Mysql oracle postgres mssql 都支持它 您可以使用 TINYINT 或位数据类型
  • 两种表结构的区别

    我对这两种结构很困惑 这两个表各有什么优缺点 哪一个更好 为什么 TABLE1 反模式 在常见情况下 第二个表是反模式在数据库设计的背景下 而且 更重要的是 它有特定的名称 实体 属性 值 EAV 在某些情况下 使用这种设计是合理的 但这种
  • 在数据库中对用户定义的层次关系进行建模的最佳方法是什么?

    本质上 我希望用户能够定义分层模型 但随后我需要允许用户在其定义的模型中存储数据 这有道理吗 因此 用户将能够创建新的 单元类型 以分层方式进行组织 并决 定如何组织这些类型的单元 一个简单的例子 在我假设的界面中 用户创建了三种单位类型
  • 我应该创建代理键而不是复合键吗?

    结构 Actor lt ActorMovie gt Movie ActorMovie ActorID fk MovieId fk gt pk ActorID MovieID 我应该创建一个代理键吗ActorMovie桌子是这样的 Actor
  • 具有备用序列的列

    我想创建一个 user widgets 表 该表由 user id 和 user widget id 主键 其中 user widget id 的工作方式类似于序列号 除了每个用户从 1 个开始 对此有通用或实用的解决方案吗 我正在使用 P
  • 数据库模式混乱

    当我设计一些类时 我遇到了轻微的术语混乱 在 Sql Server 2005 中 架构 指的是数据库对象的命名空间和组织系统 但对于一般的关系数据库来说 模式 意味着表 字段等的 DDL 设计 如果我的观点是正确的 那么它解释了当我尝试阅读
  • 为什么 Jing 不允许在 id 属性中使用冒号(“:”)?

    我一直在努力反对 xsd ID 不允许在 id 属性中使用冒号 我第一次注意到这一点是在 Emacs 中使用 James Clark 的 nxml mode 时 因为它验证了我正在使用的 XHTML 文件 然后 我使用 Jing 针对 RN
  • 每个表都应该有主键吗?

    我正在创建一个数据库表 但没有为其分配逻辑主键 每个表都应该有主键吗 简短回答 yes 长答案 你需要你的桌子可以加入一些东西 如果您希望表聚集 则需要某种主键 如果您的表设计不需要主键 请重新考虑您的设计 很可能您遗漏了某些内容 为什么要
  • 数据库优化命令

    在用户可以下订单的数据库中 最好有一个包含地址的新表 还是每个订单的标题中都有地址数据 这不仅涉及用户 及其地址 还涉及您所销售产品的价格和其他信息 这些信息可能会发生变化after订单已下达 但订单本身必须保持完整 一般来说 有两种方法
  • Bigtable数据库设计理论

    我非常精通关系数据库设计的理论和实践 我知道什么有效 什么无效 什么是高性能的 什么是可维护的 几乎 当您开始拥有真实数据时 总是有需要调整的地方 看来我找不到关于分布式可扩展数据库的大量知识 例如 Google 的 Bigtable 用于
  • 我应该设计一个 SQL Server 数据库来依赖 UNION 还是避免它?

    执行以下 SQL 查询 SELECT Account Amount AS Deposit 0 00 AS Withdrawal Date FROM Deposits WHERE Account Account UNION SELECT Ac
  • 用户评级的 ER 模型

    我有很多 用户 每个用户最多有 5 个 服务 用户应该能够对每项服务进行评分 0 5 我还想保留用户的平均评分 这是我的想法 但是还有更好的方法吗 User id user name dob 服务 固定数量的服务 id service de
  • 在数据库设计中什么时候需要使用一对一关系?

    在数据库设计中什么时候需要使用一对一关系 在我看来 如果两个表是一对一的关系 那么它们可以合并成一个表 这是真的 对大型表进行垂直分区以减少 I O 和缓存需求 将经常查询的列与很少查询的列分开 向生产系统添加列时alter table就是
  • 将图像文件存储在猫鼬模式的二进制数据中并以html形式显示图像

    我正在使用 Express Node js 和 Mongodb 创建上传和显示图像文件的网页 我使用 schema 将图像的二进制文件保存在 mongodb 中 这是我在index js和db js中的一点代码 var Post mongo
  • 数据库、表和列命名约定? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 每当我设计数据库时 我总是想知道是否有命名数据库中项目的最佳方法 我经常问自己以下问题 表名应该是复数吗 列名应该是单数吗 我应该为表或列添加前
  • 在 django 中创建“历史”类型模型的最佳方法是什么?

    我想为我的 Django 应用程序创建一个类似于 Django 管理员的 最近操作 的功能 以便存储其他模型的历史信息 例如 假设我有两个模型 分别称为 Book 和 Author 我想要第三个模型来存储信息 例如由谁以及何时对模型中的给定
  • Firebird数据库模式/数据差异工具

    RedGate http www red gate com为 Microsoft SQL Server 制作一个工具 允许您捕获两个数据库之间的差异 它生成更新数据库模式所需的脚本 同时保留数据 我需要为 Firebird 数据库找到这样的
  • 设计 Cassandra 数据模型的最佳实践是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 以及需要避免哪些陷阱 您有任何交易中断吗 例如 我听说导出 导入 Cassandra 数据非常困难 这让我想知道这是否会妨碍将生产数据
  • 如何在 SQL 中存储目标(例如 RPG Quest)

    今天有人问我他们应该如何将任务目标存储在 SQL 数据库中 在这种情况下 请考虑角色扮演游戏 目标可能包括以下一些内容 发现 地点 杀死 n MOB 类型 获取 对象 的 n 个 实现 技能组 中的 技能 你在角色扮演游戏中获得的所有其他东

随机推荐

  • 在python中将字符串转换为十六进制

    我有一个脚本调用一个函数 该函数采用十六进制数字作为参数 该参数需要 0x 前缀 数据源是数据库表 存储为字符串 因此返回 0x77 我正在寻找一种从数据库中获取字符串并将其用作带有 0x 前缀的十六进制形式的参数的方法 这有效 addr
  • withFilter 的值不是 Cats IO 中的成员以供理解

    我写了这段代码并且编译得很好 for list List Int lt Future List 1 2 3 yield list size res7 Future Int Future Success 3 但是如果我将此代码转换为 for
  • 在 Notepad++ 中每行末尾添加一个字符 )

    我想添加 字符 右括号 到所有行的末尾 I see CR是每行的结束符号 菜单 gt 视图 gt 显示符号 gt 显示行尾 我尝试更换 r with r在正则表达式模式下但它不起作用 我该怎么做呢 Use 在正则表达式模式下匹配行尾 用 来
  • Maven 中的 SSL 客户端证书

    我使用 maven jaxb22 plugin 生成类 以便我可以调用用 Net 编写的 Web 服务 通常它工作正常 但这次 我只能使用客户端证书通过 HTTPS 访问 WSDL 无法通过 HTTP 访问 我能够让它与 SoapUI 一起
  • 在 C++ 中将一个文件的内容复制到另一个文件

    我正在使用以下程序尝试将文件 src 的内容复制到 C 中的另一个文件 dest 简化的代码如下 include
  • 将文本基线与 CSS 中的按钮对齐

    I would like to achieve one of the two alignments represented on this image CSS3 is ok or even better if it makes things
  • 标准化编辑距离

    我有一个问题 我们可以通过将 e d 值除以两个字符串的长度来标准化编辑距离吗 我问这个问题是因为 如果我们比较两个长度不等的字符串 两个长度之间的差异也会被计算在内 例如 ed 有一个 有一个球 4 和 ed 有一个 有一个球是圆的 15
  • 设置/更新 aspxauth 和 asp.net_sessionid cookie 的过期时间

    我想知道是否有一种方法可以设置 NET 应用程序来设置和更新浏览器中 aspxauth 和 asp net sessionid cookie 的过期时间 据我所知 cookies 的过期日期类似于 1 1 0001 告诉浏览器保留它们直到浏
  • 所有屏幕设备的图像尺寸

    I have PSD 其分辨率为1080X1920 它包含一个Dot分辨率为的图像22X22 我已经裁剪了该图像并将其放入我的res folder 我的问题是 Android 如何知道该图像的用途1080X1920屏幕 它会打开更大的相同图
  • 如何在ES6模块中导入部分对象

    In the 反应文档 https facebook github io react docs pure render mixin html我找到了这种导入 PureRenderMixin 的方法 var PureRenderMixin r
  • Perl 中的 '`' 字符有什么作用?

    我使用 Perl 来读取文件的每一行 我使用命令行工具来调用服务 我注意到一些有趣的功能 但我不知道如何搜索 到变量 cmd我分配了调用该服务的命令 如果我参考 cmd稍后在代码中它会打印出命令行参数 但如果我将其称为 cmd 但是 它给出
  • Yosemite SSL:设置了 CA 证书,但禁用了证书验证

    自从安装 Yosemite 以来 我不断收到错误 SSL CA 证书集 但证书验证已禁用 终端中的每个 https url 都会出现这种情况 找不到如何解决这个问题 有什么建议吗 谢谢 坦率 对于其他来到这里试图弄清楚为什么他们在使用 Wo
  • 按值对 HashMap 数据进行排序

    我想在 Rust 中按值对 HashMap 数据进行排序 例如 在计算字符串中的字符频率时 我正在尝试做的 Python 等效项是 count for c in text count c count get c 0 1 sorted dat
  • PhoneGap/Cordova 日历集成 (Android)

    我正在使用 PhoneGap 又名 Cordova 构建 Android 应用程序 但在日历集成工作方面遇到问题 免责声明 我对 Android 和 PhoneGap 都是菜鸟 请耐心等待 我想做的就是向用户的日历添加一个事件 下列的本教程
  • 在AWS Elastic Beanstalk上的node.js项目中编译less文件并缩小js文件

    我正在使用 Eb 命令行界面将 node js 项目部署到 AWS Elastic Beanstalk 我正在使用 git 进行版本控制 因此 我运行的部署命令只是 git aws push 在本地 我使用 grunt 从 less 文件编
  • 是否可以同时安装2个不同版本的GCC?

    我使用的是Ubuntu 9 10对于一段特定的代码 我需要 GCC 3 2 但我有更高的版本 是否可以安装多个版本并使用我想要的任何一个 你 如果 gcc 3 3 没问题 您可以为 dapper 下载 gcc 3 3 和相关的 deb 软件
  • 安装 Expo CLI 时无法清除此错误 - ENOTEMPTY

    以下是错误 npm 错误 代码 ENOTEMPTY npm 错误 系统调用重命名 npm 错误 路径 usr local lib node modules expo cli npm 错误 dest usr local lib node mo
  • Spring Context 和 Bean Lifecycle 回调:实际使用示例

    我对春天有一点经验 我想知道 Spring Context Bean Lifecycle 中的回调数量 我从未使用过它们 并且可以想象最需要它们的情况 我的问题是 您能为每个回调提供至少一个使用示例吗 表示您需要回调的情况 Conext c
  • '(unsigned)1' 和 '(unsigned)~0' 之间的区别

    有什么区别 unsigned 0 and unsigned 1 为什么是unsigned of 0 is 1 and unsigned of 1 is 1 这是否与无符号数在内存中的存储方式有关 为什么无符号数会给出有符号的结果 它也没有给
  • 如何在关系数据库中存储字典树?

    我有一个前缀特里树 在关系数据库中表示此结构的推荐模式是什么 我需要子字符串匹配才能保持高效 怎么样物化路径 http www dbazine com oracle or articles tropashko4 design CREATE