Дизайн таблицы SQL для отслеживания повреждений в прицепе

#sql-server-2008 #database-design

#sql-server-2008 #база данных-дизайн

Вопрос:

Я хочу создать таблицу SQL, в которой я мог бы сохранить все повреждения, отмеченные на изображении трейлера, сзади, спереди, слева, справа, от пола и потолка, это нужно делать, когда трейлер покидает базу и когда возвращается на базу.

 http://previews.123rf.com/images/dymentyd/dymentyd1511/dymentyd151100021/48099625-Front-back-top-and-side-semi-trailer-for-truck-projection-Flat-illustration-for-designing-icons-Stock-Vector.jpg
  

Я думаю, я могу разделить все изображения на девять частей, вот так:

  ________________
|____|_____|_____| 
|____|_____|_____| 
 o o          I         
  

и щелкните на соответствующем месте с повреждением, это может быть один или несколько.
но с 6 сторонами и 9 частями это будет 54 пятна.

В день совершается около 500 поездок и более 800 трейлеров, конечно, не все трейлеры будут повреждены во время поездки, но когда они возвращаются на базу, мы хотим знать, есть ли какие-либо новые повреждения, поэтому нам нужно сравнить до и после.

Как это было бы наилучшим способом сделать это? итак, я могу выполнить запрос select и сравнить данные.

Я думаю, что иметь 54 столбца в таблице для одного и того же — не очень хорошая идея, может быть, что-то вроде столбца [ущерб] и вставить номера точек от 1 до 54.

  _______________
|Trailer| Damage| 
|-------|-------| 
|t-3534 | 1,3,54| 
|t-7523 | 23    | 
|t-3562 | 11,12 | 
  

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

Ответ №1:

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

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

 Trailer   Location Description
t-3534         1   Minor scratch
t-3534         3   Minor dent
t-3534        54   Smashed tail-light
t-3534        54   Loose fender/bumper
  

Другие улучшения, которые вы могли бы рассмотреть

  • Отслеживайте, когда произошло повреждение, используя столбец даты / времени или ссылку на таблицу поездок
  • Измените описание на ссылку на другую таблицу с предопределенными типами повреждений
  • местоположение может быть более «детализированным», например, разделенным на две части «сторона» и «положение»

Все это, конечно, зависит от других требований, которые у вас могут быть

Комментарии:

1. Спасибо за вашу помощь, мне нравится идея создания собственной записи и других улучшений, я внесу изменения и дам вам знать, как это работает. Еще раз спасибо.