Как установить поля базы данных для таблицы расписания радиопрограмм и как получить данные? - PullRequest
0 голосов
/ 28 февраля 2012

Я работаю над проектом радио-сайта на базе Codeigniter.

Вот макет расписания: http://postimage.org/image/nb68dfr9t/

Теперь у меня есть таблица программ. Внутри находятся поля programme_id, programme_title, programme_content, programme_day, programme_time.

Если бы одна программа должна была выходить в эфир только 1 день недели, у меня не было бы никаких проблем. Я мог бы легко установить поле programme_day для передачи в качестве переменной в Codeigniter (например, день / шоу / понедельник).

Но ситуация намного сложнее.

Одна радиопрограмма может быть только в 1 день недели, в будние дни, в выходные или даже, скажем, в понедельник, среду и пятницу ...

Так как мне установить поля моей базы данных в этом случае? Думаю, одного поля под названием «Programme_day» будет недостаточно.

Какая лучшая практика для этого?

Спасибо ...

Ответы [ 4 ]

0 голосов
/ 10 февраля 2016

может выглядеть так http://radio.cvmiladiyyah.web.id/jadwal

Я когда-нибудь беру проектное радио.

0 голосов
/ 28 февраля 2012

1. Если вы хотите увидеть все один раз, иметь столбец понедельник, вторник и т. Д., Каждый логический (если каждый день они запускаются в одно и то же время).Простота извлечения данных, даже если это выглядит сложно.

2. Если вы хотите самое простое решение, я говорю, что вы должны добавлять программу на каждый день.Получить данные по-прежнему просто.

3. Если вы ДЕЙСТВИТЕЛЬНО хотите, чтобы это занимало как можно меньше места, присвойте 1 понедельнику, 2 вторнику, 4 среде и т. Д.,затем выберите, в какие дни он работает, и добавьте их, и это будет значение дня.Если вы используете это, то трудно получить данные.Это вариант решения 1.

4. Если вам нужно немного меньше места, чем требуется для решения 2, добавьте таблицу, содержащую все детали, кроме времени, и таблицу, содержащую только дни и времена.(и, конечно, ID).

По-моему, я бы выбрал решение 2 , которое позволяет планировать программы на разное время каждый день и не требует никаких изменений.Или, если вы хотите использовать меньше места, вы можете попробовать решение 4 .Решение 1 также имеет некоторые преимущества, но оно обладает меньшими функциональными возможностями, чем 2 и 4. Решение 3 имеет те же проблемы, что и решение 1, но оно слишком сложное (но требует меньше столбцов, поэтому немного менее сложное по структуре).Но я все еще говорю, что решение 2 или решение 4 работают лучше всего.

0 голосов
/ 28 февраля 2012

Вам следует создать еще одну таблицу для расписания программ, в которой вы будете поддерживать расписание программ.Структура таблицы что-то вроде program_id, program_day, program_time.Таким образом, вы можете легко управлять записями.

0 голосов
/ 28 февраля 2012

У меня была бы таблица программ, затем таблица расписания программ, которая принимает программу PK и имеет дату / время, когда она выходит в эфир.Таким образом, у вас будет отношение 1: N

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