Проектирование и разработка БД «Читальный зал».
Заказать уникальную курсовую работу- 32 32 страницы
- 9 + 9 источников
- Добавлена 08.07.2024
- Содержание
- Часть работы
- Список литературы
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ БАЗ ДАННЫХ 4
РАЗДЕЛ 1.1. ОСНОВНЫЕ ПРИНЦИПЫ ПРОЕКТИРОВАНИЯ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ 4
РАЗДЕЛ 1.2. ЭТАПЫ ФИЗИЧЕСКОЙ РЕАЛИЗАЦИИ ПРОЕКТИРУЕМОЙ БАЗЫ ДАННЫХ 5
ГЛАВА 2. СУЩЕСТВУЮЩАЯ ОРГАНИЗАЦИЯ БИЗНЕСС-ПРОЦЕССОВ И ПРОЦЕССОВ ОБРАБОТКИ ДАННЫХ В БД «ЧИТАЛЬНЫЙ ЗАЛ» 7
ГЛАВА 3. ДАТАЛОГИЧЕСКОЕ И ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БД «ЧИТАЛЬНЫЙ ЗАЛ» В СРЕДЕ СУБД MS ACCESS 9
РАЗДЕЛ 3.1. ОПРЕДЕЛЕНИЕ СУЩНОСТЕЙ, АТРИБУТОВ, ВЗАИМОСВЯЗЕЙ МЕЖДУ СУЩНОСТЯМИ, КЛЮЧЕЙ 9
РАЗДЕЛ 3.2. ПОСТРОЕНИЕ ER-МОДЕЛИ 10
РАЗДЕЛ 3.3. ПРОВЕДЕНИЕ ПРОЦЕССА НОРМАЛИЗАЦИИ И ДЕНОРМАЛИЗАЦИИ 11
РАЗДЕЛ 3.4. АНАЛИЗ ЦЕЛОСТНОСТИ ДАННЫХ ПРЕДСТАВЛЕННОЙ МОДЕЛИ БАЗЫ ДАННЫХ «ЧИТАЛЬНЫЙ ЗАЛ» 13
РАЗДЕЛ 3.5. СХЕМА ПРОЕКТИРУЕМОЙ БАЗЫ ДАННЫХ 14
РАЗДЕЛ 3.6. ПРОЕКТИРОВАНИЕ ER-МОДЕЛИ В РЕАЛЯЦИОННУЮ МОДЕЛЬ 16
ГЛАВА 4. ФИЗИЧЕСКАЯ РЕАЛИЗАЦИЯ ПРОЕКТИРУЕМОЙ БАЗЫ ДАННЫХ 18
РАЗДЕЛ 4.1. СРЕДСТВА СОЗДАНИЯ, ИЗМЕНЕНИЯ ОПИСАНИЯ, УДАЛЕНИЯ ТАБЛИЦ И ДАННЫХ 18
РАЗДЕЛ 4.2. ФОРМИРОВАНИЕ ПРОСТЫХ И СЛОЖНЫХ ЗАПРОСОВ К БАЗЕ ДАННЫХ 23
РАЗДЕЛ 4.3. СПОСОБЫ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ ДОСТУПА К ДАННЫМ 26
ЗАКЛЮЧЕНИЕ 30
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 32
По умолчанию сортировка осуществляется по возрастанию.При необходимости в выборе информации из нескольких таблиц, для размещения нескольких запросов и объединения их вывода используют UNION.При многотабличном запросе, таблицы, представленные в виде списка в предложении FROM, отделяются друг от друга запятыми. Предикат запроса может ссылаться к любому столбцу любой связанной таблицы и, следовательно, может использоваться для связи между ними. Обычно предикат сравнивает значения в столбцах различных таблиц, чтобы определить, удовлетворяет ли WHERE установленному условию.В самом общем случае, запросы могут управлять другими запросами -- это делается путем размещения запроса внутрь предиката другого, который использует вывод внутреннего запроса для установления верного или неверного значения предиката. Чтобы выполнить основной запрос, SQL сначала должен оценить внутренний запрос (его называют подзапросом) внутри предложения WHERE.В любой ситуации, где применяется реляционный оператор равенства (=), можно использовать IN.Таким образом, подзапросы всегда определяют одиночные столбцы -- это обязательно, поскольку выбранный вывод сравнивается с одиночным значением [7].В проектируемой базе данных использовались простые и сложные запросы.Создание запросов для проектируемой базы данных.Запрос для выборки всех читателей из таблицы «Readers», зарегистрированных после 01.01.2017, с сортировкой по фамилии.Создадим запрос на выборку, используя мастер запросов. Вкладка ленты Создание – Мастер запросов – Простой запрос.Из списка выберем поля Surname, First_Name,Middle_Name, Birth_Date, Date_registration, Phone из таблицы «Readers», нажмемвыполнить, перейдемврежим конструктор и поправим запрос по столбцу Date_Registrationукажем условие > 01.01.2017, а по столбцу Surnameпоставим сортировку по возрастанию. Результаты запроса представлен на рисунке 11.SELECT Readers.[Surname], Readers.[First_Name], Readers.[Middle_Name], Readers.[Birth_Date], Readers.[Date_Registration], Readers.[Phone]FROM ReadersWHERE (((Readers.[Date_Registration])>#1/1/2017#))ORDERBYReaders.[Surname].Рисунок 11. Простой запрос SELECTАналогичным образом выполним выборку всех публикаций журналов, которые есть в читальном зале и отсортируем их по наименованию (рис. 12).SELECT Publications.[Title], Publicaрtions.[F_Type]FROM PublicationsWHERE (((Publications.[F_Type])=1))ORDER BY Publications.[Title];Рисунок 12. Простой запрос SELECTСоздадим сложный запрос, который возвращает фамилии читателей, которые вернут журналы 15 мая 2024 года (рис. 13).SELECT SurnameFROM ReadersWHERE return_date="15.05.2024"UNIONSELECT TitleFROM PublicationsWHERE Title = 'журнал';Рисунок 13. Сложный запросРАЗДЕЛ 4.3. СПОСОБЫ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ ДОСТУПА К ДАННЫМИндексы представляют собой один из наиболее мощных механизмов для ускорения доступа к данным. Они позволяют значительно сократить время поиска необходимой информации в базе данных, особенно в больших объемах данных, таких как периодические издания в читальном зале. Основным преимуществом использования индексов является ускорение операций выборки данных за счет упорядочивания строк по одному или нескольким ключам. Например, индексация по полям даты и названия издания значительно повысит скорость поиска конкретной газеты или журнала, наличие которых требуется проверить по базе [8].Индексация первичных ключей автоматически создается в большинстве баз данных и позволяет быстро искать записи по этим ключам. Например, id_extradition в таблице extraditions, id в таблице readers, id_type в таблице type_publication и так далее.Для ускорения соединений на связанных полях имеет смысл создавать индексы. Например:- Поле f_reader в таблице extraditions может быть проиндексировано для ускорения запросов по читателям.- Полеf_publicationвтаблице extraditions.- Полеf_typeвтаблице publications.- Наиболее часто используемые в условиях запросов столбцы также следует индексировать. Например:- Поле surname и name в таблице readers можно проиндексировать, если часто происходит поиск по этим полям.- Поле title в таблице publications, если часто происходит поиск по названию книги.- Поле date_issue в таблице extraditions, если множество запросов происходит по датам выдачи книг.СозданиеиндексовнавнешниеключиCREATE INDEX idx_extraditions_f_reader ON extraditions(f_reader);CREATE INDEX idx_extraditions_f_publication ON extraditions(f_publication);CREATE INDEX idx_publications_f_type ON publications(f_type);- Индекс для ускорения поиска по фамилии и имени в таблице readersCREATE INDEX idx_readers_surname ON readers(surname);CREATE INDEX idx_readers_name ON readers(name);- Индекс для ускорения поиска по названию книгиCREATE INDEX idx_publications_title ON publications(title);- Индекс для ускорения поиска по датам выдачи CREATE INDEX idx_extraditions_date_issue ON extraditions(date_issue);Триггеры, в свою очередь, обеспечивают автоматизацию выполнения определенных операций при наступлении заданных событий в базе данных. Это может быть крайне полезно для автоматического введения и обновления информации о текущих выдачах. риггер на добавление записи в таблицу «extraditions» для проверки доступности публикации.CREATE TRIGGER check_publication_availability BEFORE INSERT ON extraditions FOR EACH ROW BEGIN DECLARE book_count INT; SELECT COUNT(*) INTO book_count FROM extraditions WHERE f_publication = NEW.f_publication AND return_date IS NULL; IF book_count > 0 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Publication is currently on loan';ENDIF;END; Триггер на добавление записи в таблицу «reader_details» для проверки уникальности паспортных данныхCREATE TRIGGER check_passport_uniquenessBEFORE INSERT ON reader_detailsFOR EACH ROWBEGIN DECLARE reader_count INT; SELECT COUNT(*) INTO reader_count FROM reader_details WHERE passport_data = NEW.passport_data; IF reader_count > 0 THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Duplicate passport data detected';ENDIF;END;Эти триггеры помогут автоматизировать ключевые проверки и обработку данных в вашей базе данных.Процедуры и функции позволяют более гибко управлять сложными логическими операциями в базе данных. Они могут включать операции проверки наличия документа, обновления статусов выдачи, уведомления пользователей о возврате и так далее. Процедуры могут быть вызваны как на стороне сервера базы данных, так и клиент-сервером на уровне приложения, обеспечивая целостность данных и снижение нагрузки на сеть за счет выполнения сложных расчетов и манипуляций на стороне сервера. Ниже представлена процедура добавления нового читателя и его данныхCREATE PROCEDURE AddNewReader ( IN p_surnameVARCHAR(255), IN p_nameVARCHAR(255), IN p_middle_nameVARCHAR(255), IN p_birth_date DATE, IN p_date_registration DATE, IN p_phoneVARCHAR(15), IN p_passport_dataVARCHAR(255), IN p_addressVARCHAR(255))BEGIN DECLARE new_reader_id INT; -- Добавление записи в таблицу readers INSERT INTO readers (surname, name, middle_name, birth_date, date_registration, phone) VALUES (p_surname, p_name, p_middle_name, p_birth_date, p_date_registration, p_phone); -- Получение ID нового читателя SET new_reader_id = LAST_INSERT_ID();-- Добавление записи в таблицу reader_detailsINSERT INTO reader_details (f_reader, passport_data, address) VALUES (new_reader_id, p_passport_data, p_address);END;С помощью функции можно получить информацию о выданных публикациях для читателяCREATE FUNCTION GetReaderExtraditions(p_reader_id INT)RETURNS TABLE (title VARCHAR(255),date_issue DATE,return_date DATE)BEGIN RETURN SELECT p.title, e.date_issue, e.return_date FROM extraditions e JOIN publications p ON e.f_publication = p.id_publication WHERE e.f_reader = p_reader_id;END;С помощью процедуры также можно провести регистрацию выдачи публикации читателюCREATE PROCEDURE RegisterExtradition ( IN p_reader_id INT, IN p_publication_id INT, IN p_date_issue DATE, IN p_return_date DATE)BEGIN INSERT INTO extraditions (f_reader, f_publication, date_issue, return_date) VALUES (p_reader_id, p_publication_id, p_date_issue, p_return_date);END;Эти процедуры и функции помогут эффективно управлять данными читателей, публикациями и процессами выдачи в базе данных читального зала.ЗАКЛЮЧЕНИЕОсновные принципы проектирования реляционной базы данных «Читальный зал» обеспечили структурированное и логически связное хранение данных.Этапы физической реализации проектируемой базы данных включали проектирование схемы, создание таблиц и других объектов базы данных, что позволяет обеспечить успешную реализацию проектных решений.В реализованной базе данных бизнес-процессы имеют четкую структуру и определенные процедуры для обработки данных.Также выделены недостатки, такие как ручное внесение данных и возможное удвоение информации, что может негативно влиять на эффективность обработки данных.Определение сущностей, атрибутов и взаимосвязей между сущностями, а также ключей, обеспечила четкость и полноту модели данных.Построение ER-модели позволила визуализировать структуру базы данных «Читальный зал» и упростила процесс нормализации и денормализации.Проведенный процесс нормализации и денормализацииулучшил структурированность данных и минимизировал избыточность.Анализ целостности данных помог определить и устранить возможные нарушения целостности на ранних стадиях проектирования.Благодаря использованию триггеров, процедур и проверок целостности, система автоматически отслеживает и предотвращает несоответствия данных. Это обеспечивает высокую степень надежности и доверия к данным, хранящимся в базе.Схема проектируемой базы данных предоставила полное представление о структуре и взаимосвязях данных.Проектирование ER-модели в реляционную модель показала взаимосвязь между теоретическим и практическим аспектами проектирования. Средства создания, изменения описания, удаления таблиц и данных обеспечили гибкость и полноту работы с базой данных. Формирование простых и сложных запросов к базе данных позволило эффективно извлекать необходимые данные. Способы повышения производительности доступа к данным играют ключевую роль в обеспечении быстрого и надежного доступа к необходимой информации.Также за счет увеличения производительности доступа к данным достигнуто за счет индексации ключевых полей и оптимизации запросов. Эти меры способствуют быстрому реагированию системы на запросы пользователей и улучшению общего пользовательского опыта [9].Основная задача курсового проекта заключалась в введении информации о текущих выдачах, и она реализована с учетом всех теоретических и практических аспектов, что позволило значительно улучшить процесс выдачи газет и журналов в читальном зале при наличии паспорта.Итогом проекта стало создание надежной и эффективной базы данных, позволяющей не только автоматизировать рутинные задачи, но и обеспечивать высокое качество данных и оперативный доступ к ним. Это оказывает положительное влияние на организацию работы читального зала, делая процесс выдачи газет и журналов прозрачным, упорядоченным и удобным для пользователей.СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫБоровский А.Н. Программирование в Ое1рЫ 2005/ А.Н. Боровский. - СПб.: БХВ-Петербург, 2007. - 448 с. Гурвиц Г.А. МюгозойАссезз 2007. Разработка приложений на реальном примере/ Г.А. Гурвиц. - СПб.: БХВ-Петербург, 2007. - 672 с ДейтК.Дж. Введение в системы баз данных. Изд. 7 - М. - СПб. - Киев: Вильяме, 2011. - 1072 с.Кандзюба СП.,. Базы данных и приложения. Лекции и упражнения. /, СП. Кандзюба, В.Н. Громов - К.: Диасофт, 2010. - 592 с. Конноли Т., Бегг К., Страчан А. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. - М. - СПб. - Киев: Вильяме, 2010. - 1112 с.Крёнке Д. Теория и практика построения баз данных. Изд. 8 - СПб.: Питер, 2008.-800 с. .Кучма В.Н. Стандарты проектирования автоматизированных систем обработки данных: Учебное пособие для ВУЗов / В.Н. Кучма; ДВГУПС. Каф. «Информационные технологии и системы». - Хабаровск: Изд-во ДВГУПС, 2006. - 80 с. Локтев А.А., Шукенбаева Н.Ш.БАЗЫ ДАННЫХ: Учебно-методический комплекс по специальности 090103 «Организация и технология защиты информации» / Локтев А.А., Шукенбаева Н.Ш.; МФЮА. Каф. ««Информационных технологий». Москва: Изд - во МФЮА, 2008. - 34 с. Хансен Г., Хансен Дж. Базы данных. Разработка и управление. - М.: Бином, 2012. - 700 с.
2. Гурвиц Г.А. Мюгозой Ассезз 2007. Разработка приложений на реальном примере/ Г.А. Гурвиц. - СПб.: БХВ-Петербург, 2007. - 672 с
3. Дейт К.Дж. Введение в системы баз данных. Изд. 7 - М. - СПб. - Киев: Вильяме, 2011. - 1072 с.
4. Кандзюба СП.,. Базы данных и приложения. Лекции и упражнения. /, СП. Кандзюба, В.Н. Громов - К.: Диасофт, 2010. - 592 с.
5. Конноли Т., Бегг К., Страчан А. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. - М. - СПб. - Киев: Вильяме, 2010. - 1112 с.
6. Крёнке Д. Теория и практика построения баз данных. Изд. 8 - СПб.: Питер, 2008. - 800 с. .
7. Кучма В.Н. Стандарты проектирования автоматизированных систем обработки данных: Учебное пособие для ВУЗов / В.Н. Кучма; ДВГУПС. Каф. «Информационные технологии и системы». - Хабаровск: Изд-во ДВГУПС, 2006. - 80 с.
8. Локтев А.А., Шукенбаева Н.Ш. БАЗЫ ДАННЫХ: Учебно-методический комплекс по специальности 090103 «Организация и технология защиты информации» / Локтев А.А., Шукенбаева Н.Ш.; МФЮА. Каф. ««Информационных технологий». Москва: Изд - во МФЮА, 2008. - 34 с.
9. Хансен Г., Хансен Дж. Базы данных. Разработка и управление. - М.: Бином, 2012. - 700 с.