Най-добрата дизайнерска практика за запазване на много координати в база данни mysql?

Аз съм нов ученик в света на проектирането на бази данни и бях помолен да моделирам такава за приложение, което ще има около 5-6 формуляра, като единственото общо нещо е, че те трябва да позволяват на потребителя да избира и запазва координати (в дължина и ширина) от карта. Съмнявам се къде да намеря тези полета, измислих две опции, но не съм сигурен, че те са най-добрата практика или дали има по-добра.

Вариант 1: Таблица за всеки формуляр, която включва техния идентификатор, необходими полета и географска дължина и ширина за всеки от тях.

Опция 2: Същото като по-горе, но с отделна таблица за всички координати, като със собствен идентификатор и полета като FK за всички други таблици на формуляри, които ще имат стойности само ако координатите, които трябва да бъдат записани, са свързани с тях или не. Нещо като това:

Пример за това как виждам своя вариант 2

Сетих се за вариант 2, защото вариант 1 изглеждаше повтарящ се с необходимостта от добавяне на полета за ширина и дължина на всяка таблица и сега не мога да реша!. Разбира се, сигурен съм, че вие ​​ще знаете по-добре и оценявам всеки съвет, който мога да получа.

Благодаря много предварително!!


person Lg3443    schedule 14.04.2018    source източник
comment
Съмнявам се, че можем да отговорим за вашия конкретен случай, но като цяло базата данни не трябва да има структура, която по някакъв начин да наподобява формуляра(ите)   -  person Strawberry    schedule 14.04.2018
comment
Благодаря ви много за коментара. И така, безопасно ли е да повярвам, че ми казвате, че и двете опции са ок?   -  person Lg3443    schedule 16.04.2018
comment
Бих казал, че нито един от двата варианта не е добър, но вариант 2 е по-лош.   -  person Strawberry    schedule 16.04.2018


Отговори (1)


Не поставяйте стойности, особено числа, в отделна таблица. Дръжте ги в главната маса, откъдето могат лесно да бъдат извлечени.

Това също позволява много по-лесно използване на числовите стойности при тестване на "диапазон".

person Rick James    schedule 02.05.2018