Как составить базу данных для библиотеки

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

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

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

Содержание:

  1. Инфологическое проектирование:
    • Анализ предметной области и информационных задач пользователей;
    • Формирование схемы данных;
  2. Физическое проектирование:
    • Выбор СУБД и других программных средств;
    • Составление и нормализация реляционных отношений;
    • Нормализация полученных отношений;
    • Определение требований к операционной обстановке;
    • Описание групп пользователей и прав доступа;
  3. Формирование запросов к СУБД:
    • Создание таблиц в базе данных и установка индексов;
    • Проектирование наиболее востребованных запросов.

1 Инфологическое проектирование

1.1 Анализ предметной области и информационных задач пользователей

Основная задача любой библиотеки — обработка книжного фонда. Нетрудно выделить три основные группы пользователей системы: читатель, библиотекарь, администратор. Деятельность каждого из них показана на диаграмме вариантов использования [1] (рисунок 1).

Уже сейчас можно выделить некоторые сущности и отношения будущей базы данных (рисунок 2).

При таком подходе не понятно как именно связать читателя с книгой (у читателя не проставлена арность в отношении «выдача/прием». Если книга имеет несколько экземпляров — то она может быть выдана нескольким читателям. Даже если же под книгой понимать один экземпляр — то при сохранении в таблице книг текущего читателя приведет к невозможности получения информации о том, кто (и сколько раз) брал эту книгу ранее.
Решением может быть введение дополнительной сущности — карточки о выдаче книги. При выдаче книги читателю заводится карточка, а при сдаче книги — в нее ставится соответствующая пометка. С помощью этих карточек определяются задолженности каждого пользователя и вычисляется статистика использования книг.

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

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

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

Можно выделить следующие основные сущности предметной области:

  • пользователь (библиотекари и администраторы);
  • читатель;
  • читальный зал;
  • книга;
  • карточка выдачи книги;
  • карточка бронирования книги.

Доработанная ER- диаграмма базы данных приведена на рисунке 3.
Рисунок 3 — ER диаграмма база данных (вариант 2)

В соответствии с прецедентами, показанными на рисунке 1, база данных должна реализовывать, следующие запросы (не полный перечень):

  • отобразить книги, соответствующие заданным условиям;
  • отобразить пользователей, имеющих незакрытые вовремя карточки выдачи книг (библиотекарь ищет должников);
  • отобразить все книги, соответствующие незакрытым вовремя карточкам выдачи книг заданного пользователя (пользователь пришел в библиотеку за новыми книгами — надо посмотреть является ли он должником и сообщить ему об этом);
  • удалить все карточки бронирования, созданные более чем N секунд назад;
  • отобразить все книги, соответствующие незакрытым карточкам бронирования книг заданного пользователя (читатель заказал книги и пришел в библиотеку за ними — библиотекарю надо получить этот список чтобы выдать).

1.2 Формирование схемы данных

Для формирования схемы данных необходимо сначала дополнить ER-диаграмму реквизитами сущностей (уточнить ее). Иногда, при этом удается найти ошибки построения ER-диаграммы — в этой задаче было обнаружено, что книгу необходимо «как-то» связать с залом библиотеки. Сделать это можно поместив в книгу реквизит «номер зала», однако при таком подходе одну и ту же книгу придется описывать в базе несколько раз (если она встречается в разных залах). Более правильный подход заключается во введении дополнительной сущности «размещение книги». На рисунке 4 показана ER-диаграмма с добавленной сущностью и реквизитами.

Приведенная ER-диаграмма отражает основные таблицы, связи и атрибуты, на ее основе можно построить модель БД. На ER-диаграммы нет стандарта, но есть ряд нотаций (Чена, IDEFIX, Мартина и т.п.), но на модель предметной области не удалось найти ни стандарта, ни нотаций. Однако, в ходе построения такой диаграммы обязательно выделяются ключевые поля (внешние и внутренние), иногда — индексы и типы данных. Схема базы данных, приведенная на рисунке 5, выполнена с использованием открытого инструмента plantuml [3], при этом:

  • для связей используется нотация Мартина («вороньи лапки»);
  • таблицы изображены прямоугольниками, разделенными на 3 секции:
    • имя таблицы;
    • внутренние ключи (помечаются маркером);
    • остальные поля, при этом обязательные помечаются маркером.

При разработке этой модели возникало желание объединить таблицу администраторов с таблицей библиотекарей — добавить таблицу users, однако:

  • администратор не связан с конкретным залом (пришлось бы заполнять соответствующее поле null-значениями);
  • вероятно, это осложнило бы распределение прав доступа — сейчас доступ к таблице administrators имеет только администратор базы данных (работающий через специальную панель СУБД и не имеющий учетной записи в разрабатываемой системе). Однако при соединении таблиц пользовательские запросы требовали бы доступа к новой таблице.

При построении этой диаграммы был найден и исправлен недочет ER-диаграммы — добавлена таблица librarians_rooms, объединяющая библиотекарей и залы. Это нужно, так как один библиотекарь может работать в нескольких залах, но несколько библиотекарей могут работать в одном и том же зале.

2 Физическое проектирование

2.1 Выбор СУБД и других программных средств

Реализовать разрабатываемую систему можно с использованием любой СУБД, в том числе — нереляционной (NoSQL). NoSQL базы данных, в свою очередь делятся на несколько типов:

  • колоночные базы и базы «ключ-значение» призваны ускорить обработку данных за счет реализации особых схем хранения данных в памяти;
  • документные базы позволяют хранить данные с разными полями (у разных объектов) и лучше подходят для параллельной обработки данных. Однако, медленно выполняют обновление данных.

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

В ряде статей, посвященных выбору СУБД рекомендуется выбирать СУБД работающие в облаке если сложно предсказать будущую нагрузку, однако, в настоящее время почти все популярные СУБД доступны в качестве облачного сервиса. Так например, Google Cloud SQL предоставляет PostgreSQL, SQL Server и MySQL [4]. Яндекс предоставляет такой же функционал, а также облачный доступ к ClickHouse, Redis, Kafka, MongoDB [5].

В статье [6] отмечается, что MySQL хорошо подходит если объем данных не превышает 2Гб, иначе — лучше взять более сложный в настройке PostgreSQL. Если бы речь шла о крупной библиотеке — то MySQL не подошел бы, например библиотека МГУ хранит более 10 миллионов книг, если предположить, что одна книга в нашей базе описывается 200 байтами (хранит строки) — то только таблица с описанием книг заняла бы 1,86 Гб и MySQL не справился бы. Однако, в более простой базе, как наша — его вполне хватит. Для разработки будет использована MySQL 8, т.к. это самая свежая версия, которую предоставляет YandexCloud.

2.2 Составление и нормализация реляционных отношений

Таблица 1 — Схема отношения «Администраторы» (administrators):

Содержание поля Имя поля Тип, длина Примечания
Идентификатор

id

INT(4)

Первичный ключ, уникальный
Логин

login

VARCHAR(45)

Обязательное поле
Пароль

password

VARCHAR(45)

Обязательное поле

Таблица 2 — Схема отношения «Читатели» (readers):

Содержание поля Имя поля Тип, длина Примечания
Идентификатор id INT(4) Первичный ключ, уникальный
Имя login VARCHAR(45) Обязательное поле
Пароль password VARCHAR(45) Обязательное поле
ФИО name VARCHAR(45) Обязательное поле
Серия, номер паспорта passport VARCHAR(45) Обязательное поле
Номер телефона

phone

VARCHAR(45)

Необязательное поле

Таблица 3 — Схема отношения «Библиотекари — Читальные залы» (librarian_rooms):

Содержание поля Имя поля Тип, длина Примечания
Идентификатор библиотекаря

id_librarian

INT(4)

Первичный ключ (составной), внешний ключ к librarians, обязательное поле
Идентификатор читального зала

id_room

INT(4)

Первичный ключ (составной), внешний ключ к rooms, обязательное поле

Таблица 4 — Схема отношения «Карточки выдачи книг» (booking_cards):

Содержание поля Имя поля Тип, длина Примечания
Идентификатор

id

INT(4)

Первичный ключ, уникальный
Идентификатор читателя

id_reader

INT(4)

Внешний ключ к readers, обязательное поле
Идентификатор книги id_book

INT(4)

Внешний ключ к books, обязательное поле
Идентификатор библиотекаря id_librarian

INT(4)

Внешний ключ к librarians, обязательное поле
Время выдачи книги

time

DATETIME

Обязательное поле
Срок (время сдачи книги)

period

DATETIME

Необязательное поле

Таблица 5 — Схема отношения «Карточки бронирования книг» (issue_cards):

Содержание поля Имя поля Тип, длина Примечания
Идентификатор

id

INT(4)

Первичный ключ, уникальный
Идентификатор читателя

id_reader

INT(4)

Внешний ключ к readers, обязательное поле
Идентификатор книги id_book

INT(4)

Внешний ключ к books, обязательное поле
Время создания карточки

time

DATETIME

Обязательное поле
Срок (время сдачи книги)

period

DATETIME

Необязательное поле

Таблица 6 — Схема отношения «Читальные залы» (rooms):

Содержание поля Имя поля Тип, длина Примечания
Идентификатор

id

INT(4)

Первичный ключ, уникальный
Название зала name VARCHAR(45) Обязательное поле

Таблица 7 — Схема отношения Библиотекари (librarians):

Содержание поля Имя поля Тип, длина Примечания
Идентификатор

id

INT(4)

Первичный ключ, уникальный
Логин

login

VARCHAR(45)

Обязательное поле
Пароль

password

VARCHAR(45)

Обязательное поле

Таблица 8 — Схема отношения Книги (books):

Содержание поля Имя поля Тип, длина Примечания
Идентификатор

id

INT(4)

Первичный ключ, уникальный
Автор

author

VARCHAR(45) Обязательное поле
Год публикации

publication_year

INT(4)

Обязательное поле
Издательство

publisher

VARCHAR(45) Обязательное поле
Название книги

name

VARCHAR(45) Обязательное поле

ISBN

isbn

VARCHAR(45) Необязательное поле

Таблица 9 — Схема отношения «Размещение книг» (book_places):

Содержание поля Имя поля Тип, длина Примечания
Идентификатор книги id_book

INT(4)

Внешний ключ к books, обязательное поле
Идентификатор зала id_room

INT(4)

Внешний ключ к books, обязательное поле
Количество книг

quantity

INT(4)

Обязательное поле
Номер полки

shell_number

INT(4)

Обязательное поле

При разработке реляционных отношений, было обнаружено, что в ряд таблиц базы стоит добавить ряд новых полей — выделены в таблицах курсивом.
Для хранения даты в MySQL используется тип данных DATETIME, объект которого занимает 8 байт [7].

Схема базы данных была создана в среде MySQL Workbench [8], в результате получена схема, показанная на рисунке 6.

2.3 Нормализация полученных отношений

Разработанная схема БД находится в:

  • первой нормальной форме, так как в качестве доменов выступают только скалярные значения и информация в таблицах не дублируется. Почти во всех таблицах есть идентификатор (id), а в остальных — librarian_rooms и book_places в качестве первичного ключа выступает пара полей, так как нет смысла добавлять одного и того же библиотекаря или книгу дважды в один зал. При повторном добавлении книги (если произошла приемка точно таких же книг) — надо выполнить поиск и изменить число экземпляров в существующей записи;
  • второй и третьей нормальных формах, каждый не ключевой атрибут неприводимо и нетранзитивно зависит от первичного ключа. Для всех таблиц нашей БД это очевидно — Логин и Пароль зависят от Id и их нельзя вывести иным образом; количество книг и номер полки зависят от id книги и id комнаты и их тоже нельзя вывести никак иначе.

Таким образом, схема базы данных показанная на рисунках 5 и 6 находится в нормальной форме Бойса-Кодда [9], а приведение к ней (выделение дополнительных таблиц) было произведено уже в разделе 1.2.

2.4 Определение требований к операционной обстановке

В разделе 2.1 выполнялся выбор СУБД, однако при этом мы точно не знали объем памяти, необходимый для хранения таблиц. Очевидно, в библиотеке основной объем памяти будут занимать книги, пользователи и карточки выдачи/бронирования книг.

Предположим, в библиотеку в месяц будет поступать 100 новых (разных) книг и записываться 200 пользователей. Тысяча пользователей возьмет по 3 книги. Сколько книг будет забронировано — не важно, т.к. карточки бронирования уничтожаются. Учитывая, что для хранения записи об одной книге требуется 45*4+4*2 = 188 байт, для хранения читателя 184 байта, а одна карточка выдачи книги занимает 32 байта можно определить примерный объем памяти, необходимый для базы данных библиотеки в течении одного месяца работы:
100*188 + 200*184 + 1000*3*32 = 18800 + 36800 + 96000 = 151600 байт = 148 Кб
Значит, за год объем базы не должен превысить 1,73Мб.

2.5 Описание групп пользователей и прав доступа

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

Администратор зала библиотеки имеет доступ по чтению и записи к отношениям librarians, rooms, librarians_rooms. При необходимости работы с фондами библиотеки администратор входит в систему с учетной записью библиотекаря.

Библиотекарь имеет доступ:
• по чтению к отношениям: readers, issue_cards, librarians_rooms и rooms;
• по чтению и записи к отношениям: readers, booking_cards, book_places, books, issue_casrds.

Читатель библиотеки может взаимодействовать с системой через программу-клиент, установленную в зале библиотеки или извне библиотеки через веб-интерфейс. При этом, он имеет доступ по чтению к отношениям: books, book_places, rooms, booking_cards, issue_cards. При работе через программу-клиент читатель имеет также доступ по записи к отношению issue_cards — он может из читального зала забронировать книгу.

3 Формирование запросов к СУБД

3.1 Создание таблиц в базе данных и установка индексов

Для создания таблиц в соответствии с заданной схемой БД в СУБД MySQL можно использовать запросы, сгенерированые автоматически по схеме базы данных в среде MySQL Workbench (тут база данных называется library):

DROP SCHEMA IF EXISTS `library` ;

CREATE SCHEMA IF NOT EXISTS `library` DEFAULT CHARACTER SET utf8 ;
SHOW WARNINGS;
USE `library` ;

DROP TABLE IF EXISTS `library`.`administrators` ;

CREATE TABLE IF NOT EXISTS `library`.`administrators` (
  `id` INT NOT NULL,
  `logins` VARCHAR(45) NOT NULL,
  `password` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;

DROP TABLE IF EXISTS `library`.`readers` ;

CREATE TABLE IF NOT EXISTS `library`.`readers` (
  `id` INT NOT NULL,
  `name` VARCHAR(45) NOT NULL,
  `passport` VARCHAR(45) NOT NULL,
  `address` VARCHAR(45) NOT NULL,
  `phone` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;

DROP TABLE IF EXISTS `library`.`rooms` ;

CREATE TABLE IF NOT EXISTS `library`.`rooms` (
  `id` INT NOT NULL,
  `name` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;

DROP TABLE IF EXISTS `library`.`librarians` ;

CREATE TABLE IF NOT EXISTS `library`.`librarians` (
  `id` INT NOT NULL,
  `login` VARCHAR(45) NOT NULL,
  `password` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;

DROP TABLE IF EXISTS `library`.`books` ;

CREATE TABLE IF NOT EXISTS `library`.`books` (
  `id` INT NOT NULL,
  `author` VARCHAR(45) NOT NULL,
  `publication_year` INT NOT NULL,
  `publisher` VARCHAR(45) NOT NULL,
  `name` VARCHAR(45) NOT NULL,
  `isbn` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;

DROP TABLE IF EXISTS `library`.`librarian_rooms` ;

CREATE TABLE IF NOT EXISTS `library`.`librarian_rooms` (
  `id_room` INT NOT NULL,
  `id_librarian` INT NOT NULL,
  PRIMARY KEY (`id_room`, `id_librarian`),
  INDEX `id_librarian_idx` (`id_librarian` ASC),
  CONSTRAINT `id_lr_room`
    FOREIGN KEY (`id_room`)
    REFERENCES `library`.`rooms` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `id_lr_librarian`
    FOREIGN KEY (`id_librarian`)
    REFERENCES `library`.`librarians` (`id`)
    ON DELETE NO ACTION
    ON UPDATE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = tis620
COLLATE = tis620_bin;

DROP TABLE IF EXISTS `library`.`booking_cards` ;

CREATE TABLE IF NOT EXISTS `library`.`booking_cards` (
  `id` INT NOT NULL,
  `id_reader` INT NOT NULL,
  `id_book` INT NOT NULL,
  `id_librarian` INT NOT NULL,
  `time` DATETIME NOT NULL,
  `period` DATETIME NULL,
  PRIMARY KEY (`id`),
  INDEX `id_reader_idx` (`id_reader` ASC),
  INDEX `id_book_idx` (`id_book` ASC),
  INDEX `id_librarian_idx` (`id_librarian` ASC),
  CONSTRAINT `id_bc_reader`
    FOREIGN KEY (`id_reader`)
    REFERENCES `library`.`readers` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `id_bc_book`
    FOREIGN KEY (`id_book`)
    REFERENCES `library`.`books` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `id_bc_librarian`
    FOREIGN KEY (`id_librarian`)
    REFERENCES `library`.`librarians` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

DROP TABLE IF EXISTS `library`.`issue_cards` ;

CREATE TABLE IF NOT EXISTS `library`.`issue_cards` (
  `id` INT NOT NULL,
  `id_reader` INT NOT NULL,
  `id_book` INT NOT NULL,
  `time` DATETIME NOT NULL,
  `period` DATETIME NULL,
  `issue_cardscol` VARCHAR(45) NULL,
  PRIMARY KEY (`id`),
  INDEX `id_reader_idx` (`id_reader` ASC),
  INDEX `id_book_idx` (`id_book` ASC),
  CONSTRAINT `id_ic_reader`
    FOREIGN KEY (`id_reader`)
    REFERENCES `library`.`readers` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `id_ic_book`
    FOREIGN KEY (`id_book`)
    REFERENCES `library`.`books` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

DROP TABLE IF EXISTS `library`.`book_places` ;

CREATE TABLE IF NOT EXISTS `library`.`book_places` (
  `id_book` INT NULL,
  `id_room` INT NOT NULL,
  `quantity` INT NOT NULL,
  `shell_number` INT NOT NULL,
  PRIMARY KEY (`id_book`, `id_room`),
  INDEX `id_room_idx` (`id_room` ASC),
  CONSTRAINT `id_bp_book`
    FOREIGN KEY (`id_book`)
    REFERENCES `library`.`books` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `id_bp_room`
    FOREIGN KEY (`id_room`)
    REFERENCES `library`.`rooms` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Приведенный запрос успешно выполнен на сервере, в результате — созданы таблицы. Тут стоит обратить внимание на именование ограничений для внешний ключей — они должны быть уникальными в базе данных, поэтому в имени ограничения кодируется имя отношения, для которого оно описано, например CONSTRAINT `id_ic_reader` задает ограничение на поле id_reader в отношении issue_cards.

Видно, что для всех ключевых полей в базе данных проставлены индексы — за счет этого записи упорядочиваются по этим полям и поиск выполняется быстрее (бинарный поиск вместо линейного).

3.2 Проектирование наиболее востребованных запросов

Перед созданием запросов был установлен и запущен MySQL Server, настроено подключение к этому серверу среды MySQL Workbench. В базу были добавлены данные для проверки корректности выполнения запросов. Добавление производилось с помощью MySQL Workbench, в результате были сгенерированы следующие запросы:

INSERT INTO `library`.`administrators` (`id`, `logins`, `password`) VALUES (1, 'lena', '12345');
INSERT INTO `library`.`administrators` (`id`, `logins`, `password`) VALUES (2, 'petya', '54321');

INSERT INTO `library`.`readers` (`id`, `name`, `passport`, `address`, `phone`) VALUES (1, 'vasya', '0402 892322', 'Moskva, Kreml', '214 34 12');
INSERT INTO `library`.`readers` (`id`, `name`, `passport`, `address`, `phone`) VALUES (2, 'kostya', '4561 455311', 'Spb, Mira 11', '8 909 999 99 99');

INSERT INTO `library`.`rooms` (`id`, `name`) VALUES (1, 'Зал С++');
INSERT INTO `library`.`rooms` (`id`, `name`) VALUES (2, 'Зал проектирование');

INSERT INTO `library`.`librarians` (`id`, `login`, `password`) VALUES (1, 'vova', '11111');
INSERT INTO `library`.`librarians` (`id`, `login`, `password`) VALUES (2, 'sveta', '22222');

INSERT INTO `library`.`books` (`id`, `author`, `publication_year`, `publisher`, `name`, `isbn`) VALUES (1, ' Э. Гамма, Р. Хелм, Р. Джонсон', 2009, 'СПб.: Питер', 'Приемы ОО- проектирования', NULL);
INSERT INTO `library`.`books` (`id`, `author`, `publication_year`, `publisher`, `name`, `isbn`) VALUES (2, 'Джейсон Мак-Колм Смит', 2013, 'Вильямс', 'Элементарные шаблоны проектирования', NULL);
INSERT INTO `library`.`books` (`id`, `author`, `publication_year`, `publisher`, `name`, `isbn`) VALUES (3, 'Стивен Прата', 2020, 'Вильямс', 'Язык программирования C++ (C++11). ', NULL);
INSERT INTO `library`.`books` (`id`, `author`, `publication_year`, `publisher`, `name`, `isbn`) VALUES (4, 'Мейерс С.', 2014, 'ДМК Пресс', 'Эффективное использование С++', NULL);
INSERT INTO `library`.`books` (`id`, `author`, `publication_year`, `publisher`, `name`, `isbn`) VALUES (5, 'Андрей Александреску', 2002, 'Вильямс', 'Современное проектирование на C++.', NULL);

INSERT INTO `library`.`librarian_rooms` (`id_room`, `id_librarian`) VALUES (1, 2);
INSERT INTO `library`.`librarian_rooms` (`id_room`, `id_librarian`) VALUES (2, 1);

INSERT INTO `library`.`book_places` (`id_book`, `id_room`, `quantity`, `shell_number`) VALUES (1, 1, 10, 555);
INSERT INTO `library`.`book_places` (`id_book`, `id_room`, `quantity`, `shell_number`) VALUES (1, 2, 5, 333);
INSERT INTO `library`.`book_places` (`id_book`, `id_room`, `quantity`, `shell_number`) VALUES (2, 1, 4, 111);
INSERT INTO `library`.`book_places` (`id_book`, `id_room`, `quantity`, `shell_number`) VALUES (3, 2, 60, 222);

INSERT INTO `library`.`booking_cards` (`id`, `id_reader`, `id_book`, `id_librarian`, `time`, `period`) VALUES (1, 1, 1, 2, '2019-10-20', '2019-11-20');

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

Для получения книг по фильтру должны выполняться запросы на подобии такого:

select * from books where name like '%C++%'

В данном случае выводятся книги, в названии которых есть подстрока «С++». Результат выполнения запроса приведен на рисунке 7.

Для поиска должников можно выполнить такой запрос:

select rd.* from readers rd, booking_cards bc 
where rd.id = bc.id_reader and bc.period < '2021-10-20'; 

Вместо константы должна поставляться текущая дата.

Для отображения книг, которые задолжал конкретный пользователь можно выполнить такой запрос:

select bk.* from booking_cards bc, books bk 
where 
    bk.id = bc.id and 
    bc.period < '2021-10-20' and 
    bc.id_reader = 1;

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

Список использованной литературы

  1. Основы UML — диаграммы использования (use-case). URL: https://pro-prof.com/archives/2594
  2. Технологии баз данных. Лекция 3. Модель «Сущность-связь». URL: https://docplayer.ru/27886777-Model-sushchnost-svyaz-tehnologii-baz-dannyh-lekciya-3.html
  3. Entity Relationship Diagram. URL: https://plantuml.com/ru/ie-diagram
  4. Overview of the high availability configuration. URL: https://cloud.google.com/sql/docs/sqlserver/high-availability
  5. YandexCloud. URL: https://console.cloud.yandex.ru/ [режим доступа: требуется регистрация].
  6. Рассуждение на тему, какую базу данных выбирать. URL: https://habr.com/ru/post/348220/
  7. Календарные типы данных в MySQL: особенности использования. URL: https://habr.com/ru/post/69983/
  8. Основы работы с MySQL Workbench: быстрый старт, управление схемой данных. URL: https://mithrandir.ru/professional/soft-and-hardware/mysql-workbench-basics.html
  9. Нормализация отношений. Шесть нормальных форм. URL: https://habr.com/ru/post/254773/

Разработка базы данных «Библиотека»

  • Авторы
  • Руководители
  • Файлы работы
  • Наградные документы

Романюк Б.В. 1


1Муниципальное общеобразовательное учреждение города Джанкоя Республики Крым “Средняя школа №1 им. А.А. Драгомировой”

Сыроваткина Л.В. 1


1Муниципальное общеобразовательное учреждение города Джанкоя Республики Крым “Средняя школа № 1 им. А.А. Драгомировой”


Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке “Файлы работы” в формате PDF

ВВЕДЕНИЕ

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

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

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

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

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

Цель работы: создание базы данных «Библиотека».

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

Основные задачи:

изучить инструменты системы управления базами данных Microsoft Access, способной к эффективной работе с информацией, её поиска, занесения, хранения и использования;

разработать удобный, интуитивно понятный интерфейс пользователя базы данных «Библиотека»;

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

РАЗДЕЛ 1

ТЕОРЕТИЧЕСКИЕ АСПЕКТЫСИСТЕМ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

Выбор программного обеспечения

Программное обеспечение, осуществляющее операции над базами данных, получило название «система управления базами данных»(СУБД).

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

СУБД предназначены для обработки больших массивов информации, её отображения в виде удобном для пользователя и управления объёмом этих массивов.

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

Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borlandd Base, Borland Paradox, Microsoft Visual FoxPro, Microsoft VisualBasic, а также СУБД Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии “клиент-сервер”.

Система управления базами данных — специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных.

Основные функции СУБД:

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

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

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

3. Обеспечение независимости прикладных программ и данных (логической и физической независимости).

Одна из первых была “D – Base” (фирма Borland, а изготовлено “Ashton – Tate”).

Широко распространены и совместимы с “D – Base”системы “Fox PRO”(сегодня их продаёт Microsoft). Совместимой с “D – Base” является также “Clipper” (фирма “ComputerAssociates”).

На ряду с “D – Base” и её приложениями используются СУБД “Paradox”, “R- Base”, “Clarion” и др.

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

Эта сложность объясняется тем, что перечисленные СУБД являются предметно –независимыми оболочками, которые могут быть наполнены той или иной предметной областью путём программирования. Поэтому разработка даже несложных СУБД требуют для каждой предметной области значительных сил.

 В отличие от перечисленных СУБД менеджеры используют обычно СУБД MS Access.

Особенности СУБД MS Access:

Предметная ориентация, отображённая в меню.

Простата наполнения предметной оболочки.

Нет необходимости в языках программирования для перестройки СУБД.

Использование интегрированных программных средств.

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

1.2. Инструментальные средства системы управления базами данных MicrosoftAccess

База данных в MicrosoftAccessпредставляет собой единый объект, который объединяет таблицы, запросы, формы, отчеты, макросы, модули и позволяет хранить их в едином дисковом файле.

СУБД Access предоставляет пользователю следующие возможности: создавать базы данных; добавлять новую информацию в созданные БД; обновлять или каким-либо еще образом изменять данные в БД; удалять имеющуюся информацию из БД; осуществлять просмотр данных в виде отчетов, форм, различных выборок и запросов; организация данных при помощи сортировки и/или классификации информации; общий доступ к таблицам и данным при использовании отчетов, электронных писем, Интернета и/или локальной сети; осуществление разных видов связей между таблицами; создание кнопочных форм и пользовательских интерфейсов управления базой данных внутри СУБД.

Реляционная база данных состоит из взаимосвязанных нормализованных таблиц. За счет нормализации обеспечивается отсутствие дублирования данных во взаимосвязанных таблицах и соответственно минимизируется объем сохраняемых данных, а структура связей между таблицами называется схемой данных. Схема данных является не только графическим образом базы данных, но и используется в СУБД MS Access в процессе работы с базой данных

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

Базы данных СУБД MS Access имеют в таблицах одно главное – ключевое – поле. По умолчанию оно, как уже было сказано, обязательно к заполнению. Кроме того, на него накладывается необходимость быть уникальным, что значит, что уже введенное значение в ключевом поле нельзя будет ввести в ключевом поле другой записи этой же таблицы. При необходимости можно добавить дополнительное ключевое поле, с менее строгими правилами – уникальность выбирается разработчиком БД. При помощи ключевых полей осуществляют связи между таблицами базы данных.

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

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

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

Формы используются в качестве средства для ввода новой информации в таблицу. Преимуществом форм становится их удобный для пользователя вид – разработчик может использовать макет формы или создать совершенно новую. На этот объект можно поместить кнопки, переключатели и многое другое. В числе прочих особое внимание приковывает к себе кнопочная форма, представляющая собой модифицированный диспетчер задач, составляемый пользователем “под себя”. На нее можно поместить основные функции работы с базой данных – вход, выход, заполнение таблиц, просмотр данных.

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

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

Также в данной программной среде имеется технология подключения драйверов для поддержки неизвестных форматов реляционных баз данных.

РАЗДЕЛ 2.

ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ЗАДАЧИ СОЗДАНИЯ БАЗЫ ДАННЫХ «ШКОЛЬНАЯ БИБЛИОТЕКА»

2.1. Описание предметной области.

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

Предметная область – библиотека.

Решаемые задачи: выдача справок о наличии книг, учет читателей и выдачи книг.

Поиск: читателей по фамилии. 

Поиск: сведения о читателе по названию книги.

Запросы: Упорядочение по полям: автор книги, ФИО читателя.

Выборка: количество взятых книг по каждому читателю.

Вычисления: а) даты возврата книги читателем; б) сколько книг выдано по каждому читателю; в) количество экземпляров книги в библиотеке.

После того как собраны все исходные данные, определены сущности проекта, можно начать разработку единой структурированности данных при помощи СУБД.

2.2. Структура базы данных «Библиотека»

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

Рис. 2.1 Схема данных.

На схеме представлены 3 таблицы служащие основным источником информации базы данных, содержащие разные поля и типы данных.

Таблица «Книга» (рис. 2.2) содержит информацию о всех книгах имеющихся в библиотеке. В ней представлены следующие поля:

Шифр книги – числовой, для присвоения уникального номера каждойкниге;

Автор – текстовый, служащий для ввода данных об авторе;

Название – текстовый, служащий для ввода названия книги;

Год издания – числовой, в это поле вносится год издания книги;

Цена – денежный, в это поле вносится цена книги;

Количество – числовой, в это поле вносится количество поступивших экземпляров книги;

Общая сумма – денежный, в это поле вносится общая сумма за все экземпляры поступившей книги;

Издательство – текстовый, в это поле вносится издательство книги;

Раздел – текстовый, в это поле вносится раздел книги;

Наличие – числовой, в это поле вносится количество данной книги в библиотеке.

Рис. 2.2 Таблица «Книга».

Вторая таблица под названием «Читатель» (рис. 2.3) предназначена для хранения индивидуальных данных о читателях, содержит 5 полей:

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

Фамилия, тип данных – текстовый, в это поле вносится фамилия читателя.

Имя, тип данных – текстовый, в это поле вносится имя читателя.

Адрес, тип данных – текстовый, в это поле вносится адрес читателя.

Телефон, тип данных – текстовый, в это поле вносится контактный телефон читателя.

Рис. 2.3 Таблица «Читатель»

Следующая таблица «Выдача» (рис. 2.4), служащая для отметки взятых и возвращенных книг читателями содержит следующие поля:

Номер выдачи с числовым типом данных, для внесения номера взятой книги.

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

Шифр книги с числовым типом данных, для внесения номера взятой книги.

Дата выдачи – это дата взятия книги с соответствующим типом – дата/время, в которое вносится дата взятия книги читателем.

Дата возврата – тип данныхдата/время, в которое вносится дата возврата книги читателем.

Сдано.В этом поле используется логический тип данных, использующий только два значения False и True, для заполнения при возврате книги читателем.

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

Текущая дата – выводит текущую дату, необходимую для формирования запроса на обновление «Книга сдана»

Рис. 2.4 Таблица «Выдача»

2.3. Интерфейс базы данных

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

Рис. 2.5 Главная кнопочная форма базы данных.

П
ервой функциональной точкой является кнопка «Книга», при нажатии на которую открывается окно формы «Книга» (рис. 2.6).

Рис. 2.6 Окно формы «Книга».

В этом окне так же имеется ряд функциональных точек: Добавить запись, Сохранить запись, предназначенная для ввода новых книг в базу данных библиотекии сохранения введенных данных. Общая сумма за книги – по запросу на обновление «Общая сумма» (рис. 2.7) подсчитывается общая сумма за книги, Закрыть форму– закрывает данную форму.

Рис. 2.7 Запрос на обновление «Общая сумма».

Второй функциональной точкой на главной кнопочной форме является кнопка «Читатель». Пользователь, нажав на эту кнопку, получает доступ к форме «Читатель» (рис. 2.8), в которой отражаются процессы взятия и возврата книг.

Р
ис. 2.8 Форма «Читатель»

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

В окне формы «Читатель» так же имеется ряд функциональных точек:

«Добавить запись» и «Сохранить запись» – для внесения в базу нового читателя;

«Книга сдана» – по запросу на обновление «Книга сдана» (рис. 2.9) к полю Наличие прибавляется единица

Рис. 2.9 Окно запроса «Книга сдана»

«Выдать книгу» – по запросу на обновление «Выдать книгу» (рис. 2.10) от поля Наличие отнимается единица

Рис. 2.10 Окно запроса «Выдать книгу»

«Дата возврата» – по запросу на обновление «Дата возврата» (рис. 2.11) рассчитывается дата возврата книги в библиотеку – «Дата выдачи + Срок дней»

«Закрыть форму» – закрывает данную форму.

Рис. 2.11 Окно запроса «Дата возврата»

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

Рис. 2.12 Окно отчета «Количество взятых книг»

Четвертой функциональной точкой является кнопка «Кто брал книгу».Эта кнопка позволяет пользователю вывести информацию о читателе – Фамилию, Имя, Класс, Номер читательского билета, Шифр книги, Даты выдачи и возврата книги в библиотеку. Это осуществляется с помощью запроса на выборку «Кто брал книгу» (рис. 2.13).

Рис. 2.13 Окно запроса на выборку «Кто брал книгу»

Пятой функциональной точкой является кнопка «Разработчик», которая выводит информацию о разработчике данной базы данных «Библиотека» (рис. 2.14).

Рис. 2.14 Окно формы «Разработчик»

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

ВЫВОДЫ

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

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

Разработанная база по учету книг в библиотеке предлагает пользователю:

простой интуитивно понятный интерфейс;

легкую в понимании и эффективной работе с ней

запуск с любой машины со слабыми системными требованиями.

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

Исходя из рабочей базы данных, на уровне функционирования, был разработан единый интерфейс для работы с данными – формы, запросы; для вывода данных – отчеты; для работы – внешнее оформление, меню.

База данных «Библиотека» отвечает всем требованиям среднего программного продукта. В ней реализованы все необходимые достоинства конкурентно способного программного продукта.

СПИСОК ЛИТЕРАТУРЫ

Андерсен, В.БазыданныхMicrosoftAccess. Проблемы и решения: практ. пособ. / пер. с англ. – М.: Издательство ЭКОМ, 2001. – 384 с.

Бакаревич, Ю.Б. Н.В. Самоучитель Microsoft Access 2000 [Текст]/ Бакаревич Ю.Б., Пушкина Н.В. – СПб: БХВ-Петербург, 2001. – 456 с.

Бойко, В.В. Проектирование баз данных информационных систем [Текст]/ Бойко В.В., Савинков В.М. – М.: Финансы и статистика, 2009. – 351 с.

Вейскас, Д. Эффективная работа с Microsoft Access [Текст]/ СПб., 2008. – 315 с.

Винтер, Р. Microsoft Access: справочник/ Винтер Р. – М: Питер, 2008. – 280 с.

Глушаков, С.В. Базы данных: учебный курс/ Глушаков С.В., Ломотько Д.В. – М.: АСТ, 2001.- 504 с.

Гусева, Т.И. Проектирование баз данных в примерах и задачах [Текст]/ Гусева Т.И., Башин Ю.Б. – М:Академия,1999. – 423 с.

Коннолли, Т. БАЗЫ ДАННЫХ. Проектирование, реализация и сопровождение. Теория и практика [Текст]/ Коннолли Т., Каролин Б. – Москва, Санкт-Петербург, Киев, 2010. – 1440 с.

Леонтьев, Ю. Microsoft Office: краткий курс [Текст]/ Леонтьев Ю. – СПб: Питер, 2010. – 312 с.

Райордан, Р. Основы реляционных баз данных/пер. с англ. — М.: Издательско-торговый дом «Русская Редакция», 2001. – 384 с.

Microsoft Access. Шаг за шагом: практическое пособие / пер. с англ. – М.: ЭКОМ, 2010. – 352 с.

Просмотров работы: 9398

В архиве: презентация, текстовый документ, исходный файл.

Содержание

1.    

Введение.
Цель работы.

2.1.

Система
управления базами данных. Понятие базы данных. Возможности, назначение и
области применения
MS Access. Реляционная модель базы данных.

2.2.

Понятия:
структура таблицы, поле, запись, типы полей, первичный ключ.

2.3.

Связь
между таблицами. Определение типов связей.

2.4.

Проектирование
базы данных «Библиотека». Основные этапы создания базы данных.

2.5.

Понятия:
запрос, динамическая таблица. Основные типы запросов.

2.6.

Использование
форм для ввода, корректировки и просмотра.

2.7.

Использование
кнопочной формы.

4.    

Список
использованной литературы.

В конце концов, от всех приобретённых знаний в памяти
у нас остаётся то, что мы применили на практике.
И. Эккерман.

Введение.
Цель работы

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

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

Целью нашей работы
стала автоматизация функций библиотеки:

·    

учет,
хранение, поиск литературы;

·    

оформление
заказа читателя;

·    

учет
посещаемости читателей.

В связи с этим мы поставили перед собой задачи:

·    

познакомиться
с назначением, возможностями и областями применения
MS Access;

·    

освоить
основные приемы работы с
NS Access;

·    

исследовать
основные возможности системы управления базами данных
MS Access по созданию и использованию реляционной базы данных
«Библиотека».

Раздел I

Система управления базами данных.
Понятие базы данных.

На сегодняшний день одной из самых популярных систем
управления базами данных является
MS Access. (Система
управления базами данных
(СУБД) представляет собой комплекс программных
средств, необходимых для создания и использования баз данных. База данных (БД) – совокупность
связанной информации, объединенной вместе по определенному признаку и организованной
специальным образом.)
MS Access имеет достаточно богатый набор визуальных средств, а для
расширения её возможностей можно воспользоваться элементами языка
программирования
Visual Basic for Application. К существенным достоинствам MS Access(“access” в переводе с англ. – “доступ”)  можно также отнести использование общего
подхода в построении интерфейса всех продуктов
Microsoft для Windows, а также возможности работы с данными других программных
продуктов включая наиболее популярные СУБД (
dBase, Paradox, FoxPro и др.) Все это привлекает и начинающих, и
квалифицированных пользователей.

Возможности, назначение и области
применения
MS Access.

MS Access – типичная настольная СУБД. На небольшом предприятии или
фирме ресурсов
MS Access вполне достаточно для обслуживания всего
делопроизводства (конечно, вместе с остальными программными продуктами
MS Office.) Простые в тоже время мощные средства MS Access могут использоваться для

·       

ведения
информации о клиентах;

·       

ведения
информации о деловых контактах;

В крупных учреждениях MS Access может использоваться как пользовательская среда для
обработки данных: создания собственных запросов на поиск нужной информации,
построения диаграмм, отчетов. И, наконец,
MS Access – удобное средство для компьютерной обработки
персональной информации:

·    

ведения
адресного справочиника;

·    

каталога
книг, видеофильмов и т.п.1

Широкий спектр области применения MS Access и предопределил выбор данного прикладного средства для
изучения. Поскольку, основное назначение любой СУБД – обеспечить быстрый доступ
к необходимой информации, мы решили автоматизировать библиотечные функции,
связанные с хранением, учетом и поиском литературы.

Реляционная
модель данных.

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

Реляционная модель (от лат. relation – отношение) хранения данных построена на взаимодействии
составных ей частей. Пример: двухмерная таблица или совокупность
взаимосвязанных таблиц[1].

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

·       

сортировку
полей таблицы по алфавиту;

·       

выборка
книг по тематике;

·       

поиск
читателя по его фамилии и т.д.

Раздел II

Понятия: поле, запись, структура таблицы, типы полей,
первичный ключ.

Прежде чем перейти к проектированию БД «Библиотека»
необходимо рассмотреть один из основных объектов
MS Access таблицы.

Таблица – объект базы
данных, который используется для хранения данных.

Каждая таблица состоит из строк и столбцов, которые
принято называть записями и полями соответственно (рис. 1).

Запись – строка таблицы БД,
в которой собрана вся информация о конкретном предмете. Например, о конкретной
книге.

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

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

Тип данных определяет
значения, которые можно сохранить в данном поле[2]. Например, поля Автор, Инициалы, Название, Издательство
таблицы «Книги» имеют текстовый тип
данных, т.к. значением этих полей является текст. Для поля Код книги типом данных является счетчик, т.к. значениями этого поля являются автоматически
последовательно вставляемые числа при добавлении в таблицу каждой новой записи.
Значения в полях такого типа не могут обновляться. Для поля Стоимость тип данных – денежный. Поле Читатель таблицы «Заказы» является числовым. Значением этого поля является Код читателя (число), а
т.к. один и тот же читатель может заказать несколько книг, то код этого
читателя может повторяться, что невозможно в поле типа счетчик. Для поля Дата заказа тип данных – дата. Поле Отметка о возврате таблицы «Заказанные книги» являются логическими, т.к. значения данного поля
да/нет.

Как уже отмечалось, основное достоинство любой СУДБ –
способность быстро находить и объединять информацию, хранящуюся в разных
таблицах. Для повышения эффективности работы
MS Access желательно, чтобы каждая таблица содержала поле (или
несколько полей), значения которого позволит однозначно определить каждую
запись таблицы, т.е. ключевое поле. Например,
в таблице «Книги» базы данных «Библиотека» значения поля Код книги являются уникальными,
и поэтому это поле может быть ключом для данной таблицы.

Раздел III

Понятия: поле, запись, структура
таблицы, типы полей, первичный ключ.

И  так, основа БД –
это таблицы. После их определения необходимо указать
Access, какие действия надо предпринимать для объединения
содержимого разных таблиц, т.е. установить связи между таблицами.

Межтабличная связь
отношение, устанавливаемое между полями двух таблиц.

Связь между таблицами может быть установлена при наличии
в этих таблицах полей, которые содержат совпадающие данные. Например, связь
между таблицами «Читатели» и «Заказы» обеспечивается наличием в обеих таблицах
поля Код читателя.

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

Access поддерживает три типа связей (или отношений): один-ко многим, один-к-одному,
многие-ко-многим.

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

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

Если при этом связующее поле в одной из таблиц является
ключевым, то такая таблица называется
главной
(таблица «Читатели»).

Вторая таблица, участвующая в связи, называется подчиненной (таблица «Заказы»). При
этом связующее поле подчиненной таблицы обычно называют внешним (или чужим) ключом.

Все связи в базе данных «Библиотека» – это связи типа
один-ко-многим (1-∞)

При определении связей между таблицами можно установить
следующие параметры:

·       

обеспечение
целостности данных;

·       

каскадное
обновление связанных полей;

·       

каскадное
удаление связанных полей.

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

Раздел IV

Проектирование базы данных
«Библиотека»

Рассмотрим создание базы данных для учета заказов в
библиотеке. Всю информацию для этой задачи можно разместить в одной таблице
«Заказы», которая будет содержать следующие данные:

·       

информацию
о заказе (номер или код заказа, дата заказа);

·       

информацию
о заказанных книгах (шифр или код книги, автор, название, издательство, год
издания, стоимость, тематика);

·       

сведения
о читателе, сделавшем заказ (фамилия, имя, отчество, класс, домашний адрес,
телефон).

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

        сведения                            
        о
заказах                                
сведения о книгах                                               
сведения о       
                                                                                                                        
                      читателях

Код заказа

Дата заказа

Код книги

Автор

Название

Издательство

Год издания

Стоимость

Тема

Фамилия читателя

Имя читателя

Отчество читателя

Класс

Домашний адрес

Телефон

Таблица заказы базы данных «Библиотека»

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

Для решения подобных проблем используется процесс
уменьшения избыточности информации в базе данных, который называется нормализацией[4].

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

Таким образом можно избавиться от дублирования информации
о читателях. Чтобы в таблице «Заказы» велась регистрация читателей,
заказывающих книги, каждому читателю присваивается уникальный код, записываемый
в поле Код читателя таблицы
«Читатели», а в таблицу «Заказы» добавляется поле Читатели, где и будет указываться код читателя, сделавшего заказ.
Так же мы выделили отдельную таблицу «Книги», а в таблице «Заказы» фиксировать
только Код книги. Из таблицы «Книги»
выделив в отдельную таблицу информацию о тематике книг. Поскольку в отдельный
заказ может быть включено несколько книг, имеет смысл информацию о содержании
заказа (заказанных книгах) также выделить в отдельную таблицу и фиксировать в
ней код заказа. В результате новая таблица «Заказанные книги» будет содержать
поля Код заказа, Код книги и
дополнительное поле Отметка о возврате. Связь
между таблицами «Заказа» и «Заказанные книги» осуществляется через совпадающие
значения полей Код заказа. Результат
подобного преобразования показан на

Таблица «Читатели»

Код читателя

Фамилия читателя

Имя читателя

Отчество читателя

Класс

Домашний адрес

Телефон

Таблица
«Книги

Код книги

Автор

Инициалы

Название

Издательство

Год издания

Стоимость

«Тематика книг»

Код
заказа

Код
читателя

Дата
заказа

     Таблица
«Заказы»

      Таблица
«Заказанные книги»

Код заказа

Код книги

Отметка о возврате

Таблица

Таблицы «Читатели», «Книги», «Тематика книг», «Заказы», «Заказанные книги».

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

 В рассматриваемом
примере поле Код книги, содержащее
шифр книги, является уникальным и поэтому может быть первичным ключом для
таблицы «Книги». Первичным ключом также может быть поле Код читателя таблицы «Читатели» и поле Код заказа таблицы «Заказы». Заметим, что в таблицах «Заказанные
книги» и «Тематика книг» нет полей, содержащих уникальные данные. Однако в
таблице «Заказанные книги» уникальной является комбинация полей Код заказа и Код книги. Для таблицы «Тематика книг» можно создать
«искусственный» первичный ключ: добавить поле, которое будет содержать номер
записи.

В результате описанных выше операций окончательный проект
базы данных «Библиотека» включает в себя пять таблиц, показанных на 

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

Таким образом, к основным принципам проектирования базы
данных можно отнести:

·       

отсутствие
в таблице повторяющихся групп полей;

·       

отсутствие
в таблице повторяющихся записей.

При создании базы данных можно выделить следующие этапы:

1.    

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

2.    

Описание структуры таблицы базы данных.

3.    

Определение связей между таблицами.

4.    

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

5.    

Ввод данных и создание других объектов базы данных. В базе данных «Библиотека» мы создали необходимые
запросы и формы.

Раздел V

Понятия:
запрос, динамическая таблица. Типы запросов

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

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

При выполнении запроса MS Access создает набор записей, содержащий выбранные данные. Этот
набор называется выборкой или динамической таблицей.

Выборка – представление на
экране результат выполнения запроса.

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

По результатам действия и особенностям выполнения нами
использовались следующие типы запросов:

·       

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

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

·       

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

Раздел
VI

Использование
форм для ввода, корректировки и просмотра

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

Форма – объект БД,
позволяющий создать удобный пользовательский интерфейс для работы с данными.

Формы позволяют:

·       

ограничить
объём информации, отображаемой на экране, и представить её в требуемом виде;

·       

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

·       

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

·       

уменьшить
количество ошибок при вводе;

·       

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

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

·       

переход
по записям источника формы, обработка записей (добавление, удаление, поиск);

·       

работа
с формой (закрытие, обновление данных)

Раздел VII

Использование
кнопочной формы

Выше были рассмотрены объекты БД Access: таблицы, запросы, формы. При этом разрозненность
большого количества объектов в окне БД «Библиотека» затрудняет работу
пользователя с приложением.

Поэтому для приложения создан специальный интерфейс, в
котором объекты группируются по функциональному назначению, и обеспечивается  удобный доступ к ним. При этом работа
пользователя непосредственно с таблицами БД «Библиотека» исключается.

С помощью диспетчера кнопочных форм создана кнопочная
форма, которая используется как панель управления БД «Библиотека». Пользователь
(библиотекарь), нажимая кнопку на панели управления, инициирует событие нажатия
кнопки, например, «Сведения о книгах». К этому событию привязывается действие
по открытию другой кнопочной формы, «О книгах» или обращение к нужным объектам
компонента – формам, например, «Заказы».

Заключение

Таким образом, в своей научно-исследовательской работе мы
показали, как создать базу данных «Библиотека» для повышения эффективности
работы библиотекарей. Однако мы остановились на самых востребованных
информационных аспектах в данной профессии:

·       

учёт,
хранение, поиск литературы;

·       

оформление
заказа читателя;

·       

учёт
посещаемости читателей.

Создание базы данных «Библиотека» на этом не
ограничивается. Возможно продолжение работы в следующих направлениях:

·       

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

·       

учебно-дидактический
компонент;

·       

классификация
методической литературы
.

 Работу выполнила Julia Kozhukhovskaya

Список использованных источников:


[1] Основы компьютерных
технологий в образовании. В 4 ч. Ч.3.: Технологии обработки данных: Учебное
пособие / Г.М. Троян, Е.М. Зайцева, С.Н. Гринчук и др. под редакцией Г.М.
Троян. – Мн.: РИВШ БГУ, 2002. – 212 стр.// стр. 96

[2]
Основы компьютерных технологий в образовании. В 4 ч. Ч.3.: Технологии обработки
данных: Учебное пособие / Г.М. Троян, Е.М. Зайцева, С.Н. Гринчук и др. под
редакцией Г.М. Троян. – Мн.: РИВШ БГУ, 2002. – 212 стр.// стр. 97

[3]
Бекарович Ю.Б., Пушкина Н.В. Самоучитель
Microsoft Access 2002. –
СПБ.:БХВ-Петербург, 2004 – 720 с.: ил./с.79

[4] 4 Бекарович
Ю.Б., Пушкина Н.В. Самоучитель
Microsoft Access 2002. –
СПБ.:БХВ-Петербург, 2004 – 720 с.: ил./с.28

Содержание:

ВВЕДЕНИЕ

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

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

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

Цель курсовой работы – проектирование БД «Домашняя библиотека» средствами СУБД Access.

При достижении цели курсовой работы были поставлены следующие задачи:

  • дана характеристика предметной области, сделана постановка задачи;
  • разработаны логическая и физическая модели данных;
  • создана БД «Домашняя библиотека» средствами СУБД Access – таблицы, формы, запросы, отчеты и главная форма.

В работе приведены скриншоты всех таблиц, форм, запросов и отчетов.

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

ГЛАВА 1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ «ДОМАШНЯЯ БИБЛИОТЕКА»

1.1         Описание предметной области. Постановка задачи

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

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

Исходными данными будут данные о книгах – автор, название, город, наименование и год издательства, а также инвентарный номер; справочник Разделы библиотеки, состоящий из номера раздела, представляющего двузначное число, и наименования раздела; данные о читателях – фамилия, имя, домашний адрес, телефон, место работы/учебы, эти данные необходимы на случай, если фондом домашней библиотеки воспользуются знакомые и друзья семьи, а также для того, чтобы знать, у кого на руках находится та или иная книга или какой-то другой экземпляр библиотеки. Данная база данных предназначена для широкого применения, т.е. может быть использована для любой семьи, и поэтому разрабатывается универсально.

В результате разработки данной базы данных возможно получение следующих отчетов:

  • список всех книг и экземпляров библиотеки;
  • список книг выданных (в чтении);
  • список читателей с адресами, телефонами;
  • список книг по определенной тематике;
  • список книг определенного автора;
  • список книг с истекшим сроком возврата.

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

1.2        Выбор средств / методологии проектирования. Выбор СУБД

Средствами проектирования баз данных обеспечиваются моделирование данных и генерация схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД. К ним относятся: ERwin (Logic Works), S-Designor (SDP) и DataBase Designer (ORACLE). Средства проектирования баз данных имеются также в составе CASE-средств Vantage Team Builder, Designer/2000, Silverrun и PRO-IV.[1] Проектирование базы данных можно представить в виде схемы на рис. 1.

access04_00

Рисунок 1. Схема проектирования базы данных

Наиболее распространенное средство моделирования данных – диаграммы “сущность-связь” (ER).

Модель “сущность-связь” (Entity-Relationship model, или ЕR-модель) представляет собой высокоуровневую концептуальную модель данных, которая была разработана Ченом (Chen) в 1976 году с целью упрощения задачи проектирования баз данных. Данная модель данных представляет собой набор концепций, которые описывают структуру базы данных и связанные с ней транзакции обновления и извлечения данных. Основная цель разработки высокоуровневой модели данных заключается в создании модели пользовательского восприятия данных и согласовании большого количества технических аспектов, связанных с проектированием базы данных. Следует особо подчеркнуть, что концептуальная модель данных не зависит от конкретной СУБД или аппаратной платформы, которая используется для реализации базы данных.[2]

Методология IDEF1X является одним из подходов к семантическому моделированию данных, основанным на концепции Сущность-связи (EntityRelationship), инструментом для анализа информационной структуры систем разной природы. Методология IDEF1X предназначена для построения концептуальной схемы реляционной базы данных, независимой от программной её реализации. Эта информация – необходимое дополнение функциональной IDEF0-модели, детализирующей объекты, которыми оперируют функции системы.

Концептуально IDEF1X-модель является проектом логической схемы базы данных для проектируемой системы. В IDEF1X используются понятия сущность, атрибут, отношение и ключ. Языки графического изображения моделей, используемые в этих методологиях, также многим похожи. Однако, IDEF1X не рассматривает объекты реального мира, а только их информационное отображение, поскольку к моменту разработки базы данных должно быть проведено изучение всех информационных ресурсов компании, определение необходимого набора данных, отражающих её деятельность и проверка на полноту.

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

Стандарт и методология IDEF1X – это специализированный инструмент, предназначенный для разработки реляционных баз данных. Наибольшее применение получили нотации Чена, Мартина, IDEF1X, Баркера, используемые при построении ER-диаграмм

AllFusion ERwin Data Modeler (ранее ERwin) является CASE-средством для проектирования и документирования баз данных, позволяющее создание, документирование и сопровождение базы данных, хранилища и витрины данных. Модели данных помогают в визуализации структуры данных с обеспечением эффективного процесса организации, управления и администрирования таких аспектов деятельности компании, как уровень сложности данных, технологий баз данных и среды развертывания.

AllFusion ERwin Data Modeler (ERwin) может использоваться всеми фирмами, которые разрабатывают и используют базы данных, администраторами баз данных, системными аналитиками, проектировщиками баз данных, разработчиками, руководителями проектов, — и позволяет управлять данными в процессе корпоративных изменений, а также в условиях стремительно изменяющихся технологий.

AllFusion ERwin Data Modeler (ERwin) позволяет наглядное отображение сложных структур данных. Удобной в использовании графической средой системы упрощается разработка базы данных и автоматизируется множество трудоёмких задач, при этом уменьшается время разработки высококачественных и высокопроизводительных транзакционных баз данных и хранилищ данных. Продукт улучшает коммуникацию компании посредством обеспечения совместной работы администраторов и разработчиков баз данных, многократного использования модели, а также наглядного представления комплексных активов данных в удобном для понимания и обслуживания формате.[3]

Для разработки структуры базы данных используем средство AllFusion ERwin Data Modeler (ERwin).

В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (dBASE, FoxPro, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных.

Данные локальной базы данных (файлы данных) находятся на одном (локальном) устройстве, это может быть диск компьютера или сетевой диск (диск другого компьютера, работающего в сети). Paradox, dBase, FoxPro и Access — это локальные базы данных.

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

Лидерами на рынке про­грамм, предназначенных как для разработчиков информационных систем, так и для конеч­ных пользователей, являются:

  • dBASE IV 2.0, компании Borland International;
  • Microsoft Access 2.0;
  • Microsoft FoxPro 2.6 for DOS;
  • Microsoft FoxPro 2.6 for Windows, корпорации Microsoft Corp;
  • Paradox for DOS 4.5;
  • Paradox for Windows, версия 4.5 компании Borland.[4]

Для разработки БД Домашняя библиотека выбрана офисная программа Microsoft Access, функционально полная система с мощными средствами для работы в этой программе. Ее преимущество перед другими в простоте, наличии всех средств для успешной обработки и управления БД. Один из основных плюсов разработки на MS Access – плотная связь с Microsoft Office. При этом так же устанавливаются все нужные для работы Access библиотеки, ODBC. Acess хорошо совместим с MS SQL Server и другими форматами баз данных.

Access – система управления реляционными базами данных (CУБД), предназначенная для хранения и обработки информации. Access при всей его внешней простоте позволяет решать довольно сложные задачи, является достаточно серьезным инструментом, позволяющим быстро и хорошо делать довольно сложные вещи. Access позволяет разработать профессиональную базу данных в более короткие сроки и за меньшие деньги, для домашнего использования подходит как нельзя лучше. Кроме того, такое решение обладает большей гибкостью, настройкой, в него легко можно внести дополнения и изменения, быстрее и дешевле чем в промышленные базы данных на основе Oracle и C++. Что касается трат на покупку MS Access, то он входит в MS Office, а этот продукт уже имеется у всех пользователей.

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

Чтобы правильно создавать базы, необходимо предварительно разобраться в их сути. Базой данных называется строго организованная структура, предназначенная для хранения и упорядочивания информации. Она может содержать чрезвычайно разнообразные объекты, но логической их единицей является таблица. Любое создание базы данных MS Access предполагает тщательное продумывание информационной структуры конкретного документа, проверку целостности исходных данных, а также использование этих сведений для моделирования запросов, форм и отчетов.

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

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

1.3         Проектирование логической структуры базы данных

Сущность (Entity) — множество реальных или абстрактных объектов (людей, событий, состояний, идей, предметов и др.) с общими атрибутами или характеристиками. Любой объект системы может быть представлен только одной сущностью, уникально идентифицированной. При этом именем сущности должен отражаться тип или класс объекта, а не его конкретный экземпляр (например, АЭРОПОРТ, а не ВНУКОВО).

У каждой сущности должен быть уникальный идентификатор. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данного типа сущности. Каждая сущность должна обладать некоторыми свойствами:

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

Каждая сущность может обладать любым числом связей с другими сущностями модели.[5]

Связь — это ассоциация между сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе нулевым) числом экземпляров второй сущности, и наоборот.

Атрибут (Attribute) — любая характеристика сущности, значимая для рассматриваемой предметной области, квалифицирующая, идентифицирующая, классифицирующая, а также количественная характеристика или выражающая состояние сущности. Атрибут представляет тип характеристик или свойств, ассоциированных с множеством реальных или абстрактных объектов (людей, мест, событий, состояний, идей, предметов и т.д.).

Экземпляром атрибута называется определенная характеристика отдельного элемента множества. Экземпляр атрибута определяется типом характеристики и ее значением, называемым значением атрибута. На диаграмме “сущность-связь” атрибуты ассоциируются с конкретными сущностями. Таким образом, экземпляр сущности должен обладать единственным определенным значением для ассоциированного атрибута.[6]

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

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

Рисунок 2. Логическая модель данных БД «Домашняя библиотека»

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

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

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

1.4 Проектирование физической структуры базы данных

Справочник «Разделы библиотеки» содержит поля:

Раздел библиотеки;

Наименование раздела.

Структура справочника приведена на рис. 3.

Рисунок 3. Структура справочника Разделы библиотеки

Классификация номеров разделов дана в справочнике «Разделы библиотеки» (приложение 1):

Таблица «Книги» содержит следующие данные:

Инвентарный номер книги;

Название книги;

Автор – фамилия, инициалы автора книги;

Город издания;

Издательство;

Год издания;

Структура таблицы Книги представлена на рис. 4.

Рисунок 4. Физическая структура таблицы Книги

Записи таблицы Книги даны в приложении 1.

Таблица «Читатели» содержит следующие данные:

ФИО – Фамилия, инициалы читателя;

Телефон;

Домашний адрес:

Улица;

Дом;

Корпус;

Квартира.

Структура таблицы Читатели представлена на рис. 5.

Рисунок 5. Структура таблицы Читатели

В приложении 1 представлены записи таблицы Читатели.

Таблица «Книги выданные» содержит следующие данные:

Инвентарный номер книги;

ФИО читателя, кому выдана книга;

Название книги;

Дата выдачи;

Дата возврата.

На рисунке 6 представлена структура таблицы Книги выданные.

Рисунок 6. Структура таблицы Книги выданные

Записи таблицы Книги выданные даны в приложении 1.

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

ГЛАВА 2. РАЗРАБОТКА БАЗЫ ДАННЫХ «ДОМАШНЯЯ БИБЛИОТЕКА»

2.1 Инструкции по работе с базой данных

Для ввода данных в БД лучше использовать формы, для этого в начале запускается главная Форма 1, открывается вкладка Формы и выбирается нужная форма. Для ввода новых записей щелкается кнопка ►* и вводится новая запись. Для корректировки записей с помощью кнопок ► и ◄ отыскивается нужная запись и вносятся изменения.

Для вывода результатов, а именно отчетов, следует помнить, что созданию отчетов Книги выданные (в чтении); Книги автора; Книги по информатике и Книги с истекшим сроком возврата должно предшествовать создание одноименных запросов. То есть, сначала нужно создать запросы, открыв вкладку Запросы, содержащую 4 кнопки для работы с запросами:

  • Книги автора;
  • Книги в чтении;
  • Книги по информатике;
  • Книги с истекшим сроком возврата.

Для печати отчетов во вкладке Отчеты приведены 6 кнопок:

  • Книги – отчет обо всех книгах библиотеки;
  • Читатели – отчет о всех читателях библиотеки;
  • Книги выданные – книги, находящиеся на руках для чтения ;
  • Книги автора – книги определенного автора, фамилия и инициалы которого вводятся с клавиатуры;
  • Книги по информатике – отчет о книгах по информатике;
  • Книги с истекшим сроком возврата – отчет о книгах, находящихся на руках, по которым истек срок возврата.

Как это делается, более подробно описывается ниже.

2.2 Разработка интерфейса и реализация проекта

Создание базы данных начинается с создания таблиц. База данных «Домашняя библиотека» состоит из таблиц: «Книги» – содержит информацию обо всех книгах, имеющихся в библиотеке, «Читатели» – содержит информацию обо всех читателях данной библиотеки, «Книги выданные» – содержит информацию о книгах, взятых читателями для чтения.

Таблицы создадим в режиме конструктора. Для создания таблицы в режиме Конструктор выбрать Создание – Конструктор таблиц. Выйдет таблица, состоящая из 3-х столбцов. В столбце Имя поля набрать имя поля, нажать Enter, курсор перейдет в столбец Тип данных, где щелкнуть ▼, из раскрывающегося списка выбрать соответствующий тип данных – числовой, текстовый, денежный и т.д. После ввода всех полей установить ключевое поле, выделив ключевое поле и щелкнув кнопку Ключевое поле на панели инструментов. Закрыть структуру таблицы с сохранением, ввести имя таблицы. Затем открыть таблицу и заполнить её. Также создадим таблицы Разделы библиотеки и Читатели.

После создания таблиц нужно провести связи. Для этого щелкнем кнопку Схема данных на Стандартной панели инструментов, появится окно Добавление таблиц. Добавим таблицы в следующем порядке: «Книги», «Книги выданные» и «Читатели» и проведем связи: Инвентарный номер таблицы «Книги» свяжем с инвентарным номером таблицы «Книги выданные», а поле «ФИО читателя» таблицы «Книги выданные» свяжем с полем «ФИО читателя» таблицы «Читатели», включив переключатели «Обеспечение целостности данных», «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей».

Обеспечение целостности данных означает, что все инвентарные номера таблицы «Книги выданные» обязательно должны быть в главной таблице «Книги», а все фамилии читателей таблицы «Книги выданные» обязательно должны быть в таблице «Читатели».

Каскадное обновление связанных полей означает, что при обновлении полей Инвентарный номер в таблице «Книги» обновятся по цепочке связей поля Инвентарный номер в таблице «Книги выданные», а при обновлении фамилий в таблице «Читатели» обновятся по цепочке фамилии в таблице «Книги выданные».

Каскадное удаление связанных полей означает, что при удалении инвентарных номеров из таблицы «Книги» по цепочке удаляются инвентарные номера из связанной таблицы «Книги выданные», а при удалении фамилий из таблицы «Читатели» по цепочке удалятся фамилии из связанной таблицы «Книги выданные».

Схема данных приведена на рисунке 7.

Рисунок 7. Схема данных БД «Домашняя библиотека»

Пользователю необходимы формы для ввода, корректировки, удаления и просмотра информации в таблицах базы данных. Создадим формы для каждой таблицы, выберем Разделенная форма, т.к. этот вид удобен тем, что можно просматривать каждую запись и одновременно несколько записей на экране. Ниже на рисунках 8-11 приведены разделенные формы Разделы библиотеки, Книги, Книги выданные, Читатели.

Рисунок 8. Разделенная форма Разделы библиотеки

Рисунок 9. Разделенная форма Книги

Рисунок 10. Разделенная форма Книги выданные

Рисунок 11. Разделенная форма Читатели

Для перехода между записями внизу окна имеются кнопки навигации:

⏮ – означает переход к первой записи;

⏴- переход к предыдущей записи;

⏵- переход к следующей записи;

⏭ – переход к последней записи;

⏵* – новая запись.

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

  • списка всех книг, имеющихся в библиотеке;
  • списка всех читателей библиотеки;
  • списка книг выданных;
  • списка книг по определенной тематике;
  • списка книг определенного автора;
  • списка книг с истекшим сроком возврата.

Для этого создадим следующие запросы:

      1. Список книг выданных, включающий следующую информацию: фамилия, ИО читателя, название книги, автор, город, год, название издательства, дата выдачи, дата возврата, телефон читателя; домашний адрес читателя. Запрос создадим с помощью конструктора запросов: Создание – Конструктор запросов. В появившемся окне добавим таблицы Книги, Книги выданные и Читатели.

Перешлем в новый запрос поля ФИО читателя, инвентарный № книги, название книги из таблицы Книги выданные, город, год, название издательства, автор из таблицы Книги, № телефона, домашний адрес из таблицы Читатели (рис. 12). Сохраним с именем Книги в чтении.

Рисунок 12. Запрос Книги в чтении

2) Книги по информатике. Для этого в режиме конструктора добавить таблицу «Книги», переслать двойным щелчком все поля таблицы в создаваемый запрос, затем щелкнуть в ячейке «Условие отбора» поля Инвентарный номер, щелкнуть кнопку Построить на Стандартной панели инструментов, в построителе выражений выбрать Операторы – Сравнения- Between и набрать начальный и конечный инвентарные номера:

Between 090000001 And 099999999

и в запросе останутся все книги по информатике, т.е. все инвентарные номера от 090000001 до 099999999.

3) Книги определенного автора. Запрос создаем в режиме конструктора, пересылаем все поля таблицы Книги в запрос, в ячейке Условие отбора поля Автор щелкнуть курсором и набрать =[Введите автора]. При выполнении запроса выйдет диалоговое окно с предложением ввести фамилию автора. Введем, допустим, Пушкин А.С.

После этого в запросе останутся только книги автора Пушкина А.С. (рис. 13).

Рисунок 13. Запрос Книги автора

4) Для создания запроса «Книги с истекшим сроком возврата» в режиме конструктора добавляем запрос «Книги выданные», пересылаем все поля этого запроса в новый запрос, и в поле Дата возврата в ячейке Условие отбора набираем <Date(). В результате этого запроса из запроса «Книги выданные» отберутся только записи, дата возврата в которых уже прошла, т.е. меньше текущей даты (<Date()). Запрос сохраняем с именем Книги с истекшим сроком возврата (рис. 14-15).

Рисунок 14. Запрос Книги с истекшим сроком возврата

Рисунок 15. Результат запроса Книги с истекшим сроком возврата

Осталось создать отчеты. Для печати данных составляются отчеты: отчет «Книги» содержит все книги, имеющиеся в библиотеке, отчет «Читатели» составляется по одноименным таблицам, отчеты «Книги в чтении», «Книги автора» и «Книги по информатике» печатаются по соответствующим запросам.

При создании отчета используется Мастер отчетов, выбирается таблица Книги, пересылаются все поля в отчет, добавляется уровень группировки по полю Автор (рис. 16).

Рисунок 16. Отчет Книги библиотеки

При создании отчета Читатели переслать все поля таблицы Читатели, отсортировать по полю ФИО читателя (рис. 17).

Рисунок 17. Отчет Читатели библиотеки

Отчет Книги в чтении создается по одноименному запросу, пересылаются все поля запроса в отчет, добавляется уровень группировки по ФИО читателя, сортировка по полю Инвентарный номер. Если поля не вмещают информацию, то в режиме Макета расширяются поля. Поскольку все поля не вместились в книжный формат, зададим альбомный формат через Параметры страницы (рис. 18).

Рисунок 18. Отчет Книги в чтении

Для создания отчета Книги автора пересылаем все поля запроса Книги автора в отчет, задаем уровень группировки по Автору (рис. 19).

Рисунок 19. Отчет Книги автора (Пушкина А.С.)

Для создания отчета Книги по информатике пересылаем все поля запроса Книги по информатике в отчет, задаем сортировку по Инвентарному номеру (рис. 20).

Рисунок 20. Отчет Книги по информатике

Рисунок 21. Отчет Книги с истекшим сроком возврата

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

Осталось создать главную форму для запуска всех форм, запросов и отчетов, назовем ее Форма1. Для создания используем Конструктор форм, сначала щелкаем элемент управления Надпись и вводим название БД «БАЗА ДАННЫХ ДОМАШНЯЯ БИБЛИОТЕКА», выравниваем по центру, задаем размер, начертание полужирный для шрифта. Затем выбираем элемент Вкладки и создаем 4 вкладки – Формы, Запросы, Отчеты, Конец работы (рис. 22).

Рисунок 22. Главная Форма 1

Во вкладке Формы создаем 4 кнопки для работы с формами:

  • Книги;
  • Читатели;
  • Разделы библиотеки;
  • Книги выданные.

Для создания кнопки «Книги» выбираем на панели Элементов управления элемент Кнопка и щелкаем под вкладкой Работа с формами, в появившемся окне выбираем Работа с формой – Открыть форму, в следующем окне выбираем таблицу Книги, в следующем окне Открыть форму и показать все записи, дальше выбираем опцию Текст и в окошке набираем имя кнопки «Книги» и Готово. Аналогично создаются кнопки для остальных форм.

Вкладка Запросы содержит 4 кнопки для работы с запросами:

  • Книги автора;
  • Книги в чтении;
  • Книги по информатике;
  • Книги с истекшим сроком возврата.

Для создания кнопки вызова запроса «Книги в чтении» выбираем элемент Кнопка, щелкаем под вкладкой Запросы. В 1-ом окне выбираем Разное – Выполнить запрос, во 2-ом окне выбираем запрос Книги выданные, в 3-ем окне выбираем опцию Текст, набираем имя кнопки «Книги в чтении» и Готово. Аналогично создается кнопка для вызова остальных запросов.

Вкладка Отчеты содержит 6 кнопок для создания отчетов:

  • Книги;
  • Читатели;
  • Книги выданные;
  • Книги автора;
  • Книги по информатике;
  • Книги с истекшим сроком возврата.

Для создания кнопки открытия отчета щелкаем элемент Кнопка и вставляем кнопку под вкладкой Отчеты. В появившемся окне выбираем Работа с отчетом – Открыть отчет, в следующем окне выбираем имя отчета, далее выбираем опцию Текст, набираем имя кнопки и Готово. Для печати отчета щелкаем кнопку Microsoft Office, выбираем Печать.

Вкладка Конец работы содержит одну кнопку Выйти из приложения, в 1-ом окне создания кнопки выбираем Приложение – Выйти из приложения, набираем имя кнопки.

2.3 Оценка экономической эффективности проекта

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

Хотя определить, насколько возросла эффективность поиска книг в библиотеке после разработки базы данных, очень сложно, все-таки можно примерно оценить, что время поиска нужных книг сократится в 2-4 раза, что дает существенную экономию времени и сил.

Вывод: Таким образом, во второй главе работы разработана БД «Домашняя библиотека», позволяющая систематизировать все книги, журналы, газеты домашней библиотеки посредством шифрования и присвоения книгам инвентарных номеров, первые две цифры которого означают номер раздела библиотеки по темам. Это существенно сократит время поиска нужных экземпляров библиотеки приблизительно в 2-4 раза.

ЗАКЛЮЧЕНИЕ

При автоматизации системы Домашняя библиотека используется СУБД Access, что выгодно характеризует систему, так как это общеизвестная универсальная система, которая может быть модернизирована независимо от поставщика программного обеспечения, все данные совместимы со всеми офисными программами, существует возможность создавать новые формы, запросы, отчеты. Благодаря тому, что Access общеизвестная универсальная система, она проста в использовании и позволяет экономить время создания системы, ее эксплуатации и модифицирования.

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

База данных предназначена для получения следующей информации:

  • Данные об имеющихся книгах в библиотеке.
  • Списки всех читателей библиотеки.
  • Списки книг, взятых читателями для чтения.
  • Списки книг определенного автора.
  • Списки книг по определенной тематике.
  • Списки книг, срок возврата которых истек.

Получение необходимой информации производится с помощью запросов, форм, отчетов.

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

Работа сопровождается скриншотами форм, запросов, отчетов.

СПИСОК ЛИТЕРАТУРЫ

  1. Microsoft Access. Система управления реляционными базами данных для Windows. Руководство пользователя. Microsoft Corporation, 2010.
  2. Балдин. Информационные системы в экономике. Учебник, 2005. – 215с.
  3. Дейт К. Руководство по реляционной СУБД DB2. – М.: Финансы и статистика,1988. – 320с.
  4. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ: Перевод с английского. – М.: Мир, 1991.- 252 с.
  5. Джулия Келли. Access 97. Самоучитель – СПб: Питер. – 1999. – 336с.
  6. Избачков Ю.С., Петров В.Н. Информационные системы. 2005. – 241с.
  7. Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика. – Глазго, 1998. С. 182-183.
  8. Обзор СУБД. 23.12.2013. http://life-prog.ru/1_13566_obzor-subd.html
  9. Основы проектирования реляционных баз данных: Учебное пособие. Кириллов В.В. – Спб: СПТУ,1997.
  10. Проектирование баз данных. http://fed-po2.narod.ru/bd/08.html
  11. Проектирование информационных систем. В. Грекул. http://www.intuit.ru/studies/courses/2195/55/info
  12. Разработка информационной модели. http://edu.dvgups.ru/METDOC/GDTRAN/YAT/ITIS/PROEK_INF_SIS/METOD/UMK_DO/frame/UMK_DO/M4/L7.htm
  13. Рыбанов А.А. Инструментальные средства автоматизированного проектирования баз данных: учебное пособие. – Волгоград: РПК Политехник, 2007.
  14. Этапы проектирования информационного обеспечения с использованием СУБД. http://do.gendocs.ru/docs/index-12375.html?page=3
  15. ERwin Data Modeler. 2016. https://ru.wikipedia.org/wiki/ERwin_Data_Modeler

ПРИЛОЖЕНИЕ 

Рисунок 1.1. Справочник Разделы библиотеки

Рисунок 1.2. Таблица Книги

Рисунок 1.3. Таблица Читатели

Рисунок 1.4. Таблица Книги выданные

  1. Рыбанов А.А. Инструментальные средства автоматизированного проектирования баз данных: учебное пособие. – Волгоград: РПК Политехник, 2007. С. 9. ↑

  2. Т. Коннолли, К. Бегг, А. Страчан. Базы данных: проектирование, реализация и сопровождение. Теория и практика. – Глазго, 1998. С. 182-183. ↑

  3. ERwin Data Modeler. 2016. https://ru.wikipedia.org/wiki/ERwin_Data_Modeler ↑

  4. Обзор СУБД. 23.12.2013. http://life-prog.ru/1_13566_obzor-subd.html ↑

  5. Основы проектирования реляционных баз данных: Учебное пособие. Кириллов В.В. – Спб: СПТУ,1997. ↑

  6. Проектирование информационных систем. В. Грекул. http://www.intuit.ru/studies/courses/2195/55/info ↑

СПИСОК ДЛЯ ТРЕНИРОВКИ ССЫЛОК

  • Основные функции в системе менеджмента (Глава 1 Теоретическая методика функций управления в менеджменте)
  • Влияние кадровой стратегии на работу службы персонала (Глава 1. Теоретические основы кадровой стратегии, влияние стратегии организации на работу службы персонала)
  • Статус нотариуса (Правовой статус нотариуса в Российской Федерации)
  • Организация работы ресторанной службы (Глава 1. Особенности работы ресторанной службы гостиницы)
  • Организация процесса обучения персонала на предприятиях ГИРБ
  • Роль рекламы в современном маркетинге (Рассмотрение роли рекламы в маркетинге на примере фабрики мебели «Лазурит»)
  • Понятие предпринимательского договора
  • Правовой статус производственных кооперативов, понятие и основные положения
  • Банковская гарантия как способ обеспечения исполнения обязательств
  • Основные виды валютных рисков и их источники (Страхование валютных рисков)
  • Законность и правопорядок (Глава 1. Законность и правопорядок как правовые категории)
  • Аэропорт (Имитационная модель)

Разработка базы данных библиотеки

Федеральное
государственное бюджетное образовательное учреждение высшего профессионального
образования «Нижегородский государственный университет им. Н.И. Лобачевского»

«Арзамасский
политехнический колледж им. В.А. Новикова»

Арзамасский
филиал

Отделение «Среднего
профессионального образования»

Курсовая работа

По дисциплине

MДК 02.02. Технология разработки и
защиты баз данных

Тема

Разработка базы данных библиотеки

Выполнила
студентка

курса группы
36ПР

очной формы
обучения

Волкова
Татьяна Александровна

Руководитель:

Арзамас,
2013г.

Введение

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

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

В соответствии с заданием курсового проектирования следует создать
автоматизированное рабочее место (АРМ) «Библиотека», которое наиболее удобно
можно организовать с помощью баз данных (БД).

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

Проектирование БД «Библиотека» ведется для упрощения работы библиотекаря
со всем ассортиментом предложенных книг и учебных пособий, а также для учёта
взятых и оставшихся в наличии книг.

Программа должна обеспечивать выполнение следующих функций:

Ввод информации о читателях.

Ввод информации о книгах.

Добавление, удаление и редактирование информации.

Актуальность разработки программы заключается в следующем:

приложение «Библиотека» представляет собой программу для управления базой
данных;

программа полностью автоматизирует труд оператора ПЭВМ: автоматически
заносит вводимые пользователем данные в таблицы базы данных, изменяет структуру
таблиц (добавление/удаление записей);

­         при использовании программы значительно снижается трудоёмкость
ведения базы данных взятых и оставшихся книг;

1. Проектирование базы данных

1.1    Алгоритм работы программы

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

Этот порядок и называется алгоритм.

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

–              дискретность – каждый алгоритм должен быть разбит на конечное
число законченных действий;

–             результативность – каждый алгоритм направлен на решение
конкретной задачи, а следовательно, на получение определенного результата;

–             массовость – алгоритм необходимо составить так, чтобы с его
помощью можно было решать подобные задачи.

Способы
записи алгоритма:

1.      Формальный – запись алгоритма словесно, на естественном языке.

2.  Графический – изображение алгоритма в виде блок-схемы.

Рис. 1. Алгоритм программы «Библиотека»

.2 Анализ предметной области

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

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

Предметной областью моей базы является библиотека.

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

Так же в библиотеке ведется картотека читателей. О каждом читатели
заносятся следующие сведения: ФИО, дата рождения, адрес, телефон. Каждому
читателю присваивается идентификационный номер.

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

Можно продлить книгу по телефону книгу назвав идентификационный номер и
шифр книги.

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

.3 Инфологическое проектирование

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

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

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

Семантическую основу ER-модели
составляют следующие предположения:

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

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

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

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

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

Любой объект предметной области обладает свойствами, часть из которых
выделяется как характеристические – значимые с точки зрения прикладной задачи.
При этом, например, в процессе анализа и систематизации предметной области
обычно выделяются классы – совокупности объектов, обладающих одинаковым набором
свойств, задаваемых в виде наборов атрибутов (значения атрибутов для объектов
одного класса, естественно, могут различаться). Соответственно, на уровне
представления предметной области (т. е. ее мифологической модели) объекту,
рассматриваемому как понятие (объект в сознании человека), соответствует
понятие сущность; объекту, как части материального мира (и существующему
независимо от сознания человека), соответствует понятие экземпляр сущности;
классу объектов соответствует понятие тип сущности.

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

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

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

. Связи между объектами, задающие характер и функциональную природу их
взаимозависимости.

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

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

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

Свойства. Природа свойства, как характер связи свойства с сущностью
(объектом), может быть различной. Рассмотрим основные виды свойств.

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

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

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

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

Эта ассоциация всегда может существовать между разными сущностями или
между сущностью и ею же самой (рекурсивная связь).

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

Если каждый экземпляр сущности участвует, по крайней мере, в одном
экземпляре связи, то такое участие этой сущности называется полным (или
обязательным); в противном случае – неполным (или необязательным).

Количественный характер участия экземпляров сущностей (один или многие)
задается типом связи (или мощностью связи). Возможны следующие типы: «один к
одному» (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 отчёта

таблица
алгоритм база данные

Список литературы

1.  Марков
А.С. Базы данных. Введение в теорию и методологию Лисовский К. Ю., Москва, 2004

2.
Когаловский М.Р. Технология баз данных на персональных ЭВМ. / М.: Финансы и
статистика, 2002

. Ревунков
Г.И., Самохвалов Э.Н., Чистов В.В. Базы и банки данных и знаний: Учеб. для
вузов / Под ред. Четверикова В.Н. – М.: Высш. шк., 1999.

. Тиори Т.,
Фрай Дж. Проектирование структур баз данных : В 2-х кн. Пер. с англ. / М.: Мир,
2005

. Голицина О.
Л. Базы данных / Голицина О. Л., Максимов Н. В., Попов И. И. – М.: Форум, 2003

. Карпова
Т.С. Базы данных: модели, разработка, реализация / Питер, 2002

. Бемер С.,
Фратер Г. Microsoft Access для пользователя / Микап, Москва 2004

. Коннолли
Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение / Москва,
Питер, Киев, 2003

9. Мейер, М.
Теория реляционных баз данных / М. Мейер – М.: Мир, 2008

. Хаббард,
Дж. Автоматизированное проектирование баз данных / Хаббард Дж. – М.: Мир, 2005

. Бойко, В.
В. Проектирование баз данных информационных систем / Бойко В.В., Савинков В.М.
– М.: Финансы и статистика, 2007

. Бакаревич,
Ю. Б. Самоучитель Microsoft Access 2007 / Бакаревич Ю.Б., Пушкина Н.В.
– СПб.: БХВ-Петербург, 2007

Добавить комментарий