![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разнесение данных по двум таблицам: имеел ли смысл? [MSSQL]
Ega23 © (2005-08-04 12:25:00)Есть 2 таблциы:
create table Classes (
CLSID int not null,
ParCLSID int null,
CLSGUID uniqueidentifier not null,
CLSNam varchar(64) not null,
CLSTableNam varchar(64) default '' not null,
AbstractFl tinyint not null,
constraint PK_CLASSES primary key (CLSID)
)
go
print 'Создание таблицы Classes'
alter table Classes
add constraint FK_CLASSES_REFERENCE_CLASSES foreign key (ParCLSID)
references Classes (CLSID)
go
create table ClassesAdd (
UNID int Identity(0,1) not null,
CLSID int not null,
CLSLab varchar(64) not null,
CLSMultiLab varchar(64) not null,
CLSImg image null,
CLSMultiImg image null,
constraint PK_CLASSESADD primary key (UNID)
)
go
print 'Создание таблицы ClassesAdd'
alter table ClassesAdd
add constraint FK_CLASSESA_REFERENCE_CLASSES foreign key (CLSID)
references Classes (CLSID)
go
В принципе, сущность данных - одна и та же. Можно всё в одну таблицу запихать. Только вот к первой таблице будут очень частые запросы идти, а ко второй - наоборот очень редко.
Как думаете, что более оптимальное - оставить так, как есть, или объединить эти 2 таблицы в одну?
Rule (2005-08-04 12:32:00) [21]Ega23 © (04.08.05 12:30) [3]
так как для каждого класса есть иконка и название пользовательского интерфейса, то можно предположить, что целесообразней все хранить в одной таблице а выбирать только те поля которые действительно нужны ...
Ega23 (2005-08-04 12:30:00) [22]Да. Фактически таблица ClassesAdd - продолжение таблицы Classes. В неё вынесены иконки и названия для пользовательского интерфейса.
Rule (2005-08-04 12:30:00) [23]думаю надо все в одну, если они логически родственны, если логика разная (имею ввиду бизнесс-логику, тоесть физический смысл), то нада разносить чтоб не запутать себя и других, ИМХО конечно
ANB (2005-08-04 12:28:00) [24]Связки один к одному ?