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

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(使用前将#替换为@)

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

  • 如何从 Trie 中检索给定长度的随机单词

    我有一个简单的 Trie 用来存储大约 80k 长度为 2 15 的单词 它非常适合检查字符串是否是单词 但是 现在我需要一种获取给定长度的随机单词的方法 换句话说 我需要 getRandomWord 5 来返回 5 个字母的单词 所有 5
  • 如何将表移动到 T-SQL 中的架构中

    我想使用 T SQL 将表移动到特定架构中 我正在使用 SQL Server 2008 ALTER SCHEMA TargetSchema TRANSFER SourceSchema TableName 如果你想搬家all表到一个新的模式
  • 为什么要为字符变化类型指定长度

    参考 Postgres 文档字符类型 http www postgresql org docs current static datatype character html 我不清楚指定字符变化 varchar 类型的长度 假设 字符串的长
  • Lucene.NET:如何使用BlockJoinQuery?

    我正在尝试使用 Lucene NET 4 8 进行关系搜索 实际上我使用最新消息来源 https github com apache lucenenet 依照指示这个帖子 http blog mikemccandless com 2012
  • 创建涉及 ArrayType 的 Pyspark 架构

    我正在尝试为我的新 DataFrame 创建一个架构 并尝试了括号和关键字的各种组合 但无法弄清楚如何完成这项工作 我目前的尝试 from pyspark sql types import schema StructType StructF
  • 数据库设计 :: 2 个参与者事件中的标准化 :: 连接表或 2 列?

    Edit 更新广义问题以反映实际领域 曲棍球运动 实际的活动是比赛日程 参与者是团队 球队是最终的 所有者 即 当球队被删除时 任何相关的预定比赛 结果 球员和球员统计数据也应被删除 本线程到目前为止讨论的问题涵盖了将事件组合成具有 2 列
  • XML 模式不区分大小写的简单类型字符串枚举

    我的 XML 架构 xsd 文件中需要不区分大小写的字符串枚举类型 我可以通过执行以下操作来不区分大小写
  • 如何使用核心服务在 SDL Tridion 中设置组件内容而不加载 XML?

    如何在不加载的情况下将内容设置为组件XML http en wikipedia org wiki XML在 SDL Tridion 中使用核心服务 如果您希望通过核心服务创建常规组件 则可以使用以下方法来避免自己编写 XML这个辅助类 ht
  • 淹没在空无的海洋中

    我继承的一个应用程序跟踪对材料样品执行的实验室测试结果 数据存储在单个表 tblSampleData 中 其主键为 SampleID 并有 235 列代表潜在的测试结果 问题是每个样本仅执行少量测试 因此每行包含超过 200 个空值 实际上
  • 当您有两种类型的记录时,该表的最佳数据库设计是什么

    我正在跟踪练习 我有一个workout表与 id 练习ID 外键进入练习表 现在 一些练习 例如重量训练 将包含以下字段 重量 次数 我刚刚举起 10 次 100 磅 跑步等其他练习将包含以下字段 时间 距离 我刚刚跑了5英里 花了1个小时
  • Rails 中多表单复选框的数据库结构

    我正在开发一个 Rails 应用程序 允许用户创建时间表 这样做时 他们应该能够选择事件发生在一周中的哪几天 我计划在表单中执行此操作的方式是每个工作日旁边有一个复选框 如下所示 etc 然而 我发现这可能不是处理这个问题的非常有效的方法
  • 在 Laravel Schema 中创建价格列

    我想在 Laravel 模式中创建一个价格列 public function up Schema create cameras function Blueprint table table gt increments id table gt
  • 如何在存储过程中查找数据表列引用

    我更改了 SQL Server 2005 数据库表中的列名称 我还有一个相当大的存储过程集合 它们可能引用也可能不引用该列 有没有办法找到哪些存储过程引用该列 而无需实际遍历每个存储过程并手动搜索它 有没有办法自动查找哪些存储过程现在会中断
  • 用于验证一个参数的多种类型和值的 json 架构

    请在这件事上给予我帮助 我尝试编写一个 json 模式来验证以下对象 json 对象 param value 可能的值 all 任意整数的数组 所以它是一个简单的 json 对象 其中包含一个变量 可以是字符串 all 也可以是任何整数数组
  • SQLite 查询查找主键

    在 SQLite 中 我可以运行以下查询来获取表中的列列表 PRAGMA table info myTable 这给了我列 但没有关于主键可能是什么的信息 此外 我可以运行以下两个查询来查找索引和外键 PRAGMA index list m
  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • 对于数据库来说,选择正确的数据类型会影响性能吗?

    如果是这样 为什么 我的意思是 tinyint 的搜索速度比 int 快吗 如果是这样 性能上的实际差异是什么 是的 根据数据类型 它确实有所不同 int vs tinyint不会在速度上产生明显的差异 但会在数据大小上产生差异 假设tin
  • 如何跟踪用户在 X 天内每天访问该网站?

    Stack Overflow 上有一个新徽章 这 woot https stackoverflow com badges 71 woot enthusiast 徽章将授予连续 30 天内每天访问该网站的用户 如何实现这样的功能 如何以最简单
  • 数据库表设计

    我在选择数据库表的变量类型时遇到问题 有人可以给我一些关于如何选择类型的一般准则吗 以下是我的一些问题 用户 ID 应该是什么 INT 看起来很小 因为设计时应该考虑到大量用户 那么如果不是 INT 还有什么呢 大整数 VARCHAR 难道
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex

随机推荐

  • 在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