Russian Qt Forum
Ноябрь 22, 2024, 17:40
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Базы данных
>
Клиентское приложение: оптимальная организация взаимодействия с БД...
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Клиентское приложение: оптимальная организация взаимодействия с БД... (Прочитано 7153 раз)
Cyrax
Гость
Клиентское приложение: оптимальная организация взаимодействия с БД...
«
:
Март 12, 2008, 20:11 »
Имеется клиентское приложение, работающая с БД (чтение, обновление, добавление данных). Вопрос следующий. Стоит ли создавать промежуточное хранилище (manager - больше всего подходит) данных, в которое сначала считывается часть БД, затем работа с данными происходит уже не через саму БД, а через это промежуточное хранилище. Ну а за сохранение новых данных в самой БД отвечает это хранилище (например, политики - либо в конце вся новая информация из хранилища сливается в БД, либо сразу, либо ещё какие-то политики).
Такие хранилища можно создать для каждой области данных, например, для работы с данными о сотрудниках, для работы с заказами и т.д.
Основные плюсы:
1. Можно задавать (хранилищу, менеджеру) режимы взаимодействия с БД, а также отменять все изменения, сделанные с момента последнего сохранения.
2. Как правило, в БД информация хранится в форме, неприемлемой для её отображения и изменения в клиентском приложении (это только в учебниках ситуация иная). Вопрос отображения можно решить с помощью представлений. Но сложные манипуляции с данными при сохранении представлениям не под силу.
Основные минусы:
1. Области данных, охватываемых промежуточными хранилищами, как правило, пересекаются. Возникает соответствующая проблема синхронизации или исключения пересечения.
Записан
WW
Гость
Re: Клиентское приложение: оптимальная организация взаимодействия с БД...
«
Ответ #1 :
Март 12, 2008, 21:43 »
Так. Марлезонский балет. часть 2-я.
Мы еще не услышали окончание первой части, кажись в конце февраля должна быть.
По теме.
Читать (и еще раз читать и учить) теорию БД, то бишь, что такое атомарность изменений, транзакции, ACID короче, и т.д., учить SQL. После просветления - читать о распределенных приложениях.
Кста! Чем же закончилась первая часть балета? Помниться там мы изучали библиотеку Qt.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Клиентское приложение: оптимальная организация взаимодействия с БД...
«
Ответ #2 :
Март 13, 2008, 12:42 »
Чувствую и этот пост разрастется листов на 10. ЫЙ
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Cyrax
Гость
Re: Клиентское приложение: оптимальная организация взаимодействия с БД...
«
Ответ #3 :
Март 13, 2008, 22:19 »
Цитировать
Так. Марлезонский балет. часть 2-я.
Мы еще не услышали окончание первой части, кажись в конце февраля должна быть.
В конце февраля, насколько я помню, должен был быть опубликован сюжет заключительной части балета. На данный момент возможно с уверенностью сказать следующее:
1. Действующих лиц будет 5.
2. Премьера состоится не раньше лета 2008 года...
Записан
WW
Гость
Re: Клиентское приложение: оптимальная организация взаимодействия с БД...
«
Ответ #4 :
Март 13, 2008, 22:59 »
А писать снова всем форумом будем?
Записан
Cyrax
Гость
Re: Клиентское приложение: оптимальная организация взаимодействия с БД...
«
Ответ #5 :
Март 14, 2008, 10:43 »
Цитировать
А писать снова всем форумом будем?
Нет, я сам всё сделаю. Всё-таки дело нужно до ума довести...
Записан
Cyrax
Гость
Re: Клиентское приложение: оптимальная организация взаимодействия с БД...
«
Ответ #6 :
Март 20, 2008, 20:20 »
По сабжу. Вопрос рассматривается в пределах одного клиентского приложения. Одновременно может быть открыто несколько окон, каждое из которых работает со своей областью данных, эти области частично перекрываются. Одно приложение. Судя по всему, я не буду для каждого окна использовать свою реплику...
В случае с Qt-архитектурой модель-представление в роли такого manager'а может выступать модель данных, в случае QTableWidget - сам QTableWidget. Разница в том, что в первом случае имеется возможность задавать и реализовывать политику работы с базой данных на уровне модели данных, во втором - для реализации такой политики придётся вводить промежуточный manager, работающий с QTableWidget.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...