Використовувати або не використовувати класи стосунків?


12

Я будую урядову базу даних з величезної кількості даних. Зараз я дотримуюсь стандартного підходу моделі даних про місцеве самоврядування ESRI, але модифікованого відповідно до потреб і потреб конкретного уряду.

Я помітив, що в моделі даних місцевого самоврядування ESRI використовує безліч класів взаємовідносин. У минулому я використовував класи стосунків, але схильний уникати їх. Це тому, що я зазвичай не бачу причини, чому я хотів би атрибути про фігуру в окремій таблиці з класу функцій.

Майже для всіх даних, які я збираю, я досі не бачу причини для цього. Для тканини посилок я можу побачити деякі причини, за яких це було б корисно, але все ж я вважаю, що найкраще все-таки зберігати атрибути безпосередньо в класі функцій.

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

У будь-якому випадку, дякую за будь-які люди, що входять!

Відповіді:


17

Причина того, що люди організовують дані в окремі таблиці, полягає в принципах нормалізації бази даних (перейдіть за посиланням, все обгрунтування є). Незважаючи на це, класи взаємин ESRI - це реалізація цих принципів на рівні GeoDatabase. Чесно кажучи, я особисто використовував би їх лише у двох випадках:

Хоча люди можуть стверджувати, що референтна цілісність є однією з переваг, правда полягає в тому, що її можна обійти за допомогою SQL-підказки, тому користь від цього дійсно залежить від робочого процесу, який ви маєте для зміни цього (тобто люди використовують лише ArcMap для редагувати проти людей також редагувати за допомогою SQL-запитів або не-ESRI-інструментів).


2
Вау, чудова відповідь. Великий великий світ теорії баз даних просто роздув мій погляд. Дякую тонну за вклад!
Коді Браун

8

Подумайте про більшу картину - дані ГІС є лише засобом для досягнення мети для більшості людей, особливо якщо мова йде про державні установи. Мій досвід показав, що класи відносин є в першу чергу корисними (і доцільними), коли вам потрібно включити непросторові дані з одним: багато співвідношень до ваших просторових даних, особливо якщо вони є із зовнішнього джерела або постійно змінюються . Деякі приклади реального світу, з якими я стикався з державними структурами, можуть допомогти проілюструвати це:

  • Зберігання декількох непросторових записів про функцію (наприклад, записи щомісячних оглядів на гідрант або клапан)
  • Посилання на пов'язані записи з джерела даних, яким ви не керуєте (наприклад, зчитування записів обслуговування з бази даних сторонньої програми управління активами)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.