Хранение DataRelation в XML? - PullRequest
       15

Хранение DataRelation в XML?

0 голосов
/ 08 апреля 2009

Я разрабатываю приложение БД, используя новый подход. (по крайней мере, роман для меня ... :))

Так что я делаю некоторые исследования для того же.

Я использую наборы данных .NET 3.5 ADO.NET для работы с данными и хранения их в автономном режиме в формате XML.

Во-первых, подходит ли этот подход для серьезного (хотя и небольшого, 4-5 пользователей, ~ 25 таблиц ~ 3-4 тыс. Записей в каждом) приложения?

Во-вторых, как мне точно хранить данные в автономном XML-файле?

Спасибо!

Саурабй.

Ответы [ 4 ]

3 голосов
/ 08 апреля 2009

25 таблиц с 3-4 тыс. Строк в каждой - это не то, что я бы назвал "маленьким" для xml; в частности, нелегко перейти к нужным данным в xml ...

Рассматривали ли вы базу данных, такую ​​как SQL Server Express Edition. Бесплатно и более чем до этой работы.


Re хранения; Если вы используете встроенную сериализацию DataSet, это должно работать автоматически. Конечно, xml будет определен для DataSet ... Честно говоря, я не рекомендую подход DataSet / xml.

1 голос
/ 08 апреля 2009

Чтобы ответить на ваш вопрос (хотя я согласен с Марком, вам не следует использовать XML в качестве слоя хранения данных).

Идентификаторы и hrefs обычно используются для создания отношений в XML (который является иерархическим и не реляционным, опять же, вы не должны использовать XML).

В качестве небольшого примера:

<region name="South Africa" id="region_1">
    <manager ref="#employee_1"/>
</region>

<employee name="John Doe" id="employee_1" region="#region_1">
    <manages>
        <employee ref="#employee_2" />
    </manages>
</employee>

<employee name="Cyril Smith" id="employee_2" region="#region_1">
    <manages /> <!-- code monkey -->
</employee>
0 голосов
/ 08 апреля 2009

Я бы согласился с другими постерами. Я бы не стал использовать XML в вашей ситуации. Чтобы предложить что-то другое, попробуйте SQLlite: http://www.sqlite.org/ и .NET ADO: http://sqlite.phxsoftware.com/. Это не очень мощная база данных, но она бесплатна и выполняет свою работу.

Однако, если вы увидите, что размер базы данных вашего приложения в будущем увеличится (больше пользователей, больше использования и т. Д.), Вам следует использовать более мощную базу данных, такую ​​как SQL или MySQL.

Если по какой-то причине вы абсолютно привязаны к XML, я бы согласился с предложениями Джонатана.

0 голосов
/ 08 апреля 2009

Я второе предложение Марка. Не ходите по XML-маршруту. Вы, вероятно, не знаете, когда и как будет расти ваше приложение. С xml у вас нет транзакций, проверьте ограничения для защиты целостности ваших данных ....

Базы данных - это не просто тупое хранилище. Используйте бесплатную экспресс-версию БД. Таким образом, вы можете легко перейти на более профессиональные версии СУБД.

...