0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 6
|
|
1 | |
Простая БД для простой АЗС23.11.2012, 12:47. Показов 3926. Ответов 6
Метки нет (Все метки)
Доброго времени суток. Прошу помощи в создании и связывании таблиц. Натолкните на мысль, а то я уже в прострации. БД для АЗС. Имеется три таблицы: Rashgod, Privoz, Sklad.
Rashod: Privoz: Sklad: Код Дата_пост Дата_прод Время_пост Время_прод Вид_топлива №_колонки Количество Вид_топлива Водитель Количество Цена Стоимость Оператор С таблицей Sklad не определился еще, но в ней обязательно должно отображаться текущщее количество каждого вида топлива. Дальше не получается... Добавлено через 19 минут Редактированное сообщение: Доброго времени суток. Прошу помощи в создании и связывании таблиц. Натолкните на мысль, а то я уже в прострации. БД для АЗС. Имеется три таблицы: Rashgod, Privoz, Sklad. Rashod: Код/ Дата_прод/ Время_прод/ №_колонки/ Вид_топлива/ Количество/ Цена/ Стоимость/ Оператор Privoz: Дата_пост/ Время_пост/ Вид_топлива/ Количество/ Водитель Sklad: С таблицей Sklad не определился еще, но в ней обязательно должно отображаться текущщее количество каждого вида топлива. Дальше не получается...
0
|
23.11.2012, 12:47 | |
Ответы с готовыми решениями:
6
Создание простой АЗС Cтруктура "АЗС", для каждой компании определить количество АЗС Простой код, простая, но для меня скрытая ошибка Простой массив-вектор (простая программа) |
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
23.11.2012, 15:15 | 2 |
Какую СУБД стремимся использовать?
Просьба какая-то размытая... Добавлено через 19 минут Если делать в СУБД Аксесс, то структура БД может выглядеть так: Таблицы: Колонки: (список всех номеров колонок) - Код (счетчик); - Номер (число); или (текст), если колонки могут иметь символьные номера Виды_топлива: (хранится список всех видов топлива, которые продает АЗС) - Код (счетчик) - Наименование (текст) Операторы: - Код (счетчик) - ФИО (текст) Водилы: - Код (счетчик) - ФИО (текст) Операции: (в этой таблице хранят все операции по АЗС) - Код (счетчик); - Дата_опер (дата/время); - Время_опер (текст(5)); - Код_колонки (число); - Код_Вида_топлива (число); - Количество (число); - Цена (число); - Код_Оператора (число); - Код_Водилы (число); - Признак_опер (число); 0 - приход; 1 - расход (продажа) Как видно, таблица Склад не нужна.
1
|
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 6
|
|
27.11.2012, 12:28 [ТС] | 3 |
На этой "напоминалке" отображается цена каждого вида топлива и его текущее количество. Думаю это будет удобно для оператора. СПС за таблицы, к сожалению это не мой конек. Вот если б, показал еще как их связать...
0
|
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
27.11.2012, 12:39 | 4 |
Только для такой "напоминалки" нет никакой необходимости хранить остатки (по иному: разницу, сальдо). Как только произошла какая-либо операция (по приходу или расходу), в "напоминалке" в эту же секунду меняется отображение текущего состояния остатков по всем видам топлива (благо их не так много и можно по каждому показывать). Но для этого нет никакой нужды хранить остатки - их всегда можно и нужно рассчитывать. Так что предлагаемая структура БД обыкновенная и типичная, практически, для учета любых видов товаров и продукции.
1
|
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 6
|
|
27.11.2012, 13:40 [ТС] | 5 |
Вот еще вопрос, может не в тему... В отдельной форме "Привоз топлива" я прописываю что, когда и в какое время привезли. Текущие дата и время видно в лэйблах. Из этих-же лэйблов дата и время автоматом заносятся в таблицу, в текущую запись. Так вот, потом при просмотре таблицы дата отображается нормально, а время почему-то вместе с 30.12.1899, не пойму, в чем секрет... и как это исправить.
0
|
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
27.11.2012, 14:08 | 6 |
нигде результат расчета не храниться, а только показывается. Рассчитали - показали. При старте программы кто мешает вызывать расчет остатков и показать результат? А расчет будет основан на выборке из базы. Выбрали данные, рассчитали: от прихода вычли расход. Проще расчетов не бывает. Проблему появления времени с датой можно решить разными способами. - хранить время в виде строки типа "0952"; - перед отображением в гриде (или в другом компоненте) конвертировать дату со временем, оставляя только время; - в полях датасетов есть свойство DisplayFormat с помощью которого можно "отрезать" дату от времени; - точно такое же свойство есть в колонках DBGrid.
1
|
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 6
|
|
27.11.2012, 15:54 [ТС] | 7 |
Фух. Наконец-то получилось. Большое спасибо.
Все, я понял. Не надо загромаждать базу ненужными данными, спасибо.
0
|
27.11.2012, 15:54 | |
27.11.2012, 15:54 | |
Помогаю со студенческими работами здесь
7
Определить для каждого вида бензина, сколько АЗС продают его дешевле всего Напишите программу, которая будет определять для каждого вида бензина, сколько АЗС продают его дешевле всего. Простой выбор простого движка для простого сайта с простой БД АЗС Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |