Хранение расписаний и сеансов (не веб) в SQL для запросов - PullRequest
0 голосов
/ 22 мая 2019

Я создаю приложение, которое просматривает время и расписание сеансов людей и пытаюсь определить наилучший способ хранения запрашиваемых данных.

У меня есть два набора данных, которые мне нужно объединить, используя время начала и окончания.

Очень упрощенный пример: Таблица 1: События

    CREATE TABLE EventsData (
    EventID INT,
    VenueID INT,
    EventDate DATE,
    EventStartTime TIME,
    EventEndTime TIME
    )

Таблица 2: Сессии

    CREATE TABLE SessionData (
    SessionID INT,
    PersonID INT,
    VenueID INT,
    SessionDate DATE,
    SessionStartTime TIME,
    SessionEndTime TIME
    )

То, как я сейчас собираюсь это сделать, - это создать таблицу связывания, содержащую поминутную разбивку с идентификаторами персонажа и события. Вроде как это ...

    CREATE TABLE Event2Session (
    SessionID INT,
    Minute DATETIME,
    EventID
    )

Это значительно упростит жизнь при запросе данных, но эта таблица (пусть и очень тонкая) очень быстро станет очень большой!

По текущему размеру данных таблица ссылок составляет около 2 миллионов строк в день, что не конец света, но все же больше, чем мне бы хотелось.

Одна из главных причин сделать это таким образом, что будут времена, когда люди будут иметь несколько перекрывающихся сессий. Например, мероприятие обычно длится 15–30 минут, а продолжительность сеанса может варьироваться от 1 до 200 минут.

У кого-нибудь из вас, милые люди, есть какие-нибудь умные предложения, на которые мне стоит обратить внимание?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...