Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQL_project

Придумать свою предметную область и продумать схему БД для неё. В качестве предметной области была взята абстрактная ММОРПГ. В базе данных хранятся персонажи, информация о них и игровых мирах, в которых дозволено играть (список фиксированный, логически подразумевается, что добавлять миры, также классы и расы дозволено только условному администратору и рядовой пользователь может добавлять только своего персонажа). Из информации представленной в базе данных можно просмотреть никнейм персонажа, расовую принадлежность героя и особенности подсчёта характеристик этой расы(в отдельной таблице), класс персонажа и его описание(также в отдельной таблице), уровень, игровой мир, в котором зарегистрирован игровой персонаж, и описание миров(также в отдельной таблице), имя ездового животного героя. Также стоит отметить, что при добавлении уровень автоматически не ставится равным 1, что подразумевает функцию импорта персонажа. image

Критерии к БД:

[1] БД должна быть в третьей нормальной форме или выше;

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

[2] Минимальное количество таблиц – 4;

• Данная база данных состоит ровно из 4-ёх таблиц.

[3] Все подключения из GUI должны осуществляться выделенным, не root, пользователем;

• Подключаемся с помощью созданного пользователя postgres: engine = create_engine('postgresql://postgres:1597@localhost/proj', echo=True)

[4] Должен существовать как минимум один индекс, созданный вами по выбранному текстовому не ключевому полю;

• Создан индекс "nickname" для столбца character_name: "nickname" btree (character_name)

[5] В одной из таблиц должно присутствовать поле, заполняемое/изменяемое только триггером (например, «общая стоимость бронирования» в таблице «бронирования», которое автоматически высчитывается при добавлении/изменении/удалении билетов, входящих в это бронирование)

• Таких полей даже два amount_of_players в таблицах races и worlds.

Реализовать программу GUI со следующим функционалом: [1] Создание базы данных (важно(!) именно create database, а не только create table) [2] Удаление базы данных [3] Вывод содержимого таблиц [4] Очистка(частичная - одной, и полная - всех) таблиц [5] Добавление новых данных [6] Поиск по заранее выбранному (вами) текстовому не ключевому полю [7] Обновление кортежа [8] Удаление по заранее выбранному текстовому не ключевому полю [9] Удаление конкретной записи, выбранной пользователем

Все вышеперечисленные функции реализованы и работают через функциональные кнопки GUI.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages