Современное общество невозможно представить без компьютера. Они настолько широко и глубоко внедрились в нашу жизнь, что стало очень трудно назвать какую-либо сферу деятельности человека где бы они не использовались. В связи с этим серьезные требования предъявляются и к аппаратной части современных компьютеров, и к используемому программному обеспечению. В основном именно программное обеспечение, или, иными словами, программные продукты, обеспечивают возможность широкого использования компьютеров. Стоит нам переустановить программное обеспечение компьютера или добавить какой-либо новый программный продукт, и мы сможем решать на этом компьютере совершенно новые задачи.
Следовательно, используемые программные продукты должны соответствовать определенным критериям, обеспечивающим надежность работы компьютера и удобство работы пользователя.
В соответствии с заданием курсового проектирования следует создать автоматизированное рабочее место (АРМ) «Библиотека», которое наиболее удобно можно организовать с помощью баз данных (БД).
Сегодня трудно себе представить сколько-нибудь значимую информационную систему, которая не имела бы в качестве основы или важной составляющей базу данных. Концепции и технологии баз данных складывались постепенно и всегда были тесно связаны с развитием систем автоматизированной обработки информации.
Проектирование БД «Библиотека» ведется для упрощения работы библиотекаря со всем ассортиментом предложенных книг и учебных пособий, а также для учёта взятых и оставшихся в наличии книг.
Программа должна обеспечивать выполнение следующих функций:
Ввод информации о читателях.
Ввод информации о книгах.
Добавление, удаление и редактирование информации.
Актуальность разработки программы заключается в следующем:
- приложение «Библиотека» представляет собой программу для управления базой данных;
- программа полностью автоматизирует труд оператора ПЭВМ: автоматически заносит вводимые пользователем данные в таблицы базы данных, изменяет структуру таблиц (добавление/удаление записей);
- при использовании программы значительно снижается трудоёмкость ведения базы данных взятых и оставшихся книг;
1. Проектирование базы данных
1.1 Алгоритм работы программы
Для того чтобы написать программу ее надо сконструировать, разбить на определенные блоки и выстроить эти блоки один за другим в соответствии с заранее заданным порядком действий.
Инструкция по технике безопасности при работе на компьютере
... непрерывного производственного процесса необходимо оставить включенными только необходимое оборудование. Развернутая: по технике безопасности при работе на компьютере Введение Настоящая инструкция предназначена для предотвращения неблагоприятного воздействия на человека вредных факторов, сопровождающих ...
Этот порядок и называется алгоритм.
Алгоритм — заранее определенное, точное предписание, которое задает дискретный (пошаговый) процесс, начинающийся определенным образом и приводящий к результату за конечное число шагов. Каждый алгоритм должен обладать
- дискретность — каждый алгоритм должен быть разбит на конечное число законченных действий;
- результативность — каждый алгоритм направлен на решение конкретной задачи, а следовательно, на получение определенного результата;
- массовость — алгоритм необходимо составить так, чтобы с его помощью можно было решать подобные задачи.
Способы записи алгоритма:
1. Формальный — запись алгоритма словесно, на естественном языке.
2. Графический — изображение алгоритма в виде блок-схемы.
Рис. 1. Алгоритм программы «Библиотека»
2 Анализ предметной области
База данных — поименная совокупность структурированных данных, относящихся к определенной предметной области. Под предметной областью принято понимать часть реального мира, подлежащую изучению для организации управления и автоматизации (предприятия, организации).
Анализ предметной области позволяет определить, какие данные содержатся в БД. Пользователями БД могут быть различные прикладные программы, программы-комплексы, а также специалисты предметной области, которые называются конечными пользователями.
Модель предметной области. Модель предметной области — это наши знания о предметной области. Знания могут быть как в виде неформальных знаний в мозгу эксперта так и выражены формально при помощи каких-либо средств. В качестве таких средств могут выступать текстовые описания предметной области, наборы должностных инструкций, правила ведения дел в компании и т.п. Опыт показывает, что текстовый способ представления модели предметной области крайне неэффективен. Гораздо более информативными и полезными при разработке баз данных являются описания предметной области, выполненные при помощи специализированных графических нотаций.
Предметной областью моей базы является библиотека.
Каждая книга хранящаяся в библиотеке, имеет следующие параметры: название, автор, издание, год издания, жанр, ключевые слова, количество страниц. Каждая книга имеет уникальный номер-шифр.
Так же в библиотеке ведется картотека читателей. О каждом читатели заносятся следующие сведения: ФИО, дата рождения, адрес, телефон. Каждому читателю присваивается идентификационный номер.
В случаи выдачи экземпляра книги в библиотеке остается вкладыш, в котором указана дата выдачи, дата предполагаемого возврата и идентификационный номер.
Можно продлить книгу по телефону книгу назвав идентификационный номер и шифр книги.
Библиотекарь также может вносить некоторые изменения в базу данных, а в частности: запись нового читателя, списывание старой книги и изменение шифра книги.
3 Инфологическое проектирование
Инфологическая модель представляет собой описание предметной области, основанное на анализе семантики объектов и явлений, выполненное без ориентации на использование в дальнейшем программных или технических компьютерных средств.
По предметной области «Основы безопасности жизнедеятельности» ...
... г.). При работе с ПЭВМ (компьютерами) необходимо соблюдать следующие меры безопасности и охраны труда: - эксплуатация ПЭВМ должна осуществляться в помещениях с естественным и искусственным освещением; ... преподавания предмета; изучение основных нормативно-правовых документов и монографий по теме реферата. Работа носит исследовательский характер, носит традиционную структуру, включающую введение, три ...
Термин «инфологическая» в данном случае означает модель, ориентированную на человека; речь идет о средстве для выражения и передачи понимания того, что собой представляет предметная область базы данных.
Инфологическая модель для базы данных «Библиотека» проектировалась, как модель «Сущность-связь».
Семантическую основу ER-модели составляют следующие предположения:
1. та часть реального мира (совокупность взаимосвязанных объектов), сведения о которых должны быть помещены в базу данных, может быть представлена как совокупность сущностей;
2. каждая сущность обладает характеристическими свойствами (атрибутами), отличающими ее от других сущностей и позволяющими ее идентифицировать;
- сущности можно классифицировать по типам сущностей: каждый экземпляр сущности (представляющий некоторый объект) может быть отнесен к классу — типу сущностей, каждый экземпляр которого обладает общими для них и отличающими их от сущностей других классов свойствами;
- систематизация представления, основанная на классах, в общем случае предполагает иерархическую зависимость типов: сущность типа А является подтипом сущности В, если каждый экземпляр типа А является экземпляром сущности типа В;
- взаимосвязи объектов могут быть представлены как связи — сущности, которые служат для фиксирования (представления) взаимозависимости двух или нескольких сущностей.
Любой объект предметной области обладает свойствами, часть из которых выделяется как характеристические — значимые с точки зрения прикладной задачи. При этом, например, в процессе анализа и систематизации предметной области обычно выделяются классы — совокупности объектов, обладающих одинаковым набором свойств, задаваемых в виде наборов атрибутов (значения атрибутов для объектов одного класса, естественно, могут различаться).
Соответственно, на уровне представления предметной области (т. е. ее мифологической модели) объекту, рассматриваемому как понятие (объект в сознании человека), соответствует понятие сущность; объекту, как части материального мира (и существующему независимо от сознания человека), соответствует понятие экземпляр сущности; классу объектов соответствует понятие тип сущности.
В дальнейшем, поскольку в инфологической модели рассматриваются не отдельные экземпляры объектов, а классы, мы не будем различать соответствующие понятия этих двух уровней, т. е. будем предполагать тождественность понятий объект и сущность, свойство объекта и свойство сущности.
ER-модель, как описание предметной области, должна определить объекты и взаимосвязи между ними, т. е. установить связи следующих двух типов.
- Связи между объектами и наборами характеристических свойств, и таким образом определить сами объекты.
- Связи между объектами, задающие характер и функциональную природу их взаимозависимости.
ER-моделирование предметной области базируется на использовании графических диаграмм, как простого (привычного), наглядного и в то же время информативного и многоаспектного способа отображения компонентов проекта.
Сущность. Сущность, с помощью которой моделируется класс однотипных объектов, определяется как «предмет, который может быть четко идентифицирован». Так же как каждый объект уникально характеризуется набором значений свойств, сущность должна определяться таким набором атрибутов, который позволял бы различать отдельные экземпляры сущности. Каждый экземпляр сущности должен быть отличим от любого другого экземпляра той же сущности. Сущность имеет имя, уникальное в пределах модели. При этом имя сущности — это имя типа, а не некоторого конкретного экземпляра.
Проектирование Базы Данных для коммерческого предприятия
... в новых средствах разработки баз данных и возможностях применения их. ... баз данных различных моделей — постреляционных, объектно-реляционных, XML. Если постарался классифицировать существующие области применения баз данных, ... работе с данными. Дальнейшее развитие компьютерных технологий и компьютеризация общества привела к тому что, базы данных ... сложные задачи, возникающие в связи с этим проектом. ...
Сущности подразделяются на сильные и слабые. Сущность является слабой, если ее существование зависит от другой сущности — сильной по отношению к ней.
Свойства. Природа свойства, как характер связи свойства с сущностью (объектом), может быть различной. Рассмотрим основные виды свойств.
Если наличие некоторого свойства для всех экземпляров сущности не является обязательным, то такое свойство называется условным.
Значения свойств могут быть постоянными — статическими или динамическими, т. е. меняться со временем. Свойство может быть неопределенным, если оно является динамическим, но его текущее значение еще не задано.
Свойство может рассматриваться как ключевое, если его значение уникально и, возможно, в определенном контексте, однозначно идентифицирует сущность.
Связи. Кроме связей между объектом и его свойствами, инфологическая модель отражает связи между объектами разных классов. Связь определяется как «ассоциация, объединяющая несколько сущностей».
Эта ассоциация всегда может существовать между разными сущностями или между сущностью и ею же самой (рекурсивная связь).
Как и сущность, связь является типовым понятием, т. е. все экземпляры связываемых сущностей подчиняются правилам связывания типов. Сущности, объединяемые связью, называются участниками. Степень связи определяется количеством участников связи.
Если каждый экземпляр сущности участвует, по крайней мере, в одном экземпляре связи, то такое участие этой сущности называется полным (или обязательным); в противном случае — неполным (или необязательным).
Количественный характер участия экземпляров сущностей (один или многие) задается типом связи (или мощностью связи).
Возможны следующие типы: «один к одному» (1:1), «один ко многим» (1:М), «многие к одному» (М:1), «многие ко многим» (М:М).
Следует отметить, что инструмент связей — это средство представления сложных объектов, каждый из которых может рассматриваться как множество некоторым образом взаимосвязанных простых объектов. Деление на простые и сложные объекты, также как и характер взаимосвязи, является условным и определяется особенностями анализа предметной области, т. е. в конце концов — характером использования данных о предметах в решаемых прикладных задачах.
Как отмечалось ранее, одна из основных целей семантического моделирования состоит в том, чтобы результаты анализа предметной области были отражены в достаточно простом, наглядном, но в то же время формализованном и достаточно информативном виде.
В этом смысле ER-диаграмма является очень удачным решением. В ней сочетаются функциональный и информационный подходы, что позволяет представлять как совокупность выполняемых функций, так и отношения между элементами системы, задаваемые структурами данных. При этом графическая форма позволяет отобразить в компактном виде (за счет наглядных условных обозначений) типологию и свойства сущностей и связей, а формализмы, положенные в основу ER-диаграмм, позволяют использовать на следующем шаге проектирования логической структуры базы данных строгий аппарат нормализации.
Выделим основные сущности:
сущность «Книги»
сущность «Список читателей»
сущность «Выдача книг»
Сущность «Книги» содержит информацию о всех книгах, имеющихся в библиотеке. Отдельный экземпляр этой сущности содержит информацию только об одной книге. Сущность «Выдача книг» содержит информацию о конкретной книге, о том кто её взял, когда взял и когда вернет книгу. Между сущностью «Книги» и сущностью «Выдача книг» существует связь типа «1:М», которая означает, что любая книга, которая находиться в прокате является обязательным по отношению к сущности «Книги». Сущность «Список читателей» содержит информацию о читателях. Отдельный экземпляр этой сущности содержит информацию об одном читателе. Существует связь между сущностью «Список читателей» и сущностью «Выдача книг» типа «1:М», обязательная со стороны сущности «Список читателей» (каждому экземпляру сущности «Список читателей» обязательно соответствует читатель и причем только один).
Определим ключи — уникальные идентификаторы экземпляров каждой сущности: для сущности «Книги» — это шифр книги (Шифр), для сущности «Выдача книг» — шифр выдачи (Ш_выдачи), для сущности «Список читателей» — идентификационный номер (ID номер).
Рисунок 2. Инфологическая модель предметной области «Библиотека»
1.4 Даталогическое проектирование базы данных
Суть этапа даталогического проектирования заключается в отображении инфологической модели предметной области базы данных на те структурные и процедурные возможности, которые предоставляют:
- тип структуры данных, например реляционная модель;
- выбранный тип СУБД, которая эту модель данных поддерживает;
- технология и средства прикладного программирования;
- конкретная компьютерная среда.
На этом этапе необходимо установить соответствие между сущностями и характеристиками предметной области и отношениями и атрибутами в языке Access 2000. Для этого нужно каждой сущности и характеристикам поставить в соответствие набор отношений (таблиц) и их атрибутов (полей).
В результате получили следующие отношения:
R1 «Книги» ( Шифр, Название, Автор, Жанр, Год, Издательство, Количество страниц, Описание, Обзор, Наличие)
R2 «Список читателей» ( ID номер, Фамилия, Имя, Отчество, Улица, Дом, Квартира, Телефон)
R3 «Выдача книг» (Ш_выдачи, ID номер, Дата выдачи, Дата возврата, Шифр)
2. Физическая реализация базы данных «Библиотека»
Физическая модель данных описывает данные средствами конкретной СУБД. Мы будем считать, что физическая модель данных реализована средствами именно реляционной СУБД, хотя, как уже сказано выше, это необязательно. Отношения, разработанные на стадии формирования логической модели данных, преобразуются в таблицы, атрибуты становятся столбцами таблиц, для ключевых атрибутов создаются уникальные индексы, домены преображаются в типы данных, принятые в конкретной СУБД.
Ограничения, имеющиеся в логической модели данных, реализуются различными средствами СУБД, например, при помощи индексов, декларативных ограничений целостности, триггеров, хранимых процедур. При этом опять-таки решения, принятые на уровне логического моделирования определяют некоторые границы, в пределах которых можно развивать физическую модель данных. Точно также, в пределах этих границ можно принимать различные решения. Например, отношения, содержащиеся в логической модели данных, должны быть преобразованы в таблицы, но для каждой таблицы можно дополнительно объявить различные индексы, повышающие скорость обращения к данным. Многое тут зависит от конкретной СУБД.
При разработке физической модели данных возникают вопросы: хорошо ли спроектированы таблицы? Правильно ли выбраны индексы? Насколько многопрограммного кода в виде триггеров и хранимых процедур необходимо разработать для поддержания целостности данных?
И, наконец, как результат предыдущих этапов появляется собственно сама база данных. База данных реализована на конкретной программно-аппаратной основе, и выбор этой основы позволяет существенно повысить скорость работы с базой данных. Например, можно выбирать различные типы компьютеров, менять количество процессоров, объем оперативной памяти, дисковые подсистемы и т.п. Очень большое значение имеет также настройка СУБД в пределах выбранной программно-аппаратной платформы.
Но опять решения, принятые на предыдущем уровне — уровне физического проектирования, определяют границы, в пределах которых можно принимать решения по выбору программно-аппаратной платформы и настройки СУБД.
Таким образом, ясно, что решения, принятые на каждом этапе моделирования и разработки базы данных, будут сказываться на дальнейших этапах. Поэтому особую роль играет принятие правильных решений на ранних этапах моделирования.
1 Структура таблиц БД «Библиотека»
Моя база данных состоит из главной таблицы «Книги» и связанных с ней таблиц : Выдача книг и Список читателей.
Поименуем атрибуты, определим типы данных и размерность атрибутов. В таблицах выберем первичные ключи и индексированные поля.
Таблица 1. Структура таблиц РБД «Библиотека»
Название таблицы |
Имя поля |
Тип данных |
Размер поля |
Примечание |
Книги |
Шифр |
Текстовый |
10 |
Ключ |
Название |
Текстовый |
60 |
||
Автор |
Текстовый |
50 |
||
Жанр |
Текстовый |
20 |
||
Год |
Дата/время |
Краткий формат даты |
||
Издательство |
Текстовый |
50 |
||
Кол-во страниц |
Текстовый |
50 |
||
Описание |
||||
Обзор |
Поле объекта |
|||
Наличие |
Логический |
|||
Список читателей |
ID номер |
Числовой |
Действительное |
Ключ |
Фамилия |
Текстовый |
25 |
||
Имя |
Текстовый |
15 |
||
Отчество Улица |
Текстовый |
25 |
||
Дата рождения |
Дата/время |
Краткий формат даты |
||
Улица |
Текстовый |
25 |
||
Дом |
Текстовый |
10 |
||
Квартира |
Числовой |
Целое |
||
Телефон |
Текстовый |
11 |
||
Прокат |
Ш_выдачи |
Счетчик |
Длинное целое |
Ключ |
Дата выдачи |
Дата/время |
Краткий формат даты |
||
Дата возврата |
Дата/время |
Краткий формат даты |
||
Шифр |
Текстовый |
10 |
||
ID номер |
Числовой |
Действительное |
После того как были созданы поля таблицы, применены к ним свойства и заполнены атрибуты, мы составляем схему данных. Она выглядит следующим образом
Рис.3. Связи между таблицами в базе данных
2 Формы базы данных библиотеки
При открытии базы появляется заставка главной формы базы данных:
Рис.4. Главная форма базы данных «Библиотека»
Форма имеет две основные, наиболее используемые, кнопки: Выдача книг и Возврат книг. Кнопка «Выдача книг» предназначена для регистрации выданных книг. При нажатии на кнопку открывается форма, в которой представлен список книг. При выборе книги из списка можно посмотреть описание книги, автора, год издания.
Рис.5. Форма Выдача книг
Чтобы зарегистрировать выданную книгу надо нажать на кнопку «Выдать читателю», откроется форма в которую необходимо занести данные о читателе и дату возврата и выдачи книги.
Рис.6. Форма для регистрации выданных книг
При возврате книги в библиотеку надо нажать на кнопку «Возврат книг», откроется форма, в которой находится список должников.
Рис.7. Форма возврата книг
Из списка необходимо выбрать фамилию читателя, который вернул книгу, и нажать на кнопку «Принять книги», откроется форма со списком книг, которые находятся на руках у выбранного читателя. Из списка выбираем книгу, которую надо вернуть, и нажимаем на кнопку «Принять».
На форме так же имеются кнопки, объединённые в две группы: книги и читатели. В группе «книги» расположены три кнопки: Редактировать список, В наличии и на руках. Кнопка «Редактировать список» предназначена для добавления и удаления книг, а так же для редактирования данных имеющихся книг. В форме представлены данные, о всех имеющихся книгах, а также кнопки «добавить» для добавления новой книги, «удалить» для удаления имеющихся книг. Для более быстрого поиска книги существует кнопка поиска, с помощью которой можно найти книгу по любому её параметру.
Рис.7. Форма для редактирования списка книг
Рис.8. Форма для книг, находящихся в наличии в библиотеке
Кнопка «На руках» открывает форму с данными о книгах, которых нет в наличии, а находящиеся на руках у читателей:
Рис.8. Форма для книг, находящихся на руках у читателях
В группе кнопок «читатели» имеются три кнопки: Редактировать список, Должники и Список читателей.
Кнопка «Редактировать список» предназначена для добавления и удаления читателей, а так же для редактирования данных о имеющихся читателях. В форме представлены данные, о всех имеющихся читателях, а также кнопки «добавить» для добавления новой читателя, «удалить» для удаления читателя. Для более быстрого поиска читателя существует кнопка поиска, с помощью которой можно найти читателя по любому параметру.
Рис.9. Форма для редактирования списка читателей
3 «Отчеты базы данных Библиотека»
Кнопка «Должники» выдаёт отчёт о читателях, у которых на руках имеются книги
Рис.10. Отчёт о должниках библиотеки
Кнопка «Читатели» выдаёт отчёт о всех читателях библиотеки, в котором фамилии расположены в алфавитном порядке
Рис.11. Отчёт о всех читателях библиотеки
4 Запросы базы данных «Библиотека»
Запрос «в наличии» показывает книги которые имеются в библиотеке
Рис 12. Запрос «В наличии»
Запрос в режиме SQL.
SELECT Книги.Шифр, Книги.Название, Книги.Автор, Книги.Жанр, Книги.Год, Книги.Издательство, Книги.Наличие
FROM Книги
WHERE (((Книги.Наличие)=Yes));
- Запрос «Должники» показывает тех, кто должен книги в библиотеку.
Рис.13. Запрос «Должники»
Запрос в режиме SQL.
[Выдача книг].[Дата выдачи], [Выдача книг].[Дата возврата], [Список читателей].[ID номер], [Список читателей].Фамилия, Книги.НазваниеКниги INNER JOIN ([Список читателей] INNER JOIN [Выдача книг] ON [Список читателей].[ID номер]=[Выдача книг].[ID номер]) ON Книги.Шифр=[Выдача книг].ШифрBY [Выдача книг].[Дата выдачи], [Выдача книг].[Дата возврата], [Список читателей].[ID номер], [Список читателей].Фамилия, Книги.Название((([Выдача книг].[Дата возврата])<Date()));
Для выхода из базы нужно нажать кнопку «STOP»:
Рис.14. Кнопка для закрытия базы
Заключение
В данном курсовом проекте была разработана база данных «Библиотека» соответствующая всем требованиям задания, она протестирована и отлажена. Программа полностью автоматизирует труд библиотекаря и организует надежное хранение и обработку данных.
При разработке базы данных можно выделить несколько уровней моделирования:
- Анализ предметной области
- Инфологическое проектирование
- Даталогическое проектирование
- Физическая модель данных
- Собственно база данных и приложения
В базе данных используются следующие объекты:
- таблицы для сохранения данных;
- запросы для поиска и извлечения только требуемых данных;
- формы для просмотра, добавления и изменения данных в таблицах;
- отчеты для анализа и печати данных в определенном формате.
В ходе работы мною были созданы:
3 таблицы
9 запросов
13 форм
3 отчёта
таблица алгоритм база данные
Список литературы
[Электронный ресурс]//URL: https://inzhpro.ru/kursovaya/razrabotka-bazyi-dannyih-biblioteki/
1. Марков А.С. Базы данных. Введение в теорию и методологию Лисовский К. Ю., Москва, 2004
2. Когаловский М.Р. Технология баз данных на персональных ЭВМ. / М.: Финансы и статистика, 2002
- Ревунков Г.И., Самохвалов Э.Н., Чистов В.В. Базы и банки данных и знаний: Учеб. для вузов / Под ред. Четверикова В.Н. — М.: Высш. шк., 1999.
- Тиори Т., Фрай Дж.
Проектирование структур баз данных : В 2-х кн. Пер. с англ. / М.: Мир, 2005
- Голицина О. Л. Базы данных / Голицина О. Л., Максимов Н. В., Попов И. И. — М.: Форум, 2003
- Карпова Т.С.
Базы данных: модели, разработка, реализация / Питер, 2002
- Бемер С., Фратер Г. Microsoft Access для пользователя / Микап, Москва 2004
- Коннолли Т., Бегг К.
Базы данных. Проектирование, реализация и сопровождение / Москва, Питер, Киев, 2003
9. Мейер, М. Теория реляционных баз данных / М. Мейер — М.: Мир, 2008
- Хаббард, Дж. Автоматизированное проектирование баз данных / Хаббард Дж. — М.: Мир, 2005
- Бойко, В.
В. Проектирование баз данных информационных систем / Бойко В.В., Савинков В.М. — М.: Финансы и статистика, 2007
- Бакаревич, Ю. Б. Самоучитель Microsoft Access 2007 / Бакаревич Ю.Б., Пушкина Н.В. — СПб.: БХВ-Петербург, 2007