![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сводная таблица
ankazh © (2012-09-03 00:02:00)Есть две таблицы. Дом1(поля: фамилия, имя) Дом2(поле: фамилия).Вывожу в dbgrid через adoquery select дом1.имя from дом1 union select дом2.имя from дом2.
Возможно ли как-нибудь, выбранную запись в дбгриде, удалить(DBGrid1.DataSource.DataSet.delete) и при этом чтобы соотв.запись в табл дом1 также удалялась (чтоб удалялось фамилия и имя)??????
Как это возможно реализовать?
sniknik (2012-09-03 16:56:00) [1]> а развели демагогию :)
спрашивать нужно конкретно, а не разводить... уж не знаю что.
ankazh (2012-09-03 16:12:00) [2]спасибо всем большое, сделала вс е как хотела. А всего-то надо было в sql колум поставить, для принадлежности к одной или другой таблице. Работы на 10 сек, а развели демагогию :)
sniknik (2012-09-03 14:44:00) [3]> Для частей речи и форм можно и не заводить отдельные справочники, поскольку они устоявшиеся и их немного.
можно их самих сделать "естественным" ключом. и в этом смысле структура в [0] уже не такая уж "убогая"...
еще один + к [14].
sniknik (2012-09-03 14:38:00) [4]> )))) я как бы пишу в разделе "Начинающим" :)
поэтому я и дал ссылку, "не начинающий" должен и сам знать/найти.
Inovet (2012-09-03 12:56:00) [5]> [20] ankazh © (03.09.12 12:55)
> ....это части речи на иностранном языке
И что?
ankazh (2012-09-03 12:55:00) [6]....это части речи на иностранном языке
Inovet (2012-09-03 12:37:00) [7]Слова - совсем другая задача. Надо было догадаться?
Хорошо. Допустим так.
Части_речи(ИД, Название)
Формы (ИД, ИД_Части_речи, Название)
Слова (ИД, Написание_в_основной_форме)
Написание (ИД, ИД_Слова, ИД_Формы, Написание)
Для частей речи и форм можно и не заводить отдельные справочники, поскольку они устоявшиеся и их немного.
ankazh (2012-09-03 12:37:00) [8]
> sniknik
)))) я как бы пишу в разделе "Начинающим" :)
sniknik (2012-09-03 12:29:00) [9]http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0
sniknik (2012-09-03 12:27:00) [10]> конкретный выход
третья нормальная форма в базах данных.
ankazh (2012-09-03 12:25:00) [11]из всего вышепосоветованого, поняла что дела не будет.... и запихну я это все в 1 таблицу в которой сделаю полей так 15-20. Если у кого-то есть решение лучше и конкретный выход, прошу помочь.... потомучто такая каша в 1 таблице жесть.... но как я вижу работает...
sniknik (2012-09-03 12:16:00) [12]> нет ,на самом деле у меня не дома, я так чтоб объяснить быстрее.
ССЗБ
sniknik (2012-09-03 12:15:00) [13]> Или выход только прописывать руками???????
вообще можно взять готовое, например КЛАДР. не скажу, что структура в нем идеальна... (скорее наоборот), но он очень распространен.
ankazh (2012-09-03 12:09:00) [14]нет ,на самом деле у меня не дома, я так чтоб объяснить быстрее. У меня части речи, а их всего 10. 10 таблиц, в каждой из таблиц есть пара одинаковых полей, которые я и вывожу. По мимо них у каждой табл. есть и отличн. поля (своя специфич. каждой части речи)
Inovet (2012-09-03 12:05:00) [15]> [9] ankazh © (03.09.12 11:49)
А 3 дома, миллион домов, на каждый по таблице? Наверное подойдёт структура
Улицы (ИД, Название)
Люди (ИД, Фамилия, Имя)
Дома (ИД, ИД_Улицы, номер_дома)
Проживающие (ИД_Дома, ИД_Люди)
sniknik (2012-09-03 12:02:00) [16]> у меня 2 дома, на каждый дом своя таблица.
начни с чтения основ баз данных. т.к. вот это из-за непонимания их ВООБЩЕ.
ankazh (2012-09-03 11:49:00) [17]у меня 2 дома, на каждый дом своя таблица. Когда я делаю ключ(счетчик) ,то значение счетчика при слитии 2-х таблиц будут не уникальны уже. Или выход только прописывать руками???????
sniknik (2012-09-03 10:50:00) [18]> но ведь то. что я вывожу это всего лишь запрос как мне сделать там какой либо ключ?????
"там" уже никак, ключ это в базе, если хочешь в запросе то уже либо сам "ручками" обеспечивай связку/удаление. либо меняй связку на ту которая может обеспечить "автоудаление", что впрочем без ключа и поля связи тоже не делается.
Inovet (2012-09-03 10:42:00) [19]> [6] ankazh © (03.09.12 10:04)
> Теоретически я понимаю, что между выводящимся и таблицами
> должна существовать связь
Так и надо эту связь сделать, а у тебя получается просто набор таблиц, которые ты сливаешь с выкидыванием в запросе дубликатов. Обычно, но не обязательно, в "главной" таблице делается поле с сурогатным ключом integer ID с автоинкрементом, в других "подчинённых", кроме своего ID, поле с ID_главная и CASCADE на удаление, изменение (если надо). Вот тут и смотри пример из [1]. А для начала надо определиться что и где хранить.
Задача какая?
ankazh (2012-09-03 10:04:00) [20]sniknik, вы правы. таблиц будет много у всех них есть два поля с одинаковой структурой и одинаковым именем, по ним я их всех и вывожу запросом с помощью UNION в dbGrid. Затем мне при выделении записи в гриде нужно ее удалить(и все что связано с ней(что соответственно в др.таблице)), или новую добавить....
Теоретически я понимаю, что между выводящимся и таблицами должна существовать связь, но ведь то. что я вывожу это всего лишь запрос как мне сделать там какой либо ключ?????