- •Системы оперативной обработки транзакций
- •Традиционные экспертные системы
- •Информационные хранилища
- •Многомерные базы данных
- •Системы оперативной аналитической обработки данных
- •Трактовка терминов: “Информационно-поисковая система”, “Информационно-справочная система”, ”База знаний”. Понятие поискового образа объекта ипс и связь его с базой данных.
- •Архитектуры приложений баз данных. Локальное приложение. Информационная система с архитектурой “файл - сервер”. Информационная система с архитектурой “клиент-сервер”.
- •Понятие о сервере баз данных. Общие сведения о sql-серверах на примере ms sql Server 2008. Понятие об администрировании сервером. Основные сведения об утилитах администрирования sql-сервером.
- •Архитектура ado.Net.
- •Общие сведения о подключении к данным в Visual Studio.
- •Строки подключения
- •Установка соединения посредством кода в ado.Net
- •Подключения на этапе разработки в обозревателе серверов/обозревателе баз данных
- •Уровни объектной модели ado.Net
- •Хранение данных в наборах данных. Создание набора данных
- •Взаимодействие с базой данных через объект DataSet
- •Общие сведения об адаптере таблиц
- •Общие сведения об объекте DataTableReader
- •Мастер настройки источников данных
- •Конструктор наборов данных
- •Связанные таблицы и объекты DataRelation
- •Заполнение набора данных
- •Редактирование данных в приложении
- •Общие сведения о сохранении данных
- •Представление объекта DataTable
- •Технология linq.
- •Введение в запросы linq.
- •Linq to sql. Создание проекта linq.
- •Linq to sql. Три части операции запроса.
- •Linq to sql. Синтаксис запроса и метода.
- •Linq to DataSet. Общие сведения о linq to DataSet.
- •Linq to DataSet. Запросы к одиночным таблицам.
- •Linq to DataSet. Универсальные методы Field и SetField.
- •Понятие метаданных и способы их представления в структурах данных. Основные сведения о представлении знаний. Сравнительное определение терминов “Знание” и “Информация”.
- •Нелинейные структуры данных. Общие понятия о деревьях.
- •Представление сетевых структур.
- •Методы реализации древовидных и сетевых структур в реляционных субд.
- •Дескрипторная компонента проектной среды поддержки принятия решений в сапр. Реализация дескрипторной компоненты средствами реляционных субд.
- •– 41. Классификационная компонента проектной среды принятия решений в сапр. Обоснование необходимости присутствия классификационной компоненты в информационных системах сапр.
- •Продукционная компонента проектной среды принятия решений в сапр.
- •Компонента структурных объектов проектной среды принятия решений в сапр. Общее понятие о методах реализации структурной компоненты в информационных системах сапр.
- •Представление инженерных знаний в форме информационно-логических таблиц (илт).
- •Справочные таблицы без условий. Реляционное представление справочных таблиц без условий.
- •Справочные таблицы с условиями. Реляционное представление справочных таблиц с условиями.
Общие сведения о сохранении данных
Сохранение данных - процесс переноса изменений данных в приложении обратно к исходному хранилищу данных, обычно реляционной базе данных, например SQL Server.
Так как набор данных является кэшем данных, то есть их копией в памяти, процесс записи сведений в исходный источник данных отделен от процесса изменения данных в наборе данных. Можно отправить обновленные данные из наборов данных обратно к базе данных путем вызова одного из методов Update TableAdapter или вызвать один из методов DBDirect объекта TableAdapter.
Двухэтапные обновления
Обновление источника данных посредством набора данных осуществляется в два этапа. Первый этап - это обновление набора данных и добавление новых сведений: новых записей, измененных записей или удаленных записей. Если приложение отвечает только за обработку набора данных, (например после обновления набора данных он отправляется в другое приложение, которое выполняет дальнейшую обработку набора данных), тогда обновление заканчивается.
Примечание В Windows Forms архитектура привязки к данным занимается отправкой изменений из элементов управления с привязкой к данным в набор данных, поэтому не требуется в явном виде обновлять набор данных при помощи собственного кода. Дополнительные сведения см. в разделе Связывание элементов управления Windows Forms с данными.
При обновлении источника данных (например базы данных) на втором этапе изменения, внесенные в набор данных, будут отправлены в исходный источник данных. Таким образом, процесс обновления набора данных не записывает также изменения в базовом источнике данных. Необходимо в явном виде выполнять этот второй шаг. Обычно эта операция реализуется посредством вызова метода Update того же адаптера таблицы (или адаптера данных), который используется для заполнения набора данных, хотя допускается использование и других адаптеров, например для перемещения данных из одного источника в другой или для обновления нескольких источников данных.
Процесс двухэтапного обновления и роль DataRowVersion в успехе обновления представлены на рис.
Структурно набор данных делает данные доступными в качестве набора коллекций. Наборы данных содержат коллекции таблиц. Таблицы содержат коллекции строк. Записи доступны в коллекции Rows объектов DataTable. Таким образом, можно вносить изменения в данные набора данных, просто управляя этими коллекциями, используя базовые методы работы с ними. Однако если требуется обновить базовый источник данных, необходимо использовать специальные методы изменения наборов данных.
Слияние наборов данных
Содержимое набора данных можно обновлять с помощью слияния, т. е. при помощи копирования содержимого одного набора данных (называемого исходным набором данных) в вызывающий набор данных (называемый конечным набором данных). При слиянии наборов данных новые записи из исходного набора добавляются в конечный набор. Дополнительные столбцы исходного набора также добавляются в конечный набор.
Слияние наборов данных бывает полезным, если вы имеете локальный набор данных и получаете второй набор данных из другого приложения или компонента, например из веб-службы XML. Оно также полезно при необходимости интегрировать данные из нескольких наборов данных.
Ограничения на обновление
Чтобы внести изменения в существующую строку данных, нужно добавить или обновить данные в отдельных столбцах. Если набор данных содержит ограничения (такие как внешние ключи или ненулевые ограничения), возможно, что пока запись будет обновляться (после завершения обновления одного столбца и до перехода к следующему), она может временно находиться в состоянии ошибки.
Для предотвращения преждевременных нарушений ограничений можно временно приостановить действие ограничений на обновления. Это служит двум целям.
Предотвращение ошибок, генерируемых при обновлении одного столбца и до перехода к другому.
Предотвращение инициирования некоторых событий обновления (событий, часто используемых для проверки).
Ведение записей об изменениях
Записи об изменениях в наборе данных ведутся двумя методами: маркировкой строки, показывающей, были ли в строку внесены изменения (RowState), а также созданием множества копий записи (DataRowVersion). Используя эти сведения, процессы могут определять, какие изменения были внесены в набор данных, и отправлять соответствующие обновления в источник данных.
Проверка данных
Чтобы убедиться, что данные в приложении отвечают требованиям процессов, которым они передаются, часто приходится добавлять проверку. Это может включать в себя проверку правильности данных, введенных пользователем в форму, а также проверку данных, отправленных пользовательскому приложению другим приложением, или даже проверку для установления того, что сведения, вычисленные в пользовательском компоненте, подпадают под ограничения источника данных и требований приложения
Как обновление передается источнику данных
После внесения изменений в наборе данных изменения можно передать источнику данных. Чаще всего это делается путем вызова метода Update адаптера таблиц TableAdapter (или адаптера данных). Метод обрабатывает каждую запись в таблице данных; если требуется, определяет необходимый тип обновления (обновление, вставка, удаление), а затем выполняет соответствующую команду.
Передача параметров
Значения для обновляемых записей в базе данных обычно передаются при помощи параметров. Когда метод Update адаптера таблицы выполняет инструкцию UPDATE, ему необходимо заполнить значения параметра.
Обновление связанных таблиц
Если набор данных содержит несколько таблиц, то необходимо обновлять каждую таблицу отдельно вызовом метода Update каждого адаптера отдельно. Если таблицы имеют отношение "родительский-дочерний", возможно, придется посылать обновления в базу данных в особом порядке.
