{"id":14973952,"url":"https://github.com/andy-messer/ballroom-database","last_synced_at":"2026-03-04T05:02:41.005Z","repository":{"id":81131097,"uuid":"495145999","full_name":"Andy-Messer/ballroom-database","owner":"Andy-Messer","description":"Project MIPT, Data Base course.","archived":false,"fork":false,"pushed_at":"2022-05-22T18:42:43.000Z","size":515,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T08:31:05.283Z","etag":null,"topics":["database","mipt-homeworks","pgsql","sql","sql-server"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Andy-Messer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-22T18:38:51.000Z","updated_at":"2023-09-23T06:28:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"e77919da-7e21-4e68-8fb1-2d214508afab","html_url":"https://github.com/Andy-Messer/ballroom-database","commit_stats":{"total_commits":2,"total_committers":2,"mean_commits":1.0,"dds":0.5,"last_synced_commit":"7779a764eef233945abcb341bf8d3d1bf4189900"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Andy-Messer/ballroom-database","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andy-Messer%2Fballroom-database","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andy-Messer%2Fballroom-database/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andy-Messer%2Fballroom-database/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andy-Messer%2Fballroom-database/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Andy-Messer","download_url":"https://codeload.github.com/Andy-Messer/ballroom-database/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andy-Messer%2Fballroom-database/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30071898,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T03:25:38.285Z","status":"ssl_error","status_checked_at":"2026-03-04T03:25:05.086Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","mipt-homeworks","pgsql","sql","sql-server"],"created_at":"2024-09-24T13:49:43.907Z","updated_at":"2026-03-04T05:02:40.967Z","avatar_url":"https://github.com/Andy-Messer.png","language":"Python","readme":"# База данных ballroom_database\n\n## Таблицы\n\n1) Dancer - хранит в себе информацию о танцоре, его рост, вес и информацию, связанную с бальными танцами.\n2) Club - отвечает за информацию о клубах (местоположение, рейтинг, название).\n3) Couple - привязана к двум танцорам одновременно, хранит информацию о паре, так же достпуна **версионность** в\n   формате, актуальный ли состав пары.\n4) Coach - хранит информацию о тренерах, тренера привязаны к клубам, но при этом могут тренеровать пары с других клубов.\n5) Couple_x_Coach - таблица связка между тренерами и парами, кто кого тренерует, по какой программе.\n6) Competition - описывает турниры, где они проходят, какая плата за вход.\n7) Competition_Category - описывает категории, достпуные для пар.\n8) Registered_Couples - список зарегестрированных пар, относительно категорий.\n9) Scores - Информация о парах, участвоваших в категориях, их места и кол-во набранных очков по каждому танцу.\n10) Judging_Panel - судейская панель, список тренеров, судящих определенную категорию.\n\n## Модели\n\n### Концептуальная\n\n![](images/img.png)\n\n### Логическая\n\n![](images/img_1.png)\n\n### Физическая\n\n![](images/img_2.png)\n\n\u003e Рассмотреть модели в хорошем качестве, [здесь](./docs/models.pdf).\n## CRUD\n\u003e CRUD — акроним, обозначающий четыре базовые функции, используемые при работе с базами данных: создание (англ. create), чтение (read), модификация (update), удаление (delete). Введён Джеймсом Мартином в 1983 году как стандартная классификация функций по манипуляции данными.\n\nНа crud запросы можно посмотреть вот [здесь](./sql/crud.sql).\n\n## Сложные SELECT-запросы\n 1) Задача:\n   Вывести количество соревнований каждого уровня,\n   среднюю стоимость зрительского билета,\n   средняя стоимость которого меньше 900. \n   \u003e \n   \u003e P.s. Use GROUP BY + HAVING\n - [Ответ](./sql/select-1.sql)\n 2) Задача:\n   Вывести топ-5 номера пар в категории Молодежь С класс Латина,\n   в соревновании 'Весенний бал Терпсихоры', по танцy Самба (S).\n   \u003e \n   \u003e P.s. Use ORDER BY\n - [Ответ](./sql/select-2.sql)\n 3) Задача:\n   Вывести сводную таблицу с названиями соревнований,\n   уровнем соревнований, ценой зрительского билета\n   и средней ценой зрительского билета для этого уровня соревнований.\n   \u003e \n   \u003eP.s. Use func(...) OVER(...): PARTITION BY\n - [Ответ](./sql/select-3.sql)\n 4) Задача:\n   Вывести антитоп судей, по очкам грязного судейства, в формате:\n   Ранг судьи, имя Фамилия, категория, кол-во очков грязного судейства.\n   \u003e \n   \u003e P.s. Use func(...) OVER(...): ORDER BY\n - [Ответ](./sql/select-4.sql)\n 5) Задача:\n   Вывести топ пар, по каждому из танцев по Латине независимо от категории,\n   в которой участвовала пара, в формате: место, номер категории, номер пары, танец.\n   \u003e \n   \u003e P.s. Use func(...) OVER(...): PARTITION BY + ORDER BY\n - [Ответ](./sql/select-5.sql)\n 6) Задача:\n  Для Регины Абрамовой посчитать, как долго она не стояла в паре(в днях), начиная с '2020-11-02' по '2022-12-30',\n  построить топ перерывов по длительности.\n   \u003e \n   \u003e P.s. Use func(...) OVER(...): все 3 типа функций\n - [Ответ](./sql/select-6.sql)\n## Приятные дополнения\n \n - [VIEW](./sql/view.sql)\n - [INDEX](./sql/index.sql)\n - [PROCEDURE](./sql/procedure.sql)\n - [TRIGGERS](./sql/trigger.sql)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandy-messer%2Fballroom-database","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandy-messer%2Fballroom-database","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandy-messer%2Fballroom-database/lists"}