Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2013, 18:15   #1
jawa250t
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 55
По умолчанию работа с таблицами

есть таблица, в ней несколько полей. нужно создать вторую таблицу так, чтобы в ней было несколько своих столбцов и при выборе подтягивались данные из первой таблицы. каким образом это возможно сделать?
распишу подробнее: в первой таблице информация о транспорте - вид транспорта, максимальные габариты перевозимого груза, тариф перевозки. нужно сделать вторую таблицу - таблицу заказов, где ко всем имеющимся данным нужно добавить еще стоимость данной перевозки, расстояние. не могу сообразить как связать таблицы чтобы не было лишней повторяющейся информации
jawa250t вне форума Ответить с цитированием
Старый 02.03.2013, 07:05   #2
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Из второй таблицы - ссылка на первую
superedward вне форума Ответить с цитированием
Старый 02.03.2013, 16:14   #3
Самоучка
Пользователь
 
Аватар для Самоучка
 
Регистрация: 09.10.2008
Сообщений: 41
По умолчанию

Для чего две разных таблицы? Достаточно одну: в одном случае отображать только первые n столбцов, т.е. сделать невидимыми те столбцы, которые не нужны, а во втором случае отображать все столбцы.
Писать на стенах туалета, увы, мой друг не мудрено.....
Среди говна - мы все поэты. Среди поэтов - мы говно!
Самоучка вне форума Ответить с цитированием
Старый 03.03.2013, 14:23   #4
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Самоучка, ТС делает все правильно. Не надо говорить глупости об одной таблице.
Ибо транспорт это отдельная сущность а заказ отдельная и глупо и не верно хранить все в одной таблице.
Дорогой товарищ Самоучка, вы что нибудь слышали о нормализации БД. И нормальных формах.
И о том что при проведении нормализации необходимо избегать дублирования информации?
В случае ТС транспорт выделен в отдельную таблицу т.к. один и тот же транспорт может выполнять множество заказов. Т.е. явная связь один ко многим. И в его случае в таблице с заказом будет лишь ссылка на единожды введенный транспорт. Для всех заказов.
В вами предложенном варианте придется постоянно вводить информацию о транспорте т.е. производить постоянное дублирование информации в разрезе всего периода существования БД. Что к сожалению не соответсвует теории нормализации БД. И данная БД находится ни в одной из нормальных форм. А попросту среди проектировщиков ИС это называется "дурнопахнущая фекальная масса".

Для ТС посмотрите в сторону компонента DBLookUpComboBox.
ListSource = датасет с транспортом.
ListField = поле с наименованием транспорта
KeyField = id из таблицы с транспортом.
DataSource = таблица заказа
DataField = поле в таблице заказа через которое осуществляется связь с таблицей транспорта.
Это самый простой вариант, разберетесь с ним можно будет разбираться с другими.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с таблицами Gfdtk Помощь студентам 0 10.06.2012 18:15
Работа с файлами, таблицами SnowSin Помощь студентам 0 06.12.2009 16:55
работа с таблицами Petruha-nsk Общие вопросы C/C++ 2 26.04.2009 13:31
Работа с таблицами БД Rusl92 БД в Delphi 4 10.04.2008 16:58
работа с таблицами Sexyprogrammist Общие вопросы Delphi 1 15.06.2007 01:00