Проектирование многопользовательской информационной системы "Университетская библиотека"

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.09.2012
Размер файла 1,4 M

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

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

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

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

Введение

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

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

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

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

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

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

1. Техническое задание

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

Общие сведения

Объект автоматизации - университетская библиотека.

Документы, на основании которых создается система:

· систематический каталог:

· алфавитный каталог;

· библиотечно-библиографическая классификация (ББК);

· предметный каталог;

· Должностные инструкции;

· Правила пользования библиотечным фондом;

· Инструкции по сохранению книжного фонда;

· Правила пользования библиотекой;

· Акты на списание литературы.

Назначение и цели создания системы

Назначение системы

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

Цели создания системы

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

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

Характеристика объектов автоматизации

Краткие сведения

Университетская библиотека включает следующие отделы:

· отделы обслуживания (абонемент учебной литературы, абонемент научной литературы, читальный залы);

· отдел периодики;

· отдел комплектования;

· справочно-библиографический отдел.

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

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

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

Каждый отдел библиотеки выполняет свои функции.

Отдел комплектования осуществляет следующие функции:

· Заказ литературы по тематическим планам издательств;

· Обработка новой литературы;

· Классификация литературы по библиотечно-библиографической классификации (ББК);

· Списание ветхой, устаревшей литературы;

· Замена утерянных книг на новую литературу.

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

Справочно-библиографический отдел выполняет следующее:

· Обработка каталожных карточек;

· Расстановка карточек по ББК в систематический каталог, алфавитный и предметный каталог:

· Тематический подбор для читателей:

· Работа в Интернете по поиску книг;

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

· Выдача справочной литературы.

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

В функции абонементов входит:

· Запись новых читателей в библиотеку;

· Выдача книг читателям и прием книг;

· Расстановка фонда и работа с ним;

· Ведение картотек читателей.

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

Пользователями будущей системы будут директор библиотеки, библиотекари и читатели

В функции директора входит:

· координация полной работы всех отделов библиотеки;

· прием и увольнение сотрудников, перевод их в другие отделы;

· составление отчетности и плана работы библиотеки.

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

В функции библиотекаря входит:

· запись читателей в библиотеку;

· выдача и прием книг.

· Оформление платных услуг;

· Обработка заказов на литературу.

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

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

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

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

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

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

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

1.1.5. Требования к системе.

1.1.5.1. Требования к системе в целом.

Система должна удовлетворять следующим требованиям:

· Надежности;

· Безопасности;

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

· Данные должны хранить в соответствии с имеющимися документами (ББК и др.).

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

· Информация хранящаяся в системе должна быть защищена от аварийных ситуаций, влияния внешних воздействий (радиоэлектронная защита).

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

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

Функции, выполняемые подсистемами объекта автоматизации:

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

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

- Проверка книг, закрепленных за читателем. Читатель также сможет распечатать в библиотеке список книг, закрепленных за ним.

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

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

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

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

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

Требования к видам обеспечения.

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

MS ACCESS 2000, MS Word 2000, MS SQL Server 2000.

Состав и содержание работ по созданию системы.

Функциональная модель -18.06.08

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

Диаграмма дерева узлов.

Информационная модель.

Идентификация сущностей и связей. - 18.02.07

ER-диаграмма физического уровня. Ограничения доменов. Ограничения ссылочной целостности. Переопределение триггеров. Индексирование отношений. - 18.02.07

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

Верификация спроектированной логической модели. - 28.02.07

Реализация системы - 15.04.07.

Миниспецификации процессов диаграмм нижнего уровня функциональной модели в терминах псевдокода.

T-SQL-определения регламентированных запросов.

T-SQL-определения триггеров.

T-SQL-определения хранимых процедур.

T-SQL-определения курсоров.

Описание клиентских приложений. (Реализуются средствами ACCESS и VBA).

Проектирование системы безопасности. Управление авторизацией, управление ролями, управление разрешениями средствами Transact SQL. - 25.04.07.

Прокомментированный скрипт создания базы данных. - 1.05.07

Результаты тестирования информационной системы. - 8.05.07

Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие

· Заполнение созданной базы;

· обеспечение персонала необходимыми техническими средствами;

· обучение персонала правилам работы с системой.

Источники разработки.

Гост 34.602-89. Государственный стандарт союза ССР. Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы

1.2 Постановка задачи

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

Создание базы данных позволит автоматизировать процесс получения:

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

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

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

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

2. Технический проект информационной системы

2.1 Функциональная модель

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

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

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

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

Рисунок 1 - Контекстная диаграмма

серверный база данные библиотека

Рисунок 2 - декомпозиция процесса AO «Организовать работу библиотеки»

В дальнейшем диаграмма разбивается на уровни. Первый уровень - это диаграмма (рис. 2), с помощью которой производится детализация основного процесса, находящегося на контекстной диаграмме. Контекстную диаграмму разбиваем на 4 блока в соответствии с имеющимися в библиотеке отделами.

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

Рисунок 3 - декомпозиция процесса A3 «Организовать работу отдела периодики»

Рисунок 4 - декомпозиция процесса A4 «Организовать работу справочно-библиографического отдела»

Блок «Организовать работу отдела обслуживания» разбиваем на 2 блока в соответствии с имеющимися в нем подотделами - «Организовать работу абонемента» и «Организовать работу читального зала и книгохранилища». Полученные блоки подлежат дальнейшей детализации в соответствии с функциями, которые выполняют подотделы. (Рис. 5, 6, 7)

Блок «Организовать работу отдела комплектования» разбиваем на блоки в соответствии с его функциями (Рис. 8). Функция «Обработать литературу» требует также детализации, поэтому мы также разбиваем её на блоки (рис. 9).

Рисунок 5 - декомпозиция процесса A2 «Организовать работу отдела обслуживания»

Рисунок 6 - декомпозиция процесса A2.1 «Организовать работу абонемента»

Рисунок 7 - Декомпозиция процесса A2.2 «Организовать работу читального зала и книгохранилища»

Рисунок 8 - декомпозиция процесса A1 «Организовать работу отдела комплектования»

Рисунок 9 - декомпозиция процесса A1.3 «Обработать литературу»

Диаграмма дерева узлов

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

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

Диаграмма дерева узлов проектируемой базы данных представлена в приложении1 (рисунок 10).

Рисунок 10 - Диаграмма дерева узлов

2.2 Информационная модель

Идентификация сущностей и связей. ER-диаграмма логического уровня

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

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

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

- «СотрудникиБиблиотеки» - для хранения информации о сотрудниках, которые работают в библиотеке;

- «Студенты» - запись информации о студентах, которые пользуются библиотекой;

- «Экземпляр» - книги, зарегистрированные в отделах библиотеки;

- «ЗаменаЭкземпляров» хранит информацию о протоколах замены книг;

- «Преподаватели» - информация о преподавателях-пользователях библиотеки;

- «Периодические издания» - информация о газетах, журналах, которые имеются в библиотеке;

- «Списанные экземпляры» хранит информацию о протоколах списания книг;

- «Книга»;

- «Заказы» - заказы преподавателей на новую литературу.

Для однозначного определения записей в каждом из отношений выделен первичный ключ (простой или составной).

Внешние ключи для отношений БД:

в отношениях «Экземпляр» и «Заказы» - это ключ «ISBN»;

в отношениях «ЗаменаЭкземпляров» и «Списанные экземпляры» - это ключ «Шифр»

В отношениях «Экземпляр» и «Сотрудники» - это ключ «Номер отдела»

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

· неиденцифицирующие связи;

· иденцифицирующие связи;

· связи многие-ко-многим

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

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

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

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

Связь между сущностями «Замена экземпляров» и «Экземпляр» идентифицирующая, т.к. для замены экземпляров необходима информация о нем. Тип связи 1 к одному, т.к. замена осуществляется для одного экземпляра.

Связь между сущностями «Списание экземпляров» и «Экземпляр» идентифицирующая, т.к. для списания экземпляров необходима информация о нем. Тип связи 1 к одному, т.к. списание осуществляется для одного экземпляра.

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

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

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

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

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

ER-диаграмма логического уровня представлена в приложении2 (рисунок 11).

Рисунок 11 - ER-диаграмма логического уровня

ER-диаграмма физического уровня. Ограничения доменов. Ограничения ссылочной целостности. Переопределение триггеров. Индексирование отношений

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

Проверим, удовлетворяют ли все имеющиеся отношения соответствующим наборам ограничений.

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

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

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

Реализация ссылочной целостности:

· При изменении информации о каком-либо отделе из таблицы «Отделы» в таблицах «Сотрудники библиотеки», «Периодические издания» и «Экземпляры» информация будет автоматически меняться (каскадное обновление), удалять записи из таблицы «Отделы» запрешено;

· При изменении информации о каком-либо сотруднике из таблицы «Сотрудники» в таблице «Пользование библиотекой» информация будет автоматически изменяться (каскадное обновление);

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

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

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

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

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

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

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

Типы данных

1. Рассмотрим таблицу «Книга». Ключевое поле этой таблицы ISBN содержит номер книг. Номер представляет собой набор цифр и разделяющих их дефисов (например, 5-414-524316-41). Следовательно, тип данных поля ISBN должен быть строковым с длиной не менее 15 символов. Выбираем тип varchar(20).

2. В таблице «Пользование библиотекой» имеется поле «Дата выдачи». Это поле содержит число, месяц, год даты, когда была выдана книга. Тип данных для неё - datetime.

3. Рассмотрим таблицу «Сотрудники библиотеки». Ключевое поле этой таблицы (табельный номер) представляет собой номер, который присваивают каждому сотруднику при принятии на работу. Он представляет собой набор цифр (например, 2431). Следовательно, тип данных поля табельный номер должен быть числовым целым. Выбираем тип int.

Для приложения были разработаны следующие триггеры:

dobavlenie срабатывает при вставке нового элемента в таблицу «Отделы». Он проверяет номер отдела, который должен быть больше 9 и меньше 15;

udalenie проверяет права на удаление пользователем записи из таблицы «Пользование_библиотекой2». Если пользователь не является владельцем базы данных, то прав на удаление он не имеет. Запись удалена не будет;

proverka запрещает добавлять записи в таблицу «Пользование_библиотекой2» в воскресение;

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

infoUpdateStudent записывает в отдельную таблицу информацию о записях, добавленных в таблицу «Студенты», чтобы было легче проследить за процессом изменения данных в таблице;

InsertedItemPrepdavateli записывает в отдельную таблицу информацию о записях, добавленных в таблицу «Преподаватели», чтобы было легче проследить за процессом изменения данных в таблице;

proverka_otchislenia_Studentov запрещает изменять запись о студенте, у которого год отчисления больше значения текущего года;

DeletedItem записывает в отдельную таблицу информацию о записях, удаленных из таблицы «Преподаватели»;

DeletedSotrudLibrary записывает в отдельную таблицу информацию о записях, удаленных из таблицы «Сотрудники библиотеки»

ER-диаграмма физического уровня показана в приложении 3 (рисунок 12).

Рисунок 12 - ER-диаграмма физического уровня

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

Представление (View) для конечных пользователей выглядит как таблица, но при этом само не содержит данных, а лишь представляет данные, расположенные в таблице. Физически представление реализовано в виде SQL-запроса, на основе которого производится выборка данных из одной или нескольких таблиц или представлений.

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

Для приложения были разработаны следующие представления:

infoZamena информация о замене книг по какой-либо предметной области. Содержит информацию из таблиц «Книга», «Замена книг» и «Экземпляр»;

infoCpicanie информация о списании книг по программированию на Delphi. Содержит информацию из таблиц «Книга», «Списанные экземпляры» и «Экземпляр»;

Otdeli информация об отделах библиотеки, содержит информацию из талиц «Отделы» и «Сотрудники».

infoZakazi информация о заказах. Содержит информацию из таблиц «Заказы» и «Преподаватели»;

Books информация о книге и её экземплярах. Содержит информацию из таблиц «Книга» и «Экземпляр»;

InfoAboutBook информация о наличии книг в библиотеке. Содержит информацию из таблиц «Книга», «Экземпляр» и «Пользование_библиотекой»;

InfoONalichiiExzemplara информация о наличии экземпляров книг в библиотеке. Содержит информацию из таблиц «Экземпляр» и «Пользование_библиотекой»;

Yclygi информация о том, кто и когда принял оплату платной услуги, Содержит информацию из таблиц «Платные_услуги», «Сотрудники_библиотеки» и «Пользование_библиотекой»;

infoOPolzovaniiPrepodovatelej список книг, которыми пользуется преподаватель. Содержит информацию из таблиц «Книга», «Преподаватели», «Пользование библиотекой3» и «Экземпляр»;

InfoOPolzovaniiCotrydnikov список книг, которыми пользуется библиотекарь. Содержит информацию из таблиц «Книга», «Сотрудники библиотеки», «Пользование библиотекой1» и «Экземпляр»;

infoOPolzovaniiStudentov список книг, которыми пользуется студент. Содержит информацию из таблиц «Книга», «Студенты», «Пользование библиотекой2» и «Экземпляр»;

Sotrudnik информация о сотруднике. Содержит информацию из таблиц «Сотрудники библиотеки» и «Отделы»;

Cena информация о книге и её цене. Содержит информацию из таблицы «Книга»;

FullInfoEkzemplar полная информация об экземпляре.

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

Для приложения были разработаны следующие хранимые процедуры:

- для вставки новых данных:

NewZakaz в таблицу «Заказы»;

NewCpicanExzemplar в таблицу «Списанные экземпляры»;

NewBook в таблицу «Книга»;

NewOtdel в таблицу «Отделы»;

Periodika в таблицу «Периодические издания»;

NewPolzovanieBibliotekarej в таблицу «Пользование библиотекой1»;

NewStudent в таблицу «Студенты»;

NewExzemplar в таблицу «Экземпляр»;

NewPrepodavatel в таблицу «Преподаватели»;

NewPolzovaniePrepodavatelej в таблицу «Пользование библиотекой3»;

- для удаления данных:

DelPrepodavatel из таблицы «Преподаватели»;

DeleteSotrud из таблицы «Сотрудники библиотеки»;

- для обновления записей:

UpdateOtdel таблица «Отделы»;

UpdatePrepod таблица «Преподаватели»:

UpdateCotpyd таблица «Сотрудники библиотеки»;

UpdateStudent таблица «Студенты»:

- KolExzemplarov для подсчета количества экземпляров;

- CpicokVidach формирует список книговыдач:

- CpicokKnigCtudenta формирует список книг, которыми пользуется студент.

2.3 Верификация спроектированной логической модели

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

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

Таблица 1 - Отчет о верификации модели

Arrow Name

Entity Name

Attribute Name

Информация о новых книгах

Книга

Информация о сотрудниках

Преподаватели

Должность

Имя

Отчество

Фамилия

Читательский номер

Сотрудники библиотеки

дата рождения

должность

имя

номер отдела

Номер отдела

отчество

табельный номер

фамилия

Информация о студентах

Студенты

год окончания

год поступления

Имя

номер приказа

Отчество

специальность

факультет

Фамилия

форма обучения

Читательский номер

Информация о фонде

Периодические издания

Дата издания

Название

Номер отдела

Шифр периодики

Экземпляр

ISBN

Номер отдела

Отметка о замене

Отметка о списании

Предметная область

Шифр

Картотека периодических изданий

Периодические издания

Дата издания

Название

Номер отдела

Шифр периодики

Новая литература

Книга

ISBN

Автор

Год издания

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

Кодичество страниц

Название

Цена

Отчет о выданных книгах

Экземпляр

ISBN

Номер отдела

Отметка о замене

Отметка о списании

Предметная область

Шифр

Отчет о платных услугах

Периодические издания

Дата издания

Название

Номер отдела

Шифр периодики

Студенты

год окончания

год поступления

Имя

номер приказа

Отчество

специальность

факультет

Фамилия

форма обучения

Читательский номер

Экземпляр

ISBN

Номер отдела

Отметка о замене

Отметка о списании

Предметная область

Шифр

Отчет о посещаемости

Преподаватели

Должность

Имя

Отчество

Фамилия

Читательский номер

Студенты

год окончания

год поступления

Имя

номер приказа

Отчество

специальность

факультет

Фамилия

форма обучения

Читательский номер

Экземпляр

ISBN

Номер отдела

Отметка о замене

Отметка о списании

Предметная область

Шифр

Отчет о проведении библиотечных мероприятий

Отделы

Название отдела

Номер отдела

табельный номер начальника

фамилия начальника отдела

Шифр периодики

Отчет об изменениях книжного фонда

Замена экземпляров

Номер акта замены

Шифр

Списанные книги

номер протокола списания

причина списания

Табельный номер списавшего

Шифр

Экземпляр

ISBN

Номер отдела

Отметка о замене

Отметка о списании

Предметная область

Шифр

Результат подбора литературы

Периодические издания

Дата издания

Название

Номер отдела

Шифр периодики

Экземпляр

ISBN

Номер отдела

Отметка о замене

Отметка о списании

Предметная область

Шифр

Результат поиска книг

Экземпляр

ISBN

Номер отдела

Отметка о замене

Отметка о списании

Предметная область

Шифр

3. Реализация системы

3.1 Миниспецификации процессов диаграмм нижнего уровня функциональной модели в терминах псевдокода

Организовать работу абонемента

1. «Найти книги по списку»

@ВХОД= ИНФОРМАЦИЯ О ФОНДЕ

@ВЫХОД= РЕЗУЛЬТАТ ПОИСКА

@СПЕЦПРОЦ А2.1.1 НАЙТИ КНИГИ ПО СПИСКУ

ВЫПОЛНИТЬ потребовать СПИСОК

ВЫПОЛНИТЬ проверить наличие КНИГ в ФОНДЕ

ЕСЛИ КНИГИ есть в НАЛИЧИИ ТО

ВЫПОЛНИТЬ присвоить РЕЗУЛЬТАТ ПОИСКА =положительный

ИНАЧЕ

ВЫПОЛНИТЬ присвоить РЕЗУЛЬТАТ ПОИСКА =отрицательный

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

2. «Выдать найденную литературу читателю»

@ВХОД= РЕЗУЛЬТАТ ПОИСКА

@ВХОД= ИНФОРМАЦИЯ О СОТРУДНИКАХ

@ВХОД= ИНФОРМАЦИЯ О СТУДЕНТАХ

@ВЫХОД= ОТЧЕТ О ПОСЕЩАЕМОСТИ

@ВЫХОД= ОТЧЕТ О ВЫДАННЫХ КНИГАХ

@ВЫХОД= СПИСОК ВЫДАННЫХ КНИГ

@СПЕЦПРОЦ А2.1.2 ВЫДАТЬ НАЙДЕННУЮ ЛИТЕРАТУРУ ЧИТАТЕЛЮ

ВЫПОЛНИТЬ потребовать ЧИТАТЕЛЬСКИЙ БИЛЕТ

ВЫПОЛНИТЬ проверить данные ЧИТАТЕЛЯ

ЕСЛИ ДАННЫЕ правильные И РЕЗУЛЬТАТ ПОИСКА=положительный ТО

ВЫПОЛНИТЬ выдать КНИГИ ЧИТАТЕЛЮ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ в ОТЧЕТЫ

ИНАЧЕ

ВЫПОЛНИТЬ отказать в ВЫДАЧе КНИГ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

3. «Прием литературы у читателя»

@ВХОД= ИНФОРМАЦИЯ О СОТРУДНИКАХ

@ВХОД= ИНФОРМАЦИЯ О СТУДЕНТАХ

@ВЫХОД= ОТЧЕТ О ПОСЕЩАЕМОСТИ

@СПЕЦПРОЦ А2.1.3 ПРИЕМ ЛИТЕРАТУРЫ У ЧИТАТЕЛЯ

ВЫПОЛНИТЬ потребовать ЧИТАТЕЛЬСКИЙ БИЛЕТ

ВЫПОЛНИТЬ проверить данные ЧИТАТЕЛЯ

ЕСЛИ ДАННЫЕ правильные И КНИГИ в наличии ТО

ВЫПОЛНИТЬ принять КНИГИ ЧИТАТЕЛЯ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ в ОТЧЕТЫ

ИНАЧЕ

ВЫПОЛНИТЬ отказать в ПРИЕМЕ КНИГ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

Организовать работу отдела периодики

4. «Подобрать периодическое издание»

@ВХОД=ИНФОРМАЦИЯ О ФОНДЕ

@ВЫХОД= РЕЗУЛЬТАТ ПОДБОРА ЛИТЕРАТУРЫ

@СПЕЦПРОЦ А 3.4 НАЙТИ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ

ВЫПОЛНИТЬ узнать тему

ВЫПОЛНИТЬ проверить наличие ПЕРИОДИЧЕСКИХ ИЗДАНИЙ ПО ТЕМЕ в ФОНДЕ

ЕСЛИ ПЕРИОДИЧЕСКОЕ ИЗДАНИЕ есть в НАЛИЧИИ ТО

ВЫПОЛНИТЬ присвоить РЕЗУЛЬТАТ ПОДБОРА ЛИТЕРАТУРЫ =положительный

ИНАЧЕ

ВЫПОЛНИТЬ присвоить РЕЗУЛЬТАТ ПОДБОРА ЛИТЕРАТУРЫ =отрицательный

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

5. «Выдать читателю периодическое издание»

@ВХОД= РЕЗУЛЬТАТ ПОДБОРА ЛИТЕРАТУРЫ

@ВХОД= ИНФОРМАЦИЯ О СОТРУДНИКАХ

@ВХОД= ИНФОРМАЦИЯ О СТУДЕНТАХ

@ВЫХОД= ОТЧЕТ О ПОСЕЩАЕМОСТИ

@ВЫХОД= ОТЧЕТ О ВЫДАННЫХ КНИГАХ

@ВЫХОД= СПИСОК ВЫДАННОЙ ЛИТЕРАТУРЫ

@СПЕЦПРОЦ А3.3 ВЫДАТЬ НАЙДЕННУЮ ЛИТЕРАТУРУ ЧИТАТЕЛЮ

ВЫПОЛНИТЬ потребовать ЧИТАТЕЛЬСКИЙ БИЛЕТ

ВЫПОЛНИТЬ проверить данные ЧИТАТЕЛЯ

ЕСЛИ ДАННЫЕ правильные И РЕЗУЛЬТАТ ПОДБОРА ЛИТЕРАТУРЫ =положительный ТО

ВЫПОЛНИТЬ выдать ЛИТЕРАТУРУ ЧИТАТЕЛЮ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ в ОТЧЕТЫ

ИНАЧЕ

ВЫПОЛНИТЬ отказать в ВЫДАЧе ЛИТЕРАТУРЫ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

Организовать работу читального зала и книгохранилища

6. «Найти необходимую литературу»

@ВХОД= ИНФОРМАЦИЯ О ФОНДЕ

@ВЫХОД= РЕЗУЛЬТАТ ПОИСКА КНИГ

@СПЕЦПРОЦ А2.2.2 НАЙТИ НЕОБХОДИМУЮ ЛИТЕРАТУРУ

ВЫПОЛНИТЬ узнать тему

ВЫПОЛНИТЬ проверить наличие КНИГ в ФОНДЕ

ЕСЛИ КНИГИ есть в НАЛИЧИИ ТО

ВЫПОЛНИТЬ присвоить РЕЗУЛЬТАТ ПОИСКА КНИГ =положительный

ИНАЧЕ

ВЫПОЛНИТЬ присвоить РЕЗУЛЬТАТ ПОИСКА КНИГ =отрицательный

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

7. «Выдать книги читателю»

@ВХОД= РЕЗУЛЬТАТ ПОДБОРА ЛИТЕРАТУРЫ

@ВХОД= ИНФОРМАЦИЯ О СОТРУДНИКАХ

@ВХОД= ИНФОРМАЦИЯ О СТУДЕНТАХ

@ВЫХОД= ОТЧЕТ О ПОСЕЩАЕМОСТИ

@ВЫХОД= ОТЧЕТ О ВЫДАННЫХ КНИГАХ

@ВЫХОД= ОТЧЕТ О ПЛАТНЫХ УСЛУГАХ

@СПЕЦПРОЦ А2.2.1 ВЫДАТЬ КНИГИ ЧИТАТЕЛЮ

ВЫПОЛНИТЬ потребовать ЧИТАТЕЛЬСКИЙ БИЛЕТ

ВЫПОЛНИТЬ проверить данные ЧИТАТЕЛЯ

ЕСЛИ ДАННЫЕ правильные И РЕЗУЛЬТАТ ПОИСКА КНИГ =положительный КНИГИ ВЫДАЮТСЯ НА ВРЕМЯ ТО

ВЫПОЛНИТЬ выдать КНИГИ ЧИТАТЕЛЮ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ в ОТЧЕТЫ

ИНАЧЕ

ЕСЛИ ДАННЫЕ правильные И РЕЗУЛЬТАТ ПОИСКА КНИГ =положительный КНИГИ ВЫДАЮТСЯ ПЛАТНО ТО

ВЫПОЛНИТЬ выдать КНИГИ ЧИТАТЕЛЮ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ в ОТЧЕТЫ

ВЫПОЛНИТЬ принять оплату

ИНАЧЕ

ВЫПОЛНИТЬ отказать в ВЫДАЧе ЛИТЕРАТУРЫ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

8. «Принять книги»

@ВХОД= ИНФОРМАЦИЯ О СОТРУДНИКАХ

@ВХОД= ИНФОРМАЦИЯ О СТУДЕНТАХ

@ВЫХОД= ОТЧЕТ О ПОСЕЩАЕМОСТИ

@ВЫХОД= ОТЧЕТ О ПЛАТНЫХ УСЛУГАХ

@СПЕЦПРОЦ А2.2.3 ПРИНЯТЬ КНИГИ

ВЫПОЛНИТЬ проверить КНИГИ

ЕСЛИ КНИГИ в наличии ТО

ВЫПОЛНИТЬ принять КНИГИ ЧИТАТЕЛЯ

ВЫПОЛНИТЬ отдать ЧИТАТЕЛЬСКИЙ БИЛЕТ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ в ОТЧЕТЫ

ИНАЧЕ

ВЫПОЛНИТЬ отказать в ПРИЕМЕ КНИГ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

Организовать работу отдела комплектования

9. «Списать книги»

@ВХОД= ИНФОРМАЦИЯ О ФОНДЕ

@ВЫХОД= ОТЧЕТ О ИЗМЕНЕНИИ КНИЖНОГО ФОНДА

@СПЕЦПРОЦ А1.3.1 СПИСАТЬ КНИГИ

ВЫПОЛНИТЬ проверить КНИГИ

ЕСЛИ КНИГИ устарели ТО

ВЫПОЛНИТЬ составить акт СПИСАНИЯ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ в ОТЧЕТ

ИНАЧЕ

ВЫПОЛНИТЬ отказать в СПИСАНИИ КНИГИ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

10. «Заменить книгу»

@ВХОД= ИНФОРМАЦИЯ О ФОНДЕ

@ВЫХОД= ОТЧЕТ О ИЗМЕНЕНИИ КНИЖНОГО ФОНДА

@СПЕЦПРОЦ А1.3.3 ЗАМЕНИТЬ КНИГИ

ВЫПОЛНИТЬ проверить КНИГИ

ЕСЛИ ЗАМЕНА равноценная ТО

ВЫПОЛНИТЬ составить акт ЗАМЕНЫ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ в ОТЧЕТ

ИНАЧЕ

ВЫПОЛНИТЬ отказать в ЗАМЕНЕ КНИГИ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

11 «Обработать новую книгу»

@ВХОД= ИНФОРМАЦИЯ О ФОНДЕ

@ВЫХОД= ОТЧЕТ О ИЗМЕНЕНИИ КНИЖНОГО ФОНДА

@СПЕЦПРОЦ А1.3.2 ОБРАБОТАТЬ НОВУЮ КНИГУ

ВЫПОЛНИТЬ получить КНИГУ

ВЫПОЛНИТЬ присвоить КНИГЕ шифр

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ О КНИГЕ в каталоги

ВЫПОЛНИТЬ отправить КНИГУ в отдел

@КОНЕЦ СПЕЦПРОЦ

«Организовать работу справочно-библиографического отдела»

12. «Составить картотеку периодических изданий»

@ВХОД= ИНФОРМАЦИЯ О ФОНДЕ

@ВЫХОД= КАРТОТЕКА ПЕРИОДИЧЕСКИХ ИЗДАНИЙ

@СПЕЦПРОЦ А4.4 СОСТАВИТЬ КАРТОТЕКУ ПЕРИОДИЧЕСКИХ ИЗДАНИЙ

ВЫПОЛНИТЬ получить ИНФОРМАЦИЮ О ПЕРИОДИЧЕСКИХ ИЗДАНИЯХ

ВЫПОЛНИТЬ получить шифры ПЕРИОДИЧЕСКИХ ИЗДАНИЙ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ О ПЕРИОДИЧЕСКИХ ИЗДАНЯХ в каталоги

@КОНЕЦ СПЕЦПРОЦ

13. «Найти литературу в каталоге»

@ВХОД= ИНФОРМАЦИЯ О ФОНДЕ

@ВХОД= КАРТОТЕКА ПЕРИОДИЧЕСКИХ ИЗДАНИЙ

@ВЫХОД= ОТЧЕТ О ПОСЕЩАЕМОСТИ

@СПЕЦПРОЦ А4.НАЙТИ ЛИТЕРАТУРУ В КАТАЛОГЕ

ВЫПОЛНИТЬ получить информацию о ЛИТЕРАТУРЕ

ЕСЛИ ИНФОРМАЦИЯ правильная ТО

ВЫПОЛНИТЬ выдать ИНФОРМАЦИЮ об месте хранения ЛИТЕРАТУРЫ

ВЫПОЛНИТЬ занести ИНФОРМАЦИЮ в ОТЧЕТ

ИНАЧЕ

ВЫПОЛНИТЬ отказать а выдаче ИНФОРМАЦИИР об месте хранения ЛИТЕРАТУРЫ

КОНЕЦЕСЛИ

@КОНЕЦ СПЕЦПРОЦ

3.2 T-SQL-определения регламентированных запросов

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

CREATE VIEW infoStudent /*Указываем имя представления*/

AS SELECT /*Указываем, какие поля будут выведены*/

Студенты. Имя, Студенты. Фамилия, Студенты.факультет, Студенты.специальность

FROM Студенты /*Из какой таблицы*/

WHERE Студенты. Фамилия LIKE `[] ов'

2. Информация о замене экземпляров по программированию на С++.

CREATE VIEW infoZamena

AS

SELECT /*Указываем, какие поля, из каких таблиц будут выведены*/

Книга. Автор, Книга. Название, Экземпляр. Шифр, Замена_экземпляров. Номер_акта_замены

FROM /*Указываем таблицу, и связанные с ней при помощи оператора INNER JOIN таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/

(Книга INNER JOIN Экземпляр ON Книга.ISBN =Экземпляр.ISBN)

INNER JOIN Замена_экземпляров ON Экземпляр. Шифр = Замена_экземпляров. Шифр

WHERE Книга. Название LIKE ' % C++' /*Выбираются только те книги, в названии которых присутствует «C++» */

3. Информация о списанных экземплярах по программированию на Delphi.

CREATE VIEW infoCpicanie

AS

SELECT /*Указываем, какие поля, из каких таблиц будут выведены*/

Книга. Автор, Книга. Название, Экземпляр. Шифр, Списанные_книги. причина_списания, Списанные_книги. номер_протокола_списания, Списанные_книги. Табельный_номер_списавшего

FROM /*Указываем таблицу, и связанные с ней таблицы, из которых выбираются связанные данные.*/

Книга INNER JOIN (Экземпляр INNER JOIN Списанные_книги ON Экземпляр. Шифр = Списанные_книги. Шифр) ON Книга.ISBN = Экземпляр.ISBN

WHERE Книга. Название LIKE ' % Delphi' /*Выбираются только те книги, в названии которых присутствует «Delphi */

4. Информация о преподавателях и их заказах на литературу, количество книг должно быть от 10 до 20 или от 25 до 30.

CREATE VIEW infoZakazi /*Объявляем имя представления*/

AS

SELECT /*Указываем, какие поля таблиц будут выведены*/

Преподаватели. Фамилия, Преподаватели. Имя, Преподаватели. Отчество, Книга. Автор, Книга. Название, Заказы. Количество

FROM /*Указываем таблицу, и связанные с ней таблицы, из которых выбираются связанные данные.*/

Книга INNER JOIN (Преподаватели INNER JOIN Заказы ON Преподаватели. Читательский_номер = Заказы. Читательский_номер)

ON Книга.ISBN = Заказы.ISBN

WHERE (Заказы. Количество BETWEEN 10 AND 20) OR (Заказы. Количество BETWEEN 25 AND 30) /* 10<количество заказов<20 или 25<количество заказов<30 */

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

CREATE VIEW infoOPolzovaniiStudentov

AS

SELECT /*Указываем, какие поля таблиц будут выведены*/

Студенты. Имя, Студенты. Фамилия, Книга. Автор, Книга. Название, Сотрудники_библиотеки. табельный_номер

FROM /*Указываем таблицу, и связанные с ней таблицы, из которых выбираются связанные данные.*/

(((Книга INNER JOIN Экземпляр ON Книга.ISBN = Экземпляр.ISBN) INNER JOIN

Пользование_библиотекой2 ON Экземпляр. Шифр = Пользование_библиотекой2. Шифр) INNER JOIN

Студенты ON Пользование_библиотекой2. Читательский_номер = Студенты. Читательский_номер) INNER JOIN

Сотрудники_библиотеки ON Пользование_библиотекой2. Табельный_номер = Сотрудники_библиотеки. табельный_номер

WHERE Сотрудники_библиотеки. табельный_номер LIKE '10 []' /*Табельный номер сотрудников должен начинаться с «11»*/

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

CREATE VIEW infoOPolzovaniiPrepodovatelej

AS

SELECT /*Указываем, какие поля таблиц будут выведены*/

Преподаватели. Имя, Преподаватели. Фамилия, Книга. Автор, Книга. Название, Сотрудники_библиотеки. табельный_номер

FROM /*Указываем таблицу, и связанные с ней таблицы, из которых выбираются связанные данные.*/

(((Книга INNER JOIN Экземпляр ON Книга.ISBN = Экземпляр.ISBN) INNER JOIN

Пользование_библиотекой3 ON Экземпляр. Шифр = Пользование_библиотекой3. Шифр) INNER JOIN

Преподаватели ON Пользование_библиотекой3. Читательский_номер = Преподаватели. Читательский_номер) INNER JOIN

Сотрудники_библиотеки ON Пользование_библиотекой3. Табельный_номер = Сотрудники_библиотеки. табельный_номер

WHERE Сотрудники_библиотеки. табельный_номер LIKE '10 []' /*Табельный номер сотрудников должен начинаться с «11»*/

7. Информация о отделах 11 и 12 и работающих в них сотрудниках.


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

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

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

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

    дипломная работа [1,5 M], добавлен 13.10.2015

  • Проектирование физической и логической моделей удаленной базы данных для АЗС. Разработка базы данных в СУБД Firebird с помощью утилиты IBExpert. Создание клиентского приложения для Windows с использованием клиент-серверной технологии в среде C++ Builder.

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

  • Общая характеристика инфологической модели информационной системы. Знакомство с особенностями проектирования базы данных "Библиотека", анализ основных этапов. Рассмотрение способов составления запросов по выборке информации из таблиц базы данных.

    контрольная работа [831,2 K], добавлен 08.12.2013

  • Анализ проектирования автоматизированной информационной системы компьютерного магазина "Джей". Разработка базы данных на языке Transact-SQL в системе управления базами данных Microsoft SQL Server 2000. Расчет себестоимости и цены программного продукта.

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

  • Построение информационно-логической модели базы данных. Корректировка данных средствами запросов. Проектирование алгоритмов обработки данных. Реализация пользовательского интерфейса средствами форм. Разработка запросов для корректировки и выборки данных.

    курсовая работа [680,9 K], добавлен 19.10.2010

  • Анализ предметной области разрабатываемой информационной системы "Библиотека". Проектирование базы данных в среде MS Access. Физическая реализация данной информационной системы средствами Delphi 7 и MS Access 2003. Области применения технологии BDE.

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

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

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

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

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

  • Анализ проектирования баз данных на примере построения программы ведения информационной системы картотеки ГИБДД. Основные функции базы данных. Обоснование выбора технологий проектирования и реализации базы данных. Описание информационного обеспечения.

    курсовая работа [753,0 K], добавлен 27.08.2012

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