Связь между таблицами? - PullRequest
0 голосов
/ 15 марта 2011

Я видел диаграммы ER и концептуальные схемы многих баз данных, но мне все еще не очень ясно, как вы создаете из них таблицы и запрашиваете их?

Например, ниже приведена база данных схемы и как из нее создавать таблицы и запрашивать ее?

enter image description here

Скажем, мне нужно выполнить запрос, чтобы найти все фильмы с ключевым словом «Америка» в жанре «Действие» (жанр ID = 126). есть идеи?

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

Большинство инструментов, которые могут создать диаграмму ER, также могут генерировать операторы SQL, необходимые для реализации базы данных.В противном случае вам придется делать это вручную, читая диаграмму и переводя ее самостоятельно в SQL.

Итак, глядя на диаграмму ER, вы можете написать

CREATE TABLE Film (
  Id INTEGER PRIMARY KEY,
  Title VARCHAR(35) NOT NULL,
  Description VARCHAR(256) NOT NULL,
  Year INTEGER NOT NULL CHECK (Year > 1900),
  Rating INTEGER NOT NULL DEFAULT 3 CHECK (Rating BETWEEN 1 AND 5)
);

Это изображение не 't не показывает типы данных (например, VARCHAR (35)) и ограничения (например, год> 1900), поэтому я только догадался.

Теперь вам просто нужно вставить данные в таблицы, и все готово.

0 голосов
/ 15 марта 2011
select Film.*
  from Film
 inner join FilmGenre on FilmGenre.FilmId = Film.Id
 inner join Genre on Genre.Id = FilmGenre.GenreId
 where Film.Title like '%America%'
   and Genre.Name = 'Action'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...