文件 | 文档附件 | 附件日期 | 地点 | 示例文件 |
---|---|---|---|---|
阿达尔 | ||||
潘 | ||||
口粮 |
我想为上面创建一个SQL表。文档列具有静态数据。我们如何落实常态化理念?
嗯,你应该解释一下列代表什么。 “文档附件”和“地点”应该包含什么?
此外,实际设计可能取决于您使用的数据库。
表格 - 正如它看起来 - 已经标准化。
这是甲骨文:
SQL> create table document
2 (document_id number primary key,
3 document varchar2(20) not null,
4 doc_attachment varchar2(20),
5 attachment_date date,
6 place number,
7 sample_file blob
8 );
Table created.
SQL>
线
document_id
- 主键列。如果您使用的数据库支持它,请使用 identity 列。如果没有,请以不同的方式提供其值(序列?数据库触发器?手动提供?)document
看起来像某个名字,所以 - 它是一个字符串。选择其大小,使值适合该列doc_attachment
和 place
:不知道它们代表什么attachment_date
是日期;如果您需要更高的精度,请使用时间戳(我猜您不需要,不是在这里)sample_file
:如果您要在此处上传文件,请使用 BLOB
数据类型列也许您希望将示例文件保存在单独的表、单独的表空间中,以用于备份和可能的性能目的。在这种情况下,将该表拆分为两个,其中 files 引用 documents:
SQL> create table document
2 (document_id number primary key,
3 document varchar2(20) not null,
4 doc_attachment varchar2(20),
5 attachment_date date,
6 place number
7 );
Table created.
SQL> create table files
2 (file_id number primary key,
3 document_id number references document not null,
4 sample_file blob
5 )
6 tablespace user_data;
Table created.
SQL>