Створіть стовпчик вторинної геометрії з трьома вимірами, щоб утримувати вершини рядкових рядків, що мають триординатні (потрійні) значення. Щоб ця схема працювала, передбачаються наступні припущення:
- рядок рядка дійсний, він не містить дублюваних точок
- геометрії - це рядки
- повинно бути принаймні дві вершини з 3d координатами в заданій геометрії, щоб воно було елегантним для зберігання у вторинному стовпчику геометрії
- тригер заповнить стовпчик вторинної геометрії, щоб зберегти його ACID.
Дійсна геометрія повинна бути достатньою, щоб не дозволяти дублювати точки в рядках рядків і не мати самостійного перетину. Таким чином, кожна координата поводитиметься як ключ праймера для ідентифікації вершини в геометрії джерела.
Це правильно і в реляційній моделі:
- не буде повторного зменшення, вершина без інформації не відображається у стовпчику геометрії
- зміни вихідних даних будуть поширюватися на похідні дані тригером.
- у базі даних зберігатиметься лише інформація, яка вважається правдою , не створюються штучні дані.
У випадку з багаторядковим рядком речі можуть бути дещо складнішими, оскільки тепер повинна бути додаткова таблиця з складеним первинним ключем:
- рядовий (gid, унікальний ідентифікатор) геометрії джерела
- положення геометріїN всередині даної MultiGeometry, яке повинно бути перевірено, що знаходиться всередині інтервалу [1-N]
- ключ передбачення до пов'язаної таблиці rowid (gid)
- функція спрацьовування / перевірки, щоб забезпечити дійсність інтервалу
Первинний ключ, зазначений вище, запобігає вставленню дублюваних індексів геометрії для заданої геометрії. Тригер / перевірка запобігає недійсним індексам. Також рядки тут повинні бути з вихідних даних, наданих іноземним ключем. Діють усі попередні правила.
Спрощенням було б використання додаткового стовпця, але не доброї геометрії, а того ж типу значення Z, оголошеного як масив.