Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


PlanetName DistanceFromSun Inhabitants



Меркурий 57909 Меркуриане

Венера 108200 Венериане

Земля 149600 Земляне

Марс 227940 Марсиане

Юпитер 778400 Юпитериане

Знок 7208100 Знокиане

Сатурн 1423600 Сатурниане

Уран 2867000 Ураниане

Нептун 4488400 Нептуниане

Плутон 5909600 Плутониане

Флафф 23500000 Флаффиане

 

Оператор UPDATE записывается следующим образом:

UPDATE <таблица базы данных, в которую вносятся изменения>

SET <названия столбцов, в которые необходимо внести изменения> = <новые значения> WHERE <условия>

Пример:

UPDATE PLANET SET PlanetName= 'Стафф', Inhabitants='Стаффиане' WHERE PlanetName='Флафф'

Оператор изменяет некоторые значения в той строке, где столбец PlanetName имеет значение "Флафф". Результат выполненияоперации программе не возвращается, но таблица примет вот такой вид:

PlanetName DistanceFromSun Inhabitants
Меркурий Меркуриане
Венера Венериане
Земля Земляне
Марс Марсиане
Юпитер Юпитериане
Знок Знокиане
Сатурн Сатурниане
Уран Ураниане
Нептун Нептуниане
Плутон Плутониане
Стафф Стаффиане

 

Связи и объединение таблиц базы данных

 

Если рассмотреть таблицы внимательно, то можно заметить, что между таблицами PLANET и POPULATION существует связь: и в той и в другой есть столбец с именем PlanetName, который связывает обе таблицы. Благодаря этой связи можно собрать всю информацию об определенной планете.

Например, можно выбрать из обеих таблиц все строки, касающиеся Венеры:

PLANET
PlanetName DistanceFromSun Inhabitants
Венера Венериане

 

POPULATION
PlanetName Year Population
Венера
Венера

 

А затем объединить полученные данные в одну большую таблицу:

SELECT * FROM PLANET INNER JOIN POPULATION ON PLANET.PlanetName=POPULATION.planetName

WHERE PlanetName='Венера'

 

PLANETS_AND_POPULATION
PlanetName DistanceFromSun Inhabitants Year Population
Венера Венериане
Венера Венериане

 

Особенности разных СУБД

 

При работе с определенной СУБД необходимо учитывать ее особенности. С этой целью вводится понятие "провайдер данных" – у каждой СУБД он свой. С точки зрения программиста провайдер данных — это набор классов, обеспечивающих связь с базой и осуществляющих доступ к данным. Так, например, за связь с базой данных Microsoft SQL Server отвечает класс SqlConnection, а за связь с базой данных Access — OleDbConnection. Первый является частью провайдера данных SQLDataProvider, второй — провайдера данных OLEDbProvider.

 

Программный код меняется в зависимости от того, с какой базой предстоит работать.

 

 

Архитектура ADO.NET

В ADO.NET используется многоуровневая архитектура, которая обращается вокруг небольшого числа ключевых концепций, таких как объекты Connection, Command и DataSet. Однако архитектура ADO.NET серьезно отличается от классической архитекуры ADO.

 

Поставщики данных в ADO.NET

Поставщик данных (data provider) — это набор классов ADO.NET, которые позволяют получать доступ к определенной базе данных, выполнять команды SQL и извлекать данные. По сути, поставщик данных — это мост между вашим приложением и источником данных.

В первом приближении поставщик данных можно рассматривать как набор типов, определенных в данном пространстве имен, который предназначен для взаимодействия с конкретным источником данных. Однако независимо от используемого поставщика данных, каждый из них определяет набор классов, обеспечивающих основную функциональность. В таблице ниже приведены некоторые общие основные объекты, их базовые классы (определенные в пространстве имен System.Data.Common) и основные интерфейсы (определенные в пространстве имен System.Data), которые они реализуют:

Основные объекты поставщиков данных ADO.NET
Тип объекта Базовый класс Соответствующие интерфейсы Назначение
Connection DbConnection IDbConnection Позволяет подключаться к хранилищу данных и отключаться от него. Кроме того, объекты подключения обеспечивают доступ к соответствующим объектам транзакций
Command DbCommand IDbCommand Представляет SQL-запрос или хранимую процедуру. Кроме того, объекты команд предоставляют доступ к объекту чтения данных конкретного поставщика данных
DataReader DbDataReader IDataReader, IDataRecord Предоставляет доступ к данным только для чтения в прямом направлении с помощью курсора на стороне сервера
DataAdapter DbDataAdapter IDataAdapter, IDbDataAdapter Пересылает наборы данных из хранилища данных к вызывающему процессу и обратно. Адаптеры данных содержат подключение и набор из четырех внутренних объектов команд для выборки, вставки, изменения и удаления информации в хранилище данных
Parameter DbParameter IDataParameter, IDbDataParameter Представляет именованный параметр в параметризованном запросе
Transaction DbTransaction IDbTransaction Инкапсулирует транзакцию в базе данных

 

Конкретные имена этих основных классов различаются у различных поставщиков (например, SqlConnection, OracleConnection, OdbcConnection и MySqlConnection), но все эти объекты порождены от одного и того же базового класса (в случае объектов подключения это DbConnection), который реализует идентичные интерфейсы (вроде IDbConnection).

На рисунке ниже показаны уровни модели поставщиков ADO.NET:

 

 

Технология OLE DB существует уже много лет как часть ADO, поэтому для большинства источников данных предусмотрены драйверы OLE DB (включая SQL Server, Oracle, Access, MySQL и многие другие).

 






Читайте также:

Последнее изменение этой страницы: 2016-03-15; Просмотров: 124; Нарушение авторского права страницы


lektsia.com 2007 - 2017 год. Все права принадлежат их авторам! (0.086 с.) Главная | Обратная связь