Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как спроектировать базу? [D7, Firebird 1.5]


Страницы:   1 2

Бугага ©   (2005-08-25 09:17:00) 

Суть: необходимо спроектировать базу чтобы с ней можно было работать в таком виде:
http://www.liveinternet.ru/images/foto/755667/f_934323.jpg

Т.е. может изменяться и значения строк в столбце Параметр(макет) и ячейки находящиеся под датами и сами даты (причем их количество не ограничено). Т.е. придется постоянно изменять структуру таблицы или как?

Попробовал так:
select params.name, // имя параметра
      tints.vdate, // дата
      tints.tint // значение
from
      params, tints
where params.paramid=tints.paramid
order by tints.vdate


Блин, вожусь и с ДБГРидом и с ВертикалГРидом... Не получается ничего... Неужели придется делать СтрингГридом?


Бугага   (2005-08-25 15:36:00) [1]

Ну а у меня задача сделать так, чтобы в моих услугах нуждались поменьше :)


Sergey13   (2005-08-25 15:28:00) [2]

2[24] Бугага ©   (25.08.05 15:05)
> И то, что для каких-либо изменений надо вызывать программиста..
Так это хорошо!!! Для программиста. 8-)


Бугага   (2005-08-25 15:05:00) [3]


> Sergey13 ©   (25.08.05 13:07) [23]

Глюки у нее не вводе инфы, а в самой работе... И то, что для каких-либо изменений надо вызывать программиста..


Sergey13   (2005-08-25 13:07:00) [4]

2[22] Бугага ©   (25.08.05 13:04)
> ну если уже сделано, значит можно сделать то же самое...

то же самое - это

> программа, на которой уже сидят давно. Она очень глючная, но руку на ней набили.

? 8-)


Бугага   (2005-08-25 13:04:00) [5]


> Sergey13 ©   (25.08.05 12:55) [21]

ну если уже сделано, значит можно сделать то же самое...


Sergey13   (2005-08-25 12:55:00) [6]

2[19] Бугага ©   (25.08.05 12:21)
> Да проблема-то в вводе инфы... ЧТоб было наглядно...
Дык не всегда это получается. Иногда приходится разделять эти две независимые друг от друга задачи- ввод данных и их представление для анализа. У тебя как раз такой случай, ИМХО.


Бугага   (2005-08-25 12:53:00) [7]

Мастер-Деталь:
Groups -> Params -> Tints

Но пока я не выберу конкретный параметр, я не увижу его данные, ведь так? А смысл в том, что я вижу данные по всем параметрам...


Бугага   (2005-08-25 12:21:00) [8]

не понятно. твоя структура у меня с картинкой "не складывается"...
по моему все там, на картинке, это одна таблица, с одной записью. возми ее распечатай и поверни на 90 градусов, названиями вверх, вот и получили стандартную таблицу что нужна.

И количество параметров и сами даты изменяются и изменяются их количества. Может я просто не понимаю, но получается таблица с динамическим количеством полей


> Это знакомо. 8-) Правда с аргументацией у хотящих обычно
> напряг. Я в таких случаях (когда кончались мои аргументы)
> говорил, что сделать "как мы хотим" просто нельзя из-за
> ограничения в базе данных. 8-)

Аргумент один - "мы так привыкли". А если уже есть программа, то значит это реально сделать ;)


> Наверное я бы сделал нечто в сторону мастер-деталь (как
> уже советовали). Возможно сделал такого рода вывод инфы
> только в виде отчетов (там это проще - (крос-таб отчеты
> кажется подойдут)), а ввод сделал бы более "стандартными"
> методами.

Да проблема-то в вводе инфы... ЧТоб было наглядно...
ПОпробую master-detail


Sergey13   (2005-08-25 12:07:00) [9]

2[17] Бугага ©   (25.08.05 11:57)
>С удовольствием, но "мы хотим только так"...
Это знакомо. 8-) Правда с аргументацией у хотящих обычно напряг. Я в таких случаях (когда кончались мои аргументы) говорил, что сделать "как мы хотим" просто нельзя из-за ограничения в базе данных. 8-)

>А вы бы какой интерфейс посоветовали?
Тут думать надо. Анализировать. Тут творчество сплошное.
Наверное я бы сделал нечто в сторону мастер-деталь (как уже советовали). Возможно сделал такого рода вывод инфы только в виде отчетов (там это проще - (крос-таб отчеты кажется подойдут)), а ввод сделал бы более "стандартными" методами.


Бугага   (2005-08-25 11:57:00) [10]

А где в tints ссылка на params? Я вижу только дату и значение. И не понятно кому эти значения принадлежат. Это данные по больному? Где ссылка на него? Смысл задачи все равно не особо ясен.
Забыл поле в tints...

tints // значения
tintid int;
paramid int;
vdate date;
tint string;

вообще-то еще есть поле patientid (это и есть код пациента), просто незачем его упоминать.

При таком подходе и большом количестве параметров+приличный период такая таблица будет занимать не один экран. Как по горизонтали, так и по вертикали. ИМХО, этоне очень удобно, не говоря уж про производительность. Я бы посоветовал сменить подход к интерфейсу.
С удовольствием, но "мы хотим только так"... А вы бы какой интерфейс посоветовали?

а почему все-таки не сделать мастер-деталь ? две сетки рядом.. в одной Параметры(мастер), во-второй - даты (деталь?, знаечения ?
что-то вида
Параметр1   дата1 значение
Параметр2   дата2 значение
и т.д.
или "казнить нельзя помиловать" ?..

Две сетки рядом? Хм... попробую..


sniknik   (2005-08-25 11:51:00) [11]

> Я бы посоветовал сменить подход к интерфейсу.
тоже не получится ;о)), у бугалтеров (видимо и не только у них) это любимая форма представления данных (шахматка вроде называется).

Бугага ©   (25.08.05 11:34) [12]
не понятно. твоя структура у меня с картинкой "не складывается"...
по моему все там, на картинке, это одна таблица, с одной записью. возми ее распечатай и поверни на 90 градусов, названиями вверх, вот и получили стандартную таблицу что нужна.


Виталий Панасенко   (2005-08-25 11:44:00) [12]

а почему все-таки не сделать мастер-деталь ? две сетки рядом.. в одной Параметры(мастер), во-второй - даты (деталь?, знаечения ?
что-то вида
Параметр1   дата1 значение
Параметр2   дата2 значение
и т.д.
или "казнить нельзя помиловать" ?..


Sergey13   (2005-08-25 11:40:00) [13]

2[10] Бугага ©   (25.08.05 11:22)
Я и не обвинял тебя в некорректности. Просто спрашивая про структуру ты даешь исходную только в 10 посте.
Если обидел - извини.

А где в tints ссылка на params? Я вижу только дату и значение. И не понятно кому эти значения принадлежат. Это данные по больному? Где ссылка на него? Смысл задачи все равно не особо ясен.

При таком подходе и большом количестве параметров+приличный период такая таблица будет занимать не один экран. Как по горизонтали, так и по вертикали. ИМХО, этоне очень удобно, не говоря уж про производительность. Я бы посоветовал сменить подход к интерфейсу.


Виталий Панасенко   (2005-08-25 11:39:00) [14]


> Слева - это поля (как я понимаю, это params.name?),

А ты сам не знаешь, что это такое ?!. Или это не твое ?..


Бугага   (2005-08-25 11:34:00) [15]

не получится, так понял (только сейчас) с таблицей этой надо работать добавлять/редактировать. а кубы это прежде всего отчеты.
угу, эти данные для редактирования

непонятно почему ВертикалГРидом не получилось, все как раз под него, весь левый ряд это названия полей (вернее дескрипторы, называть по русски, с пробелами... не советую), а направо пошли записи... значение поля "параметр (макет)" определяющее (хотя я бы еще и искуственный ключ ввел бы) и по нему сортировка. все замечательно "укладывается" по такой схеме.
Слева - это поля (как я понимаю, это params.name?), но получается в случае добавления/удаления самих параметров придется менять структуру таблиц? голова уже кругом идет...


sniknik   (2005-08-25 11:29:00) [16]

> Можно сделать как советуют с кубами.
не получится, так понял (только сейчас) с таблицей этой надо работать добавлять/редактировать. а кубы это прежде всего отчеты.

непонятно почему ВертикалГРидом не получилось, все как раз под него, весь левый ряд это названия полей (вернее дескрипторы, называть по русски, с пробелами... не советую), а направо пошли записи... значение поля "параметр (макет)" определяющее (хотя я бы еще и искуственный ключ ввел бы) и по нему сортировка. все замечательно "укладывается" по такой схеме.


Бугага   (2005-08-25 11:22:00) [17]

Это называется OLAP кубы, возможно Firebird их поддерживает.
А где можно почитать про них? Желательно не сильно заумно ;)


> ИМХО, ты фигней маешься. Просишь помочь с проектированием
> БД, но текущую структуру не даешь. Секретность что ли? В
> медицинской то программе? Ню-ню.

Ну, во-первых, что значит фигней маешься? Я спрашиваю совета там, где не понимаю. Спрашиваю вполне корректно. И очень прошу помощи, так как очень надо...

Да и во-вторых, здесь то ничего такого секретного то нет. Из кода по-моему все видно..

groups // группы параметров
groupid int;
name string;

params // сами параметры
paramid int;
groupid int;
name string;

tints // значения
tintid int;
vdate date;
tint string;

Эта структура отвечает именно требованиям, да и можно придумывать способы ввода. Но вот нужно только так, как в скриншоте... Можно конечно вручную в СтрингГрид загонять, а потом записывать... Но по-моему это не есть гут..


Sergey13   (2005-08-25 11:12:00) [18]

2[8] Бугага ©   (25.08.05 11:01)
ИМХО, ты фигней маешься. Просишь помочь с проектированием БД, но текущую структуру не даешь. Секретность что ли? В медицинской то программе? Ню-ню.

Можно сделать как советуют с кубами. Можно (наверное) сделать и самому. Я нечто подобное делал, ручками формируя таблицу в памяти (RxMemoryData). Но что бы что-то советовать надо знать исходную инфу и желательно в терминах БД а не в медицинских (они пофиг вообще). Ты ее не даешь.


Бугага   (2005-08-25 11:01:00) [19]


> Под проектированием понимается обычно опеделение структуры
> таблиц и их связей для выполнения поставленной задачи.
> Я, например, по этой картинке (интерфейс вообще, ИМХО, не
> очень удачен. что это за "Жалобы", "Органопрепараты" - откуда
> они), ничего не могу сказать о твоей БД и не представляю
> твой задачи.

Представленный интерфейс - это программа, на которой уже сидят давно. Она очень глючная, но руку на ней набили. Поэтому интерфейс сменить нельзя. Посмотреть структуру ее базы тоже (в силу многих обстоятельств)

Суть такова:
Есть параметры(макеты) и их группы. "Жалобы" и "Органопрепараты" и есть параметры. Естественно, их название мало о чем говорит, так здесь необходимо мед.образование и понимать что к чему. Врач с помощью данной программы делает отметки в каком-то параметре за какую-то дату, ведя таким образом учет состояния пациента.


Polevi   (2005-08-25 10:18:00) [20]

и OWC или Excel в качестве клиента


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо