515.45K
Категория: Базы данныхБазы данных

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

1.

Разработка базы данных
для приложения учета
прочитанных книг
Выполнила
Гильманшина В.М. А-18-21

2.

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

3.

ER-Модель. Описание сущностей
Имя сущности
Описание
Book
Книга
User
Пользователь
Rating
Оценка книги
Author
Автор
Genre
Жанр
Publication Year
Год публикации книги
Country
Страна публикации книги

4.

ER-Модель.

5.

ER- и реляционная модель
Обоснование нахождение модели РБД в третьей НФ.
Первая НФ
Все атрибуты являются простыми, используемые домены
содержат только скалярные значения, нет повторений в таблице
Вторая НФ
Все неключевые атрибуты неприводимо зависят от первичного
ключа.
Третья НФ
Отсутствует транзитивная зависимость, неключевые атрибуты
не зависят от других неключевых атрибутов.

6.

Правила ссылочной целостности
Parent
Child
Имя отношения
Update
Delete
Insert
Update
Author -> Book_Author
Cascade
Cascade
Restrict
Restrict
Book -> Book_Genre
Cascade
Cascade
Restrict
Restrict
Book -> UserBook
Restrict
Restrict
Restrict
Restrict
Book -> Book_Author
Cascade
Cascade
Restrict
Restrict
Genre ->Book_Genre
Restrict
Restrict
Restrict
Restrict
Publication_year -> Book
Set Null
Set Null
No Action
Set Null
Rating -> UserBook
Restrict
Restrict
Restrict
Restrict
User -> UserBook
Cascade
Cascade
Restrict
Restrict
Country -> Book
Set Null
Set Null
No Action
Set Null

7.

Средства реализации
В качестве СУБД для реализации БД в курсовой работе была выбрана PostgreSQL.
Основной используемый язык для запросов – PL/pgSQL.
Для реализации приложения для работы с базой данных был выбран язык C# –
приложение будет реализовано при помощи Windows Forms, а взаимодействие с
базой данных – благодаря технологии ADO.NET.

8.

Фрагмент описания базы данных в СУБД
Создание таблицы Book
CREATE TABLE IF NOT EXISTS public.book
(
book_id character(18) COLLATE pg_catalog."default" NOT NULL DEFAULT
nextval('book_id_seq'::regclass),
num_pages integer NOT NULL,
title character varying(120) COLLATE pg_catalog."default" NOT NULL,
country_id integer, pubyear_id integer,
CONSTRAINT book_pkey PRIMARY KEY (book_id),
CONSTRAINT country_to_book FOREIGN KEY (country_id)
REFERENCES public.country (country_id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE SET NULL,

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

DECLARE
country_exists INTEGER;
pubyear_exists INTEGER;
BEGIN
-- Проверяем, существует ли страна с таким названием
SELECT count(*) INTO country_exists
FROM country
WHERE LOWER(country_name) = LOWER(NEW.country_name);

9.

Пример работы приложения
Добавление книги

10.

Пример работы приложения
Список всех книг

11.

Заключение
В результате выполнения курсовой работы:
проведен анализ предметной области, выделены и сформулированы основные
бизнес-правила;
в рамках разработка базы данных было создано 10 таблиц, спроектированные с
учетом требований третьей НФ, а также различные триггеры и 1 хранимая
процедура;
реализован интерфейс для отображения, добавления и удаления данных.
English     Русский Правила