База данных интернет-магазина музыки

Проектирование даталогической модели в виде логической структуры реляционной базы данных в СУБД Microsoft SQL Server на основе созданной инфологической модели базы данных интернет-магазина музыки. Выделение сущностей и связей, анализ предметной области.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 15.06.2013
Размер файла 724,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Задание

Исследовать предметную область и создать инфологическую модель для базы данных интернет-магазина музыки.

При исследовании предметной области необходимо описать процессы, происходящие в предметной области, и данные, которые должна хранить разрабатываемая база данных. По результатам проведения исследования предметной области должна быть создана инфологическая модель, содержащая описание будущей базы данных на естественном языке, а также диаграмму «сущность-связь» (ER - Entity Relationship).

На основе созданной инфологической модели базы данных интернет-магазина музыки создать даталогическую модель в виде логической структуры реляционной базы данных:

разбить всю информацию по отношениям (таблицам);

определить состав полей (атрибутов) каждого отношения;

определить ключи каждого отношения;

определить связи.

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

Исследование предметной области

Интернет-магазин музыки (в дальнейшем «магазин») осуществляет продажу пользователям прав на прослушивание музыкальных композиций (далее будем называть их «трек»). Каждая из композиций является частью определенного музыкального альбома конкретного исполнителя. Магазин получает прибыль в виде части дохода от продажи треков, остающейся после того, как владельцы соответствующих этим трекам альбомов получают отчисления, выраженные в процентах от дохода.

Разрабатываемая база данных должна хранить информацию:

о пользователях сайта магазина;

о характеристиках имеющихся в продаже треков и музыкальных альбомов, в том числе об их цене;

о правах пользователей на прослушивание того или иного трека;

о компаниях-владельцах музыкальных альбомов, в том числе о части дохода от продаж, отчисляемой в пользу определенного владельца.

Данные о каждом пользователе представлены главным образом парой логин-пароль, используемой при входе на сайт магазина, где в качестве логина используется электронный адрес пользователя. Помимо этого, необходимо указание имени и фамилии пользователя.

Необходимые характеристики треков:

название композиции;

продолжительность;

альбом, в котором данный трек присутствует;

цена покупки права на прослушивание этого трека.

Такую характеристику трека, как продолжительность, необходимо хранить в базе данных потому, что этих данные использует медиапроигрыватель, созданный на базе сайта магазина.

Характеристики альбома:

название;

исполнитель;

дата выхода;

жанр;

цена альбома;

владелец.

Дата выхода и жанр альбома используются в критериях, по которым пользователь может осуществлять поиск среди представленных в магазине композиций.

Цена альбома подразумевает, что все множество треков, которое он содержит, может быть куплено за цену, отличную от суммы цен каждого трека альбома в отдельности. Обычно цена альбома ниже этой суммы.

Данные о владельцах альбомов представлены информацией о компаниях (адрес, контактные данные), а также величиной отчислений от продаж в их пользу, что представлено процентом от цены продажи треков и альбомов в магазине.

Необходимо уточнить, что база данных не хранит информации о способах оплаты, так как все платежные операции осуществляются с помощью посредников - электронных платежных систем (к примеру, PayPal).

Создание инфологической модели

Сущности

При создании инфологической модели данной базы данных использовался подход «сущность-связь», и в соответствии с этим подходом анализ описанной предметной области и решаемых задач позволяет выделить следующие сущности:

Покупатель;

Владелец;

Альбом;

Трек;

Право;

Исполнитель трека;

Исполнитель альбома.

Сущность а), Покупатель, описывает пользователей сайта магазина. Она является независимой и имеет следующие атрибуты:

E-mail --- адрес электронной почты пользователя. Она является ключом данной сущности, так как электронная почта, указанная при регистрации на сайте, однозначно соответствует отдельному пользователю. Регистрация нескольких пользователей по одному e-mail в рассматриваемой системе невозможна;

Пароль - пароль пользователя для входа на сайт;

Имя;

Фамилия.

Сущность б), Владелец, описывает компании, предоставляющие магазину свою продукцию для продажи. Эта сущность независима. Ее атрибуты:

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

Адрес - юридический адрес компании;

Телефон - контактные данные компании в данной базе данных представлены телефонным номером;

Процент от цены - доля дохода от продажи по ценам магазина, отчисляемая в пользу владельца.

Сущность в), Альбом, описывает музыкальные альбомы, доступные для продажи в магазине. Эта сущность является зависимой от Владельца, так как каждый альбом должен быть предоставлен конкретным его владельцем.

Атрибуты сущности Альбом:

Название;

Исполнитель;

Дата выхода - дата его официального релиза;

Жанр;

Цена альбома - цена покупки сразу всех треков, содержащихся в данном альбоме;

Владелец.

Сущность г), Трек, описывает музыкальные композиции. Сущность зависит от сущности Альбом, так как каждый представленный в магазине трек является частью какого-либо альбома. Атрибуты этой сущности:

Название;

Исполнитель - подразумевается, что у треков из одного альбома могут быть разные исполнители;

Продолжительность - продолжительность трека во времени;

Альбом;

Цена - цена покупки конкретно этого трека, отдельно от других треков соответствующего альбома.

Сущность д), Право, постулирует право пользователя на прослушивание оплаченного им трека. Данная сущность зависима от сущностей Покупатель и Трек, так как отношение права подразумевает существование его обладателя (покупателя) и его предмета (трека).

Атрибуты сущности:

Покупатель;

Трек.

Сущность е), Исполнитель трека, выделяется для описания множества артистов, исполняющих данный трек. Данная сущность зависима от сущности Трек, так как любой исполнитель трека участвует в каком-либо треке.

Атрибуты сущности:

Трек;

Артист.

Сущность ж), Исполнитель альбома, выделяется для описания множества артистов, исполняющих данный альбом. Данная сущность зависима от сущности Альбом, так как любой исполнитель альбома участвовал в записи какого-либо альбома.

Атрибуты сущности:

Альбом;

Артист.

Связи

В ходе создания инфологической модели были выделено 6 связей. Каждая из них является идентифицирующей, так как установлена между одной независимой (родительской) и одной зависимой (дочерней) сущностями.

Связь между Владелецем и Альбомом. В данном случае Владелец - родительская сущность, а Альбом - дочерняя. Мощность связи - «один ко многим», так одному владельцу может соответствовать несколько альбомов.

Связь между Альбомом и Треком. Здесь Альбом - родительская сущность, а Трек - дочерняя. Мощность связи - «один ко многим», так в одном альбоме может быть несколько треков.

Связь между Покупателем и Правом. Покупатель - родительская сущность, Право - дочерняя. Мощность связи - «один ко многим», так у одного покупателя может быть несколько прав на разные треки.

Связь между Треком и Правом. Трек - родительская сущность, Право - дочерняя. Мощность связи - «один ко многим», так как один трек может быть доступен через несколько прав нескольким пользователям.

Связь между Треком и Исполнителем трека. Здесь Трек - родительская сущность, а Исполнитель трека - дочерняя. Мощность связи - «один ко многим», так как один трек может исполняться несколькими исполнителями.

Связь между Альбомом и Исполнителем альбома. Здесь Альбом является родительской сущностью, а Исполнитель альбома - дочерней. Мощность связи - «один ко многим», так как один альбом может быть записан несколькими исполнителями.

ER-диаграмма

ER-диаграмма на рисунке 3.1 построена в рамках нотации IDEF1X.

ER-диаграмма инфологической модели базы данных

В соответствии с этой диаграммой, независимые сущности изображаются в виде обычных прямоугольников, зависимые - в виде прямоугольников со скругленными углами. Чертой в прямоугольниках отделены ключи сущности (над чертой). Точка на связи ставится со стороны дочерней сущности. Буква «P» рядом с точкой означает, что одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение). Это следует из логики заполнения базы данных, так как в ней отсутствуют альбомы без треков, владельцы, не предоставившие магазину ни одного альбома, и исполнители треков и альбомов, не участвующие в записи ни одного трека или альбома, присутствующего в продаже.

Создание реляционной модели

Построение отношений

Создадим отношения из имеющихся в инфологической модели сущностей. Во всех этих отношениях введем суррогатный ключ кода, представляющий собой счетчик. Такой ключ обеспечит уникальность кортежей, а также с его помощью легче связывать отношения, чем по другим потенциальным ключам.

Атрибуты отношения «Покупатель»:

Код покупателя - числовое значение (счетчик), суррогатный ключ. Является первичным ключом;

E-mail - строка символов в формате электронного адреса;

Пароль - строка символов, разрешенных для использования в пароле пользователя;

Имя - строка символов, последовательность букв какого-либо национального алфавита вместе со служебными символами;

Фамилия - строка символов, последовательность букв какого-либо национального алфавита вместе со служебными символами.

Атрибуты отношения «Владелец»:

Код владельца - числовое значение (счетчик), суррогатный ключ. Является первичным ключом;

Имя - строка символов, последовательность букв какого-либо национального алфавита вместе со служебными символами;

Адрес - строка символов, последовательность букв какого-либо национального алфавита вместе со служебными символами;

Телефон - строка символов (цифр и разделителей);

Процент от цены - числовое значение, принадлежащее промежутку [0;1].

Атрибуты отношения «Альбом»:

Код альбома - числовое значение (счетчик), суррогатный ключ. Является первичным ключом;

Название - строка символов, последовательность букв какого-либо национального алфавита вместе со служебными символами;

Исполнители - составное поле, сформированное из всех значений атрибута Артист отношения «Исполнитель», соответствующих данному альбому;

Дата выхода - дата в формате ГГГГ-ММ-ДД;

Жанр - строка символов, последовательность букв какого-либо национального алфавита вместе со служебными символами;

Цена альбома - денежный тип данных;

Атрибуты отношения «Трек»:

Код трека - числовое значение (счетчик), суррогатный ключ. Является первичным ключом;

Название - строка символов, последовательность букв какого-либо национального алфавита вместе со служебными символами;

Исполнители - составное поле, сформированное из всех значений атрибута Артист отношения «Исполнитель», соответствующих данному треку;

Продолжительность - длительность в формате чч:мм:сс;

Цена - денежный тип данных;

Атрибуты отношения «Право»:

Код права - числовое значение (счетчик), суррогатный ключ. Является первичным ключом;

Код покупателя - внешний ключ, указывающий на соответствующий кортеж отношения «Покупатель»;

Код трека - внешний ключ, указывающий на соответствующий кортеж отношения «Трек»;

Отношение «Исполнитель» будет одновременно отражать как сущность «Исполнитель трека», так и сущность «Исполнитель альбома». Атрибуты отношения «Исполнитель»:

Код исполнителя - числовое значение (счетчик), суррогатный ключ. Является первичным ключом;

Трек/альбом - числовое значение, равное 0 или 1;

Код произведения - при значении предыдущего атрибута, равном 0, это внешний ключ, указывающий на соответствующий кортеж отношения «Трек». При значении, равном 1, это внешний ключ, указывающий на соответствующий кортеж отношения «Альбом»;

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

Следующее отношение, «Владельцы альбомов», необходимо для учета данных о том, какие альбомы каким владельцам принадлежат. Атрибуты:

Код альбома - внешний ключ, указывающий на соответствующий кортеж отношения «Альбом». Является также первичным ключом (подразумевается, что несколько владельцев у одного альбома быть не может);

Код владельца - внешний ключ, указывающий на соответствующий кортеж отношения «Владелец».

Отношение «Треки» альбомов необходимо для определения того, в каком альбоме содержатся те или иные треки. Его атрибуты:

Код трека - внешний ключ, указывающий на соответствующий кортеж отношения «Трек». Является также первичным ключом;

Код альбома - внешний ключ, указывающий на соответствующий кортеж отношения «Альбом».

Связи

Все связи в представленной модели имеют характер «один ко многим».

связь между владельцами и альбомами («один владелец - много альбомов») отражена отношением «Владельцы альбомов»;

связь между альбомами и треками («один альбом - много треков») отражена отношением «Треки альбомов»;

связь между покупателями и правами («один покупатель - много прав») отражена отношением «Право»;

связь между треками и правами («один трек - много прав на него») отражена отношением «Право»;

связь между альбомами и исполнителями альбомов («один альбом - много исполнителей») отражена отношением «Исполнители»;

связь между треками и исполнителями треков («один трек - много исполнителей») отражена отношением «Исполнители»;

Диаграмма датологической модели

Построим диаграмму, основываясь на физической организации данных, используемой в СУБД Microsoft SQL Server. Она изображена на рисунке 5.1.

Диаграмма датологической модели

Первая нормальная форма

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

Свойства первой нормальной формы:

в отношении нет одинаковых кортежей;

кортежи не упорядочены;

атрибуты не упорядочены и различаются по наименованию.

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

Все атрибуты приведенных отношений, за исключением атрибута Адрес отношения «Владелец» и атрибута Дата выхода отношения «Альбом», являются атомарными. Стоит отметить, что хотя отмеченные атрибуты и являются неатомарными, их разбиение на части нецелесообразно. В рамках этой базы сортировка владельцев по составляющим адреса и сортировка альбомов по составляющим даты не является часто выполняемой задачей, и при необходимости это можно сделать программно.

Приведем диаграмму построенной датологической модели на рисунке 6.1 и примеры кортежей в созданных отношениях в таблицах 6.1-6.8.

Диаграмма датологической модели

Отношение «Покупатель»

Код покупателя

E-mail

Пароль

Имя

Фамилия

1

ivan@mail.com

qwerty

Иван

Петров

2

vasrus@mail.ru

12345

Василий

Смирнов

3

god15@gmail.com

penguin

Кирилл

Сидоров

Отношение «Владелец»

Код владельца

Имя

Адрес

Телефон

Процент от цены

1

A-Records

ул. Попова, дом 1

689878

0,8

2

Studio 34

ул. Ленина, дом 2

787984

0,75

3

MegaSound

ул. Гагарина, дом 3

284984

0,6

Отношение «Альбом»

Код альбома

Название

Исполнители

Дата выхода

Жанр

Цена альбома

1

Once

Nightwish

2004-11-24

Metal

200 руб.

2

Infinite

Eminem

1996-11-12

Rap

300 руб.

3

Revolver

The Beatles

1966-08-05

Rock

400 руб.

Отношение «Трек»

Код трека

Название

Исполнители

Продолжительность

Цена

1

Nemo

Nightwish

00:04:36

20 руб.

2

Planet Hell

Nightwish

00:04:39

20 руб.

3

The Siren

Nightwish

00:04:45

20 руб.

Отношение «Исполнитель»

Код исполнителя

Трек/альбом

Код произведения

Артист

1

0

1

Nightwish

2

1

3

Eminem

3

0

2

Nightwish

Отношение «Треки альбомов»

Код трека

Код альбома

1

1

2

1

3

1

Отношение «Владельцы альбомов»

Код альбома

Код владельца

1

3

2

3

3

1

Отношение «Право»

Код права

Код покупателя

Код трека

1

2

1

2

2

3

3

1

3

Вторая нормальная форма

Отношение находится во второй нормальной форме тогда и только тогда, когда это отношение находится в первой нормальной форме, и нет неключевых атрибутов, зависящих от части составного ключа.

Если потенциальный ключ отношения является простым, то отношение автоматически находится во второй нормальной форме. Это справедливо для отношений «Трек» (обеспечить уникальность значений можно только с помощью суррогатного ключа Код трека), «Треки альбомов» (Код трека - первичный ключ), «Владельцы альбомов» (Код альбома - первичный ключ).

В отношении «Покупатель» потенциальными ключами являются Код покупателя и E-mail, и они являются простыми. В отношении «Владелец» потенциальными ключами являются Код владельца и Имя, здесь тоже нет составных ключей.

Отношение «Альбом» имеет два потенциальных ключа: Код альбома и составной ключ (Название, Исполнители, Дата выхода), но атрибуты Жанр и Цена альбома не зависят от какой-либо их части составного ключа.

В отношении «Исполнитель» тоже два потенциальных ключа: Код исполнителя и составной ключ (Трек/альбом, Код произведения, Артист). Таким образом, в этом отношении неключевых атрибутов (атрибутов, не принадлежащих ни одному из потенциальных ключей) нет. Такая же ситуация в отношении «Право»: в нем есть простой ключ Код права и составной (Код покупателя, Код трека), неключевых атрибутов нет.

Таким образом, все рассматриваемые отношения находятся во второй нормальной форме.

Третья нормальная форма

Отношение находится в третьей нормальной форме тогда и только тогда, когда отношение находится во второй нормальной форме, и все неключевые атрибуты взаимно независимы. Атрибуты называются взаимно независимыми, если ни один из них не является функционально зависимым от другого.

Из всех рассматриваемых отношений только «Покупатель», «Владелец», «Альбом» и «Трек» имеют более одного неключевого атрибута. Остальные, следовательно, находятся в третьей нормальной форме.

В отношении «Покупатель» неключевые атрибуты - это Пароль, Имя и Фамилия, и они взаимно независимы. В отношении «Владелец»: Адрес, Телефон, Процент от цены - все взаимно независимы. В отношении «Альбом» неключевыми атрибутами являются Жанр и Цена альбома, и они тоже независимы друг от друга. Два неключевых атрибута отношения «Трек» - Продолжительность и Цена - тоже независимы.

Таким образом, все рассматриваемые отношения находятся в третьей нормальной форме.

Заключение

Во время выполнения данной расчетно-графической работы был проведен анализ отношений созданной ранее даталогической модели базы данных интернет-магазина музыки. Каждое из этих отношений находится в третьей нормальной форме (следовательно, и во второй, и в первой нормальных формах тоже). Таким образом, в ходе нормализации изменений в структуру отношений внесено не было.

Итоговая диаграмма датологической модели представлена на рисунке 8.1.

Итоговая диаграмма датологической модели

Во время выполнения данной расчетно-графической работы было проведено исследование предметной области, связанной с интернет-магазином музыки. На основе анализа предметной области в соответствии с подходом «сущность-связь» выделены сущности и связи, на основе которых была создана инфологическая модель базы данных.

Была создана даталогическая модель базы данных интернет-магазина музыки. Модель была реализована в виде логической структуры реляционной базы данных. Построена диаграмма данной модели на основе физической организации данных в СУБД Microsoft SQL Server.

база данный инфологический даталогический

Размещено на http://www.allbest.ru


Подобные документы

  • Анализ предметной области. Проектирование концептуальной модели. Разработка логической структуры базы данных. Выделение информационных объектов. Создание глобальной схемы связей. Поддержка целостности данных. Структура и назначение существующих форм.

    курсовая работа [1,4 M], добавлен 23.09.2016

  • Информационный анализ и выявление основных сущностей предметной области и их основных свойств. Построение концептуальной модели (модель сущность-связь). Определение логической модели реляционной базы данных. Решение задач средствами проектирования СУБД.

    курсовая работа [3,0 M], добавлен 25.11.2013

  • Анализ предметной области и введение ограничений. Выделение базовых сущностей. Концептуальная модель данных. Построение схемы реляционной модели базы данных магазина одежды в третьей нормальной форме. Описание физической БД. Проектирование интерфейса.

    курсовая работа [2,6 M], добавлен 20.11.2013

  • Построение инфологической (концептуальной) модели предметной области. Проектирование логической и физической структуры базы данных. Реализация проекта в среде конкретной СУБД. Организация корректировки и ввода данных в БД. Разработка интерфейса.

    курсовая работа [1,4 M], добавлен 14.01.2018

  • Исследование логической структуры реляционной базы данных на основе инфологической модели и её реализации в программе Microsoft SQL Server 2000. Характеристика разработки вложенных запросов на выборку записей, процедур, триггеров, создания представлений.

    реферат [1,2 M], добавлен 11.05.2012

  • Ограничения, присутствующие в предметной области. Проектирование инфологической модели данных. Описание основных сущностей и их атрибутов. Логический и физический уровни модели данных. Реализация базы данных: представления, триггеры, хранимые процедуры.

    курсовая работа [1,7 M], добавлен 10.02.2013

  • Описание состава реляционной базы данных как системы связанной информации, сохраняемой в двумерных таблицах. Основные функции CMS и изучение структуры сервера MySQL. Разработка системы выборок данных по товарам для интернет-магазина, таблицы покупателей.

    курсовая работа [2,0 M], добавлен 21.04.2015

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

    курсовая работа [318,6 K], добавлен 24.12.2014

  • Описание функционирования магазина мобильных телефонов. Особенности создания базы данных учета товарооборота магазина мобильных телефонов в СУБД Microsoft Access. Концептуальное проектирование системы, инфологическое моделирование предметной области.

    курсовая работа [9,5 M], добавлен 11.08.2012

  • Принципы построения СУБД, их достоинства. Архитектура распределенной информационной системы. Разработка интернет-магазина рынка книг: построение физической модели данных на языке SQL, проектирование схемы базы данных с использованием веб-интерфейса.

    курсовая работа [2,3 M], добавлен 01.11.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.