Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
5 / 5 / 2
Регистрация: 27.08.2011
Сообщений: 75

Как ПРАВИЛЬНО осуществлять запись в БД, состоящую из связанных таблиц?

09.04.2012, 05:12. Показов 1715. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как ПРАВИЛЬНО осуществлять запись в БД, состоящую из связанных таблиц?
Мне нужна теория, спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2012, 05:12
Ответы с готовыми решениями:

Как правильно и грамотно осуществлять проверку на корректный ввод Еmail
Как правильно и грамотно осуществлять проверку на корректный ввод Еmail?

Как правильно осуществлять проверку переведенных средств в магазине цифровых аккаунтов?
Например как реализовано в deer.io (пример магазина - http://vk-aktiv.ru/ не реклама). Там каким-то образом проверяется, поступили ли...

Как можно осуществлять чтение-запись ячеек экселевского файла?
собственно subj. интересует вопрос, как это можно сделать в обход объекта Workbook (ввиду отсутствия такового - ну не подключается у меня...

6
 Аватар для rdama
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
10.04.2012, 04:58
Что вы вкладываете в понятие
Цитата Сообщение от Geksod Посмотреть сообщение
ПРАВИЛЬНО
?
Как по вашему не правильно?
0
5 / 5 / 2
Регистрация: 27.08.2011
Сообщений: 75
10.04.2012, 05:36  [ТС]
Недавно начав изучение БД и всего, что с ними связано, как обычно столкнулся с кучей сложностей, некоторые из которых преодолел сам, некоторые помогли.
Так вот, создаю я, например, БД из трех-четырех таблиц (одна из них, естественно, главная), которые в свою очередь связаны идентификаторами (моя тема: Как сделать, чтобы отображались не цифры, а названия городов). Как осуществить запись в главную таблицу правильно, используя язык запросов SQL?
0
 Аватар для rdama
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
10.04.2012, 07:09
Тема длинноватая. Уже несколько раз там был. Считаю что в принципе там не т причины лепить 4 страницы.
Вставка записи на SQL выполняется с помощью кляузы INSERT.
Общий вид
SQL
1
INSERT INTO tablename(field1,field2,..,fieldN) VALUES(value1,value2,..,valueN)
Что еще тут можно написать?
И да что в вашем понимании "связанные таблицы"? Связанные в результате запроса? Или Связанные в контексте модели данных Access?
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
10.04.2012, 10:06
Сначала вставляется строка в родительскую таблицу, а потом, по мере надобности, в дочерние.
Скажем, есть у меня таблица отделов Dep и таблица служащих Emp. Допустим, мне надо создать отдел с id = 20 и затем приписать к нему служащих. Понятное дело, что сначала я создаю строку с id = 20 в таблице Dep, а затем либо новых служащих, которые будут иметь в поле dep_id значение 20, либо служащие могли быть заведены ранее, но у них dep_id был привязан к другому отделу, либо был NULL

PS
К слову сказать, вопрос скорее относится к теории (общим вопросам) БД, но никак не к Delphi
0
5 / 5 / 2
Регистрация: 27.08.2011
Сообщений: 75
11.04.2012, 05:40  [ТС]
Цитата Сообщение от Grossmeister Посмотреть сообщение
Сначала вставляется строка в родительскую таблицу, а потом, по мере надобности, в дочерние.
Скажем, есть у меня таблица отделов Dep и таблица служащих Emp. Допустим, мне надо создать отдел с id = 20 и затем приписать к нему служащих. Понятное дело, что сначала я создаю строку с id = 20 в таблице Dep, а затем либо новых служащих, которые будут иметь в поле dep_id значение 20, либо служащие могли быть заведены ранее, но у них dep_id был привязан к другому отделу, либо был NULL
Вероятно, я неправильно задал свой вопрос.
Теория понятна. Теперь другой вопрос: есть у меня главная таблица, есть подчиненные. В таблицах уже, допустим, занесены какие-либо данные. Как посредством SQL сделать полную запись (в главную и подчиненную таблицы)? В главную таблицу заносятся только индексы подчиненных. Как с помощью SQL узнать индекс из подчиненной? Приведите, пожалуйста, простой пример.
Ведь я могу создавать запись в главной таблице используя уже созданные записи из подчиненной.
С TADOTable все понятно, а вот TADOQuery + SQL трудности.
0
 Аватар для rdama
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
11.04.2012, 07:57
Собираем форму для вставки/редактирования на нее кидаем нам необходимые контролы(DbLookupCombobox например) и получаем идентификаторы того что надо. Ну а потом смотри мой предыдущий пост.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2012, 07:57
Помогаю со студенческими работами здесь

Как редактировать данные из двух связанных таблиц?
компонент fdquery. имеются данные таблицы l2,l3. в l2 столбцы cтрана,город,ид. в l3 столбец формап,ид1. помогите отредактировать...

Как вывести данные в DataGridView из 2-х связанных таблиц в БД?
Здравствуйте! Разрабатываю приложение в среде VS, язык С#, встраиваемая база данных Firebird Embedded. Не получается корректно...

Как вывести информацию из двух связанных по ID таблиц
Но если во второй таблице три поля, в котором присутствую ID из первой таблице!!!! Я сколько не бился, не получается! Максимум что...

Как перебрать выборку из связанных таблиц на pl pgsql?
Добрый день форумчане. Вопрос в следующем. Пишу функция, которая связывает таблицы по Inner Join и делает выборку и расчеты. На этапе...

Как удалить записи из двух не связанных таблиц
Как удалить записи из двух не связанных таблиц одним запросом? База данных Аксесс 2007, язык C#. Пробовал так: DeleteCommandText =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru