# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
На этом уроке мы разработаем план базы данных турнирной таблицы
Отчёт отправил: 2773. Никита Выполнено за 29 мин. [Показать отчёт] Научился: Отличный урок. Я решил добавить еще в команду поле Flag, чтобы хранить картинку с изображением флага (путь к картинке будет). В дальнейшем посмотрим, может уберу это поле, если не получится реализовать. Я команды назвал не Commands, а Teams. Нарисовал схему в онлайн SQL Designer'e. Сложности: Сложностей не возникло. |
|||||
2 |
![]() |
|
|||
На этом уроке мы установим СУБД postgresql Отчёт отправил: 2773. Никита Выполнено за 12 мин. [Показать отчёт] Научился: Отлично! Установил PostgreSQL. Ни разу с ним не работал, вот узнаю, что это за "зверь" такой. Сложности: Сложностей не возникло, установка прошла очень быстро. |
|||||
3 |
![]() |
|
|||
На этом уроке мы создадим базу данных в psql и увидим ее наличие в pgAdmin Отчёт отправил: 2773. Никита Выполнено за 6 мин. [Показать отчёт] Научился: Создавать и подключаться к БД в PostgreSQL. Сложности: Сложностей не возникло! |
|||||
4 |
![]() |
1 тест |
|||
На этом уроке мы создадим и заполним таблицу Groups, а также рассмотрим работу с типом serial Отчёт отправил: 2773. Никита Выполнено за 22 мин. [Показать отчёт] Научился: Узнал про тип поля serial (целое с автоувеличением), очень удобно его использовать. Группы получилось добавить. Сложности: Сложностей не возникло, все понятно! |
|||||
5 |
![]() |
|
|||
На этом уроке мы создадим таблицу Commands и рассмотрим особенности работы с кодировками в psql Отчёт отправил: 2773. Никита Выполнено за 28 мин. [Показать отчёт] Научился: Поработал с кодировкой. Хорошо, когда знаешь, как исправить эти кракозябры) Добавил все команды в группах. Сложности: Сложностей не возникло. |
|||||
6 |
![]() |
|
|||
На этом уроке мы создадим таблицу средствами pgAdmin
Отчёт отправил: 2773. Никита Выполнено за 31 мин. [Показать отчёт] Научился: Создали таблицу с Игроками и немного ее заполнили данными. Сложности: На первом скрине видно, что когда я пытаюсь "напролом", скажем, прописать значения в БД с указанием названий столбцов выдается ошибка, мол "колонка id_team или отношение Players не существует". Странно довольно-таки. Я добавлял данные таким способом (указывал имена колонок и значения) в предыдущие 2 таблицы все нормально было. Хотя колонка id_team в таблице Players есть (скриншот 2). Когда я убрал названия колонок, а просто прописал VALUES и указал значения для добавлений, все отработало. |
|||||
7 |
![]() |
|
|||
На этом уроке мы реорганизуем таблицу Games и создадим в postgresql все остальные таблиц Отчёт отправил: 2773. Никита Выполнено за 28 мин. [Показать отчёт] Научился: Вместо типа datetime нужно использовать тип timestamp (он отражает временной интервал) - справка помогает :). Также поля Action_time сделал тип time, а не char и под поле Action выделил тип text (мало ли, что там будет храниться). Возник вопрос, а ссылки-связи с другими таблицами вообще как, надо бы по-хорошему делать (Foreign Keys (внешние ключи) прописывать при создании таблиц) ? Сложности: Сложностей не возникло, логику понял - зачем нужно было выделять отдельную таблицу. |
|||||
8 |
![]() |
|
|||
На этом уроке мы подключим движок php к базе postgresql Отчёт отправил: 2773. Никита Выполнено за 4 час. 18 мин. [Показать отчёт] Научился: Познакомился немного с синтаксисом языка (если его можно назвать языком конечно) PHP. Получилось подключиться к созданной БД, предварительно изменив настройки php. Сложности: Сложностей не возникло, разве что синтаксис PHP для мало известен. |
|||||
9 |
![]() |
|
|||
На этом уроке мы получим выборки групп и команд по группам, и выведем результат в виде ассоциированного массива Отчёт отправил: 2773. Никита Выполнено за 56 мин. [Показать отчёт] Научился: Все отлично получилось вывести, использовал два запроса SELECT. Все таки запрос с JOIN'ом как-то более мне понятен, я уже к нему привык) Распишу алгоритм работы SELECT c JOIN'ом: сначала указываем поля для выборки обеих таблиц (я использовал псевдонимы для обращения к именам таблиц), далее пишем тип соединения (внешнее (левое, правое), внутреннее), в данном случае внутреннее, а потом пишем ключ - критерий, по какому столбцу будем соединять. Недаром мы использовали в таблице Team (в уроке таблица Commands) поле id_group, оно как раз и будет являться внешним ключом для таблицы Groups поля id. Сложности: Опять проблема в кодировке. Я когда через консоль вывел второй запрос SELECT, то пошли кракозябры. Изменил кодировку, все работает. Пробовал поменять кодировку БД (базы данных), но так и не получилось. WIN866 не ставится (я пробовал создать новую БД с заданной кодировкой). Я так понимаю, это просто проблема консоли, что неправильна кодировка отображается? Ведь в самой базе данные нормально (корректно) хранятся. |
|||||
10 |
![]() |
|
|||
На этом уроке мы выведем в таблицу список команд по группам с использованием представления Отчёт отправил: 2773. Никита Выполнено за 1 день 13 мин. [Показать отчёт] Научился: Вывел команды по группам. Сложности: Фух! Я это сделал. Добавил картинки (флаги стран) же изначально я в базу данных (БД). А теперь проблема встала, как это все связать? PHP не знаю совсем, в запросах не силен. Написал запрос с JOIN - на связку таблиц групп и стран (SELECT g.id, g.name, t.country, t.flag, t.info FROM Groups g JOIN Teams t ON g.id = t.id_group;), но получилось так, что при объединении естественно вместо 8 строк (у нас же 8 групп) получилось 32 строки (8 групп по 4 команды), а как вывести правильно - не знаю. Куралесил, куралесил, но добился своего! Ура! Еще очень долго мучался с изображениями, никак не мог понять, как вывести. То кавычку не поставишь или не там переменную объявишь и все, картинка не выводится. Зато какая красота получилась :) |
|||||
11 |
![]() |
|
|||
На этом уроке мы реализуем запрос INSERT с массивом данных
Отчёт отправил: 2773. Никита Выполнено за 15 мин. [Показать отчёт] Научился: Познакомился с функцией unnest. Знал, что есть такое - чтобы добавлять в базу данных (БД) сразу целый массив. А теперь знаю, как это делается :) Сложности: Сложностей не было. Я заполнил таблицу с командами еще при ее создании, но я сидел и вручную прописывал значения. А тут намного удобнее. |
|||||
12 |
![]() |
|
|||
На этом уроке мы заполним таблицу игроков парным массивом и "многомерным" VALUES Отчёт отправил: 2773. Никита Выполнено за 34 мин. [Показать отчёт] Научился: Все получилось добавить. Мне больше понравилось через массив добавлять (функция unnest). Сложности: Опять не хочет PostGreSQL работать. Пишет, что колонка не найдена. Пока не задал имена колонок в кавычках двойных, вставлять данные не хотел. Я еще хотел вывести объединение двух таблиц - игроков и страны, но не получилось - опять Postgre что-то не понравилось. Это вот очень сильно расстраивает. Я с таким не встречался еще, что "то колонки как будто такой нет, то еще что-нибудь". Работал с другими СУБД (SQL Server в основном и немного с MySQL) таких проблем вообще не наблюдалось. |
|||||
13 |
![]() |
1 тест |
|||
На этом уроке мы создадим дамп (резервную копию ) нашей базы данных и восстановим ее в новую БД Отчёт отправил: 2773. Никита Выполнено за 27 мин. [Показать отчёт] Научился: Отличный урок! Через графический интерфейс делать резервные копии и восстанавливать базу данных привычнее, но через консоль тоже надо уметь. Спасибо за урок! Сложности: Сложностей не возникло, все получилось с первого раза. Help помогает :) |
|||||
Итого: 13 видеоуроков |
2 час. 28 мин. 2 теста |
8 чел. | |||
Финалисты: WildOrc, Dmitry Sinitsin, Yefim, Никита, Иван Воронин, Yaroslav, Илья, Tom . |