Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

База SQLite / SQLite - Самостоятельная работа

  • На этом уроке у меня для вас самостоятельное задание.
    Смотрите видео для подробного описания.
  • Дата отправки отчёта: 16 апреля 2017 г.
  • Задание выполнено: за 14 час. 00 мин.
  • Чему научился: Работе с SQLite в Java
  • Что было сложным: найти время
  • Комментарии: Реализовал поддержку ввода имени БД, если таковая не найдена, то предлагается создать её со всеми необходимыми таблицами для корректной работы системы.
    Если же БД будет найдена, автоматически к ней подключится и отобразит количество студентов и лекций, которые в ней присутствуют.
    Потратив не мало времени, всё же удалось решить проблему с полной поддержкой русского языка как при сохранении в БД, так и загрузки оттуда.
    Так же записи на русском языке корректно отображаются и через консоль SQLite.
    На видео демонстрация работы программы:
    1 - добавление 5 студентов
    2 - добавление 5 лекций
    3 - запись всех студентов на все лекции
    4 - после добавления студента на лекцию, предлагается сгенерировать для него сразу 10 случайных оценок, если отказаться, то в последствии только вручную можно будет добавлять оценки.
    5 - отображение карточки студента после того как ему добавили оценки
    6 - отображение списка студентов
    7 - отображение списка лекций
    8 - отображение статистики успеваемости по всей БД
    Сделал динамичное обрамление статистики, чтобы не дублировалось название лекции более 1 раза при списке из нескольких студентов
    Так же сделал отображение лучшего среднего бала суммарно не по всем лекциям, как предложено в задании, а по каждой лекции и студенту отдельно.
    Таким образом, если максимальный средний балл будет одинаков сразу у нескольких студентов, они будут отображены, а те, кого не показали, значит у них по всем предметам средний балл соответственно ниже.
    Естественно добавлена защита от ввода недопустимых значений, запись студента только на те лекции, которые доступны для записи (на те, на которые он не записан, просто не отображаются в списке и если попытаться ввести их айди, выдаст ошибку)
    Отображается общее количество оценок в шапке таблицы, а сама таблица выводит только те лекции, где больше всего оценок, если оценок одинаковое количество сразу у нескольких лекций, то отображаются все.
    Модернизировал класс ConsoleArt(), добавлена поддержка выбора кодировки в которой будет отображаться информация в консоли.
    База данных состоит из 4 таблиц, как видно из видео, каждая таблица хранит в себе свои данные, которые связаны между собой при помощи айди записи, тем самым оптимально используя ресурсы БД и скорость работы с ней.
    з.ы.
    Так как подобную программу уже делали в курсе Java Book, но там использовали сериализацию в качестве хранения данных (с ростом размера БД она работала бы дольше, чем эта версия с SQLite).
    Решил использовать наработки по оформлению программы и заимствовал часть функционала, которые пришлось переписать для оптимальной работы с SQLite запросами, так как запросы возвращают уже необходимые данные, а не всю БД целиком.
    В итоге эта версия программы намного интереснее и лучше, чем версия с сериализацией =)

    Всем спасибо за просмотр, делал несколько дублей, в итоге решил сделать техническое видео, так как саму программу написал уже давно, а всё никак не залью отчёт, так как хотелось добавить и видео (как сказал студент Игромистра: Михаил Острый - тут двумя скриншотами не обойтись).
  • Оценка видео-уроку:
  • Видеозапись: https://youtu.be/gzgMuP91w5E
Отчёт от 10558 за База SQLite / SQLite - Самостоятельная работа


Отчёт от 10558 за База SQLite / SQLite - Самостоятельная работа




Оцени работу

 
Сохранить страницу:

3922. --
Александр
Александр
ответить
→  Иван Воронин  # База SQLite / SQLite - Самостоятельная работа / 2017-04-16 12:50

Молодец, Иван! Хорошо поработал!


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Иван Воронин  # База SQLite / SQLite - Самостоятельная работа / 2017-04-17 01:53

Посмотрел видео, лучше бы ты не простыню здесь писал, а на видео комментарии проговорил.
Хорошая работа, круть!


10558. --
Иван Воронин
Иван Воронин
ответить
→  Евгений Волосатов  # База SQLite / SQLite - Самостоятельная работа / 2017-04-17 01:55

Первые дубли я так и сделал, но вечно что-то на половине записи отвлекало, а со временем и так туго, на разработку ушло не мало, поэтому решил реализовать под музычку с описанием. Хотя хотел комментировать, но что-то не срослось.


10670. --
Сергей Соколов
Сергей Соколов
ответить
→  Иван Воронин  # База SQLite / SQLite - Самостоятельная работа / 2017-04-17 22:29

Отличная работа! Молодец! =)



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Ознакомился с SQLite базой данных и её командами. Создал пример базы на одной табличке и связал её с Java программированием . Запросы через консоль мы делали уже на другом уроке.



Научился: Повторенье - мать ученья!
Мой вопрос: У какого студента больше всего оценок?