- •Введение в курс “Базы данных”
- •Классификация бд по способу хранения данных
- •Факультет
- •Классификация бд по их использованию
- •Реляционные бд (ms Access)
- •Типы полей в реляционных бд
- •Связи между таблицами
- •Поддержка целостности данных
- •Нормализация бд
- •Неформальные методы приведения таблиц к третьей нормальной форме
- •Операции в бд (vba) Операции над отношениями/таблицами
- •Операции над записями
- •Типы данных используемых в sql
- •Операторы манипулирования данными Оператор Select
- •Группировка
- •Объединение таблиц
- •Параметры
- •Перекрёстные запросы
- •Обновление данных (запрос Update)
- •Удаление данных (запрос Delete)
- •Подчинённые запросы
- •Создание таблиц
- •Добавление новых полей
- •Технология разработки программного обеспечения, использующего базы данных
- •Доступ к данным в Visual Basic 6.0
- •Работа с записями
- •Создание многоуровневых приложений
- •Д Fill оступ к данным в c# (Visual Studio 2005)
- •Создание отчётов
- •Olap технологии. Xml язык
- •Клиент-серверные системы
- •Триггер
- •Программирование триггера
Создание многоуровневых приложений
Приложение клиент-сервер в отношении баз данных выглядит следующим образом:
Интерфейс
“Сервер” приложения
“Сервер” БД
Сервер приложения предназначен для создания и работы обрабатывающих программ.
Сервер БД – это программа, которая занимается хранением, автоматизацией поиска и формированием ответов на запросы для клиентской программы. Всё программное подключение, рассмотренное выше, разбивается на 2 части: серверную и клиентскую.
Существует 2 варианта их взаимодействия:
С подключенной БД;
С отключенной БД.
Для создания серверного приложения необходимо:
Добавить в проект компонент Remote Data Module (File → New → Other, вкладка Multitier).
Добавляются стандартные компоненты, как в однопользовательском приложении (ADOConnection, ADOTable).
В этот модуль добавить компонент DataSetProvider с вкладки DataAccess, который поставляет данные клиентским приложениям (на каждый ADOTable). Сервер должен быть зарегистрирован на компьютере. Для этого надо в меню Run → Parameters в поле Parameters ввести /regserver.
Создать новое, клиентское приложение.
Добавить DataModule
На вкладке DataSnap добавить DCOMConnection, который устанавливает связь с любым сервером приложений, зарегистрированным по технологии COM на данном компьютере. Свойство ServerName – имя сервера для связи, Server GUID – № зарегистрированного сервера на компьютере.
Чтобы добраться до нужных данных, надо с вкладки DataAccess добавить компонент Client DataSet.
Свойство Remote Server – выбрать Connection.
Свойство Provider Name – имя провайдера, который находится на сервере – таблица.
Для записи изменений в БД: ClientDataSet->ApplyUpdates(количество ошибок);
Чтобы изменить тип доступа (через Интернет, удалённый доступ), вместо DCOMConnection надо использовать SocketConnection из той же вкладки. Файл с сервером сохраняется в Borland/Builder/bin/scklsrvr.exe. В результате появится иконка Borland Socket Server, которая позволяет создать доступ к серверу. Она запускается на сервере 1 раз.
Недостаток Socket Connection – отсутствие возможности кодирования, а основное преимущество – высокая скорость. Чтобы устранить этот недостаток, надо использовать компонент Web Connection, у которого можно указать свойство URL-адрес – localhost. В момент передачи можно запустить процедуру обработки, которая зашифрует текст и передаст его.
Д Fill оступ к данным в c# (Visual Studio 2005)
Update
Data Adapter
Dataset
Connection
Data Source
Data Adapter является средством связи между Dataset и Connection. С Dataset он связан посредством команд Fill – загрузить данные, Update – записать изменения. В момент записи создаётся список ошибок (Error Collection). Data Adapter работает с Connection с помощью реляционного метода. Команды взаимодействия с БД (Command) можно создавать как вручную, так и автоматически.
Для подключения к своему проекту БД необходимо:
Добавить к своему проекту компонент DataSet.
Связать его с помощью мастера с созданной ранее БД. Если все шаги были проделаны верно, то в этом компоненте должна появиться схема данных.
На форму из вкладки Data панели Toolbox добавить компоненты: Dataset, BindingSource, DataGrid, BindingNavigator (два последних являются визуальными компонентами).
При добавлении Dataset в мастере необходимо выбрать пункт Types Dataset, недавно созданный прототип Dataset’а.
В элементе BindingSource необходимо выбрать в свойстве Data Source именно тот Dataset, который расположен на одной форме с этим компонентом. В поле DataMember нужно выбрать имя таблицы, связанной с этим компонентом. Если всё сделано верно, то в списке невидимых компонентов должен появиться TableAdapter.
В DataGrid нужно свойство Data Source установить BindingSource (появятся заголовки столбцов таблицы). В компоненте BindingNavigator необходимо установить свойство BindingSource на соответствующий компонент формы.
Элемент TableAdapter предназначен для заполнения dataset формы с помощью команды Fill, а также для сохранения этого набора данных в БД (команда TablAdapter.Update(dataset1)). Кроме того с помощью этого компонента можно создавать команды для добавления записей (TablAdapter.Insert(…)) и их удаления (TablAdapter.Delete(…)).
Все операции над записями в программе происходят через BindingSource:
Сортировка: BindingSource.Sort =”Поле таблицы” asc/desc – по возрастанию/убыванию.
Фильтрация: BindingSource.Filter = “Условие фильтра”.
Получение текущей записи: DataRowView row; row = ((DatarowView)BindingSource.Current).Row; row.Item(“Название поля”);
Перемещение по записям: BindingSource.MoveNext, …
Сохранить данные в БД: BindingSource.EndEdit(); tableAdapter.Update(this.DataSet);
Для создания поля со списком в DataGrid необходимо зайти в режим мастера редактирования колонок (Edit Columns). Затем добавить новое, несвязанное поле, тип – поле со списком. Указать свойства на вкладке Data (у компонента ComboBox): DataProperty Name – поле, содержащее значение в основной таблице, куда будет производиться запись, Data Source – это BindingSource, из которого данные будут выводится на экран, Display Member – поле из Data Source, которое будет отображаться на экране,Value Member – ключевое поле из DataSet, которое записывается в Data Property Name.