Главная страница
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.02 c
1-24413
FoxBox
2003-08-25 15:37
2003.09.08
Наличие метода в классе


14-24689
Tvister
2003-08-19 17:21
2003.09.08
Скачал (после некоторго перерыва) Дайджесты форумов и ужаснулся


1-24528
god4
2003-08-27 00:50
2003.09.08
DBGrid - как создать новую запись ?


3-24354
Александр365
2003-08-15 22:58
2003.09.08
Сообщение об ошибке


3-24343
Groove_SQL
2003-08-18 08:45
2003.09.08
ORDER BY вычисляемое поле