Пример проектирования базы данных «Гостиница" Irina Kisseljova 2010 a. irinak@nvtc.ee.

Презентация:



Advertisements
Похожие презентации
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Advertisements

Реляционная модель данных Разработана Е.Ф.Коддом (E.F.Codd) в 1970 г.
Базы данных Реляционная база данных MS Access. Повторение База данных организованная совокупность данных из какой-либо предметной области, предназначенная.
Введение в базы данных. Реляционное проектирование Затрагиваемые темы Проблемы, решаемые хранением данных в СУБД Проблемы, решаемые хранением данных в.
Информационная система « АВТОМАТИЗАЦИЯ ПРОКАТА ФИЛЬМОВ » Курсовая работа Работу выполнила: студент Z1243 Э группы факультета информатики и экономики Бареев.
Реляционные базы данных N-арное отношение – подмножество декартова произведения N множеств возможных значений (доменов, типов данных, атрибутов) Изображение.
Базы данных Лекция 01 Информационные технологии баз данных.
Базы данных введение. Цель базы данных помочь людям и организациям вести учет определенных вещей.
Разработка баз данных предприятий ЯОК Саровский физико-технический институт.
Проектирование баз данных "Сложная система, спроектированная наспех, никогда не работает, и исправить её, чтобы заставить работать, невозможно". Законы.
Базы данных MICROSOFT ACCESS. Оглавление Введение Microsoft Access. Основные понятия. Таблицы Связи между таблицами. Формы Запросы Отчёты Создание базы.
1 Информационные системы в экономике Информационное обеспечение.
Учебная дисциплина «Базы данных» для студентов специальности «Информационные системы и технологии» ЛЕКЦИЯ 4 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ Вопрос.
База данных и СУБД: основные понятия. База данных: общее понятие База данных: хранилище информации отражает объект реального мира имитирует деятельность.
1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) КАФЕДРА ИКТ Дипломный проект на тему: Студент: Руководитель проекта:
Тема 2. Концептуальное проектирование. Лекция 1. Уровни моделей и этапы проектирования.
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
Библиотека База данных «Библиотека». В БД «Библиотека» есть таблицы: «Книги», «Авторы», «Сотрудники библиотеки», Учет выдачи книг», «Жанры»
Представление предметной области. Методы представления предметной области. Модель сущность-связь. Инфологическое описание предметной области.
Транксрипт:

Пример проектирования базы данных «Гостиница" Irina Kisseljova 2010 a.

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

Функции БД должна осуществлять следующие функции: ведение списка постояльцев; учёт забронированных мест; учёт получаемых услуг

Особенности системы В соответствии с предметной областью система строится с учётом следующих особенностей: – Каждый номер сдается постояльцу в рамках договора; – Договор подписывается одним администратором гостиницы во время прибытия постояльца; – Один номер могут занять несколько постояльцев; – Клиент может посещать гостиницу несколько раз (по разным договорам); – Клиент может заказать несколько услуг(завтрак в номер); – Каждая договор оформляется на одного заказчика или на фирму; – При бронирование может быть перечислено несколько номеров; – Расторжение договора происходит после выселения постояльца из номера и оплаты счета. – Договор при желание постояльца можно продлён.

Пользователи Система создаётся для обслуживания следующих групп пользователей: – Администраторы гостиницы – Клиенты

Границы Определим границы информационной поддержки пользователей: Функциональные возможности: – ведение БД (запись, чтение, модификация, удаление в архив); – обеспечение логической непротиворечивости БД; – обеспечение защиты данных от несанкционированного или случайного доступа (определение прав доступа); – реализация наиболее часто встречающихся запросов в готовом виде; – предоставление возможности сформировать произвольный запрос на языке манипулирования данными.

Границы(2) Готовые запросы: – получение списка всех текущих договоров – получение полной информации о конкретном постояльце – получение полной информации о конкретных услугах – получение полной информации о конкретном номере – получение списка услуг каждого постояльца – получение статистики

Базовые сущности Выделим базовые сущности этой предметной области: – Клиенты – Номера – Договоры Добавим дочерную сущность этой предметной области: – Услуги

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

ER–диаграмма КЛИЕНТЫ ДОГОВОРА УСЛУГИ НОМЕРА M M M M 1 M

Нормализуем В процессе нормализации уменьшаем избыточность информации в базе данных и избавляемся от нежелательных связей между сущностями. Связь «М:М» разбиваем с помощью промежуточной таблицы на два отношения «1:М» Бронирование будем рассматривать как связь между клиентом и номером Пользование услугами будем рассматривать как связь между договором и услугой

Бизнес-правила Каждый клиент подписывает один или несколько договоров Каждый договор принадлежать только одному клиенту Клиент может заказать забронировать один или несколько номеров Каждый номер бронируется на одного или несколько постояльцев В каждом договоре указывается пользование одной или несколькими услугами Каждая выбранная услуга принадлежит только одному договору Каждая услуга может быть выбрана один или несколько раз Каждый выбор услуги принадлежать только одной услуги Каждый договор оформляется на один или несколько забронированных номеров Каждая бронь указывается только в одном договоре

ER–диаграмма 1 1 Клиент Договор Бронирование Номер 2 3 Пользование услугами Услуги

ОбъектыДействиеОбъект 1 Клиент Договор Подписывается один или много Подписывается только одим договоров клиентом 2 Клиент Бронь Регистрирует одну или несколько Принадлежит только одному броней клиенту 3 Договор Бронь Прописывается одну или несколько Указывается только в одном броней договоре 4 Номер Бронь Регистрируется в одной или нескольких Офорляется только на один бронях номер 5 Договор Выбранные услуги Указывается одна или несколько Принадлежат только одному выбранных услуг договору 6Услуга Выбор услуги выбирается один или несколько раз Указывает только на одну услугу

Преобразование ER–диаграммы в схему базы данных Преобразование ER–диаграммы в схему БД выполняется путем сопоставления каждой сущности и каждой связи, имеющей атрибуты, отношения (таблицы БД). Обозначения, используемые на схеме базы данных

Схема РБД Часть схема РБД, полученная из ER– диаграммы издательской компании

Семантика объектов и атрибутов Содержание поляИмя поляТип, длинаПримечания Личный кодIsikukoodText(11) (varChar)PK ИмяFirst_nameText(50) (varChar)обязательное поле ФамилияLast_nameText(50) (varChar)обязательное поле ГородTownText(50) (varChar)обязательное поле АдресAadressText(100) (varChar)обязательное поле ТелефонTelephoneText(50) (varChar) Э-почта Text(100) (varChar) Паспортные данные Passport_nrText(8) (varChar)обязательное поле PK - Первичный ключ FK -Внешний ключ Таблица «client» - Клиенты

Определение дополнительных ограничений целостности Личный код – 1 символ может быть только 3,4,5 или 6. – 4-5 символ должен быть меньше 13, но больше 0. – 6-7 символ должен быть меньше 32, но больше 0. Паспортные данные – 1 символ обязательная буква (A-Z)

Семантика объектов и атрибутов PK - Первичный ключ FK -Внешний ключ Таблица «contract» - Контракты Содержание поляИмя поляТип, длинаПримечания Код контрактаID_contract Number (Autonumber) PK Код клиентаID_clientText(11)FK (т. «Клиенты») Статус договораStatusText()обязательное поле СуммаSummaNumber (BigInt)обязательное поле Дата заключенияDate_startDate/Timeобязательное поле Дата подписания DateDate/Time Дата расторжения Date_endDate/Time

Определение дополнительных ограничений целостности Код контракта – 1-4 символ = текущему году(полный формат) – 5-8 символ = порядковый номер договора Статус договора – Область значений атрибута В процессе подписания Подписан Расторгнут

Структура базы данных

Физическое проектирование БД Не привязывать к конкретной СУБД и выполняем описание логической схемы БД на SQL Отношение contract (договоры): CREATE TABLE contract ( ID_contract INT NOT NULL primary key, ID_client VARCHAR( 11 ) NOT NULL, Status VARCHAR( 50 ) NOT NULL, Summa BIGINT NOT NULL, Date_start DATE NOT NULL, Date DATE NULL, Date_end DATE NULL )

Готовые запросы Получение списка всех текущих договоров SELECT ID_contract FROM contract WHERE Date_end is NULL Получение полной информации о конкретном номере SELECT * FROM room WHERE ID_room='207'

Выбор средств реализации В первую очередь при выборе СУБД необходимо принимать во внимание следующие факторы: – максимальное число пользователей одновременно обращающихся к базе; – характеристики клиентского ПО; – аппаратные компоненты сервера; – серверную операционную систему; – уровень квалификации персонала.

Анализ СУБД

Вывод Анализ информационных задач показывает, что для реализации требуемых функций подходят почти все СУБД. Все они поддерживают реляционную модель данных и предоставляют разнообразные возможности для работы с данными. Проанализировав, представленные выше СУБД, автор остановил свой выбор на свободной объектно- реляционной системе управления базами данных MySQL, учитывая, в первую очередь, фактор того, что данная СУБД является свободной и многопользовательской.

Составитель : Ирина Киселёва Спасибо за внимание!