Рассмотрены практические вопросы разработки приложений баз данных для MS SQL Server 2005 и Oracle 10g с использованием Borland Developer Studio 2006. Приведена информация о теории построения реляционных баз данных и языке SQL. Освещены вопросы настройки и администрирования СУБД. Подробно рассмотрены интерфейсы взаимодействия приложений с БД - Borland dbExpress, Microsoft ADO, Borland dbGo, ADO.NET. Значительное внимание уделено интернет-программированию и разработке многоуровневых приложений БД. На компакт-диске содержатся исходные тексты всех рассмотренных в книге приложений, а также сценарии SQL Server 2005 и Oracle 10g, предназначенные для создания демонстрационных баз данных.
Для разработчиков приложений базы данных.
Содержание
Оглавление Предисловие 1 ЧАСТЬ I. ВВЕДЕНИЕ В РАЗРАБОТКУ ПРИЛОЖЕНИЙ БАЗ ДАННЫХ 5 Глава 1. Интегрированная среда разработки BDS 2006 7 Что нового в Borland Developer Studio 7 Основные элементы интегрированной среды разработки 8 Редактор форм 9 Инспектор объектов 9 Окно просмотра структуры 10 Редактор исходных текстов 10 Диспетчер проекта 12 Элементы .NET IDE 12 Менеджер установленных компонентов 13 Утилита Borland Reflection 13 Интеграция Delphi IDE и средств контроля версий 15 Глава 2. Введение в реляционные СУБД 18 Трехуровневая модель 20 Архитектура СУБД 21 Локальная архитектура 21 Файл-серверная архитектура 21 Клиент-серверная архитектура 22 Распределенная архитектура 22 Интернет-архитектура 23 Основные понятия реляционной модели данных 23 Таблицы и отношения 23 Обзор языка SQL 27 Типы данных в SQL 28 Операции над данными различных типов 30 Общие замечания о командах SQL 31 Домены 31 Создание таблиц 33 Выборка записей из таблиц 35 Некоторые команды SQL 36 Использование команд COMMIT и ROLLBACK 37 SQL Server 2005 38 База данных Oracle 10g 42 ЧАСТЬ II. ПРОГРАММИРОВАНИЕ ПРИЛОЖЕНИЙ БД ДЛЯ WIN32 45 Глава 3. Простое приложение баз данных для Win32 47 Структура приложения баз данных 47 Утилита Database Explorer 53 Приложение dbExpress 56 Упрощение авторизации 62 Основа наборов данных — класс TDataSet 65 Обзор компонентов dbExpress 66 Компонент TSQLConnection 67 Компонент TSQLDataSet 67 Компонент TSQLMonitor 68 Компонент TClientDataSet 69 Интерактивные приложения баз данных 70 Глава 4. Простое интернет-приложение баз данных 75 Отладчик Web App Debugger 78 Компоненты WebBroker 81 Основа объектной модели приложений WebBroker 81 Компоненты-генераторы контента 84 Обработчики событий OnBeforeDispatch и OnAfterDispatch 85 Простейшее приложение WebBroker 86 Глава 5. Редактирование данных с помощью dbExpress 100 Обзор технологии Cookies 103 Программа, регистрирующая клиентов 105 Отображение таблиц пользователя 111 Приложение makeorder 122 Приложение removeorder 124 Особенности разработки приложений для Oracle 125 Установка Web-приложения 129 Глава 6. Клиентские наборы данных 130 Клиентские наборы данных и компоненты-провайдеры 130 Работа с данными в автономном режиме 137 Фильтры 141 Работа с областями (ranges) 143 Индексы 144 Поиск в наборе данных 146 Закладки 149 Фильтрация данных с помощью события OnFilterRecord 149 Фильтрация данных с помощью компонента TDataSetProvider 150 Редактирование записей и метод Post 154 Глава 7. Графический интерфейс приложений БД 155 Компонент TDataSource 155 Компонент TDBGrid 156 Компонент TDBNavigator 159 Компонент TDBText 161 Компонент TDBEdit 162 Компонент TDBMemo 162 Компонент TDBImage 163 Компонент TDBListBox 163 Компонент TDBComboBox 163 Компонент TDBCheckBox 163 Компонент TDBRadioGroup 164 Компоненты TDBLookupListBox и TDBLookupComboBox 164 Компонент TDBCtrlGrid 165 Глава 8. Доступ к базам данных с помощью dbGO 168 Введение в ADO 168 Базовые компоненты для работы с ADO 169 Компонент TADOConnection 170 Компонент TADODataSet 171 Простое приложение dbGO 176 Конструируем строку связи во время выполнения программы 183 Оптимизация передачи данных 185 Сжатие данных 187 Другие компоненты dbGo 190 Компонент TADOTable 190 Компонент TADOQuery 191 Компонент TADOStoredProc 191 Глава 9. Web-приложения, использующие ADO 192 Таблица WEBIMAGES 192 Загрузка данных на сервер 195 Приложение просмотра изображений 200 Глава 10. Многоуровневые приложения БД 207 Технология DataSnap 207 Структура серверного приложения 208 Структура клиентского приложения 209 Компонент TDCOMConnection 210 Компонент TSocketConnection 212 Компонент TWebConnection 213 Пример простого примера DataSnap 214 Передача вспомогательных данных между клиентом и сервером 217 Простой SQL-клиент 221 Регистрация COM-объектов в системе 223 Другие компоненты DataSnap 224 Компонент TSimpleObjectBroker 224 Компонент TConnectionBroker 225 Компонент TLocalConnection 225 Компонент TSharedConnection 225 Многоуровневые приложения SOAP 226 Глава 11. Технологии баз данных и XML 229 Утилита XML Mapper и компонент TXMLTransformProvider 229 Сохранение данных из XML-файла в БД 236 Компонент TXMLTransformClient 238 ЧАСТЬ III. ПРОГРАММИРОВАНИЕ ПРИЛОЖЕНИЙ БД ДЛЯ .NET 245 Глава 12. Введение в технологию ADO.NET 247 Объекты ADO.NET 248 Провайдеры данных 250 Подключение провайдеров к BDS 251 Интерфейсы ADO.NET 252 Интерфейс IDbConnection 253 Интерфейс IDbCommand 253 Интерфейс IDataReader 253 Интерфейс IDataAdapter 253 Классы, реализующие соединение 253 Передача команд 255 Простое приложение ADO.NET 257 Анализ схемы таблицы 261 Глава 13. Локальные приложения баз данных ADO.NET 266 Компоненты-адаптеры 266 Пример использования адаптера 268 Компонент DataSet 269 Углубленное знакомство с классом DataTable 270 Столбцы и строки 270 Другие элементы класса DataTable 272 Компонент DataView 273 Связывание данных 274 Простое приложение для просмотра таблицы 276 Отображение столбцов и команды SQL 280 Просмотр нескольких таблиц 280 Фильтрация данных 283 Связывание данных с другими визуальными элементами 285 Сохранение локальной копии данных 286 Редактирование данных 288 Компоненты CommandBuilder 289 Создаем команды вручную 294 Визуальное редактирование параметров команд 301 Глава 14. Компоненты Borland Data Provider 303 Компонент BdpConnection 303 Компонент BdpDataAdapter 305 Просмотр и редактирование данных с помощью Borland Data Provider 307 Многоуровневые приложения и Borlad Data Adapter 309 Компонент DataSync 310 Компонент RemoteServer 310 Компонент RemoteConnection 311 Компонент DataHub 311 Создание серверного приложения 311 Создание клиентского приложения 313 Добавление адаптеров 314 Глава 15. Введение в ASP.NET 316 Введение в ASP.NET 316 Преимущества ASP.NET 316 Домены приложений 317 Создание простейшего приложения ASP.NET 317 Анатомия приложения ASP.NET 321 Классы HttpRequest и HttpResponse 329 Свойства класса HttpRequest 330 Методы и свойства класса HttpResponse 330 Сохранение состояния в перерывах между транзакциями 331 Проблема сохранения состояния 331 Пример сохранения состояния — программа-калькулятор 332 Сохранение данных в масштабах приложения 336 Сохранение данных с помощью сессий 340 Использование механизма AutoPostBack 344 Взаимодействие с элементами управления HTML 347 Как это работает 349 Перенос приложений с платформы Cassini на IIS 349 Развертывание приложений ASP.NET 350 Глава 16. Приложения баз данных и ASP.NET 353 Механизм связывания данных в ASP.NET 353 Компоненты DataList и DataGrid 356 Шаблоны 356 Использование в шаблонах элементов управления ASP.NET 359 Компонент DataGrid 360 Компоненты DB Web 364 Программа просмотра изображений 365 Заключение 375 Приложение. Описание компакт-диска 376 Литература 381 Предметный указатель
Пособие написано по материалам вводного лекционного курса, который автор читает на математико-механическом факультете Санкт-Петербургского государственного университета студентам, специализирующимся по прикладной математике и информатике. Особое внимание уделяется связям между понятиями дискретного анализа, возникающими в разных разделах математики и современной информатики.
У підручнику в логічній послідовності викладено основні поняття та методи дискретної математики. Окрім таких розділів, як теорія множин і математична логіка, теорія графів, основи теорії кодування, теорія булевих функцій, теорія алгоритмів та формальних мов, які традиційно входять до базового курсу дисципліни, розглянуто також основи теорії складності обчислень та деякі застосування дискретної математики у штучному інтелекті.