Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Таблица-справочник  [new]
werp
Guest
Используя анализатор запросов Query Analyzer, создать для одной из таблиц справочник, который связать с этой таблицей.
Собственно , как сделать так, чтобы в таблице вместо жанра отображался НЖ

К сообщению приложен файл. Размер - 38Kb
11 сен 11, 15:41    [11260428]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
werp,

INNER JOIN обеих таблиц по "жанр" и вам доступны ВСЕ колонки.
11 сен 11, 16:08    [11260488]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
werp
Guest
SamMan начало обучения только. То есть INNER JOIN пока не затрагиваем. Выполнить необходимо с помощью ALTER TABLE и связей.
11 сен 11, 16:12    [11260498]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
iljy
Member

Откуда:
Сообщений: 8711
werp,

ээээ.... Вам FOREIGN KEY чтоли надо? ALTER TABLE ... ADD CONSTRAINT
11 сен 11, 16:19    [11260517]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
Glory
Member

Откуда:
Сообщений: 104751
werp
SamMan начало обучения только. То есть INNER JOIN пока не затрагиваем. Выполнить необходимо с помощью ALTER TABLE и связей.

ALTER TABLE не влияет на выборку данных. То, что вы хотите, можно получить только через JOIN
11 сен 11, 16:19    [11260520]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
werp
с помощью ALTER TABLE и связей.


...можно сделать форин-кей(FK) из второй таблицы на первую. Тогда во второй колонку "жанр" можно будет заменить колонкой "НЖ" с цифрами. Но автоматом этого не случится, данные нужно будет перекидывать дополнительно.
Кроме того - конечная цель сформулирована не четко:
автор
отображался НЖ


отображался где? Отображался в результате чего? Можно сделать шот таблицы с НЖ а потом его - как обоину на десктоп. Отображется ваше НЖ? Отображается!
11 сен 11, 16:24    [11260538]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
iljy
Member

Откуда:
Сообщений: 8711
Glory
werp
SamMan начало обучения только. То есть INNER JOIN пока не затрагиваем. Выполнить необходимо с помощью ALTER TABLE и связей.

ALTER TABLE не влияет на выборку данных. То, что вы хотите, можно получить только через JOIN

Да не, у него походу ненормализованная таблица, ему поле Жанр надо вынести в справочник с созданием ВК
11 сен 11, 16:25    [11260539]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
Glory
Member

Откуда:
Сообщений: 104751
iljy
Glory
пропущено...

ALTER TABLE не влияет на выборку данных. То, что вы хотите, можно получить только через JOIN

Да не, у него походу ненормализованная таблица, ему поле Жанр надо вынести в справочник с созданием ВК

"Собственно , как сделать так, чтобы в таблице вместо жанра отображался НЖ "
11 сен 11, 16:26    [11260542]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
werp
Guest
Благодарю за советы.
iliy именно оно, но перечитав уже многие вещи так и не получается реализовать.
Glory в тоже время заставляют реализовать только через него
11 сен 11, 16:27    [11260544]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
iljy
Member

Откуда:
Сообщений: 8711
Glory
iljy
пропущено...

Да не, у него походу ненормализованная таблица, ему поле Жанр надо вынести в справочник с созданием ВК

"Собственно , как сделать так, чтобы в таблице вместо жанра отображался НЖ "

Ну да, вместо поля Жанр - ключ таблицы-справочника
11 сен 11, 16:35    [11260566]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
iljy
Member

Откуда:
Сообщений: 8711
werp
Благодарю за советы.
iliy именно оно, но перечитав уже многие вещи так и не получается реализовать.
Glory в тоже время заставляют реализовать только через него

Какие именно? Если есть конкретные вопросы- задавайте, только конкретные.
11 сен 11, 16:36    [11260568]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
werp
Guest
SamMan Не прокатит , ибо надо на месте показывать >:D.
Должно получиться типа того.

К сообщению приложен файл. Размер - 32Kb
11 сен 11, 16:43    [11260586]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
werp
Не прокатит , ибо надо на месте показывать


Ну вам уже ответили - форин-кей называется то, что вам нужно. Вам такой термин о чем-то говорит?
12 сен 11, 11:52    [11262896]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
werp
Guest
SamMan
Ну вам уже ответили - форин-кей называется то, что вам нужно. Вам такой термин о чем-то говорит?

Да говорит и связи реализованы через него.
iljy именно это и хочу реализовать

CREATE TABLE Справочник (ID int primary key
identity (1,1) NOT NULL , жанр char(15))

CREATE TABLE Ф
(id int identity (1,1) NOT NULL primary key,
 НЖ int constraint fk_НЖ references Справочник(ID) not null,
 название char(20),
 режиссёр char(20),
 жанр char(20),
 премьера datetime,
 бюджет money
)
Допустим, переделал запросы на создание новых таблиц без автозаполнения. Так как сделать так, чтобы в созданной таблице справочник заполнив поля жанр. Этот самый ID жанра автоматически брался и заполнял поля НЖ в таблице Ф.
13 сен 11, 02:43    [11266834]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
angel_zar
Member

Откуда: Барнаул
Сообщений: 902
werp
SamMan
Ну вам уже ответили - форин-кей называется то, что вам нужно. Вам такой термин о чем-то говорит?

Да говорит и связи реализованы через него.
iljy именно это и хочу реализовать

CREATE TABLE Справочник (ID int primary key
identity (1,1) NOT NULL , жанр char(15))

CREATE TABLE Ф
(id int identity (1,1) NOT NULL primary key,
 НЖ int constraint fk_НЖ references Справочник(ID) not null,
 название char(20),
 режиссёр char(20),
 жанр char(20),
 премьера datetime,
 бюджет money
)
Допустим, переделал запросы на создание новых таблиц без автозаполнения. Так как сделать так, чтобы в созданной таблице справочник заполнив поля жанр. Этот самый ID жанра автоматически брался и заполнял поля НЖ в таблице Ф.

Тригер
13 сен 11, 07:11    [11266901]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
angel_zar,

и как это поможет ?
13 сен 11, 08:18    [11266977]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
vanezy
Member

Откуда: Ekaterinburg->Moscow->Frankfurt
Сообщений: 122
werp,
Если я правильно понял вашу цель, вам сначала не нужно создавать на таблице Ф констрейнт, затем имея заполненную таблицу Ф с заполненным полем Жанр и заполенную таблицу справочника с заполненными полями Жанр и НЖ вы можете при помощи джойна по полю Жанр заполнить поле НЖ в таблице Ф однократно, затем уже переделать ваше приложение или что там у вас чтобы оно заполняло не наименования жанра, а НЖ, а выводить поле Жанр для просмотрта можно будет также заджойнив эти две таблицы, но уже по НЖ. Потом можно создать констрейнт.
13 сен 11, 11:24    [11267884]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
werp
Допустим, переделал запросы на создание новых таблиц без автозаполнения. Так как сделать так, чтобы в созданной таблице справочник заполнив поля жанр. Этот самый ID жанра автоматически брался и заполнял поля НЖ в таблице Ф.

А зачем имея в таблице данных код тащить куда-то расшифровку кода из справочника ? Все это делается запросами. Для денормализации и хранения избыточных данных надо иметь очень веские основания. В этой задаче их не видно.
13 сен 11, 12:56    [11268707]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
werp
Допустим, переделал запросы на создание новых таблиц без автозаполнения.


Без чего??

werp
Так как сделать так, чтобы в созданной таблице справочник заполнив поля жанр.


Фразу сами перечитайте, а вообще вопросительное предложение должно заканчиваться знаком вопроса. Это у нас вот такая - ? - фиговина, если че.

werp
Этот самый ID жанра автоматически брался и заполнял поля НЖ в таблице Ф.


ID жанра (колонка НЖ таблицы Ф) НИКОГДА не будет заполняться автоматически. Откуда, думайте сами, сервер может определить правильный жанр нового боевика Феди Бондарчука "Жесть на форуме"? Это может знать ТОЛЬКО юзер вставляющий строку с этим фильмом. Колонка "жанр" в той же таблице просто не нужна, копайте тему нормализации БД.

P.S. НИКОГДА не пишите программные объекты русскими буквами, рискуете закончить свою карьеру как разработчик 1C-Бухгалтерии, что печально. Инглиш - наше ФСЕ.
13 сен 11, 13:16    [11268861]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить