Форум: "Базы";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
ВнизЧто лучше делать: увеличивать количество записей или ??? Найти похожие ветки
← →
Sirus (2003-08-19 07:31) [0]Привет Мастера... Есть вопрос:
Что лучше делать: Увеличивать количество записей или увеличивать объем записи??? У меня в таблице запись состоит из фамилии и нескольких полей одинакового типа FIELD1, FIELD2, ... FIELDN. Есть два варианта таблицы:
1. Можно сделать одну запись со множеством полей
2. Можно сделать несколько записей с Фамилией и одним полем FIELD.
Помогите выбрать...
← →
Verg (2003-08-19 07:46) [1]Приведи-ка описание таблицы для своих двух вариантов.
Т.е. create table .......
Посмотрим чем они отличаются. Похоже, что какая-то путаница с термином запись
← →
Sirus (2003-08-19 08:55) [2]
create table kvts (
un_id varchar(8),
fio varchar(50),
kvt1 integer,
kvt2 integer,
kvt3 integer,
kvt4 integer,
kvt5 integer,
kvt6 integer,
kvt7 integer,
kvt8 integer,
kvt9 integer,
kvt10 integer)
Дело в том что многие из этих полей в зависимости от обстоятельств могут оказаться NULL, и не участвовать в расчетах.
Есть идея просто сделать таблицу типа
create table kvts (
un_id varchar(8),
fio varchar(50),
kvt integer,
kvt_id integer)
KVT_ID чтобы узнать какое именно это поле...
← →
stud (2003-08-19 09:09) [3]а зачем вообще нужны эти поля и что они описывают??
← →
DenK_vrtz (2003-08-19 09:11) [4]>>Что лучше делать: Увеличивать количество записей или >>увеличивать объем записи???
Если отталкиваться от скорости работы, то лучше, я думаю, увеличить объем записи. Наличие в таблице лишних полей не влечет за собой никакого криминала.
← →
Johnmen (2003-08-19 09:13) [5]Зависит от предметной области, смысловой нагрузки kvt int и их количества.
← →
Sirus (2003-08-19 09:14) [6]В общем клиент платит за услуги по градации тарифов...
т.е. если услуга пястчная то он платит скажем 10 ед. по первой гр. т.е. в поле kvt1.
Если услуга стоящая то он платит 10 ед. по 1-гр., 15 по 2-гр. и тд...
← →
stone (2003-08-19 09:26) [7]А эти графы для всех клиентов разные?
← →
Danilka (2003-08-19 09:26) [8]второй вариант:
create table kvts (
un_id varchar(8),
fio varchar(50),
kvt integer,
kvt_id integer)
в любом случае не катит - большая избыточность.
тогда уж 2 таблицы:
create table kvts (
un_id varchar(8),
fio varchar(50))
и
create table kvts_sp (
un_id varchar(8),
kvt_id integer,
kvt integer)
и еще, un_id как я понимаю - ключ, он обязательно должен быть varchar(8)? на мой взгляд уж лучше интегер.
← →
HSolo (2003-08-19 10:07) [9]Я присоединяюсь к варианту от Danilka © (19.08.03 09:26) с 2 таблицами. Только ключи, по-моему, лучше сделать integer (если у них нет особой причины быть непременно varchar-ами) - скорость выше (см. http://www.ibase.ru/devinfo/test1.htm).
И еще один довод в пользу решения с 2 таблицами:
> многие из этих полей в зависимости от обстоятельств могут оказаться NULL
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c