|
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
|
|
Зачем нужны связи в базах данных?05.01.2013, 14:56. Показов 17015. Ответов 3
Метки нет (Все метки)
Здравствуйте, недавно работаю с базами данных и в процессе возник вопрос: зачем нужны связи в базах данных? У меня в базе 3 таблицы applicant, vacancy, interview (соискатель, вакансия и собеседование). Первичный ключ вещь нужная, т.к. она генерирует уникальный id, но связывая соискателя и вакансию к собеседованию, я присваиваю id соискателя и id вакансии к собеседованию вручную. Поиск соискателя и вакансии по собеседованию тоже вручную (то бишь sql запросом, опять таки связи роли не играют). Где-то читал что при удалении родительской связи удаляются подчиненные. Но в моем случае мне нужно хранить соискателя и вакансию на случай восстановления (поэтому я добавил поле deleted типа bit). Объясните знающие люди на пальцах для чего нужны связи и нужны ли они мне в моем случае.
Спасибо за внимание.)
0
|
|
| 05.01.2013, 14:56 | |
|
Ответы с готовыми решениями:
3
Зачем нужны связи в БД?
Исключения в базах данных |
|
|
|
| 06.01.2013, 11:31 | |
|
Если какая-либо таблица хранит ID строки другой таблицы - то это связь.
Ваш выбор - оставлять ли эту связь только у себя в голове, или зафиксировать её с помощью внешнего ключа (foreign key). От построения ключа опытные разработчики отказываются только в том случае, если производный от неё индекс (а в большинстве СУБД FK-PK связка строится с помощью системного индекса) сильно портит планы запросов (оптимизатор использует его тогда, когда не нужно: у него плохая селективность к примеру). В последнем случае разработчик также не оставит свзяку в голове, а реализует её контроль через триггеры.
1
|
|
|
2899 / 1933 / 209
Регистрация: 05.06.2011
Сообщений: 5,685
|
|||
| 11.01.2013, 14:10 | |||
![]()
0
|
|||
|
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
|
||
| 11.01.2013, 16:24 | ||
|
PS Разумеется речь идет про удаление не "родительской связи", а родительской записи (строки).
1
|
||
| 11.01.2013, 16:24 | |
|
Помогаю со студенческими работами здесь
4
Даты в Базах Данных Нечеткий поиск в базах персональных данных Для тех кто хорошо разбирается в базах данных О программамах или базах данных в которые можно вбивать ссылки Зачем нужны транзакции? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|