Kgo*_*ser 3 postgresql database-design
我是一名前端开发人员/设计师,正在尝试扩展并了解更多有关后端世界的信息。我选择了 Python、Django 和 Postgres 作为我的起点。我的目标是构建一个个人网络应用程序,并将其用作我学习的催化剂。这真的很有趣。
我正处于设计数据模型的阶段。我通常会修补并解决问题,但在这种情况下我很好奇什么是可能的。
我的应用程序的数据模型的一个很好的类比是电子表格。用户可以创建“电子表格”,然后确定“列”,然后确定每列的数据类型。
因此,作为一个纯粹的示例,一个新工作表具有以下列:
Name (text)
Cost (number / currency)
Date (time stamp
Frequency (number)
Notes (text)
Run Code Online (Sandbox Code Playgroud)
然后,可以添加“行”,其中每个条目都有名称/成本/日期/频率/注释的值,以及一些元数据,例如谁创建了该行,在什么时间等。
我不确定完成此示例的最佳模式是什么。下面是我想出的最好的主意。我想知道是否有人愿意评论这是否是最好的方法,或者就不同的方向提供反馈。
我从未尝试过这样的事情,但也许这样的模式会起作用:
电子表格 Spreadsheet_id(唯一键) 姓名 行数 列数 列类型 type_id(唯一键) 类型名称 电子表格行数 Spreadsheet_row_id(唯一键) Spreadsheet_id(指电子表格.spreadsheet_id) row_seq_num(用于屏幕上的行排序) 行名 电子表格_列 Spreadsheet_col_id(唯一键) Spreadsheet_id(指电子表格.spreadsheet_id) col_seq_num(用于屏幕上的列排序) column_type_id(指column_types.type_id) 列名 电子表格单元格 cell_id(唯一键) Spreadsheet_id(指电子表格.spreadsheet_id) row_id(指spreadsheet_rows.spreadsheet_row_id) col_id(指spreadsheet_cols.spreadsheet_col_id) cell_value(保存实际值!)
当然,您只会spreadsheet_cells
为非空值创建记录......
归档时间: |
|
查看次数: |
3560 次 |
最近记录: |