关于数据库的几个建议

等了两年,数据库终于出来了,感谢两位大神。正在考虑把个人笔记从 notion 搬过来。现在同时满足本地化、端对端加密、有数据库(属性视图)、块属性、正反链的笔记应用,思源是独一份。更不要说还有 sql,还有一个块可以加入多个数据库的设置。

试用数据库功能后,有几点小建议:

  1. 块加入数据库后,点该块右上角的数据库图标,会跳出块属性弹窗,其中“数据库”标签页上,能否加入一个“移出/删除”按钮,将该块在此数据库中的那行记录删除。因为可以在此处加入,就应该在可以此处删除。否则将来要到数据库的成百上千行里去找到此块的记录再删除, 太麻烦了。

  2. 块加入数据库后,将此块移动到别的文档中,数据库的连接是可以跟过去的。但是剪切此块粘贴到别的地方,数据库连接就丢了。希望能有一个办法,能让块带着数据库连接剪切粘贴。

  3. 数据库的单选列和多选列,选项无法自定义排序。选项顺序其实是有内在逻辑在里面的,没有这个排序功能,感觉非常不顺手。

  4. 在 notion 的 database 里面,我常把关联当成多选来用。因为很多情况下,选项本身有扩展信息要记录在另一张表里。现在关联的选项也是无法自定义排序的。可否用这种办法来实现?将数据库中的列名,比如说 “ChoiceOrder” 作为保留字,如果用户在数据库里加上了这一列,作为关联的选项时,就按照用户在这一列中自己填的整数来排序。

  5. 我有在手机上写笔记写任务汇总的需求,现在移动端里数据库界面的列宽实在是太宽了,一列就占掉了几乎所有屏幕。能否在视图设置中每个属性设置面板后面加一个整数的输入框,让用户自己设定某一列/属性的列宽。这比在界面上去实现拖拽调整要方便的多。

  6. 能否实现块在数据库中的属性可用于 sql 查询?因为从逻辑上来说,数据库中的属性也属于块/节点的信息,而且是结构化的核心的信息,是最适宜,也最有可能被用到的 sql 查询/筛选的依据。

    谢谢!

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    20156 引用 • 77714 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 就是 添加到数据库,之前填充的值自己再填一下呗

    1 回复
  • 其他回帖
  • 问题在于,可以在浏览器、本地应用、其他设备网络伺服打开同一个思源,这些地方还都能进行撤回操作,假如你剪切粘贴了一个块到一个新的页面后,在原来的页面进行 ctrl+z 撤回,它该怎么知道 id 重复了呢?

    这个问题的本质,其实是多线程竞争写入还要负责撤回啊。

  • 块加入数据库后,将此块移动到别的文档中,数据库的连接是可以跟过去的。但是剪切此块粘贴到别的地方,数据库连接就丢了。希望能有一个办法,能让块带着数据库连接剪切粘贴。

    只能用鼠标拖拽。

    相关 issue:Issue #6807 · siyuan-note/siyuan

    1 回复
  • san11pk
    作者

    @88250

    麻烦您给我一个反馈,确认这些功能在不在路线图上,好吗?

    1. 关联选项的自定义排序
    2. 数据表界面的列宽自定义设置
    3. sql 查询可用数据库属性做条件

    另外,刚发现两个需求:

    1. 数据库的属性顺序(列的次序)没有办法调整, 能否在视图设置中加入这个功能

    2. 数据库日期列有缺省值 now, 新增行里该属性虽然没有填写,显示为空白,但用模板列引用,其值为当前日期而不是“1970-01-01”。 要到日期属性里去清空,才能引用出来“1970-01-01”。 可否如同 notion flowus 那样,对模板引用空白属性做一个判断?if exist {}

      谢谢了

    1 回复
  • 查看全部回帖

推荐标签 标签

  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 51 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 705 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    28 引用 • 66 回帖 • 7 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 2 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 1 关注
  • 博客

    记录并分享人生的经历。

    272 引用 • 2386 回帖
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    88 引用 • 1234 回帖 • 442 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    122 引用 • 73 回帖
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    85 引用 • 122 回帖 • 617 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 442 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 396 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 65 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    143 引用 • 3752 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    230 引用 • 1454 回帖
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 322 关注
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    7 引用 • 26 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    333 引用 • 619 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8208 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 48 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 429 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    96 引用 • 330 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1427 引用 • 10046 回帖 • 472 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖