|
|
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Здравствуйте все. Имеется следующая задачка, есть таблица, в которой хранятся выполненные работы по объектам. На каждом объекте может быть пробурено несколько скважин, т.е. связываем таблицу "Скважины" с таблицей "Объекты" по уникальному ключу "Номер объекта". Далее имеем таблицу с образцами, которых может быть множество для каждой скважины. Вопрос: каким образом можно связать таблицу образцов с таблицей скважин? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 12:19 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Kuks, Таким же как и Скважины связаны с Объектами - по уникальному ключу Скважины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 12:29 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Kuksкаким образом можно связать таблицу образцов с таблицей скважин? Точно так же: по уникальному ключу "Номер скважины". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 12:35 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Не отписался заранее, извините, дело в том, что "Скважины" не может быть уникальным ключом, так как их нумерация начинается заново для каждого объекта, вот в чём и проблема...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 12:39 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
KuksЗдравствуйте все. Имеется следующая задачка, есть таблица, в которой хранятся выполненные работы по объектам. На каждом объекте может быть пробурено несколько скважин, т.е. связываем таблицу "Скважины" с таблицей "Объекты" по уникальному ключу "Номер объекта". Далее имеем таблицу с образцами, которых может быть множество для каждой скважины. Вопрос: каким образом можно связать таблицу образцов с таблицей скважин? Объект 1:N Скважина Скважина 1:N Образец Не?! Или в процессе теряется информация какой образец из какой скважины, а только есть информация об объекте. Тогда "ЖОПА" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 12:41 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Kuks, Почему не может быть? Одно другому не противоречит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 12:42 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
KuksНе отписался заранее, извините, дело в том, что "Скважины" не может быть уникальным ключом, так как их нумерация начинается заново для каждого объекта, вот в чём и проблема...... Э-э-э а сделать суррогатный ключ для "Скважин", не?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 12:44 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
mad_nazgulKuksНе отписался заранее, извините, дело в том, что "Скважины" не может быть уникальным ключом, так как их нумерация начинается заново для каждого объекта, вот в чём и проблема...... Э-э-э а сделать суррогатный ключ для "Скважин", не?! Видимо так и сделаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 13:01 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
mad_nazgulсделать суррогатный ключ для "Скважин" Или составной ключ "Номер Объекта"-"Номер Скважины". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 13:35 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2015, 14:12 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Всё построил, но опять один момент - каким образом при вставке в таблицу "Образцы" копировать поле "Номер" из таблице "Скважины"? Как лучше сделать? На стороне сервера или клиента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:09 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
KuksВсё построил, но опять один момент - каким образом при вставке в таблицу "Образцы" копировать поле "Номер" из таблице "Скважины"? Как лучше сделать? На стороне сервера или клиента? Скорее всего на клиенте у Вас уже есть ID (номер) скважины для создаваемой новой записи Образцы, так что можете просто передавать в SQL команду номер скаважины с клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:13 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Согласен, но как мне Номер_Скважины из одной таблици, перенести в другую при вставке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:23 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
KuksСогласен, но как мне Номер_Скважины из одной таблици, перенести в другую при вставке? Вы с помощью клиентской программы делаете вставку, верно? Значит номер скважины уже будет на клиенте когда Вы создаете запись нового образца. И на нажатие кнопки сохранить, у вас уже будут заполнены все поля необходимые для исполнения команды Insert. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:25 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Kuksкак мне Номер_Скважины из одной таблици, перенести в другую при вставке? Переносить не надо, вставлять надо. У вас там что, на образце не написано из какой он скважины достат? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:28 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Да, согласен, буду заполнены все поля, кроме поля Номер_Скважины, потому что это поле в обеих связанных таблицах не является ключевым, связь между таблицами выполнена с помощью суррогатного ключа, который на клиенте вообще по сути не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:30 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
KuksДа, согласен, буду заполнены все поля, кроме поля Номер_Скважины, потому что это поле в обеих связанных таблицах не является ключевым, связь между таблицами выполнена с помощью суррогатного ключа, который на клиенте вообще по сути не нужен Вы его должны хранить (скрытым для пользователя), но использовать при вставке новых записей в таблицу Образец. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:31 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Да я его и использую для вставки, но мне, если так грубо сказать при вставке надо скопировать поле из другой таблицы.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:34 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
KuksДа я его и использую для вставки, но мне, если так грубо сказать при вставке надо скопировать поле из другой таблицы.... Какое именно поле? ХП используются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:40 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Ну вот представьте, есть две таблицы Скважины и Образцы. Основная - Скважины, связаны они по полю Id, через PK-FK. В обеих таблицах есть текстовое поле, которое при вставке новой записи во вторую таблицу, должно копироваться из первой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:47 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
KuksНу вот представьте, есть две таблицы Скважины и Образцы. Основная - Скважины, связаны они по полю Id, через PK-FK. В обеих таблицах есть текстовое поле, которое при вставке новой записи во вторую таблицу, должно копироваться из первой. У Вас что-то явно неправильное со структурой таблицы, Вам PK-FK ключа между Скважины и Образцы достаточно, чтобы ничего больше не копировать. В этом и весь принцип нормализации БД. По FK Вы всегда сможете вытащить это текстовое поле из второй таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:50 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Всё правильно вы говорите, попробую объяснить совсем просто. При добавлении новой записи в таблицу образцы, еще до Update, Id подставляется в поре грида автоматически, по FK, а вот как сделать, чтобы вместе с Id сразу отображалось аналогичное поле из другой таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 13:57 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
KuksВ обеих таблицах есть текстовое поле, которое при вставке новой записи во вторую таблицу, должно копироваться из первой. Какое есть твоё обоснование для такого нарушения третьей НФ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 14:02 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Kuksкак сделать, чтобы вместе с Id сразу отображалось аналогичное поле из другой таблицы? SELECT ... JOIN. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 14:08 |
|
||
|
Помогите спроектировать базу
|
|||
|---|---|---|---|
|
#18+
Всего таблицы три - Объекты, Скважины и Образцы. Для каждого Объекта существует насколько Скважин, соответственно у каждой Скважины несколько Образцов. Вопрос в том, что нумерация Скважин, каждый раз начинается с 1 (для каждого объекта), а для связи таблиц введен суррогатный ключ ID, вот и встал вопрос переноса номера скважины (Того самого, который начинается каждый раз с 1 и по сути является простым текстовым полем) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2015, 14:09 |
|
||
|
|

start [/forum/search_topic.php?author=dfgjkhytftdr&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 784ms |
| total: | 940ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...