Update README.md

This commit is contained in:
Dmitry 2025-03-26 17:03:31 +03:00 committed by GitHub
parent 9b451a4852
commit b8b6d6a2c4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,7 +6,7 @@ RDF `{субъект > отношение (предикат) > объект \ л
#### entityattributevalue model (EAV)
[EAV](https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model) {Сущность > Атрибут (параметр, свойство) > Значение атрибута}
![EAV_UDM.png](EAV_UDM.png)
Рис.1 Слева таблица EAV (поля A-B-C), справа таблица UDM (обычная таблица Excel)
**Рис.1 Слева таблица EAV (поля A-B-C), справа таблица UDM (обычная таблица Excel)**
Атрибут EAV = предикат RDF. На рисунке 1 слева показана таблица EAV (поля A-B-C), где фактически записан каждый триплет «в столбик», а справа ровно тот же набор выражений (утверждений, знаний) в «универсальной модели данных», где «все хранится в одной гигантской универсальной таблице» (см. "Universal Data Model", UDM: Maier, Ullman, Vardi).
В простом варианте, когда набор (классификатор) типов объектов «плоский», для каждого типа объекта (rdf:type или как на рис. 1 «имеетТип») есть свой набор атрибутов, поэтому такая общая (сводная) UDM получается разреженной, т.к. в «не свойственных» объекту (субъекту) полях будет «пусто» (null, empty, blank).
EAV и приведенная UDM это две крайности подхода к хранению данных. Компромиссом является классический реляционная модель данных (Codd E.F. 1970) это разбитие единой UDM на ряд таблиц, обычно по типу объекта, т.е. поля таблицы это свойства, присущие только данному типу.