像书本一样在数据库中创建“页码”

时间:2014-10-20 11:50:24

标签: database-design database-schema

我正在开发一个项目,我必须创建一个“画布”,用户可以在其中保存“笔记”enter image description here。画布中有多个部分,用户必须登录才能将任何内容保存到画布中。此外,还有画布编号,如书号,显示画布的不同页面。我现在进入项目的数据建模阶段。

我现在的想法是在画布中为每个部分创建一个基表“用户”和用户一对多的关系。基类还有一个名为“canvas-number”的字段。

我的问题是,我怎么能创建一个数据模型,我可以说,现在这个画布将由用户保存,让我们用下一个数字启动画布。我清楚了吗?因此,每当用户点击画布号时,他只会显示该画布号的音符。如果我的问题不清楚,请问什么不清楚,而不是只是标记它没有生产力和所有。谢谢。

P.S:我正在使用PostgreSQL

以下是基本架构。

1 个答案:

答案 0 :(得分:1)

据我了解

  • 画布只属于一个用户
  • 用户可以拥有许多画布
  • 画布可以有很多音符

因此,每个用户使用自然键概念和画布编号1,2,3:

  • 用户(登录名,名字,姓氏等)
  • canvas(登录名 canvasno ,creationdate,等等......)
  • 注意(登录名 canvasno noteno ,位置,文字,...)

要获取下一个画布编号,您需要为登录名选择max(canvasno)。

使用自然关键概念和独特的画布编号(因此一个用户可能有画布1,5和7以及另外的2,3,13等):

  • 用户(登录名,名字,姓氏等)
  • canvas( canvasno ,creationdate,等等......)
  • 注意( canvasno noteno ,位置,文字......)

您可以通过选择max(canvasno)或仅使用自动增量列来获取下一个画布编号。

使用ID概念:

  • 用户( id_user ,登录名,名字,姓氏等)
  • canvas( id_canvas ,id_user,canvasno,creationdate,等等......)
  • 注意( id_note ,id_canvas,noteno,position,text,...)

要获取下一个画布编号,您需要为用户的ID选择max(canvasno)。