Цель заброшена
Автор не отписывался в цели 8 лет 1 месяц 27 дней
Запилить преферанс и куртизанок в своей БД v.2.0
У меня имеется цель уметь в базы данных. В рамках её я немного обмазался в базовый SQL, что даже позволило мне в моей скромной локальной базке данных на MS Access (у себя на работке) избавиться от избыточности и запилить некоторый полезный функционал (касающийся вычислений) при помощи встроенных в данный диалект SQL математических функций. Оно всё работает, но есть жирный минус. В угоду целостности всё то, что должно вычисляться (а не храниться), запилено так, что вычисляется по запросу, в который вложены ещё запросы, в которые вложены ещё запросы, в которые вложены ещё запросы, которые в доме, которой построил Джек. На голом MS Access далеко не разбежишься: даже когда интересует только некоторая часть результатов расчётов, всё равно вычисляется много больше чем то, что необходимо, что сильно сказывается на скорости работы. На ЯВУ общего назначения такие вещи делать проще эффективнее.
Алсо, близится к завершению мой первый этап на пути познания С++. За прошедшее время я немного обмазался в объектно-ориентированный подход (до того имел представления только про процедурное программирование), немного обмазался в шаблоны и STL. Т.е. некоторое ненулевое представление о том, что такое С++ у меня теперь имеется.
Познания по этим двум отраслям технологий (С++ и базы данных) в итоге должны сплестись в какую-то общую вундервафлю внутри моей черепной коробки. Но для этого я должен предпринять какие-то меры aka начать что-то делать. Собственно, пока я только собираюсь сблизить эти две разрозненные (у меня в голове) вещи. Ну действовать намерен примерно следующим образом.
1. MS Access подойдёт для тех, кто совсем не умеет в базы данных, ну прям совсем нуль. Позволяет получить некоторые начальные представления. Далее мне потребуется что-то другое. И вот я узнал про SQLite. Почитал, поигрался. Понравилось то, что его можно прям "встроить" в своё приложение. Исходники открытые. Никаких ADO или ещё чего-то, с чем ещё нужно разбираться, пока не потребуется. Пробовал запилить простенькое приложение на плюсах, подключающееся к файлу, который база данных, всё просто, всё взлетело. Собственно я собираюсь запилить на SQLite базу, повторяющую по структуре то, что у меня запилено в MS Access и залить туда имеющиеся на данный момент данные. По части запросов - не делать так громоздко (чтоб быстро работало), а всякое вычислительное - переложить на приложение, ибо там более гибко.
2. На С++ запилить (консольное) приложение, которое будет подключаться к этой базе данных, читать/писать туда, вычислять и показывать всякое, что у меня вычислялось и показывалось при помощи встроенных в мелкомягкий SQL математических функций, ну и предоставлять соответствующий интуитивно понятный пользовательский интерфейс.
Понятное дело, что для серьёзных программистов это раз плюнуть, но я в такое пока не умею, так что для меня challenge.
В последствии, при более глубоком изучении С++ (и того что вокруг него), а так же более солидных СУБД, часть программы, касающаяся получения информации из БД и записи её туда, можно перепилить под использование более солидных инструментов. Ну или там поназапиливать графических интерфейсов. Но это уже преферанс и куртизанки v.3.
Критерий завершения
Консольное приложение на C++, которое пишет/читает в БД SQLite и может чуть более чем в то, во что у меня может база на MS Access, но быстро и без жжения в анусе.
Экологичность цели
Поупражняться в прогрмирвоне на C++
Подружиться с STL
Подружиться с SQLite
Сделать, наконец, что-то, что можно показывать другим людям (возможно, получится не йобаныйстыд)
-
База данных
-
Запилить пустую базу, но с нужной схемой
-
Залить в базу какие-то данные для упражнений на кошках (тестовая)
-
-
Приложение
-
Определиться с тем, во что оно должно уметь (полный исчерпывающий список)
-
Определиться с тем, как оно должно в это уметь (архитектурка/дизайнчик)
-
Запилить
-
Потестировать/отладить на кошках
-
-
Более-менее рабочий вариант
-
Залить в базу не игрушечные данные
-
Работать с этим месяцок-два
-
- 1699
- 10 августа 2016, 13:24
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением