Какую базу данных или псевдобазу я должен использовать для переменных данных?
Какую комбинацию программного обеспечения или платформы лучше всего использовать для хранения переменных данных?
Мои данные в стандартных парах имя-значение. В верхней части дерева есть несколько широких категорий, каждая из которых будет иметь имя и значение (имя категории), а также может иметь пары имя-значение. Они будут иметь подкатегории и могут иметь подкатегории и подкатегории (n), и так далее. Каждый из них также будет иметь имена и значения и, кроме того, иметь свойства под каждой, выраженной в виде пар имя-значение.
Естественно, некоторая разновидность XML имеет смысл; Базы данных SQL/Relations (мои любимые) нет. В качестве примера, данные могут быть аналогичны приведенной ниже биологической таксономии.
<Kingdom>Animal
<Mammal>Yes
<Legs>
<4Legs>90%
<EyeColor>
<EyeColorBrown>40%
<HairColorBrown>40%</HairColorBrown>
<HairColorBlack>40%</HairColorBlack>
</EyeColorBrown>
<EyeColorBlack>60%
<HairColorBrown>40%</ HairColorBrown>
<HairColorBlack>40%</ HairColorBlack>
</EyeColorBlack>
</EyeColor>
</4Legs>
<2Legs>5%
<EyeColor>
<EyeColorBlue>20%
<HairColorBrown>40%</HairColorBrown>
<HairColorBlack>40%</HairColorBlack>
<HairColorBlonde>40%</HairColorBlonde>
</EyeColorBlue>
<EyeColorBrown>20%</EyeColorBrown>
<EyeColorBlack>60%</EyeColorBlack>
</EyeColor>
</2Legs>
<NoLegs>5%</NoLegs>
</Legs>
</Mammal>
</Kingdom>
Итак, в моем коде я хочу создать форму, в которой, например, если кто-то выбирает 2Legs, он отображает три варианта цвета глаз, а при выборе "Синий" отображаются три варианта цвета волос. Затем, когда форма отправлена, я хочу сохранить имя пользователя с его набором вариантов, например,
<UserName>John Doe
<Choice1>
<Kingdom>Animal
<Mammal>Yes
<Legs>
<2Legs>
<EyeColorBlue>20%
<HairColorBrown>
<...close each...>
</Choice1>
</UserName>
Я слышал о XMLDB, NoDB, NoSQL и множестве других, но не знаю, с чего начать. Я хотел бы иметь возможность использовать базу данных с PHP и JavaScript, но помимо этого, как мне подойти к этому?
Также обратите внимание, что я хочу иметь возможность использовать разные наборы данных в конце концов. Другими словами, я могу сделать приведенные выше данные о животных, а затем использовать нечто подобное для создания сайта для... скажем, мебели.
1 ответ
Похоже на кандидата в БД хранилища документов, о котором вы можете прочитать на вики: https://en.wikipedia.org/wiki/Document-oriented_database. Я ничего не знаю о PHP - но похоже, что он поддерживает Mongo ( http://php.net/manual/en/class.mongodb.php) и, возможно, некоторые другие варианты
Этот ресурс тоже довольно крутой: http://nosql-database.org/
Нет причин, по которым это нельзя сделать в реляционной БД - это потребует глубокого знания структуры заранее. Что я думаю, что вы хотите избежать?