В процессе первичного ознакомления с базами данных, возник вопрос.
Допустим, у меня есть БД, в которой существуют 2 таблицы: Фильмы и Актёры.
Таблица фильмов включает в себя: название фильма, год выпуска, ID актёров и тд
Таблица актёров включает в себя: ID актёра, ФИО актёра, год рождения и тд
Так вот вопрос: неужели если я хочу ввести в одном фильме несколько актёров, мне нужно для каждого актёра делать свою строку?
Название: Фильм1 Год: 2009 ID актёра: 1
Название: Фильм1 Год: 2009 ID актёра: 2
....
Или это реализуется несколько другим способом?
В идеале, хотелось бы чтобы база содержала
Название: Фильм1 Год: 2009 ID актёра: 1,2,3
А таблица актёров:
ID: 1 ФИО: Пупкин1
ID: 2 ФИО: Пупкин2
ID: 3 ФИО: Пупкин3
решено: SQL (немного теории)
Модератор: Модераторы разделов
-
- Сообщения: 3340
- Статус: It's the GNU Age
- ОС: Debian
Re: решено: SQL
Так вот вопрос: неужели если я хочу ввести в одном фильме несколько актёров, мне нужно для каждого актёра делать свою строку?
Можно так.
Можно создать третью таблицу, с соответствиями "фильм-актёр".
Можно найти и почитать хорошую книжку по SQL.)
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: решено: SQL
Нет, конечно.skillergti писал(а): ↑19.02.2009 17:57Так вот вопрос: неужели если я хочу ввести в одном фильме несколько актёров, мне нужно для каждого актёра делать свою строку?
Лучше сделать три таблицы. В одной - фильмы, в другой - актёры, в третьей - связка "фильм - актёр".
http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%...%80%D0%BC%D0%B0
http://citforum.ru/database/osbd/glava_23.shtml
-
- Сообщения: 34
- ОС: slackware
Re: решено: SQL
Спасибо большое. В общем и сам так думал сделать, но "товарищ преподаватель" смутил меня своим примером в методичке (там 2 таблицы, в одной из которых много раз повторяется одна и та же строка с изменённой одной ячейкой).
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: решено: SQL
Жаль такого преподавателя. Это у него таблица в 1NF.skillergti писал(а): ↑19.02.2009 18:43"товарищ преподаватель" смутил меня своим примером в методичке (там 2 таблицы, в одной из которых много раз повторяется одна и та же строка с изменённой одной ячейкой).
-
- Сообщения: 131
- ОС: Arch Linux
-
- Сообщения: 34
- ОС: slackware
Re: решено: SQL
Примного благодарен

-
- Сообщения: 187
- ОС: openSUSE 11.2
Re: решено: SQL
Еще, чтоб окончательно порадовать преподавателя, можно заюзать nested tables и уместить все в одной таблице фактически. Если база позволяет

Попытка - первый шаг к провалу (с) Гомер