- •Системы оперативной обработки транзакций
- •Традиционные экспертные системы
- •Информационные хранилища
- •Многомерные базы данных
- •Системы оперативной аналитической обработки данных
- •Трактовка терминов: “Информационно-поисковая система”, “Информационно-справочная система”, ”База знаний”. Понятие поискового образа объекта ипс и связь его с базой данных.
- •Архитектуры приложений баз данных. Локальное приложение. Информационная система с архитектурой “файл - сервер”. Информационная система с архитектурой “клиент-сервер”.
- •Понятие о сервере баз данных. Общие сведения о 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. Классификационная компонента проектной среды принятия решений в сапр. Обоснование необходимости присутствия классификационной компоненты в информационных системах сапр.
- •Продукционная компонента проектной среды принятия решений в сапр.
- •Компонента структурных объектов проектной среды принятия решений в сапр. Общее понятие о методах реализации структурной компоненты в информационных системах сапр.
- •Представление инженерных знаний в форме информационно-логических таблиц (илт).
- •Справочные таблицы без условий. Реляционное представление справочных таблиц без условий.
- •Справочные таблицы с условиями. Реляционное представление справочных таблиц с условиями.
Введение в запросы linq.
Запрос представляет собой выражение, извлекающее данные из источника данных.
Запросы обычно выражаются на специальном языке запросов. Со временем были разработаны различные языки для различных типов источников данных, например SQL для реляционных баз данных и XQuery для XML.Таким образом, разработчики вынуждены изучать новый язык запросов для каждого типа источника данных или формата данных, который они должны поддерживать.
LINQ упрощает ситуацию, предлагая единообразную модель для работы с данными в различных видах источников и форматов данных. В запросе LINQ работа всегда осуществляется с объектами. Для запросов и преобразований данных в XML-документах, базах данных SQL, наборах данных ADO.NET, коллекциях .NET и любых других форматах, для которых доступен поставщик LINQ, используются одинаковые базовые шаблоны кодирования.
Три части операции запроса
Все операции запроса LINQ состоят из трех различных действий.
1. Получение источника данных.
2. Создание запроса.
3. Выполнение запроса.
В следующем примере показано выражение этих трех частей операции запроса в исходном коде. В примере в качестве источника данных для удобства используется массив целых чисел; тем не менее, те же принципы применимы и к другим источникам данных. Оставшаяся часть раздела ссылается на этот пример.
C#
class IntroToLINQ
{ static void Main()
{ // The Three Parts of a LINQ Query:
// 1. Data source.
int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
// 2. Query creation.
// numQuery is an IEnumerable<int>
var numQuery =
from num in numbers
where (num % 2) == 0
select num;
// 3. Query execution.
foreach (int num in numQuery)
{ Console.Write("{0,1} ", num);
} }}
На следующем рисунке 30 показана завершенная операция запроса. В LINQ выполнение запроса отличается от самого запроса; другими словами, создание переменной запроса само по себе не связано с получением данных.
LINQ to DataSet.
LINQ to DataSet позволяет разработчикам создавать сложные и мощные запросы для DataSet с помощью LINQ. Запрос LINQ to DataSet возвращает перечисление объектов DataRow, использование которого в сценарии привязки, является, тем не менее, непростой задачей.
Объект DataView может быть создан из запроса LINQ to DataSet, воспринимая характеристики сортировки и фильтрации этого запроса. LINQ to DataSet расширяет функциональные возможности DataView, обеспечивая фильтрацию и сортировку на основе выражения LINQ, позволяющего выполнять гораздо более сложные и мощные операции сортировки и фильтрации по сравнению с сортировкой и фильтрацией на основе строки. Дополнительные сведения см. в разделе Связывание с данными и LINQ to DataSet.
Объект DataView в контексте LINQ to DataSet можно создать двумя способами. Можно создать объект DataView на основе запроса LINQ to DataSet к таблице DataTable или на основе типизированной или нетипизированной таблицы DataTable. В обоих случаях объект DataView создается с помощью одного из методов расширений AsDataView; объект DataView нельзя напрямую создать в контексте LINQ to DataSet.
После создания объекта DataView его можно привязать к элементу управления в пользовательском интерфейсе приложения Windows Forms или ASP.NET либо изменить параметры фильтрации и сортировки.
Объект DataView создает индекс, значительно повышающий производительность операций, использующих этот индекс, таких как фильтрация и сортировка. Индекс для DataView формируется как при создании DataView, так и при изменении каких-либо сведений о сортировке или фильтрации.
Создание DataView и последующее задание сведений о сортировке или фильтрации приводит как минимум к двукратному построению индекса - при создании DataView и при изменении каких-либо свойств сортировки или фильтрации.
Возможность фильтрации данных на основе заданных критериев и их предоставление клиенту с помощью элемента управления в пользовательском интерфейсе - это важный аспект привязки данных. Объект DataView реализует несколько способов фильтрации и возвращения подмножеств строк данных, отвечающих определенным критериям фильтрации. Кроме возможностей фильтрации на основе строк, объект DataView также позволяет использовать в критериях фильтрации выражения LINQ. Выражения LINQ позволяют выполнять гораздо более сложные и мощные операции фильтрации, чем фильтрация на основе строк.
Существует два способа фильтрации данных с помощью объекта DataView.
Создайте объект DataView на основе запроса LINQ to DataSet с предложением WHERE.
Используйте существующие возможности фильтрации на основе строк, предоставляемые объектом DataView.
Создание объекта DataView на основе запроса с данными фильтрации
Объект DataView можно создать с помощью запроса LINQ to DataSet. Если запрос содержит предложение Where, объект DataView будет создан с учетом данных фильтрации из этого запроса. Выражение в предложении Where используется для определения того, какие строки данных будут включены в объект DataView, и является основой для фильтра.
Фильтрация на основе выражений является более сложной и мощной, чем более простая фильтрация на основе строк. Фильтры на основе строк и выражений взаимно исключают друг друга. Если фильтрация на основе строк RowFilter задается после создания объекта DataView на основе запроса, выводимый из запроса фильтр на основе выражений очищается.
Примечание. В большинстве случаев выражение, используемое для фильтрации, не должно иметь побочных эффектов и должно быть детерминированным. Также эти выражения не должны содержать логику, зависящую от заданного количества выполнений, так как операции фильтрации могут выполняться любое количество раз.
