|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
|
Как правильно оформить связи в базе14.09.2017, 21:30. Показов 5427. Ответов 81
Метки нет (Все метки)
Здравствуйте.
Надо создать базу данных пациентов. Ввод данных через форму. Каждому пациенту присваивается определённый номер (по мере добавления и он будет уникальным). Естественная информация о пациенте: Фамилия, Имя, Отчество, год рождения, пол, Адрес... Столкнулся с проблемой (да и не одной, но пока хочу решить хоть одну): Есть список районов, и есть список улиц (они хранятся в отдельных таблицах) и их надо выбирать из списка в форме. Но выходит, что они будут вставляться из таблицы и храниться в общей таблице с данными пациентов, а по правильному надо чтоб только их номера ж сохранялись... Вот как этого добиться? Если делать как в книгах пишут, то при попытке сделать связь один-ко-многим пишет что невозможно вставить данные т.к. они не числовые... Но как могут быть названия районов числовыми? Выкладываю саму базу MyPatients1.rar
0
|
|
| 14.09.2017, 21:30 | |
|
Ответы с готовыми решениями:
81
Правильно ли расставлены связи в приложенной базе данных
Как правильно оформить выборку? |
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
|
| 15.09.2017, 01:52 [ТС] | |
|
Мда... Кто бы мог подумать, что надо просто выбирать таблицу и ни в коем случае не действовать через SELECT !
Ну и если принудительно ставить ширину столбца с просто пусто в 0, то исчезает нумерация в списке... P.S. Вот только не могу вставить то что вышло (вложения не активны((()
0
|
|
|
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
|
||
| 15.09.2017, 08:32 | ||
|
Поля - Регион, Район, Населенный пункт, Улица, типы и т. п. - ЧИСЛОВЫЕ. Данные берутся из - ТАБЛИЦ-СПРАВОЧНИКОВ. Если какого то Наименования, например - Района нет (Отсутствует в списке), то выскакивает сообщение и вы просто нажав Энтер или Ок, можете добавить в справочник это название и в следующий раз оно будет выбираться из списка имеющихся. Считаю, что связи 1:1 , как у вас для неимеющих опыта работы с ними, сложны и очень даже вредны, ибо столько много всяких нюансов, типа процедур и прочих хитростей нужно предусмотреть, что без особой нужды, это ни кому не нужно.
0
|
||
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
|
| 15.09.2017, 23:51 [ТС] | |
|
Спасибо за ответ.
Да задумка именно в том, что есть таблицы справочники из которых берутся данные. Они не изменяются (а если и изменяются, то редко). Я выше написал, что уже немного подправил, но не могу вставить вложение и показать (почему - не знаю - просто не активно ((() Насчёт связей 1:1 - тут уже работа не со справочниками. 1 ко многим не работает, как по мне. P.S. База для работы (для меня), не для сдачи экзамена.
0
|
|
|
2837 / 1378 / 216
Регистрация: 13.05.2011
Сообщений: 4,220
|
|
| 16.09.2017, 18:56 | |
|
matva, страну я прикрепил. Не шло т.к. вы пытались поле с типом данных счетчик прикрепить к текстовому полю. Остальное по аналогии.
0
|
|
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
|
| 21.09.2017, 21:04 [ТС] | |
|
Немного разобрался... Но возникла следующие проблемы:
1. Как лучше оформить Пункт Домашня адреса? Лучше чтобы вызывалась отдельная форма (подчинённая) или сразу в основой вводить? Если подчинённая, то как добиться, чтобы в поле Домашня адреса выводились именно текстовые обозначения, а не цифровые? 2. Как изменить размеры полей произвольно? Пытаюсь выделить одно поле и уменьшить, но уменьшаются все. В чем загвоздка? Пробовал по всякому. Может надо заново переделать форму и вручную все поля вставлять? Были ещё мысли, но пока не могу их сформулировать ))) P.S. Выкладываю новую версию. MyPatients2.rar
0
|
|
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
|
| 21.09.2017, 21:23 [ТС] | |
|
3. Может стоит объединить таблицы tbl_Description и tbl_StatusLocale в одну? В этих таблицах должны храниться данные на каждый осмотр/посещение.
0
|
|
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
|
| 23.09.2017, 14:57 [ТС] | |
|
Не могу понять как в базе Адреса Организаций-01.rar они вставляют данные в Заголовок формы в поле Адрес?
Ни в данных, ни где бы то ни было нет информации о том, что туда что-то и откуда то вставлялось...
0
|
|
|
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
|
||
| 23.09.2017, 15:01 | ||
|
Можно и так и эдак, и вверх ногами, и задом - наперёд. Всё от фантазии заказчика и разработчика
0
|
||
|
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
|
|
| 23.09.2017, 15:32 | |
|
matva, т.к. не упоминаете мое погоняло, но по картинке видимо кг мне обращаетесь, соответственно поясняю.
Откройте форму в режиме конструктора Свойства Отсутствие в списке Нажмите на строчку непротивления Данн свойства. Появится кнопочка справа с тремя точками. Нажмите в нее и влетите в модуль процедур. Там все прописано.
1
|
|
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
||||
| 23.09.2017, 15:37 [ТС] | ||||
Добавлено через 3 минуты Извините, если обидел, тем, что не написал Ваш ник...
0
|
||||
|
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
| 23.09.2017, 15:45 | |
|
matva, там все просто. Форма Организации основана на запросе из нескольких таблиц, чтобы соединить по ним название и адрес со всеми атрибутами. Откройте свойство Данные формы и там SQL запроса-источника формы. В заголовке формы, в поле Адрес источником поле из запроса с именем Адрес.
Можете скопировать запрос-источник формы, создать новый запрос и вставить в режиме SQL скопированный текст. Выполните запрос и увидите все поля.
1
|
|
|
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
|
|||
| 23.09.2017, 15:54 | |||
|
Добавлено через 2 минуты PuhKMV, Привет! Извини что встрял - твоя разработка (судя по интерфейсу) - сижу, молчу .... Добавлено через 5 минут И ещё - использование динамических источников данных не рекомендуется самой MS - ибо MSA всё равно строит скрытый запрос ...
0
|
|||
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
|
| 23.09.2017, 15:59 [ТС] | |
|
0
|
|
|
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
|
|
| 23.09.2017, 16:02 | |
|
matva, печатаю на планшете, а он из за любой опечатки переименовывает по своему.
В свойствах формы поставьте курсор мыши на данное свойство. Увидите с права кнопочку с тремя кнопочками, в туда и жмите мышом. Я всего лишь 3 поля изменяю Имя поля 2 раза и 1 раз имя таблицы Все элементарно.
0
|
|
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
|
| 23.09.2017, 16:04 [ТС] | |
|
0
|
|
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
|
| 23.09.2017, 16:13 [ТС] | |
|
0
|
|
|
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
|
|
| 23.09.2017, 16:59 | |
|
Ни чё не понял.
В процедуре обработки событий я лично меняю вот это.так-
0
|
|
|
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
|
|
| 23.09.2017, 17:03 | |
|
Видимо я на столько тупой, что сразу много информации уже не способен восприять, так что попрошу частями задавать вопросы, что бы даже я понял. (Если конечно вопрос ко мне.
)
0
|
|
|
385 / 86 / 16
Регистрация: 08.12.2012
Сообщений: 645
|
||
| 23.09.2017, 17:12 [ТС] | ||
|
PuhKMV,
Насколько я понял, то это процедура на добавление нового значения, если его нет в списке. А я спрашивал: откуда в поле Адрес берутся данные из поле со списком Адрес Организации? Как это сделать?
0
|
||
| 23.09.2017, 17:12 | |
|
Помогаю со студенческими работами здесь
20
Как правильно оформить конструкцию If Как правильно оформить DataGrid? как правильно оформить скрипт Как правильно оформить условие
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|