Задать вопрос
  • Как организовать структуру базы данных для небольшого приложения?

    2ord
    @2ord
    Здравствуйте!
    Любопытно встретить врача на Тостере. :-)
    Я думаю, что смог бы вам помочь, однако из-за расплывчатости описания структур данных и отсутствия понимания предмета не могу дать точного ответа.

    345,500,420,111111111111,222222222222,333333333333,12052018,09022018,06012018
    .........
    245,777777777777,18022018

    345,500,420 - это наверно v1, v2, v3 (v - volume, тип integer)
    111111111111,222222222222,333333333333 - это наверно te1, te2, te3 (te - transfusion environment, тип integer)
    12052018,09022018,06012018 - это наверно ed1, ed2, ed3 (ed - expiration date, тип Date)
    Затем в 3-й строке примера
    245 - это наверно v1
    777777777777 - это наверно te1
    18022018 - это наверно ed1

    Если я верно понял, в каждой строке CSV может храниться разное количество столбцов, в зависимости от типа ТС. Это так?
    Почему в 1-й строке 9 значений, а в 3-й лишь 3?
    Можно ли заранее знать сколько значений в некоторой строчке? Или для этого нужно прочесть все значения поочередно в заданной строке?

    Всю эту кашу с данными нужно понять с точки зрения:
    • типов данных
    • размерности каждого типа данных
    • зависимости одного типа данных от другого

    Все эти данные считываются в 3-мерный массив
    Есть ощущение, что это излишнее пересложнение. Я думаю это вряд ли это имеет что-то общее с линейной алгеброй.

    По-моему, на 99% имеются более оптимальные решения по работе с вышеприведёнными данными.
    В первую очередь, формат CSV не годится для хранения векторов данных разных длин (переменного количества столбцов). Во-вторых, он не годится в качестве БД. Обычно CSV является промежуточным форматом для обмена информации, но не более того. Вместо CSV стоило взять реляционную СУБД (MySQL, Firebird, SQL Server Express).
    А если система однопользовательская и не нужна авторизация пользователей, то вообще достаточно СУБД SQLite (через интерфейс JDBC), файл БД которой представляет из себя единичный файл .sqlite.

    P.S.
    И когда же у вас получается находить время программировать? :-o
    Ответ написан
    1 комментарий