Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сводная таблица


Страницы:   1 2

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. Затем мне при выделении записи в гриде нужно ее удалить(и все что связано с ней(что соответственно в др.таблице)), или новую добавить....
Теоретически я понимаю, что между выводящимся и таблицами должна существовать связь, но ведь то. что я вывожу это всего лишь запрос как мне сделать там какой либо ключ?????


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо