0

我正在建立一个迷你网站,允许人们通过名称和型号搜索小工具(手机、平板电脑等),我遇到的问题是,当您考虑到某些手机的名称约定时,如何最好地设置数据库.

例如,三星 Galaxy S 手机有很多变体,型号为 GT-I9000。例如三星 Galaxy S GT-I9000(以下变体)

  • 三星着迷
  • 三星活力
  • 三星着迷
  • 三星史诗4G
  • 三星催眠

任何人都可以就我设计这些表的最佳方式提供一些建议 - 基本上这个项目最终将有一个相当大的数据库,所以我正在尝试相应地计划它。

我希望能够设置数据库以使用户能够搜索“Captivate”或“Vibrant”,这将向他们显示 Galaxy S GT-I9000,因为这是设备的“主要”名称。

我目前有以下数据库表

brands - id, brand (eg 2, Samsung)
devices - id, brand_id, device_type_id, name (eg 1, 2, 3, Galaxy S)
device_types - id, type (eg 3, phone)

任何建议将不胜感激。让我知道是否需要更多信息来了解我想要实现的目标,我将使用 MySQL 作为数据库。

4

1 回答 1

2

诉讼支持系统在人员方面一直遇到这个问题。通常的方法是建立一个别名表。最简单的结构是只有两列的表。

create table device_aliases (
  device_id integer not null,
  device_alias varchar(20) not null,
  primary key (device_id, device_alias),
  foreign key (device_id) references devices (id)
);
于 2013-07-19T14:26:10.033 回答