Базы данных

Представление заказа на покупку как перечня отдельных элементов с указанием количества для каждого


Обнаруженная в процессе этого анализа проблема на самом деле является не просто проблемой соответствия класса сущностей и его двойника из реального мира. Это — ошибка в понимании самой природы видеофильма. Два различных класса сущностей были смешаны в один класс. Один класс представляет реальную физическую видеокассету — объект, который может быть взят напрокат, берется клиентом для просмотра и должен быть возвращен до совершения следующей операции проката. Другой класс представляет более концептуальный объект — фильм (в содержательном смысле) или позицию каталога. Каждая физическая кассета является копией определенного фильма. Фильм должен быть представлен другим классом сущностей. Именно этот объект покупается у поставщика, и именно этот объект хочет найти клиент. В конечном итоге клиент будет спрашивать: “У вас есть копия Lady and Tramp?”, а не: “У вас есть видеокассета номер 112376?”.

На 2.10 приведена более подходящая ER-диафамма для видеокассет, фильмов, покупок и продаж. В этой диаграмме видеокассета (videotape) — это копия фильма. Название, жанр и другие, общие для всех копий фильма, атрибуты присоединены к классу Movie (фильм). Заказ на покупку состоит из строк, каждая из которых представляет покупку некоторого количества копий одного фильма. Приложение, обрабатывающее получение заказов, должно будет создать соответствующую сущность videotape для каждой из видеокассет, чтобы кассеты можно было внести в инвентарную опись.

 

2.10. ER-диаграмма поставщиков, закупок, фильмов и видеокассет 64 Часть I. Информационные модели и реляционные базы данных

Комментарии закрыты