|
 64.5 Кб |
|
| Добрый день! Хочу перенести рутинную работу в Экселе в веб-интерфейс.
Значит сейчас учёт ведётся так - имеется таблица "Адресная программа рекламных щитов" (знаете, что по городу такие стоят большие) с полями:
номер щита, адрес щита, сторона (бывает А и Б), цена, январь, февраль, март
Каждый щит может может иметь как одну сторону А или Б, так и две одновременно (щаще 2), поля январь-февраль-март меняются с течением времени на "февраль-март-апрель" вручную, и могут иметь значения свободно, резерв, занято.
Также имеется вторая таблица "ведомость", с полями номер щита, сторона, январь, февраль, март - которые тоже меняются с течением времени вручную, и в которые пишется название фирмы или частного лица, которое взяло в аренду щит.
Как-бы, если будет инфа по клиентам, то и таблицу клиенты новую прийдется создать в mysql, для более детальной инфы.
В общем, хочу сделать веб-интерфейс для автоматизации этой работы и более наглядного и удобного вывода информации. Но не могу сформировать логичную базу данных для этих целей :)
Помогите, пожалуйста, какие таблицы былоб логичнее сделать? И как сделать таблицу клиентов, таблицу свободных щитов, таблицу всех щитов? | |
|
|
|
|
|
|
|
для: Logos
(24.01.2012 в 15:20)
| | 1. Для щитов лучше завести отдельную таблицу. Причем пусть она содержит для каждого двухстороннего щита две записи, чтобы можно было каждую сторону арендовать независимо и по всей остальной базе данных ссылаться на номер конкретной половины щита. Или можно сделать так, чтобы была таблица щитов, и таблица площадей, тогда в таблице щитов будет одна запись, а в таблице площадей для щитов будет две записи на каждую половину, тогда из других таблиц можно будет ссылаться на конкретный щит (если речь об адресе) или на конкретную площадь, щит такой-то, половина А.
2. Нужна таблица интервалов, в которой будет номер рекламной площади, номер заказчика, начало интервала, конец интервала (остальные поля, комментарии, цена - по мере надобности).
Т.е. для начала нужны
1. Таблица площадей (+ таблица щитов, если в ней есть потребность).
2. Таблица заказчиков
3. Таблица заказов (интервалов), с возможностью указания активного заказа или резерва (потенциального заказа).
PS На эту базу данных можно начинать навешивать приложение, вводя дополнительные таблицы по мере надобности (если в них вообще возникнет необходимость). | |
|
|
|
|
|
|
|
для: cheops
(24.01.2012 в 15:37)
| | вот спасибо, добрый человек! про таблицу заказов, можете поподробнее, как сделать лучше?
в ней начало интервала и конец есть, а ведь бывает клиент сразу на 3 месяца арендует, или в резерв ставит, или свободная она...это всё как потом юзать? если можете, поподробнее объясните? прикручивать буду с помощью php если что... | |
|
|
|
|
|
|
|
для: Logos
(24.01.2012 в 15:42)
| | Лучше всего завести в ней автоинкрементный первичный ключ, чтобы формировать номер заказа, помимо его предусмотреть поле id_user, чтобы ссылаться на таблицу заказчиков, поле id_advpanel для ссылки на таблицу рекламных щитов, поле типа DATETIME с именем start для начала временного интервала и поле DATETIME с именем end для окончания временного интервала. Для статуса можно завести поле ENUM, а можно возможные статусы вынести в отдельную таблицу и ссылаться на них по ключу id_status. Кроме того, не лишним будет поле комментария comment, чтобы делать заметки относительно заказа (ну там ураган все снес, заказ продлили, от заказа отказались, телефон для связи, ответственный за заказ). Если этих заметок тоже много и в них часто возникает потребность тоже стоит их вынести в отдельную таблицу. В общем начните работать, а по ходу дела таблицы и их структуру можно менять. Не понравится - переделаете. | |
|
|
|
|
|
|
|
для: cheops
(24.01.2012 в 15:50)
| | подскажите, а вот если статус у щита на каждый месяц разный, т.е. на этот свободен, а потом зарезервирован, а потом точно занят, то как это реализовать? полдня думаю, не могу придуматЬ:( | |
|
|
|
|
|
|
|
для: Logos
(15.03.2012 в 14:56)
| | не читал предыдущие коменты вывод делаю по последнему:
подскажите, а вот если статус у щита на каждый месяц разный, т.е. на этот свободен, а потом зарезервирован, а потом точно занят, то как это реализовать? полдня думаю, не могу придумат
Таблица "status" - где 2 поля, первое - уникальный идентификатор статуса, второе поле сам статус - тип поля enum, которое может принимать определённое кол-во значений(например: свободен, зарезервирован или занят)... А в таблице самими щитами есть внешний ключ, указывающий на таблицу статусов.
таблица статусы
id status
1 занят
2 зарезервирован
3 свободен
Таблица щиты
id content status_id
1 'любая инфа' 2 // то есть видим что есть щит и что он зарезервированн
2 'тоже инфа' 1 // есть щит и он свободен
3 'еще инфа' 1 // тоже свободен
|
удобно, и нормализованно)
Смотря какой месяц.. ту циферку и ставишь щиту)))) | |
|
|
|
|
|
|
|
для: Роккер Руслан
(15.03.2012 в 18:03)
| | можно не таблицу, а массив создать - данные то статичные. | |
|
|
|
|