Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

Хранение больших текстов   Найти похожие ветки 

 
denis24   (2005-01-26 18:41) [0]

Какой формат поля выбирать для сабжа?


 
msguns ©   (2005-01-26 18:46) [1]

Что значит "больших" ?
Если до 32000 символов, то в обычном варчаре.
Если больше, то блоб


 
denis24   (2005-01-26 19:30) [2]

Сразу извенюсь за ламерство,я просто недавно на FB 1.5 перешел
Так и писать varchar(32000).
И еще как создавать на сервере FB временные таблицы для юзера или еще ка-то решить проблему с временными таблицами?


 
DrPass ©   (2005-01-26 20:08) [3]

На FB нет временных таблиц, они есть только на IB7.x. А в чем собственно, проблема?


 
denis24   (2005-01-27 09:53) [4]

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


 
msguns ©   (2005-01-27 10:50) [5]

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

В чем необходимость такого сохранения ? Если узеры удалены от сервера и связь, например, по модему, то используй клиентский датасет - в нем есть множество вкусных вещей, в т.ч. сохранение/восстановление врем.файла, доп.индексы и т.д.
Если же все в локалке, то вообще неясно, зачем узерам хранить куски БД в "личных" таблицах - объясни для тупых.


 
denis24   (2005-01-27 11:18) [6]

обьясню
есть сервер fib 1.5 на нем база .Програма на клиентских машинах работает с ней.
Есь таблица main в которой хранятся информация о  медицинском приеме(пасп данныеи ,анализы и т.д.)Так вот при добавлении нового приема юзер выбирает из справочника диагнозов произвольное кол-во этих же диагнозов для этого приема. во врем табл.(tmpMain_diagnoz) с полями  id_main,id_diagnoz Потом он может либо сохранить  эти диагнозы(тоесть данные из этой врем
таблицы в постоянную(Main_Diagnoz) тоже с полями id_main,id_diagnozлибо нажать cancel  и врем таблица удаляется.То же самое и при редактировании приема(формир времен таблица с диагнозами для этого приема ,в которую юзер может добавлять ,удалять диагнозы)
Если все локально то все ок.А если сетевая версия то возникает вопрос об уникальности этих врем таблиц.
Хотя может есть и другие варианты аналогов врем табл.Подскажите


 
Sergey13 ©   (2005-01-27 11:25) [7]

2[6] denis24   (27.01.05 11:18)
>Есь таблица main в которой хранятся информация о  медицинском приеме(пасп данныеи ,анализы и т.д.)
Все в одной таблице? Зачем? На каждый анализ паспортные данные вводить?

>Потом он может либо сохранить  эти диагнозы
Зачем?

PS: У тебя с проектированием, ИМХО, не все в порядке. (если мягко сказать 8-)


 
msguns ©   (2005-01-27 11:27) [8]

О боже !
Речь-то идет всего-навсего о том, чтобы узеру показать фрагмент БД с возможностью создания на его основе нового фрагмента для сохранения в той же БД, но с другим мастер-ключом. ЗАЧЕМ ТУТ ВРЕМЕННЫЕ ТАБЛИЦЫ ? Любой квери или представление. Сохранение хранимой процедурой или опять же запросаом с клиента.
Блин, дай дураку жар-птицу, так он и село спалит е ядреной феньке !
Без обид, надеюсь ;)


 
denis24   (2005-01-27 12:21) [9]

Блин тока перешел на FIB  и уже наслушался.....
В аксесе я делал так...
to Sergey13 © С проэтированием все нормально.В таблицу main записываются только ключевые  поля связаных таблиц.А диагнозы связываются с main через таблицу main_diagnoz(тоже только ключевые поля).

to msguns ©
Обьясните пожалуста подробней .Форма,на ней два грида .первый  список диагнозов, второй- список выбраных диагнозов.Из первого в второй можно переносить(кнопкой -"добавить диагноз из списка") ,во втором гриде можно удалять (кнопкой -"Удалить диагноз из данного приема"),редактировать соответственно.При нажатии на "добавить..." происходило добавление записи во врем таблицу типа id_main=1   id_diagnoz=2
Как без врем таблицы?


 
msguns ©   (2005-01-27 12:36) [10]

Очень просто. Все диагнозы лежат в одной табле типа справочника. Есть справочник врачей (или кто-том эти диагнозы ставит) и есть карточка больного (группа таблиц, хранящая данные о карточках всех больных, куда, собственно и заносятся "диагнозы"). Все таблицы, ессно, в основной БД на компе с сервером.
Когда врач смотрит карточку больного (выборка из общей картотеки по ID больного? ID программа берет из выбранной врачом записи справочника больных), он видит его диагнозы и справчник диагнозов. Либо может тут же открыть в другом окне карточку другого больного, чтобы типа справиться по аналогии. Для занесения новых диагнозов в карточку текущего больного он может выбрать любой из имеющихся списков (справочник + карточка другого больного) и там уже клацать что-то для добавки (посредством перетаскивания, чекбоксов, даблкликов или кнопок или попапменю - это фиолетово). Для удобства можно выбранные прописать в стрингрид, не связанный ни с каким датасетом базы.
Затем выбранные (и отображаемые в стрингриде) диагнозы записываются в список, по которому затем формируются запросы и выполняются в контексте одной транзакции. После добавления новых записей в карточку больного она перечитывается. То же самое и с правками и удалениями.
ГДЕ ЗДЕСЬ ВРЕМЕННЫЕ ТАБЛИЦЫ ???


 
Sergey13 ©   (2005-01-27 12:43) [11]

2[9] denis24   (27.01.05 12:21)
>Блин тока перешел на FIB  
А это то тут при чем? Хоть на БДЕ.

>В аксесе я делал так...
Это не аргумент. Да и не факт, что это правильно и для Аксеса.

>С проэтированием все нормально.
Тебе лучше видно.

Но зачем сохранять список диагнозов во временную таблу? ИМХО (я тоже не врач 8-) список диагнозов должен быть привязан к пациенту, а не к приему.  А к соответствующей связи - процедуры, лекарства, когда выписывались (это прием?) и т.д.
Т.е. пришел гипертоник с простудой, ему дали аспирин. Не для гипертонии, а для простуды.

Это все в совокупности является историей болезни пациента.

По моему так.


 
denis24   (2005-01-27 13:16) [12]

to msguns ©   (27.01.05 12:36) [10]
У меня идет все в разрезе таблицы приемов с которой связаны таблицы пациэнтов,докторов,анализов(по ключевым полям)Тоесть в main есть поля
id_main(номер приема),id_patient,id_doctor,id_analiz.....
И есть таблица сзязывающая  таблицы main и diagnoz( с полями id_diagnoz,name_diagnoz)->main_diagnoz со структурой id_main,id_diagnoz.
Стринг грид это хорошо.А можно ли в нем ставить checkbox ,типа по этому
формировать рекомендации,по этому нет (следующая цепочка->диагноз_рекомендации)
to Sergey13 ©
Это специфическая больница ;).Например пришел пациент у него в одном приеме один список диагнозов,пришел во второй раз-уже другой.Хотя про связь пациента и диагнозов стоит подумать......


 
Sergey13 ©   (2005-01-27 13:25) [13]

2[12] denis24   (27.01.05 13:16)
>Это специфическая больница ;).
Психиатрическая что ли? 8-)

>Например пришел пациент у него в одном приеме один список диагнозов,
1.гипертоник
2.шизик
3.насморк

>пришел во второй раз-уже другой.
1.ОРЗ
2.мания преследования
3.гепатит С

Такое бывает? 8-)
ИМХО и старые никуда деваться не должны. Просто должна стоять дата выздоровления.

А в твоем случае, как поможет сохранение первого списка при втором посещении?

>Хотя про связь пациента и диагнозов стоит подумать......
Подумай.


 
msguns ©   (2005-01-27 13:27) [14]

>denis24   (27.01.05 13:16) [12]
>У меня идет все в разрезе таблицы приемов

Глупо. Основным "кирпичем" БД должны быть КАРТОЧКИ БОЛЬНЫХ, где вся инфа, в т.ч. о приемах. Все остальное в справочниках.
Если надо получить для просмотра именно приемы, даешь запрос по карточкам.

>Стринг грид это хорошо.А можно ли в нем ставить checkbox

Можно. Там даже можно картинки рисовать. Типа фотка ж..ы с

>Например пришел пациент у него в одном приеме один список диагнозов,пришел во второй раз-уже другой.геморроем ;))

Ну и что ? Все вписывается в схему с карточками, просто у этой карточки (осн. таблица, которая фактически содержит сведения о больном (ФИО, год рожд, пол, адрес, телефон, место работы и т.д.) есть еще куча подчиненных, где, в частности, хранится инфа о приемах с датой, временем, диагнозом, рецептами и т.д.


 
msguns ©   (2005-01-27 13:30) [15]

;)))))))))))
геморрой не туда попал ! Засунь его в ж..у строкой выше и будет все на месте ;))


 
Sergey13 ©   (2005-01-27 13:31) [16]

2[15] msguns ©   (27.01.05 13:30)
Ну вот и геморой пристроили по назначению. 8-)


 
denis24   (2005-01-27 14:20) [17]

msguns ©   (27.01.05 13:27) [14]
>Глупо. Основным "кирпичем" БД должны быть КАРТОЧКИ БОЛЬНЫХ, где вся инфа, в т.ч. о приемах. Все остальное в справочниках.
Тоесть  БД "карточки" в котороой основное поле id_klient?
И уже к этой таблице цеплять анализы приемы и т.д.
А если нужно посмотреть какие анализы были у пациента год назад ,когда у  него прием?Получается все анализы и т.д. на него нужно вести в разрезе дат?


 
Sergey13 ©   (2005-01-27 14:28) [18]

2[17] denis24   (27.01.05 14:20)
>Получается все анализы и т.д. на него нужно вести в разрезе дат?
А так пофигу что-ли когда был анализ вчера или в прошлом году?


 
msguns ©   (2005-01-27 14:37) [19]

>denis24   (27.01.05 14:20) [17]
>Тоесть  БД "карточки" в котороой основное поле id_klient?

Не БД, а группа таблиц - почувствуйте разницу ;)

Примерная схема такая :

Главная содержит постоянную инфу-см.выше
Подчиненные:
 - Диагнозы (дата диагноза, ID диагноза (спр-к), ID врача, текст (при добавлении подставляется из справочника, но потом может правиться врачом. В принципе не обязательное поле) и что там еще надо. Т.е. у пациента может быть сразу много диагнозов
 - Приемы (дата-время, ID врача, заключение врача, примечания, доп.информация, ссылка на диагноз)
 - Анализы (Дата, ID справ-ка типов анализов, ссылка на прием (когда был назначен), результаты)
 - Расходные материалы (ссылка на прием, ID материала, к-во, цена, примечание)

Да, все подчиненные имеют ссылку на ID карточки

ну и т.д. что там требуется

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


 
denis24   (2005-01-27 16:39) [20]

Спасибо to msguns ©
Принцип понятен ;)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.039 c
4-1105601902
Ilya___
2005-01-13 10:38
2005.02.27
Как можно узнать значение горизонтального и вертикального разреше


14-1108040987
pavel_guzhanov
2005-02-10 16:09
2005.02.27
TV-Out


14-1107064619
Чеширский_Кот
2005-01-30 08:56
2005.02.27
Вызываю на дуэль трех мушкетеров с этого форума!


4-1105875118
vogel
2005-01-16 14:31
2005.02.27
Как отслеживать открытие окна и его сворачивать


4-1105502141
TankMan
2005-01-12 06:55
2005.02.27
Как определить Vendor-а чипсета материнской платы без WMI?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский