You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
6.4 KiB
105 lines
6.4 KiB
# Майнор по Базам Данных 2022
|
|
|
|
Репозиторий для материалов курса.
|
|
|
|
**Зачёт:** Для зачёта необходимо выполнить набор относительно несложных действий, _см.
|
|
**[Что обязательно
|
|
сделать](#что-обязательно-сделать)**_.
|
|
|
|
## Как поднять PostgreSQL у себя на компьютере
|
|
|
|
В файле **[local_instruction.md](./local_instruction.md)** можно найти инструкцию
|
|
как локально (на Вашем пк) поднять базу данных и админку **[pgAdmin][pgadmin]**
|
|
с помощью **[docker]**.
|
|
|
|
## Что обязательно сделать
|
|
|
|
0. _Пока_ пытаться нарешивать задачки с **[sql-ex.ru]**, все нарешанные
|
|
Вами задания обязательно будут зачтены.
|
|
1. Разбиться на команды по 3-5 человек и заполнить **[форму][form]**.
|
|
2. Выбрать тему для проекта (_cм.: **[Как выбрать тему](#как-выбрать-тему)**_)
|
|
3. Написать отчёт (_см. **[Требования к отчёту](#требования-к-отчёту)**_, см.
|
|
**[Пример отчёта](./report.md)**).
|
|
4. Прислать его нам.
|
|
5. Прийти на пару в ноябре-декабре, чтобы:
|
|
- показать нарешанные задания;
|
|
- защитить проект и разработанную схему базы данных.
|
|
|
|
## Как выбрать тему
|
|
|
|
Если испытываете сложности с выбором, то можно поступить
|
|
следующим образом:
|
|
|
|
выберите какую-нибудь широкую область, для
|
|
которой Вам и Вашей группе, состоящей из **3-5 человек**,
|
|
было бы интересно моделировать базу данных, например:
|
|
- финансы и экономика;
|
|
- образование;
|
|
- грузоперевозки;
|
|
- и т.п.;
|
|
|
|
и только теперь уточните эту область до темы для проекта:
|
|
- база данных сайта простого банковского приложения;
|
|
- база данных частной школы;
|
|
- база данных отдельного аэропорта;
|
|
- больше тем здесь: **[список тем прошлого года]**.
|
|
|
|
## Требования к отчёту
|
|
|
|
### Содержимое или Что писать в отчёте
|
|
|
|
В отчёте должно быть описание темы и области, которую выбрали (абзац на 2-5 предложений).
|
|
|
|
Попытайтесь понять специфичные ограничения, которые есть именно для вашего проекта и
|
|
темы. Такие ограничения стоит указать заранее,
|
|
т.к. в далнейшем это лучше выразить в виде типа для колонки таблицы
|
|
(1-5 предложений и/или списочек требований).
|
|
|
|
**Пример:** условный аэропорт, для которого мы пишем БД, требует какие-нибудь
|
|
личные данные для брони места в самолёте (ну, например, ФИО) -- это стоит зафиксировать текстом,
|
|
позже можно выразить в виде трёх обязательных текстовых полей в таблице
|
|
с бронированиями.
|
|
|
|
Поймите какие таблицы должна содержать ваша БД и какие поля должны быть
|
|
у каждой из таблиц, опишите это текстом (до несколких абзацев по 2-5
|
|
предложений).
|
|
|
|
Обязательно укажите тип каждого столбца (**[какая-то шпаргарклка по типам в PostgreSQL][postgre-cheat]**) и,
|
|
если есть, дополнительные ограничения (**[документация возможных ограничений в PostgreSQL][constraints]**).
|
|
|
|
Поймите какие ключи (**primary**/**foreign**) есть в ваших таблицах, отразите
|
|
это на диаграмме и/или в тексте.
|
|
|
|
Усердствовать с количеством таблиц и полей не нужно, достаточно 4-7 таблиц
|
|
по 2-7 поля (столбца?) в каждой.
|
|
|
|
Нарисуйте диаграмму вашей БД, например, с помощью **[drawsql]**, добавьте схему
|
|
в отчёт.
|
|
|
|
### Оформление
|
|
- **один (!)** файл формата **[pdf]** (обычно в таком формате умеют экспортировать почти
|
|
все редакторы);
|
|
- в отчёте должно быть **1 или несколько** непустых страниц;
|
|
- текст должен занимать не менее двух третей страницы;
|
|
- ориентация страницы: книжная;
|
|
- формат страницы: a4;
|
|
- отступы:
|
|
- слева и справа ~1-1.5см;
|
|
- снизу и сверху ~2 см;
|
|
- шрифт ~~выбирайте, пожалуйста, с умом~~:
|
|
- по-умолчанию Times New Roman, но подойдёт любой читаемый шрифт;
|
|
- курсив и полужирныe шрифты разрешены;
|
|
- 12-14 кегль;
|
|
- заголовки, если они Вам нужны, можно сделать 16 кеглем;
|
|
|
|
|
|
[comment]: <> (links here)
|
|
[список тем прошлого года]: https://gist.github.com/ottergottaott/c705dac29735bf0b59c73eaa4516ceb9
|
|
[pdf]: https://en.wikipedia.org/wiki/PDF
|
|
[sql-ex.ru]: https://sql-ex.ru
|
|
[form]: https://www.cognitoforms.com/%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9%D0%97%D1%83%D0%B1%D0%B0%D0%BA%D0%BE%D0%B2/%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0
|
|
[drawsql]: https://drawsql.app/
|
|
[postgre-cheat]: https://tableplus.com/blog/2018/06/postgresql-data-types.html
|
|
[constraints]: https://www.postgresql.org/docs/current/ddl-constraints.html
|
|
[docker]: https://www.docker.com/
|
|
[pgadmin]: https://www.pgadmin.org/
|
|
|