3

我需要能够根据以下规则为用户提供其项目的下一个可用文件名。

  • 3 个字符代表公司名称或位置

  • 1 个字符表示型号(即 2 表示 3200 系列,3 表示 3300 系列)

  • 验证类型的 1 个字符,仅是数字 2 或 3

  • 1个字符,用于讲述其生产或发展

  • 版本号为 1 个字符。(有人建议它是 0 - z )不知道如何用一个字符来做到这一点。

如果有人对仅用 7 个字符表示所有这些内容的文件命名有更好的想法,请告诉我。文件被加载到电子设备上,它不接受长度超过 7 个字符的文件名。

我想我会创建一个界面,以便有人可以单击该位置并单击 prod 或 dev 的复选框等等,当应用程序提示用户输入文件时,它会吐出一个可行的文件名供用户键入姓名。这些文件可能很多,所以我面临着确保它们保持有序的相当大的挑战,我们可以根据文件的名称发现文件的详细信息并确保它们是唯一的。

有任何想法吗?

4

1 回答 1

1

像这样的东西应该足以开始测试。它不会在 MySQL 中像所写的那样工作,但您可以用外键约束替换检查约束。

create table filenames (
  company_name_or_location char(3) not null,
  model char(1) not null,
  validation_type char(1) not null check (validation_type in ('2', '3')),
  prod_or_dev char(1) not null check (prod_or_dev in ('p', 'd')),
  version char(1) not null,
  primary key (company_name_or_location, model, validation_type, prod_or_dev, version)
);

笔记

所有列都允许使用任何字母数字字符,包括(可能)Unicode 字符。那可能不是你想要的。消除 Unicode 字符的最佳方法可能是使用不包含 Unicode 的排序规则。您可能希望对表执行此操作,而不是对整个数据库执行此操作。

如果您使用代理键,您仍然需要我为该表编写的所有其他约束,包括列 {company_name_or_location, model, validation_type, prod_or_dev, version} 上的 UNIQUE 约束。(您需要所有这些约束,或解释 Unicode 的等效约束,以确定模型是否应该允许数字或字母数字等)

于 2013-03-18T15:16:31.890 回答