Я работаю над созданием программного обеспечения для оценки работы для семейного бизнеса по благоустройству дома, и у меня возникла небольшая головоломка о том, как лучше организовать мои данные. Конечно, будет таблица БД для «заданий», в которой хранятся имя, адрес, описание задания и т. Д.
Каждое задание имеет серию измерений, связанных с ним, которые затем будут использоваться для генерации оценки (отправленной потенциальному клиенту) и загрузочного листа (используемого для определения того, какие материалы необходимо доставить на площадку задания). .
Моя проблема в том, что измерения не все согласованы. Вот небольшой код, который я собрал, чтобы проверить концепцию - обратите внимание, что для некоторых измерений требуется несколько массивов (см .: желоба и затворы) и что для многих элементов требуется больше, чем стандартные ключи (количество, единица измерения, описание, цена).
Не секрет, что я не программист, но я здесь, чтобы учиться. Является ли MySQL неправильным инструментом для работы здесь? Нужен ли мне другой инструмент или я должен отказаться от идеи использовать БД для этого вообще? Если ответом является MySQL, как мне организовать эти данные?
Я считал, что JSON хранится в БД, но, похоже, это плохая форма.
<?php
$gable_soffit = array(
'qty'=>125,
'uom'=>'ft',
'desc'=>"Gable Soffit",
'price'=>6.50,
'os'=>12, // inches
'ss'=>12 // inches
);
// qty, uom, desc, price, overhang size, soffit size
$level_soffit = array(
'qty'=>200,
'uom'=>'ft',
'desc'=>"Level Soffit",
'price'=>6.50,
'os'=>12, // inches
'ss'=>12 // inches
);
// qty, uom, price,desc
$brick_mold = array(
'qty'=>15,
'uom'=>feet,
'price'=>1.50,
'desc'=>"Brick Mold"
);
$gable_vents = array(
'qty'=>5,
'uom'=>ea,
'price'=>48.00,
'desc'=>"Gable Vents"
);
$window_tops = array(
'qty'=>2,
'uom'=>ea,
'price'=>10.00,
'desc'=>"Window Tops"
);
$openings = array(
'qty'=>2,
'uom'=>ea,
'price'=>50,
'desc'=>"Openings Capped"
);
$garage_doors = array(
'qty'=>1,
'uom'=>ea,
'price'=>100,
'desc'=>"Garage Doors Capped"
);
$porch_ceiling = array(
'qty'=>124,
'uom'=>sqft,
'price'=>2.00,
'desc'=>"Porch Ceiling"
);
$porch_beam = array(
'qty'=>36,
'uom'=>ft,
'price'=>3.60,
'desc'=>"Porch Beam"
);
$siding = array(
'qty'=>22,
'uom'=>sq,
'price'=>165.00,
'desc'=>"Siding"
);
$insulation = array(
'qty'=>22,
'uom'=>"sq",
'price'=>30.00,
'desc'=>"Insulation"
);
$shutters = array(
array(
'type'=>'Louvered',
'length'=>50,
'width'=>12,
'color'=>'Brick Red'
),
array(
'type'=>'Louvered',
'length'=>50,
'width'=>12,
'color'=>'Brick Red'
),
array(
'type'=>'Raised Panel',
'length'=>36,
'width'=>12,
'color'=>'Black'
),
array(
'type'=>'Raised Panel',
'length'=>50,
'width'=>12,
'color'=>'Black'
),
);
$gutters = array(
array(
'qty'=>100,
'type'=>"5-inch",
'uom'=>"ft",
'desc'=>"5-inch Gutter",
'price'=>3.00
),
array(
'qty'=>50,
'type'=>"6-inch",
'uom'=>"ft",
'desc'=>"6-inch Gutter",
'price'=>4.00
),
array(
'qty'=>10,
'type'=>"screen",
'uom'=>"ft",
'desc'=>"Gutter Screen",
'price'=>2.00
),
array(
'qty'=>5,
'type'=>"guard",
'uom'=>"ft",
'desc'=>"Gutter Guard",
'price'=>5.00
)
);
?>