powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите спроектировать базу
25 сообщений из 33, страница 1 из 2
Помогите спроектировать базу
    #38909653
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте все. Имеется следующая задачка, есть таблица, в которой хранятся выполненные работы по объектам. На каждом объекте может быть пробурено несколько скважин, т.е. связываем таблицу "Скважины" с таблицей "Объекты" по уникальному ключу "Номер объекта". Далее имеем таблицу с образцами, которых может быть множество для каждой скважины. Вопрос: каким образом можно связать таблицу образцов с таблицей скважин?
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38909667
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kuks,
Таким же как и Скважины связаны с Объектами - по уникальному ключу Скважины.
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38909678
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kuksкаким образом можно связать таблицу образцов с таблицей скважин?
Точно так же: по уникальному ключу "Номер скважины".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38909687
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не отписался заранее, извините, дело в том, что "Скважины" не может быть уникальным ключом, так как их нумерация начинается заново для каждого объекта, вот в чём и проблема......
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38909691
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KuksЗдравствуйте все. Имеется следующая задачка, есть таблица, в которой хранятся выполненные работы по объектам. На каждом объекте может быть пробурено несколько скважин, т.е. связываем таблицу "Скважины" с таблицей "Объекты" по уникальному ключу "Номер объекта". Далее имеем таблицу с образцами, которых может быть множество для каждой скважины. Вопрос: каким образом можно связать таблицу образцов с таблицей скважин?

Объект 1:N Скважина
Скважина 1:N Образец

Не?!
Или в процессе теряется информация какой образец из какой скважины, а только есть информация об объекте.
Тогда "ЖОПА" :-)
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38909695
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kuks,
Почему не может быть? Одно другому не противоречит.
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38909699
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KuksНе отписался заранее, извините, дело в том, что "Скважины" не может быть уникальным ключом, так как их нумерация начинается заново для каждого объекта, вот в чём и проблема......

Э-э-э а сделать суррогатный ключ для "Скважин", не?!
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38909740
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad_nazgulKuksНе отписался заранее, извините, дело в том, что "Скважины" не может быть уникальным ключом, так как их нумерация начинается заново для каждого объекта, вот в чём и проблема......

Э-э-э а сделать суррогатный ключ для "Скважин", не?!

Видимо так и сделаю
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38909794
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulсделать суррогатный ключ для "Скважин"
Или составной ключ "Номер Объекта"-"Номер Скважины".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38909876
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917618
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё построил, но опять один момент - каким образом при вставке в таблицу "Образцы" копировать поле "Номер" из таблице "Скважины"? Как лучше сделать? На стороне сервера или клиента?
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917624
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KuksВсё построил, но опять один момент - каким образом при вставке в таблицу "Образцы" копировать поле "Номер" из таблице "Скважины"? Как лучше сделать? На стороне сервера или клиента?
Скорее всего на клиенте у Вас уже есть ID (номер) скважины для создаваемой новой записи Образцы, так что можете просто передавать в SQL команду номер скаважины с клиента.
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917644
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Согласен, но как мне Номер_Скважины из одной таблици, перенести в другую при вставке?
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917652
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KuksСогласен, но как мне Номер_Скважины из одной таблици, перенести в другую при вставке?
Вы с помощью клиентской программы делаете вставку, верно? Значит номер скважины уже будет на клиенте когда Вы создаете запись нового образца. И на нажатие кнопки сохранить, у вас уже будут заполнены все поля необходимые для исполнения команды Insert.
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917658
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kuksкак мне Номер_Скважины из одной таблици, перенести в другую при вставке?

Переносить не надо, вставлять надо. У вас там что, на образце не написано из какой он
скважины достат?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917661
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, согласен, буду заполнены все поля, кроме поля Номер_Скважины, потому что это поле в обеих связанных таблицах не является ключевым, связь между таблицами выполнена с помощью суррогатного ключа, который на клиенте вообще по сути не нужен
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917664
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KuksДа, согласен, буду заполнены все поля, кроме поля Номер_Скважины, потому что это поле в обеих связанных таблицах не является ключевым, связь между таблицами выполнена с помощью суррогатного ключа, который на клиенте вообще по сути не нужен
Вы его должны хранить (скрытым для пользователя), но использовать при вставке новых записей в таблицу Образец.
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917668
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я его и использую для вставки, но мне, если так грубо сказать при вставке надо скопировать поле из другой таблицы....
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917678
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KuksДа я его и использую для вставки, но мне, если так грубо сказать при вставке надо скопировать поле из другой таблицы....
Какое именно поле? ХП используются?
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917686
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот представьте, есть две таблицы Скважины и Образцы. Основная - Скважины, связаны они по полю Id, через PK-FK. В обеих таблицах есть текстовое поле, которое при вставке новой записи во вторую таблицу, должно копироваться из первой.
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917689
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KuksНу вот представьте, есть две таблицы Скважины и Образцы. Основная - Скважины, связаны они по полю Id, через PK-FK. В обеих таблицах есть текстовое поле, которое при вставке новой записи во вторую таблицу, должно копироваться из первой.
У Вас что-то явно неправильное со структурой таблицы, Вам PK-FK ключа между Скважины и Образцы достаточно, чтобы ничего больше не копировать. В этом и весь принцип нормализации БД. По FK Вы всегда сможете вытащить это текстовое поле из второй таблицы.
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917698
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё правильно вы говорите, попробую объяснить совсем просто. При добавлении новой записи в таблицу образцы, еще до Update, Id подставляется в поре грида автоматически, по FK, а вот как сделать, чтобы вместе с Id сразу отображалось аналогичное поле из другой таблицы?
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917702
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KuksВ обеих таблицах есть текстовое поле, которое при вставке новой записи во
вторую таблицу, должно копироваться из первой.
Какое есть твоё обоснование для такого нарушения третьей НФ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917709
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kuksкак сделать, чтобы вместе с Id сразу отображалось аналогичное поле из другой
таблицы?
SELECT ... JOIN.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите спроектировать базу
    #38917711
Kuks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всего таблицы три - Объекты, Скважины и Образцы. Для каждого Объекта существует насколько Скважин, соответственно у каждой Скважины несколько Образцов. Вопрос в том, что нумерация Скважин, каждый раз начинается с 1 (для каждого объекта), а для связи таблиц введен суррогатный ключ ID, вот и встал вопрос переноса номера скважины (Того самого, который начинается каждый раз с 1 и по сути является простым текстовым полем)
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите спроектировать базу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]