Проектирвоание баз данных
Министерство образования
Российской федерации
Московский государственный
Курсовой проект по курсу: «БАЗЫ ДАННЫХ»
на тему:
«ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ ДЛЯ ДОМАШНЕЙ БИБЛИОТЕКИ»
Выполнили:
студенты группы ДКЕ-302
Поляков А. С.,
Лукьянчиков Н. Н.
Проверила:
Диго С. М.
Москва, 2011 г.
Содержание:
- Описание предметной области…………………………………………………………3
- Выбор методологии проектирования и СУБД………………………………………...5
- Построение инфологической модели предметной области…………………………..6
- Проектирование логической структуры базы данных…………….…………………..9
- Ограничения целостности………………………………………….……
………………10 - Проектирование физической структуры базы данных……………………………….13
- Организация ввода и корректировки данных в БД…………………………………...14
- Информационные потребности
пользователей……………………………………...
..16 - Разработка интерфейса………………………………….………………
………………18 - Реализация проекта в MS Access……………………………………………………….19
- Список использованной литературы……………………………………………………
20
1. Описание предметной области.
Для домашней библиотеки необходимо спроектировать базу данных. Для этого в первую очередь необходимо описать предметную область. Предметная область для проектируемой базы данных имеет следующий вид.
Существует домашняя библиотека. В библиотеке находятся книги с разными записями.
В каждой книге может быть несколько записей(сборники), и у каждой записи может быть несколько авторов(соавторство).
Источники поступления книг:
- Покупка.
При покупке книги фиксируется ее цена и дата совершения покупки.
2) Взятие на время.
Книга может быть взята на время у кого-либо. При этом регистрируется у кого была взята книга, дата получения, срок и дата возврата.
3)Подарок.
У каждой записи есть свой жанр и авторы.
Каждая запись храниться в книге, книга имеет такие свойства, как дата покупки, издательство, количество страниц, издательство, дата издания, дата приобретения, способ приобретения, цена и место хранения.
В базе данных фиксируется информация об Авторе: ФИО, дата рождения , страна, год рождения и комментарий. У одной записи может быть сразу несколько авторов.
После прочтения записи фиксируется отзыв о ней, сопровождающимся описанием кто прочитал.
Место хранения: полки с ячейками. Введены для удобства поиска нужных книг.
Книга может быть отдана кому-либо на время. При этом регистрируется кому была выдана книга, дата выдачи, на какое время и дата возврата(факт). Так же ведётся учёт тех книг которые мы взяли у кого то.
Фиксируются ФИО, адреса и телефоны людей, с которыми производили какие –либо действия над книгами.
Жанры
и места хранения также вынесены
в отдельную таблицу для
Входные документы:
Сведения о записях
Сведения о книгах
Сведения об атворах
Сведения о миграции книг
Сведения о лицах
Рецензии к записям
Также к входным документам можно отнести запросы:
Запрос посмотреть отзывы о записе: на входе название записи, на выходе отзыв и автор.
Запрос вывести записи с месторасположением по определённым жанрам: на входе жанр, на выходе название записи книга и полка.
Запрос выдать книги которые одолжили и еще не вернули
Выходные данные: является информация о прочтении книги, затраты.
Отчёт о записях в книгах
Количество авторов по разным записям
Список записей с
Список должников не вернувших книгу
Суммарная стоимость всех купленных кииг
Для данной предметной области можно выделить следующие ограничения целостности:
- Ключевые поля каждой таблица должны иметь непустые и уникальные значения.
- Поле источник приобретения может принимать одно из 3 значений: куплена, подарена , обменяна.
- Цена книги не более 1000 р
- В Рецензии должен указываться автор отзыва.
- Жанр книги заводится через определенную форму, для удобства добавления новых
- Телефонный номер лицыа должен быть не менее 12-ти символов
- Цена книги не должна превышать 1000 рублей
2. Выбор методологии проектирования и СУБД.
При проектировании базы данных для домашней библиотеки после описания предметной области необходимо выбрать метод построения инфологической модели (ER-модели) и СУБД, в которой будет реализован проект.
Для построения ER-модели была выбрана программа ERWin Data Modeler. Мы выбрали эту программу, потому что, на наш взгляд, она является наиболее простой в использовании (для построения ER-модели).
Существует большое число СУБД. На ее выбор оказывают влияние следующие факторы:
- По функциональным возможностям СУБД: настольные (FoxPro, MS Access, Paradox) и корпоративные (Oracle, MS SQL).
- По типу использования языков: открытые, замкнутые, смешанные.
- По числу уровней в архитектуре: одноуровневые, двухуровневые, трехуровневые.
- По выполняемым функциям СУБД: информационные, операционные.
- По сфере возможности применения: универсальные, специализированные.
Сравнивая настольные и корпоративные СУБД, можно отметить следующее. Настольные СУБД: простота в использовании, стоимость эксплуатации более дешевле. Корпоративные СУБД: возможность администрирования, возможность работы и Интернте (надежность функционирования, поддержка объема данных, быстродействие и др.). Сравнивая открытые, замкнутые и смешанные СУБД, можно отметить следующее. В открытых системах для работы с базой данных используются универсальные языки программирования. И в этот язык встраиваются операторы языка манипулирования данными конкретной СУБД. Замкнутые СУБД обладают собственным языком манипулирования данными. Смешанные СУБД имеют и те и другие возможности. Сравнивая информационные и операционные СУБД, можно отметить следующее. Информационная СУБД: организация хранения информации и доступа к ней. Операционные СУБД связаны с обработкой данных. Для построения самой базы данных была выбрана СУБД MS Access. MS Access является настольной, смешанной по использованию языков. Access по выполняемым функциям может быть и информационной и операционной.
Microsoft Access является наиболее популярной системой управления базами данных для операционной системы Windows. Возможности разработчиков программного обеспечения, а также методы и технологии решения этих задач постоянно изменяются и совершенствуются. С появлением новых перспективных решений в области быстрой разработки приложений инструментальные средства изменяются на базе новшества практически мгновенно. И с каждой новой версией Access такие решения становятся достоянием самого широкого сообщества разработчиков и пользователей.
При проектировании базы данных в Access можно создавать таблицы, запросы, отчеты и многое другое. Их можно создавать как самостоятельно (в режиме конструктора), так и с помощью мастера. Мастер баз данных Microsoft Access автоматически формирует таблицы, запросы, формы и отчеты из шаблонов стандартных типов. Это полнофункциональные приложения с оптимизированной структурой данных и полным набором необходимых таблиц, форм, запросов и отчетов. Мастер запросов отбирает информацию базы данных, включая данные из нескольких таблиц, и затем определяет, как представить эти данные в соответствии с требованиями пользователей.
3. Построение
инфологической модели
Инфологическая модель предметной области – это формализованное описание предметной области, выполненное безотносительно к используемым в дальнейшем программным и техническим средствам. Инфологическая модель должная быть динамической и позволять легкую корректировку. Основным требованиями, предъявляемыми к инфологической модели, можно отнести следующие: 1)должна содержать всю необходимую и достаточную информацию для последующего проектирования базы данных. 2)должная быть понятна лицам, принимающим участие в создании и использовании.
Проектируя инфологическую модель предметной области, необходимо построить ER-модель. Для этого описываются объекты и связи между объектами. Инфологическая модель проектирования базы данных для домашней библиотеки содержит следующие объекты.
Книга. Объект описывает определенную книгу и имеет свойства: код, код хранилища, название, дата приобретения, способ приобретении, издание ,дат издания, цена.
Запись.Запись характризует отдельную запись в книге и имеет свой жанр название авторов.
Авторы Объект описывает авторов отдельно взяой записи: код, код записи, код автора
Автор Объект описывает автора: код, фамилия, ия, отчество, страна, год, коментарий
Хранилище. Объект описывает хранилище библиотеки и имеет свойства: код, название хранилища, номер ячейки.
Лица. Объект описывает физические лица, которые производят определенные действия с книгами. Имеет свойства: ФИО физического лица, типа лица, адрес, телефон.
Жанр. Объект описывает всевозможные жанры книг. Свойства: код, название типа.
Рецензии. Объект описывает отзывы о прочтении книги. Свойства: код книги, отзыв, автор отзыва
Миграция. Описывает всевозможные действия, которые иожно произвести с книгами Обмен, дать почитать, взять почитать. Свойства: код, код книги, субъект, кто кому?, с даты, по дату , дата возврата.
Инфологическая модель для домашней библиотеки содержит следующие связи: один ко многим, многие ко многим.
ER-модель для проектирования базы данных для домашней библиотеки, построенная при помощи программы ERWin:
4. Проектирование
логической структуры базы
Логическая структура базы данных должна быть спроектирована и описана для конкретной СУБД. Для нашей базы данных была выбрана СУБД MS Access. Необходимо перейти от ER-модели к таблицам в базе данных.
Книга(код, код хранилища, название, издание, дата издания, дата приобретения, способ приобретения, цена)
Записи (код,код книги, название, код жанра)
Авторы(код, код автора, код записи)
Полки (код, номер полки, номер ячейки)
Лица (ФИО, типа лица, адрес, телефон)
Автор (код, фамилия, имя, отчество, дата рождения, страна, комментарий)
Жанры (код, название жанра)
Рецензии (код, код книги, отзыв, автор отзыва)
Миграция (код, код книги, субъект, кто кому?, с, по,дата возврата)
5. Ограничения целостности.
Целостность – это актуальность
и непротиворечивость информации; защищенность
от разрушения и несанкционированного
изменения. Ограничение целостности
– это набор специальных
Базе данных домашней библиотеки присущи следующие ограничения целостности:
1 .Ключевые поля каждой таблицы должны иметь непустые и уникальные значения.
2.Поле источник приобретения может принимать одно из 4 значений: куплена, подарена, обменяна.
3.Цена книги не более 1000 р.
Формат: Денежный
Условие на значение: <1000
4.В Рецензии должен указываться автор отзыва.
5.Поле “по” в таблице “Миграция” не может принимать значения даты ранее поля “с”.
6. Номер телефона дожжен состоять только из цифр и должен содержать до 12 символов.
7. Все остальные поля кроме указанных могут принимать нулевые (Null) значения.
Ограничения целостности связи заданы в схеме данных:
При описании связей между таблицами было использовано каскадное удаление.
6. Проектирование
физической структуры базы
Физическая модель – это привязка логической модели к конкретной среде хранения и методам хранения данных. При проектировании физической модели базы данных необходимо описать среду и метод хранения информации. Для этого необходимо изучить особенности организации данных выбранной СУБД.
Для проектирования базы данных для домашней библиотеки была выбрана СУБД MS Access. Для хранения данных в этой СУБД используются таблицы. В них хранится вся информация о предметной области. Наша база данных включает несколько взаимосвязанных таблиц. Объекты, которые были описаны при построении инфологической модели предметной области (п. 3), в базе данных являются таблицами.
Ниже приведено 2 небольших фрагмента таблиц, в которых хранится информация о:
книгах:
лицах:
Записях:
Авторах:
7. Организация
ввода и корректировки данных
в БД.
Существует 3 способа ввода данных: ввод с клавиатуры; сохранение данных, сформированных иными программными средствами; импорт из других источников. В нашей базе данных мы использовали ввод с клавиатуры. В процессе ввода информации были использованы следующие приемы: перенос значений полей из предыдущих записей; замена ввода выбором из списка; автоматическое формирование некоторых полей (например, ключ в некоторых таблицах).
Ввод информации в базу данных может осуществляться путем ввода данных в таблицу. Но такой способ имеет многие очевидные недостатки. Поэтому для этих целей обычно используются экранные формы. Формы – это окна, через которые пользователь взаимодействует с программным кодом приложения и объектами данных. Ввод данных при помощи форм очень простой в использовании.
При проектировании нашей базы данных ввод информации осуществлялся при помощи форм. Ниже приведены 7 примеров экранных форм:
Книга
Записи
авторы
Миграция
Лица
Полки
Жанр
Рецензии
Корректировка данных в базе данных может осуществляться путем корректировки данных в форме.
8. Информационные потребности пользователей.
Информационные потребности
- Отзывы по записям:
- Поиск записей по любимым жанрам с местоположением
- Вывод списка должников, которые не вернули книгу
- Сортировка записей по количеству авторов
- Информация об общей стоимости купленных книгах:
Вся эта информация может быть выведена как в виде таблиц для просмотра, так и в виде сформированных отчетов. Отчеты можно просмотреть и вывести на печать. Ниже приведен пример такого отчета. Выводится список записей по каждой книге
В виде отчетов могут быть также сформированы не только запросы, но и обычные таблицы. Ниже приведены примеры таких отчетов.
9. Разработка интерфейса.
Важнейшая часть проекта – разработка внешнего интерфейса, так как пользователь все время работает в его среде. При разработке интерфейса проекта главную роль играют формы и отчеты. Формы – базовые строительные блоки интерфейса. Формы – это окна, через которые пользователь взаимодействует с программным кодом приложения и объектами данных. При разработке интерфейса нашей базы данных сначала мы создали главное меню с заставкой:
Далее при нажатии на закладку “Данные» мы перемещаемcя в главное меню нашей базы:
Также при разработке интерфейса важную роль играют отчеты. Отчеты Access – это компоненты интерфейса, которые позволяют предварительно просмотреть и распечатать информацию. При нажатии на закладку “Запросы” нам открывается меню запросов и отчетов:
Здесь можно просмотреть отчеты на основные таблицы и отчеты на запросы. Примеры на эти запросы приведены в п. 8.
10. Реализация проекта в MS Access.
При проектировании базы данных для библитеки разработка начинается с объектов данных. Т. е. Сначала строятся таблицы и создаются запросы. В процессе проектирования нашей базы данных было построено 8 таблиц (они описаны в п. 3) и создано 5 основных запросов (они описаны в п. 8). Таблица необходимы для того, чтобы хранить информацию о предметной области. Они создавались в режиме конструктора (описаны поля таблиц, ограничения целостности). После создания таблиц были установлены связи между таблицами (схема данных приведена в п. 5). После этого были построены запросы. Запросы необходимы для того, чтобы реализовать информационные потребности пользователей. Они были созданы в режиме конструктора.
После создания таблиц, связей и запросов мы приступили к разработке интерфейса. Прежде всего необходимо создать главное меню (приведено в п. 9) и различные подменю.
Главное меню состоит из формы с тремя закладками: Главная, Данные, Запросы.
В окне “Главная” пользователю предлагается основное меню для создания и редактирования БД: “Работа с авторами”, “книгами”, “Рецензиями”, лицами и т.д
Кнопочные
меню создавались в режиме конструктора.
После разработки меню необходимо построить
формы, с помощью которых
После завершения разработки макросов и форм мы приступили к созданию отчетов. Они создавались при помощи мастера создания отчетов и редактировались при помощи конструктора. В отчетах мы отобразили информацию из наиболее главных, на наш взгляд, таблиц, а также результаты выполнения запросов. Все отчеты можно как просмотреть, так и вывести на печать. Реализация проекта в MS Access закончилась оформлением интерфейса.
11. Список использованной
1. Боровиков В. В., Microsoft Access Программирование и разработка баз данных и приложений (полное руководство пользователя), М., «Солон-Р», 2007 г.
2. Диго С. М., Создание баз данных в среде СУБД Access (учебное пособие по курсу «Базы данных»), М., 2001 г.
3. Мишенин А. И., Теория экономических информационных систем (учебник), М., Финансы и статистика, 1999 г.
4. Wikipedia.org