Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.08;
Скачать: CL | DM;

Вниз

Что лучше делать: увеличивать количество записей или ???   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
3-24300
Nikkkkk
2003-08-19 10:28
2003.09.08
Быстрый поиск при помощи TTable


8-24560
dansik
2003-05-09 03:26
2003.09.08
Bitmap


14-24682
rrk
2003-08-18 13:52
2003.09.08
Новый дизайн. Зацените!


1-24521
ZHK
2003-08-26 13:22
2003.09.08
EInvalidPointer?


6-24583
Diamond Dog
2003-06-21 19:35
2003.09.08
Ограничение трафика