Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET
- Название:Обработка баз данных на Visual Basic®.NET
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2003
- Город:Москва
- ISBN:5-8459-0512-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET краткое содержание
Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000. Затем рассматриваются способы использования основных объектов модели ADO.NET для доступа к данным в реляционных базах данных. Благодаря подробным примерам, читатели могут изучить способы использования основных свойств и методов, а также узнать о более сложных компонентах и технологиях. Многочисленные листинги с кодом на языке Visual Basic .NET иллюстрируют используемые концепции, а бизнес-ситуации показывают практическую область их применения.
Обработка баз данных на Visual Basic®.NET - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Рассмотрим последний пункт из предварительного списка Брэда, предусматривающий регистрацию ответа на вопрос: "Когда данный клиент в последний раз делал у нас покупку?". Разработчик базы данных решил, что эта информация может храниться в таблице, которая предназначена для хранения данных, относящихся к заказам клиентов. Ниже приведена структура этой таблицы.
tblOrder |
---|
ID |
CustomerID |
OrderDate |
Amount |
В этой таблице поле ID уникальным образом идентифицирует каждый заказ. Поле CustomerID, с другой стороны, связывает заказ с клиентом. Чтобы установить эту связь, идентификатор клиента копируется в поле CustomerID таблицы Order. Таким образом, совсем нетрудно отыскать все заказы для конкретного клиента (как будет продемонстрировано ниже).
Манипулирование данными с помощью объектов
После создания таблиц можно приступить к манипуляциям с данными: вводить данные в таблицы, извлекать их из таблиц, проверять и изменять структуру таблиц. Для манипулирования структурой таблиц используются команды определения данных (более подробно они описываются в главе 2, "Запросы и команды на языке SQL"), а для манипулирования данными – объекты DataSet или DataReader платформы .NET.
Объект DataSet обычно представляет подмножество записей, которые извлекаются из базы данных. Оно концептуально аналогично таблице (а в некоторых случаях — группе связанных полей), но также содержит несколько важных собственных свойств. Объекты DataSet можно легко представить в виде XML-данных и использовать для передачи удаленных данных (как, например, при передаче результатов выполнения запроса от сервера к клиенту или при обмене данными между двумя серверами). В Visual Basic .NET объекты DataSet не ограничены только сохранением извлеченных данных. Например, объект DataSet может использоваться для управления статическими данными в XML-документе или файле конфигурации, либо для управления динамическими данными, созданными на основе пользовательских данных в более сложных ситуациях.
Как и при работе с технологией ADO, в Visual Basic .NET и ADO.NET можно использовать подключенные и неподключенные объекты DataSet. Неподключенный объект DataSet с данными передается приложению, соединение с базой данных закрывается, а базе данных ничего не известно о манипуляциях с этими данными до тех пор, пока приложение вновь не обратится к базе данных. Допустим, что пользователь открывает форму и щелкает на кнопке для обновления данных. В таком случае приложение должно снова соединиться с базой данных и выполнить код изменения данных. В то же время с помощью подключенного объекта DataSet используемые данные "блокируются" и все изменения данных мгновенно воспроизводятся в базе данных. Эта технология более подробно рассматривается в главе 5, "ADO.NET: объект DataSet".
Объект DataReader работает аналогично объекту DataSet, но обладает другими возможностями и характеристиками производительности. Одно из отличий отражено в его названии: объект DataReader считывает данные, т.е. он предоставляет доступ к данным только для чтения. Для объекта DataReader также не предусмотрен простой способ представления данных в формате XML.
Для простоты (что также рекомендуется делать на практике) в данной книге объект DataReader используется для выполнения базовых операций доступа к данным, а объект DataSet — только в случае крайней необходимости, например для создания Web-служб (более подробно они рассматриваются в главе 12, "Web-службы и технологии промежуточного уровня").
Объект DataSet устроен так же, как и объект ADODB.Recordset в прежних версиях языка Visual Basic. Аналогично другим типам объектов языка Visual Basic, объект DataSet имеет свойства и методы. Более подробно он рассматривается в других главах книги, а здесь достаточно отметить, что на платформе .NET объекты используются для организации в приложении ясного, согласованного и относительно простого способа работы с базами данных.
Типы данных
Один из этапов проектирования базы данных заключается в объявлении типа каждого поля, что позволяет процессору базы данных эффективно сохранять и извлекать данные. В SQL Server предусмотрено использование 21 типа данных, которые перечислены в табл. 1.1.
Таблица 1.1. Типы данных в SQL Server
Тип данных | Описание |
---|---|
bigint | Восьмибайтовое целое число в диапазоне от -9223372036854775808 до 9223372036854775807 |
binary | Двоичные данные фиксированного размера до 8 Кбайт |
char | Символьное поле фиксированного размера до 8000 символов |
datetime | Время и дата между 1 января 1753 года и 31 декабря 9999 года |
decimal | Десятичное число с фиксированной точностью и размером от 5 до 17 байт. Во время создания поля можно указать число десятичных знаков |
float | Десятичное число размером от 4 до 8 байт и не более 53 десятичных знаков после запятой |
image | Двоичные данные переменного размера до 2147483647 байт |
int | Четырехбайтовое целое число в диапазоне от -2147483648 до 2147483647 |
money | Числовое поле со специальными свойствами для сохранения денежных значений |
nchar | Символьное поле фиксированного размера до 4000 символов Unicode |
ntext | Символьное поле произвольного размера до 1 073 741 823 символов Unicode |
nvarchar | Символьное поле произвольного размера до 4000 символов Unicode |
real | Десятичное число размером 4 байта и не более 24 десятичных знаков после запятой |
smalldatetime | Время и дата между 1 января 1900 года и 6 июня 2079 |
smallint | Двухбайтовое целое число в диапазоне от -32768 до 32767 |
text | Символьное поле произвольного размера до 2147483647 символов (в базе данных Microsoft Access есть аналогичное поле типа Memo) |
tinyint | Однобайтовое целое число в диапазоне от 0 до 255 |
uniqueidentifier | Целое число, которое также называется глобально уникальным идентификатором и используется для уникальной идентификации записи (часто применяется для репликации данных) |
varbinary | Двоичные данные переменного размера до 8000 байт |
varchar | Символьные данные переменного размера до 8000 символов |
Хотя типы данных Visual Basic.NET более близки к типам данных полей SQL Server, чем типы данных Visual Basic 6, между ними все равно нет однозначного соответствия. Например, тип данных int в SQL Server соответствует типу integer в Visual Basic .NET, потому что оба они являются 32-битовыми целыми числами. Однако в SQL Server нельзя создать поле с определенным пользователем типом или типом Object языка Visual Basic .NET.
Схема базы данных
Для создания структуры базы данных рекомендуется не только подготовить список таблиц и полей, но и представить таблицы и поля в графическом виде. После этого вы не только сможете сказать, какие таблицы и поля доступны для вас, но и как они связаны друг с другом. Именно для этого и предусмотрена схема базы данных.
Читать дальшеИнтервал:
Закладка: