我正在构建一个迷你网站,允许人们按名称和型号搜索小工具(手机,平板电脑等......),我遇到的问题是如何在考虑名称约定时最好地设置数据库一些手机。
例如,三星Galaxy S手机有多种款式,型号为GT-I9000。 例如三星Galaxy S GT-I9000(下面的变化)
是否有人能够就我设计这些表格的最佳方式提供一些建议 - 实质上这个项目最终将拥有相当大的数据库,因此我正在尝试相应地进行规划。
我希望能够设置数据库以使用户能够搜索“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作为数据库。
答案 0 :(得分: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)
);