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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2009, 12:37   #1
M17
Пользователь
 
Регистрация: 29.07.2008
Сообщений: 35
По умолчанию Связь втаблицах?

Добрый день. Помогите пожалуйста начинающему. У меня такая проблема: я создал несколько таблиц в базе данных (SQL Server 2005), затем связал колонку NameID (счетчик) из таблицы NameFIO с колонкой NameKod в таблице Sotrudnic. Создал представление под названием 12. Теперь я хочу при заполнении строк в представлении "12" автоматически заполнялись колонки в таблице NameFIO, а таблицу Sotrudnic, в колонку NameKod переносился идентификатор с колонки NameID. А то у меня выдает сообщение о несоответствии ограничений FOREIGN KEY.
Прикрепляю образцы.

Заранее благодарю.
Изображения
Тип файла: jpg 1.JPG (88.0 Кб, 150 просмотров)
Тип файла: jpg 2.JPG (96.5 Кб, 141 просмотров)
Тип файла: jpg 3.JPG (106.1 Кб, 150 просмотров)
M17 вне форума Ответить с цитированием
Старый 26.10.2009, 13:13   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

что в твоем понимании означает "я хочу при заполнении строк в представлении "12" автоматически заполнялись колонки"?

вьюха (представление) ничего не заполняет, а просто отображает данные в тех связках, которые описаны в тексте вьюхи (про вьюхи на основе одной таблицы и всякие материализованные речь не идет)
soleil@mmc вне форума Ответить с цитированием
Старый 30.10.2009, 12:22   #3
M17
Пользователь
 
Регистрация: 29.07.2008
Сообщений: 35
По умолчанию Связь втаблицах?

Добрый день всем.

Хочу продолжить тему, может я неправильно излагаю свои мысли, сейчас попробую сформулировать вопрос по другому. Я еще не знаю что именно необходимо сделать, написать хранимую процедуру или тригер. Но я хочу добиться результата чтоб при заполнении строк в представлении сохранялись все данные в таблицах и таблицы могли бы обновлятся.(Когда я открываю представление "123", я заполняю все поля кроме NameKod, это поле относится к таблице "Сотрудники" которое в свою очередь связано с полем NameKod которое находится в таблице "NameFIO". В таблице "NameFIO" поле NameKod - счетчик, и при внесении нового сотрудника в этом поле присваивается уникальный идентификатор. Я хочу чтоб этот идентификатор автоматически попал в таблицу "Сотрудники" в колонку NameKod. Пока такого результата у меня достигнуть не получается).

Если у кого то есть какие то идеи, буду рад если вы поделитесь.

Заранее благодарен.
M17 вне форума Ответить с цитированием
Старый 30.10.2009, 13:40   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

то что ты пытаешься делать называется - модифицируемое представление
но его можно использовать только если вьюха построена на одной таблице
в твоем случае вьюха будет только отображать имеющиеся записи в соответствии с объединением таблиц в тексте вьюхи

тебе нужно писать
Код:
insert into your_table(...) values(...)
отдельно для каждой таблицы или все эти запросы держать в ХП (т.е. логика на сервере)
ну а раз тебе еще потом понадобится изменять и удалять данные, то проще будет реализовать через ХП все в одном месте
soleil@mmc вне форума Ответить с цитированием
Старый 30.10.2009, 15:20   #5
M17
Пользователь
 
Регистрация: 29.07.2008
Сообщений: 35
По умолчанию

Спасибо, что обратили внимание.
А теперь что касается кода, он работает в том случае когда необходимо обновить данные. А если мне понадобится добавить?
Ведь в моем случае данные сначала попадают в таблицу ФИО где им присваевается уникальный номер, а уж потом этот номер должен попасть в таблицу Сотрудники в столбец NameKod.

Заранее спасибо.
M17 вне форума Ответить с цитированием
Старый 30.10.2009, 15:32   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Перестаньте морочить голову себе и нам.
Выкиньте к чертовой матери никому не нужное поле NameKod и используйте вместо него сам собой напрашивающийся идентификатор SotrudnikID.
Вы удивитесь, насколько проще вам станет...
mihali4 вне форума Ответить с цитированием
Старый 30.10.2009, 15:43   #7
M17
Пользователь
 
Регистрация: 29.07.2008
Сообщений: 35
По умолчанию

Дело в том, что если я не разберусь с этим кодом, то у мня дальше не получится спроектировать базу.
M17 вне форума Ответить с цитированием
Старый 30.10.2009, 15:51   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Елки-палки, вы что - не понимаете, что вы создали никому не нужную вторую таблицу???
Все ваши сотрудники прекрасно описываются одной:
SotrudnikID
HoldKod
PodrazdelenieKod
LastName (лучше Fam)
Name2 (лучше Name)
SecondName
Дальше можете добавлять:
адрес проживания
код семейного положения
количество детей и т.д.
Все записи будут уникальны!
mihali4 вне форума Ответить с цитированием
Старый 09.11.2009, 07:21   #9
Aniliellamp
Заблокирован
 
Регистрация: 08.10.2009
Сообщений: 1
По умолчанию Связь втаблицах

Народ подажите пожалуйста варианты междугородней связи.
Много звонков делаю междугородом и потому связь получается дорогой

сейчас на безлимитке лайт МТС.
может есть какие то другие варианты ?
Aniliellamp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть ли связь? boroda JavaScript, Ajax 4 25.06.2008 23:50
связь БД и Delphi7 LIEN БД в Delphi 9 15.05.2008 18:06
Связь FTP Ксеноцид Работа с сетью в Delphi 4 30.03.2008 04:23
Связь с БД Elena БД в Delphi 4 03.05.2007 16:08
связь с каталогом mishania Microsoft Office Excel 5 08.11.2006 14:01