Нужно узнать пункт закона?Статьи в Справочнике состоят из параграфов, почти каждый из которых сопровождается соответствующими цитатами из нормативных правовых документов. Такие параграфы отмечены зеленой или желтой линией (подробнее). Чтобы показать цитаты, нажмите на иконку « » справа от текста. |
Совокупность данных, организованная в соответствии с концептуальной структурой, которая описывает характеристики этих данных и взаимосвязи между их соответствующими объектами, обеспечивая одну или несколько областей применения.
Совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.
База данных, данные в которой организованы по реляционной модели.
Видов баз данных много. В реляционных информация хранится в таблицах, где каждая строка — это информация о некоем объекте или событии, а строки — их отдельные характеристики, которые еще называют атрибутами или полями.
Реляционной, то есть основанной на «отношениях», базу данных можно назвать по двум причинам:
Программное обеспечение, позволяющее создавать, администрировать базы данных и выполнять все или некоторые операции с данными, которые принято разделять на четыре вида:
Предварительное проектирование обязательно нужно в следующих ситуациях:
Схема структурирования данных в базе данных в соответствии с формальными описаниями в ее информационной системе и требованиями используемой системы управления базой данных.
Модель данных, структура которой основана на реляционных отношениях.
Модель, описывающая структуру реляционной базы данных в виде учитываемых сущностей и связей между ними.
Графическая нотация или набор условных знаков, с помощью которых достаточно удобно проектировать реляционные базы данных в рамках ER-модели. В самой простой для использования версии диаграммы всего три обозначения:
Что угодно, что имеет смысл выделить в рассматриваемом случае, и информацию о чем удобно хранить отдельно. Обычно это понятный предмет реального мира, некий виртуальный объект или запись о некоем событии или факте.
В ER-диаграмме сущности изображают в виде прямоугольника с указанным внутри названием. Так как в таблице обычно содержатся сведения о множестве объектов, то логично называть сущности во множественном числе.
После проектирования, когда дело дойдет уже до создания непосредственно рабочей базы данных, сущности превратятся в отдельные таблицы.
Любые свойства сущности, необходимые для решения задач, которые ставятся перед информационной системой, работающей с данной базой данных. Это может быть имя для человека, площадь для земельного участка и так далее.
В простой ER-диаграмме названия атрибутов пишутся в столбик под именем сущности. Имена характеристикам стоит давать простые, короткие и однозначные. Не надо уточнять, про какой объект идет речь, вроде «Адрес участка» для сущности «Участки», ведь и так ясно, что это свойство участка.
Позже, в рабочей таблице атрибуты превратятся в ее колонки.
Сразу стоит отмечать, какие из атрибутов являются первичными ключами. Это можно сделать, например, указав «ПК» перед названием атрибута. Во многих СУБД первичные ключи отмечаются символом ключа.
Также имеет смысл подписывать справа от названий атрибутов форматы данных, например, int для целочисленных значений, text — для текстовых и так далее.
Связи описывают отношения между сущностями. Принято выделять три вида:
Здесь стоит заметить, что «один-к-одному» это частный случай «один-ко-многим» и встречается очень редко.
В простой ER-диаграмме связи показываются линиями от одной сущности до другой или, если более точно, от внешнего ключа в одной таблицы до соответствующего первичного ключа в другой. На каждом конце линии указывают соответствующую степень — один или много. В качестве обозначения «много» рекомендуется писать «n», но в примерах можно встретить «*», «∞» или трезубец.
В рабочих таблицах эти связи реализовываются с помощью внешних ключей или промежуточных таблиц.
Первое время кажется сложным определить вид связи, но это очень легко сделать, задав себе вслух для каждой пары сущностей вопросы вида «С одним А сколько Б связано?» и «С одним Б сколько А связано?»
Например, у нас есть Здания и Помещения. Зададим вопросы:
Определенный массив объектов данных конкретной структуры данных и набор допустимых операций, в рамках которых эти объекты данных выступают в роли операндов при выполнении любой из этих операций.
Например, целочисленный тип данных имеет простую структуру, каждый экземпляр которой, обычно называемый значением, представляет собой член заданного диапазона целых чисел, а допустимые действия включают в себя обычные арифметические операции над этими целыми числами.
Для начала стоит доработать диаграмму, чтобы убедиться, что все готово для создания таблиц в точности по ней:
В информационных технологиях — ключ порции данных, значения которого однозначно идентифицируют порции данных в заданной их совокупности.
Можно сказать, что это уникальный идентификатор каждой строки в таблице. В большинстве случаев можно просто в каждую таблицу добавить (обычно первым) атрибут с общепринятым именем «ID» и типом int — целочисленный. Это будет просто номер строки в порядке добавления.
Тем не менее, никто не запрещает называть первичные ключи, да и любые другие атрибуты, как угодно иначе. Более того, первичные ключи могут быть составными, например для помещения это могут быть два атрибута: «Здание» и «Номер». По-отдельности они не уникальны, но их совокупность будет однозначно идентифицировать каждую строку.
В информационных технологиях — ключ порции данных, значения которого могут быть одинаковыми для нескольких порций данных в заданной их совокупности.
Говоря проще, это атрибут сущности, по сути являющийся ссылкой на другую сущность. Например, в таблице «Помещения» логично создать ссылку на здание, в котором находится каждое помещение.
Именовать внешние ключи лучше так, как называется другая соответствующая (внешняя) таблица, но в единственном числе, например, «здание». Нет нужды писать что-то вроде «ID здания», так как это несколько визуально «захламляет» структуру базы данных. Keep it simple.
Когда мы будем описывать конкретное помещение, мы не будем писать адрес здания или другую его характеристику, чтобы понять о каком объекте капитального строительства идет речь. Вместо этого мы во внешнем ключе с именем «здание» в таблице «Помещения» просто напишем идентификатор нужного здания (грубо говоря — номер строки).
С расстановкой внешних ключей ситуация сложнее. На время обучения рекомендуется следующий «автоматический» способ, который позволит вам решить эту задачу верно, хоть и неосознанно. В дальнейшем, по мере накопления опыта, это уже не понадобится:
Применительно к реляционным базам данным под нормализацией понимают последовательное улучшение структуры базы данных, то есть ее ER-модели в целях избавления от дублирования данных и общей несогласованности.
По мере выполнения проверок считается, что база данных находится в той или иной нормальной форме:
Есть и другие нормальные формы, но рассматриваемые в них случаи весьма нетривиальны. Первых трех достаточно в большинстве случаев.
Язык с использованием формального синтаксиса, предназначенный для определения, создания, организации доступа и поддержки базы данных.
Язык баз данных, описанный в Международном стандарте ISO/IEC (ИСО/МЭК) 9075.
Запросы на языке SQL основаны на реляционной алгебре, то есть на системе операций над отношениями в реляционной модели данных.
Проекция — это операция в реляционной алгебре, при которой из таблицы выбираются нужные столбцы, например:
Выбор одного столбца из таблицы
SELECT area FROM rooms;
Выбор нескольких произвольных столбцов в одной таблице
SELECT id, area FROM rooms;
Выбор всех столбцов в одной таблице
SELECT * FROM rooms;
Создание псевдонимов столбцов
SELECT area AS Площадь FROM rooms;
Удаление дубликатов строк (без удаления данных)
SELECT DISTINCT area FROM rooms;
Выполнение сортировки по одному произвольному столбцу
SELECT area FROM rooms ORDER BY area ASC/DESC;
Сортировка по нескольким столбцам
SELECT area FROM rooms ORDER BY building ASC/DESC, area ASC/DESC;
Выборка — это операция в реляционной алгебре, при которой из таблицы выбираются нужные строки, например:
Фильтрация строк с помощью произвольного сравнения
SELECT * FROM rooms WHERE area > 100;
Фильтрация строк по произвольному списку
SELECT * FROM rooms WHERE id IN (1, 4, 35);
Проверка на значение null с помощью оператора IS NULL / IS NOT NULL
SELECT * FROM rooms WHERE area IS NULL;
В запросе можно для каждой строки выполнять как простые, так и достаточно сложные математические операции. Принцип составления формул похож на применяемый в MS Excel, например:
Для расчетов по столбцам используются агрегатные функции, например:
Подсчет строк
SELECT COUNT(*) FROM rooms WHERE area > 100;
Группирование строк
SELECT floor, COUNT(*) FROM rooms GROUP BY floor;
Фильтрация групп
SELECT floor, COUNT(*) FROM rooms GROUP BY floor HAVING COUNT(*) > 3;
Соединение — это операция в реляционной алгебре, при которой сначала устанавливаются всевозможные сочетания строк из нужных таблиц (так называемое умножение или декартово произведение), а потом в получившейся большой таблице отбираются лишь нужные строки.
Итак, для правильного, то есть отвечающего на поставленный вопрос соединения необходимо прописать в запросе:
Так как в таблицах могут быть совпадающие имена атрибутов, следует перед ними указывать имя таблицы или ее псевдоним, заявленный с помощью AS, например:
Есть несколько видов соединений, например для предыдущего примера:
Есть и реже используемый RIGHT JOIN, при котором в первую очередь отберутся все здания независимо от наличия помещений. Однако, в рассматриваемом примере у нас нет зданий без помещений.
Добавляя нужные условия, мы можем составлять самые разнообразные запросы, например:
База данных, не следующая реляционной модели.
Логическая модель данных, не следующая реляционной модели хранения и обработки данных, например: столбец, разреженная таблица, ключ-значение, документ-ключ и графические модели.
Представление знаний, основанное на понятиях, в котором объекты или состояния представляются узлами, соединенными дугами, которые показывают отношения между узлами.
Описание множества объектов и связей между ними (концептуализация предметной области), разделяемая определённым сообществом. Формируется на формальном языке.
Наиболее распространены стандарты описания онтологий RDF и OWL. Ключевыми понятиями являются «субъект», «предикат», «объект», «триплет», «класс», «отношение», «экземпляр», «суждение».
Последние события:
В концепции Индустрии 4.0 — конкретная сущность, которая имеет свойства и проявления определенного типа.
База данных, которая содержит правила логических выводов и информацию о человеческом опыте и знаниях экспертов в предметной области.
В информационных технологиях — совокупность фактов, событий, убеждений, а также правил, организованных для систематического применения.
Система обработки информации, которая обеспечивает решение задач в конкретной области или сфере приложений путем логических выводов, извлекаемых из базы знаний.
Природные объекты, искусственные и иные объекты (в том числе здания, сооружения), местоположение которых может быть определено, а также естественные небесные тела.
В области геоинформационных систем — цифровая модель материального или абстрактного объекта реального или виртуального мира с указанием его идентификатора, координатных и атрибутивных данных.
Заметим, что под пространственным объектом понимается как сам объект, так и соответствющая ему цифровая модель.
Данные о пространственных объектах, включающие сведения об их форме, местоположении и свойствах, в том числе представленные с использованием координат.
В области геоинформационных систем — данные о пространственных объектах и их наборах.
Набор пространственных объектов и межобъектных связей, сформированных с учетом общих для этих объектов правил цифрового описания.
Метаданные, которые позволяют описывать содержание и другие характеристики пространственных данных, необходимые для их идентификации и поиска.
В соответствии с Приказом Минэкономразвития России от 29.03.2017 №142 пространственные метаданные формируются в электронном виде в виде файлов в формате XML и содержат информацию:
Совокупность пространственных данных, организованных по определенным правилам, устанавливающим общие принципы описания, хранения и манипулирования данными, предназначенная для удовлетворения информационных потребностей пользователя.
Международная некоммерческая организация, ведущая деятельность по разработке стандартов в сфере геопространственных данных и сервисов, в том числе:
Ранее организация именовалась Open GIS Consortium.
Официальный сайт: https://www.ogc.org
Стандарт OGC, также именуемый ISO 19125, описывающий методику и формат описания простых геометрических объектов.
Официальный сайт: https://www.ogc.org/standards/sfa
Перевод: https://gis-lab.info/docs/ogc-sfa-1.html
В стандарт входит раздел Simple feature SQL (SFS), в котором описано расширение SQL, которое поддерживает хранение, поиск, запрос и обновление геопространственных объектов с простой геометрией в реляционной базе данных.
Официальный сайт: https://www.ogc.org/standards/sfs
Нульмерный пространственный объект, координатные данные которого состоят из единственной пары плановых координат.
Одномерный пространственный объект, координатные данные которого состоят из двух или более пар плановых координат, образуя последовательность из одного или более сегментов.
Двухмерный пространственный объект, ограниченный замкнутым линейным объектом и обычно идентифицированный своим центроидом
Двухмерный пространственный объект, образованный в своих границах набором значений функции двухмерных координат в виде непрерывного поля.
Тип пространственного объекта с присущими ему геометрическими свойствами и размерностью, рассматриваемый как неделимый.
Стандартом SFA OGS предусмотрены типы объектов:
Согласно Приказу Минэкономразвития России от 28.02.2023 №123 в документах территориального планирования объектов федерального, регионального и местного значения при описании пространственных данных могут применяться следующие типы геометрий:
Текстовый формат координатного описания пространственных объектов, используемый при реализации стандартов OGS.
Для хранения данные из текстового вида часто преобразуются в двоичное представление в шестнадцатеричных строках в формате WKB (Well-known binary), например:
Существуют расширенные версии формата:
EWKT (Extended) используется в PostGIS и включает до 4-х значений координат (XYZM);
AGF используется в продуктах Autodesk и включает кривые.
Таблица — Пространственные типы данных в СУБД MySQL
Тип поля | Комментарий | Описание в формате WKT | Команда SQL |
GEOMETRY | Объект любого типа | ||
POINT | POINT(15 20) | Point(15, 20) | |
LINESTRING | LINESTRING(0 0, 10 10, 20 25, 50 60) | LineString(pt [, pt] ...) | |
POLYGON | POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5)) | Polygon(ls [, ls] ...) | |
MULTIPOINT | Коллекция POINT | MULTIPOINT(0 0, 20 20, 60 60) | MultiPoint(pt [, pt2] ...) |
MULTILINESTRING | Коллекция LINESTRING | MULTILINESTRING( (10 10, 20 20), (15 15, 30 15) ) | MultiLineString(ls [, ls] ...) |
MULTIPOLYGON | Коллекция POLYGON | MULTIPOLYGON( ((0 0,10 0,10 10,0 10,0 0)),((5 5,7 5,7 7,5 7, 5 5)) ) | MultiPolygon(poly [, poly] ...) |
GEOMETRYCOLLECTION | Коллекция объектов любого типа | GEOMETRYCOLLECTION( POINT(10 10), POINT(30 30), LINESTRING(15 15, 20 20) ) | GeometryCollection(g [, g] ...) |
В MySQL описание геометрии в формате WKT преобразуется для использование в запросах в сооветствующее выражение на SQL с помощью специальных функций, так:
Point(15, 20) — это то же самое, что ST_GeomFromText('POINT(15 20)')
Каждый объект обладает свойствами:
-1 для пустой геометрии;
0 для геометрии без длины и без области;
1 для геометрии с ненулевой длиной и нулевой площадью;
2 для геометрии с ненулевой площадью;
Требования к геометрии для корректной работы функций:
полигоны не являются самопересекающимися;
внутренние кольца многоугольника находятся внутри внешнего кольца;
мультиполигоны не имеют перекрывающихся полигонов.
Операции отношения — это логические методы, которые используются для определения существования заданных пространственных топологических отношений между двумя геометрическими объектами.
При сравнении двух геометрических объектов выполняются проверки на пересечение между их внутренними областями, их границами и внешними областями. Внутренняя область при этом содержит точки, которые покинут ее, если граница будет убрана, а внешняя — точки, которые отсутствуют и в границе и во внутренней области.
Полученные пространственные отношения классифицируются при помощи полученной матрицы пересечений размерности 3 на 3, которую именуют DE-9IM.
На иллюстрации показан пример матрицы для перекрывания (overlap) полигонов, где численные значения показывают максимальную размерность элементов, образуемых при пересечениях внутренних областей, границ и внешних областей.
Для более удобной работы предусмотрены именованные случаи матрицы в виде операций (методов) определения отношений между объектами: equals, intersects и другие.
О пересечениях в 3D см. работу Zlatanova S. (2015) Topological Relationships and Their Use. In: Shekhar S., Xiong H., Zhou X. (eds) Encyclopedia of GIS. Springer, Cham. https://doi.org/10.1007/978-3-319-23519-6_1548-1
Таблица — Методы определения пространственного взаимоположения объектов SFA
Операция | Описание | Соответствующая команда в MySQL | Соответствующая команда в MapInfo/Axioma |
Equals | объект равен другому (совпадает) | ST_Equals(g1, g1) | |
Disjoint | объект не пересекается с другим | ST_Disjoint(g1, g2) | |
Intersects | объект любым способом пересекается с другим (обратное от Disjoint) | ST_Intersects(g1, g2) | Where A.object Intersects B.object Синонимы: "Contains Part" и "Partly Within" |
Touches | объект соприкасается с другим | ST_Touches(g1, g2) | |
Crosses | объект пересекает границу другого (перекрещивается). Размерность пересечения должна быть на 1 менее максимальной. | ST_Crosses(g1, g2) | |
Within | объект находится внутри другого | ST_Within(g1, g2) | Where A.object Within B.object Where A.object Entirely Within B.object |
Contains | объект полностью содержит другой (обратное от Within) | ST_Contains(g1, g2) | Where A.object Contains B.object Where A.object Entirely Contains B.object |
Overlaps | объект накрывает собой часть другой. Пересечение той же размерности, но не равной ни одной из исходных геометрий. | ST_Overlaps(g1, g2) | |
Relate | объект соответствует топологическому отношению с другим объектом, заданному при помощи матрицы. Проверяются пересечения между внутренними и внешними частями объектов, границами объектов | ||
LocateAlong | Возвращает геометрический объект, содержащий все точки с заданной координатой m | ||
LocateBetween | Возвращает геометрический объект, содержащий все точки, координата m которых находится в заданном диапазоне |
В MapInfo — центр графического объекта на карте, который совпадает с центром описанного вокруг объекта прямоугольника, за исключением случаев, когда он попадает вне объекта,
В Бразилии исследователи предложили включать координаты центроида в кадастровый номер.
Примеры SQL запросов для СУБД MySQL:
Для запросов следует создавать индексы типа SPATIAL.
Таблица — Некоторые пространственные функции SFA
Операция | Описание | Пример запроса SQL | Соответствующая команда в MySQL | Соответствующая команда в MapInfo/Axioma |
---|---|---|---|---|
Area | Площадь | SELECT Area(shores) FROM ponds WHERE fid = 120; | ST_Area(geometry) | Area(obj, unit) |
Length | Длина | SELECT Length(centerlines) FROM divided_routes WHERE name = 'Route 75'; | ST_Length(geometry) | ObjectLen(obj, unit) Perimeter(obj, unit) |
Таблица — Методы пространственных построений SFA
Операция | Описание | Соответствующая команда в MySQL | Соответствующая команда в MapInfo MapBasic |
---|---|---|---|
Distance | Возвращает кратчайшее расстояние между объектами (между двумя ближайшими точками контуров объектов) | ST_Distance(g1, g2) |
Select Distance(OriginX, OriginY, DestX, DestY, units) From table; |
Buffer | Возвращает геометрический объект, все точки которого находятся от объекта на расстоянии, меньше или равно заданному | ST_Buffer(geometry, distance, type) |
Create Object As Buffer From table; Select Buffer(table.obj, 100, 20, "km" ) |
ConvexHull | Возвращает геометрический объект, представляющий ограничивающий данный объект выпуклый многоугольник (из прямых линий) |
ST_ConvexHull(geometry) | Create Object As ConvexHull From table; |
Intersection | Возвращает геометрический объект, содержащий набор точек фигуры, образованной пересечением объектов | ST_Intersection(g1, g2) |
Create Object As Intersect From table; Select Overlap(table1.object, table2.object) From table1, table2; |
Union | Возвращает геометрический объект, содержащий набор точек фигуры, образованной объединением объектов |
ST_Union(g1, g2) |
Create Object As Union From table; Create Object As Merge From table; |
Difference | Возвращает геометрический объект, содержащий набор точек фигуры, образованной вычитанием одного объекта из другого | ST_Difference(g1, g2) | |
SymDifference | Возвращает геометрический объект, содержащий набор точек фигуры, образованной симметрической разностью объектов (обратное от Difference). Симметричной называется, потому что не играет роли, что из чего вычитается. |
ST_SymDifference(g1, g2)
то же самое, что
ST_Difference(ST_Union(g1, g2), ST_Intersection(g1, g2)) |
|
Справочник является объектом авторских прав. При использовании материалов следует указывать в источниках библиографическое описание:
Базы данных. – Текст : электронный // Справочник кадастрового инженера Cadastre.ru : монография / С. А. Атаманов, С. А. Григорьев, З. С. Косаруков, М. С. Чуприн. – Москва, 2023. – URL: http://cadastre.ru/article/12 (дата обращения: 29.05.2023).
По приказу Росреестра №П/0393 от 23.10.2020 площадь определяется на основании натурных измерений такого объекта как площадь простейшей геометрической фигуры или путем разбивки на фигуры и суммирования их площадей. Для оценки точности определения (вычисления) площади рассчитывается средняя квадратическая погрешность
Справочник содержит множество определений, используемых в градостроительстве, при кадастровом учете и регистрации прав. Проверьте себя на их знание. За каждый правильный вопрос начисляется 1 балл, за неправильный снимается. Наберите 30 для получения сертификата
Узлами графа являются термины, а ребра построены на основе внутренних ссылок в определениях. Отдельные узлы кластеризуются по тематике
Полученные по API данные могут быть использованы как разъясняющие сопровождающие или исходные материалы в указанных при получении ключа доступа коммерческих или некоммерческих информационных системах (включая приложения), производных материалах
В Справочнике реализована возможность «собирать» термины в персональную концептуальную схему, семантическую сеть — это граф, где отраслевые термины представлены узлами, а связи между ними символизируют отношения, смысл которых вы определяете и задаете самостоятельно. В результате у вас постепенно формируется личная база знаний из взаимосвязанных ключевых отраслевых понятий.
Конкуренция за кадры и заказы с другими компаниями, навыки и учет времени сотрудников, проектирование бизнес-процессов услуг, подбор и обустройство офиса, закупка мебели и оборудования, разработка сайта и продвижение, учет доходов и расходов, налогов, сообщения от сотрудников и заказчиков, рейтинг компаний, карта
Если вы первый раз на этом сайте, пожалуйста ознакомьтесь с разделом «О справочнике».
Вы можете создавать топики на любые темы, связанные с учетом недвижимости и регистрацией прав.
Все новые топики попадают на главную страницу, где их видят все посетители. Вы можете пользоваться этим, чтобы быстрее получать ответы на свои вопросы по нюансам выполнения работ.
Просьба сообщать о найденных ошибках, а также присылать имеющиеся у вас наработки и документы, которые позволят улучшить справочник, на npogeo@gmail.com
Доступ к справочнику с помощью Алисы в приложениях Яндекса (видео-обзор)
Вы можете задать здесь свой вопрос по этой теме