Чтение онлайн

на главную

Жанры

Обработка баз данных на Visual Basic®.NET

Прайс Кевин Т.

Шрифт:

Большая часть материала этой главы приводится отнюдь не ради увеличения объема книги; начав программировать с использованием Visual Studio .NET и ADO.NET, вы почувствуете реальную пользу от прочитанного.

Вопросы и ответы

Почему имена таблиц и полей иногда заключены в квадратные скобки?

Квадратные скобки часто окружают имена объектов в среде Visual Studio.NET и административных инструментах SQL Server для исключения проблем при использовании имен с пробелами и другими зарезервированными символами и словами. Например в базе данных Northwind, которая инсталлируется вместе с SQL Server 2000, есть таблица с именем Order Details. Хотя в общем случае не рекомендуется включать пробелы в имена таблиц, ее все же можно использовать в SQL Server в виде [Order Details]. Однако инструменты с графическим интерфейсом, например в среде Visual Studio .NET,

всегда добавляют квадратные скобки. Но в данной книге они не используются, чтобы исключить излишнюю работу по их вводу.

Почему перед именем таблицы иногда используется приставка dbo? Что это такое?

dbo — это вспомогательный квалификатор (или моникер), который используется в инструментах с графическим интерфейсом при работе с SQL Server. Он позволяет установить соединение заданного объекта базы данных с владельцем базы данных. Объекты базы данных могут иметь разных владельцев, a dbo представляет собой сокращенную форму записи следующего высказывания: "этот объект относится к владельцу используемой базы данных". Разные объекты одной базы данных вполне могут относиться к разным владельцам, хотя, конечно, следует признать, что такая ситуация встречается редко. В базах данных, в которых все объекты относятся к владельцу dbo, этот моникер можно опустить (однако инструменты с графическим интерфейсом все равно попытаются вставить его).

ГЛАВА 3

Знакомство с SQL Server 2000

В прошлом многие программисты начинали создание приложений баз данных, используя язык Visual Basic и базу данных Microsoft Access с ядром Jet. Как только база данных разрасталась до нескольких тысяч записей или к ее услугам обращались несколько пользователей, наступал "великий перелом". Конфликты при доступе к данным со стороны пользователей, уменьшение производительности и отсутствие удобных инструментов управления данными и сервером привели к тому, что разработчики стали искать способы решения этих проблем с помощью других архитектур баз данных. Одной из таких архитектур стала модель вычислений типа клиент/сервер (или модель распределенных вычислений).

Суть архитектуры клиент/сервер заключается не только в предоставлении многопользовательского режима работы с базой данных, к тому же с такой задачей вполне может справляться Jet. В многопользовательской архитектуре несколько пользователей используют одни и те же данные в сети, т.е. один или несколько файлов базы данных находятся на сервере, к которому могут осуществлять доступ клиентские компьютеры. Несмотря на то что Microsoft Access также поддерживает многопользовательский ре жим работы, эту программу нельзя отнести к системам клиент/сервер, поскольку все необходимые операции выполняются на отдельном компьютере клиента. Например, для извлечения с помощью команды SQL одной записи из таблицы, включающей 50 тыс. записей, нужно перенести на компьютер клиента все строки (или по крайней мере их индексы) таблицы. При этом на стороне сервера не предусмотрено никакой "интеллектуальной" части для специализированной обработки данных, например для выполнения запроса и возвращения только запрошенных данных.

В архитектуре клиент/сервер предусмотрена серверная часть (back end), т.е. специализированное программное обеспечение, которое способно извлекать и кэшировать данные, разрешать конфликты доступа к данным со стороны клиентов, а также обеспечивать безопасность. Например, СУБД SQL Server компании Microsoft получает запросы от клиентских компьютеров, выполняет их на серверном компьютере, а затем возвращает клиентскому компьютеру только запрошенные данные. Таким образом, для извлечения одной записи из таблицы, включающей 50 тыс. записей, серверу будет передана команда SELECT, серверное программное обеспечение выполнит эту команду и возвратит клиенту только искомую запись. Очевидно, что при этом сетевой трафик значительно сокращается, а общая производительность повышается еще и потому, что вычислительная мощность (т.е. быстрота работы процессора и объем оперативной памяти) компьютера-сервера гораздо выше, чем компьютера-клиента. Поэтому в такой архитектуре будут быстрее выполняться команды и извлекаться данные.

Если вы работаете с Visual Basic .NET, то очевидно, что в качестве серверной части (или сервера баз данных) можно использовать Microsoft SQL Server, поставляемый вместе с Visual Basic .NET и Visual Studio .NET. Перечень разных версий Microsoft SQL Server, которые поставляются вместе с Visual Basic .NET и Visual Studio .NET, приводится далее в главе.

СОВЕТ

Базы данных на основе ядра баз данных Jet (MDB) рекомендуется использовать только для простейших и ограниченных приложений.

Благодаря появлению нового ядра SQL Server 2000 Desktop предназначенного специально для баз данных небольшого размера, отпадает необходимость использования ядра Jet. Теперь размер базы данных SQL Server может не требуя дополнительного кодирования или изменения ее структуры по мере роста системы.

В этой главе внимание фокусируется на основах использования SQL Server 2000. Сначала предлагается введение, посвященное его установке, а затем излагаются базовые сведения об использовании SQL Server 2000, необходимые для понимания материала и примеров в остальной части книги. Излагаемого здесь материала вполне достаточно даже для тех, у кого вообще нет никакого опыта работы с SQL Server. Более того, даже разработчики с большим опытом работы с этой СУБД найдут здесь для себя много полезного. Рассмотрим следующую типичную ситуацию.

Допустим, вы входите в команду разработчиков распределенного приложения с архитектурой клиент/сервер. Программисты, разрабатывающие серверную часть приложения, к моменту промежуточной сдачи проекта только на 95% подготовили функциональную версию сервера. Нужно приступать к работе, а серверная часть приложения не готова на все 100%.

Более того, в вашем распоряжении может быть только 1-2 программиста с опытом создания серверной части. Поскольку программисты серверной части обладают довольно редким набором навыков, такая ситуация возникает довольно часто при создании приложений с архитектурой клиент/сервер. Таких специалистов труднее всего найти и удержать, а потому они работают с гораздо большим напряжением, чем остальные программисты. Кроме того, их гораздо сложнее заменить в случае неудачного выполнения работы. Более того, программисты клиентской части часто не могут завершить свою работу до тех пор, пока не будут исправлены ошибки в серверной части.

Такую ситуацию называют трагедией одаренного программиста серверной части.

Если вы принимали участие в проекте по созданию распределенного приложения с архитектурой клиент/сервер с несколькими разработчиками, то вам наверняка знакома эта ситуация. Одним из решений этой проблемы является создание прототипа клиентского приложения с использованием временного источника данных на основе Jet с последующей заменой его по окончании работы над серверной частью. Для этого обычно используется источник данных ODBC или OLEDB. Предлагаемый уровень абстракции на основе ODBC или OLEDB позволяет создавать и использовать в приложении прототип баз данных с переключением на реальную базу данных по окончании работа над проектом.

Размещение одного или нескольких уровней абстракции между клиентом и сервером также делает работу программистов клиентской части независимой от деятельности программистов серверной части. Для программистов серверной части это означает, что они должны создать представления или хранимые процедуры, которые поставляют данные клиентам. В среде Visual Basic .NET эта цель достигается за счет создания компонентов. Более подробно способы создания представлений или хранимых процедур описываются в других разделах этой главы.

Установка и запуск Microsoft SQL Server

Работа с сервером баз данных значительно отличается от совместного использования файла базы данных Microsoft Jet. Для успешной работы с SQL Server нужно познакомиться с новыми понятиями и дополнительными возможностями. Однако установка и использование SQL Server 2000 организована гораздо проще, чем в предыдущих версиях, особенно в версии 6.5 и более ранних.

Ниже перечисляются основные условия для установки и работы разных редакций сервера базы данных SQL Server 2000.

• SQL Server 2000 Standard Edition — это стандартная редакция, которая содержит основной сервер баз данных для рабочей группы или отдела.

• SQL Server 2000 Enterprise Edition — это корпоративная редакция, которая содержит все элементы стандартной редакции и предлагает повышенную производительность и другие компоненты для крупных организаций, Web-узлов и хранилищ данных.

• SQL Server 2000 Personal Edition — это персональная редакция, предназначенная для мобильных пользователей, которые часто отсоединены от своей сети, но нуждаются в SQL Server для локального хранения данных и запуска отдельных приложений на клиентском компьютере. В отличие от стандартной и корпоративной редакций, для которых требуется серверная версия операционной системы Windows NT или Windows 2000, персональная редакция может работать с Windows 2000 Professional, Windows NT 4.0 Workstation и Windows ME или Windows 98. Эта редакция ограничивает производительность сервера, если одновременно запущено более пяти пакетных заданий.

Поделиться:
Популярные книги

Возвышение Меркурия. Книга 7

Кронос Александр
7. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 7

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Совок 2

Агарев Вадим
2. Совок
Фантастика:
альтернативная история
7.61
рейтинг книги
Совок 2

Прометей: каменный век

Рави Ивар
1. Прометей
Фантастика:
альтернативная история
6.82
рейтинг книги
Прометей: каменный век

Ты предал нашу семью

Рей Полина
2. Предатели
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ты предал нашу семью

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Венецианский купец

Распопов Дмитрий Викторович
1. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
7.31
рейтинг книги
Венецианский купец

Попаданка для Дракона, или Жена любой ценой

Герр Ольга
Любовные романы:
любовно-фантастические романы
7.17
рейтинг книги
Попаданка для Дракона, или Жена любой ценой

Любимая учительница

Зайцева Мария
1. совершенная любовь
Любовные романы:
современные любовные романы
эро литература
8.73
рейтинг книги
Любимая учительница

Воевода

Ланцов Михаил Алексеевич
5. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Воевода

Деспот

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Деспот

Мастер...

Чащин Валерий
1. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
6.50
рейтинг книги
Мастер...

Не кровный Брат

Безрукова Елена
Любовные романы:
эро литература
6.83
рейтинг книги
Не кровный Брат

Не грози Дубровскому! Том III

Панарин Антон
3. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том III