Добавил:
ИВТ (советую зайти в "Несортированное") Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
18.09.2024
Размер:
26.47 Mб
Скачать

UgСоздание базы данных

      1. Создайте учебную базу данных Students. Для этого необходимо войти в учетную запись postgres и подключиться к программе psql.

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

Пишу в терминале - exit чтобы выйти из программы psql

psql название_БД < название_выходного_файла

- наш файл Students_dump.sql

воспользовался встроенными функциями

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

    1. Schemas -> public -> Tables. Здесь вы увидите список всех таблиц базы данных

    2. И нажать на count rows (пкм по таблице)

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

Студент груп > студенты > и тд …

    1. Задание 2.

Администрирование СУБД

      1. Подключитесь к созданной базе данных Students из-под командной строки. Определите, какой размер на диске занимает таблица student?

psql -U postgres -d students

где -U (User): -d (Database):

SELECT pg_size_pretty(pg_total_relation_size('student'));

      1. Создайте новую роль «Ваши инициалы junior». Выделите ей привилегии на вход и установите пароль «654321». Подключитесь от её имени к базе данных students и попробуйте удалить её с помощью запроса:

Промпт =# (Суперпользовательский):

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

Промпт -# (Многострочный ввод):

Когда вы видите -#, это означает, что команда ещё не завершена, и вы должны продолжить ввод. Обычно это происходит, если вы забыли закрыть кавычки или скобки.

\q

CREATE ROLE XY_junior WITH LOGIN PASSWORD '654321';

DROP ROLE XY_junior; - нельзя удалить т.к

Удалось ли вам это сделать?

Нет

    1. Задание 3.

Редактирование содержимого базы данных

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

      1. После внесенных изменений, создайте новую резервную копию базы данных Students.

Вариант - 1

Студентка группы ИВТ-32 Барашкова Настасья Филлиповна пересдала экзамен по Основы теории информации и кодирования на 4. Исправьте её оценку. (ошибка в отчестве)

Psql -U postgres -d students -f ~/students_dump.sql – загоняю файл в базу

Psql -U postgres -d students

\dt

SELECT * FROM students LIMIT 1000;

Сначала надо найти таблицу с оценками

EXPLAIN // типо дебаггер

UPDATE field_comprehensions

SET mark = 4

FROM fields f, students_groups sg, students s

WHERE field_comprehensions.field = f.field_id

AND f.field_name = 'Основы теории информации и кодирования'

AND field_comprehensions.student_id = s.student_id // объеденил

AND s.student_id = '885803'

AND sg.students_group_number = 'ИВТ-32'

AND s.last_name = 'Барашкова'

AND s.first_name = 'Настасья'

AND s.patronymic = 'Филипповна';

Убедился, что работает

pg_dump -U your_username -d students -F c -f /path/to/backup/students_backup.dump

your_username — это ваше имя пользователя PostgreSQL (например, postgres).

-d students — указание базы данных students, которую вы хотите сохранить.

-F c — указывает, что резервная копия будет создана в формате "custom" (это сжатый и переносимый формат).

-f /path/to/backup/students_backup.dump — путь и имя файла, в который будет сохранена резервная копия (укажите корректный путь).

Соседние файлы в папке 1лр