Я пытаюсь создать базу данных, которая может быть использована для хранения большого количества объектов. Я пытался сделать это с помощью реляционной базы данных, но это кажется чудовищем. Я имею в виду взять простой объект ниже
Object = {
"Type":"Car",
"Color":"Green",
"Doors":3,
Wheels:{
"Material":"Alloy",
"Size":17,
"Color":"Black",
"Tyres":{
"Profile":"Low",
"Material":"Rubber"
"Tread":"Slick"
}
},
Seats:{
"Number":2,
"Seatbelts":true
}
}
Из них можно представить трехдверный зеленый автомобиль с черными 17-дюймовыми легкосплавными дисками, низкопрофильными, гладкими резиновыми шинами, 2 сиденьями с ремнями безопасности. Очевидно, что весь этот объект не установлен в камне, вы можете пойти и затем расширить на вещи
(например,
Seatbelt:{
"Type":"Harness",
"Buckles":1,
"Color":"Blue"
}
)
В конце концов, если предположить, что объектов много, я бы хотел вернуть список объектов, которые имеют эти характеристики
{
"Type":"Car"
"Doors":3
}
Из этого я могу получить список из 5 автомобилей, которые имеют 3 двери, но имеют различные другие атрибуты, это не имеет значения, я не указал эти критерии. Я мог бы сузить это дальше, ища все 3-дверные машины с гладкими шинами ... Я мог бы вернуться 2
{
"Type":"Car"
"Doors":3
"Wheels":{
"Tyres":{
"Tread":"Slick"
}
}
}
Итак, я думал о базе данных, имеющей 3 основные таблицы: объекты, атрибуты и значения. Затем связывая таблицы, связывая объекты с атрибутами, атрибуты со значениями. Однако что, если, как в примере, у меня есть объекты, содержащие объекты, а также если я планирую иметь объект автомобиля, расширение которого может быть примером?
Как мы решаем проблему с базой данных такого типа? Можно ли это сделать с помощью реляционной базы данных или мне нужна объектно-ориентированная? Если да, то есть ли какие-либо OODB, которые я могу реализовать с помощью веб-сайта так же легко, как и MySQL.
Если вы можете использовать RDB для этого, тогда запросы, несомненно, будут очень ресурсоемкими? Как насчет OODB? Как ресурсоемкий?
Как создать объектно-ориентированную базу данных для веб-сайта? используя RDB или OODB, я не против, просто как