- •Введение
- •1. Основные понятия архитектуры клиент-сервер
- •1.1. Преимущества архитектуры клиент-сервер
- •1.2. Основные понятия и компоненты архитектуры
- •1.3. Звенья
- •1.4. Серверы баз данных
- •2. Основные понятия, объекты и язык т-sql субд ms sql Server 2005
- •2.1. Состав и назначение баз данных в ms sql Server
- •2.2. Основные этапы работы с sql Server
- •2.3. Используемые типы данных в sql Server
- •2.4. Введение в Transact-sql (t-sql)
- •2.4.1. Выражения
- •2.4.2. Переменные
- •2.4.3. Преобразование типов
- •2.4.4. Управляющие конструкции т-sql
- •2.4.5. Описание примера базы данных
- •2.4.6. Управление данными (язык sql)
- •2.4.6.1. Типы команд sql
- •2.4.6.2. Извлечение данных
- •2.5. Представления
- •2.5.1. Создание и удаление представлений
- •2.5.2. Обновление данных в представлениях
- •2.5.3. Преимущества и недостатки представлений.
- •Независимость от данных
- •2.6. Хранимые процедуры
- •2.6.1. Понятие хранимой процедуры
- •2.6.2. Типы хранимых процедур
- •2.6.3. Создание, изменение и удаление хранимых процедур
- •2.6.4. Выполнение хранимой процедуры
- •3. Использование ms sql Server Management Studio для работы с объектами базы данных
- •3.1. Описание учебной базы данных «Realizations of goods» (Реализация товаров)
- •3.2. Создание и сохранение базы данных
- •3.3. Создание и работа с представлениями (запросы)
- •3.4. Создание и работа с хранимыми процедурами
- •4. Создание клиент-серверного приложения в Visual Basic
- •4.1. Элемент управления ms ado data Control
- •4.2. Элемент управления ms dataGrid Control
- •4.3. Клиент-серверное приложение «Реализация товаров»
- •4.3.1. Постановка задачи
- •4.3.2. Состав пользовательского интерфейса и программная реализация
- •4.3.3. Графическое формирование значений свойств элементов Adodc и DataGrid
- •5. Практические задания для самостоятельной работы
- •Вариант 1. «Жильё»
- •Вариант 2. «Жители»
- •Вариант 3. «Население»
- •Вариант 4. «Вакансии»
- •Вариант 5. «Поставщики-детали»
- •Литература
3.2. Создание и сохранение базы данных
Для создания базы данных необходимо запустить SQL Server-2005, для этого необходимо выбрать пункт «SQL Server Management Studio» (рис. 6).
Рис. 6. Запуск SQL Server-2005
Для установки связи с сервером необходимо ввести имя сервера, имя входа, пароль и выбирать пункт «Соединить» (Connect) (рис. 7).
Рис. 7. Установка параметров соединения с сервером
После установления связи появится окно, где создается новая база данных, после чего необходимо кликнуть правой кнопкой мыши по пункту «База данных» (Database), и выбрать пункт «Создать базу данных» (New Database…) (рис.8).
Рис. 8. Окно создания базы данных
Открывается окно, в левой части которого отображен список со всеми существующими и вновь созданной базой данных: «Системная база данных» (System Database), а также «Реализация товаров» (Realization of goods) - это вновь созданная пользовательская база данных (рис. 9).
После создания базы данных можно приступить к созданию таблиц. Для этого необходимо раскрыть нужную нам базу данных, например, «Realization of goods», выбрать пункт «Таблицы» (Tables), а затем кликнуть по нему правой кнопкой мыши, где выбрать пункт «Создать таблицу» (New table…) (рис.10).
Рис. 9. Окно с объектами баз данных
Рис. 10. Окно создания таблицы
В появившемся окне (справа на рис. 11)
необходимо ввести имена всех полей,
установить длину и тип данных. Длину
поля «name_goods» (вид товара)
необходимо установить в 50 символов
вместо 10, установленных по умолчанию,
потому что в это поле может быть занесено
значение, например, «Мясные и рыбные
продукты», где количество символов
более 10. В поле «id_type_goods»,
необходимо дополнительно установить
параметр «Спецификация идентифицирующего
столбца=ДА» (Identity
Specification =YES). Это
означает, что значение данного поля
будет заполняться автоматически, и при
этом гарантируется уникальность (подобие
типа «счетчик» в СУБД MS Access [4]). Поле
«id_type_goods»
делается ключевым, для этого надо
кликнуть мышью по соответствующей
кнопке
на панели инструментов (смотри
рис. 11).
Затем необходимо закрыть окно и при сохранении ввести имя новой таблицы - «Type_goods».
Рис. 11. Окно описание структуры таблицы
Аналогичным способом создаются остальные две таблицы «Goods» и «Realization».
Для установки связей между таблицами следует придерживаться следующих правил. Для установки связи между таблицами «Realization» и «Goods» необходимо для таблицы «Realization» в контекстном меню выбрать пункт «Изменить», а в окне «Таблица» (рис. 12) из контекстного меню выбрать пункт «Отношения» (Relationship). Затем в окне «Отношения внешнего ключа» (рис. 13) для новой связи (отношения) нажать кнопку «Добавить» (Add), выбрать пункт «Спецификация таблиц и столбцов» (Tables And Columns Specification) по кнопке «...» и в открывшемся окне (рис. 14) в списке таблицы первичного ключа выбрать таблицу «Goods», а в списках полей таблиц первичного и внешнего ключа установить связь по полю «id_goods».
Для установки связи между таблицами «Goods» и "Type_goods" надо выбрать таблицу «Goods», а затем, действуя подобным образом, установить связь по полю «id_type_goods».
Иными словами, для установки связи между двумя таблицами необходимо открыть подчиненную (Foreign) таблицу, она откроется справа, а слева, открыть первичную таблицу (Primary), а затем установить связь по соответствующим, в нашем случае, по одноименным полям. Причем, одно поле (слева), должно быть ключевым, а справа, поле того же типа, в нашем случае Int.
После установки связей можно приступить к заполнению таблиц. Причем заполнение таблиц в SQL Server-2005 необходимо производить только в определенной последовательности, а именно, вначале «Type_goods», затем «Goods», и в последнюю очередь «Realization». Заметим, что при заполнении таблиц ключевое поле заполняется автоматически, и его нельзя менять. По умолчанию, это ключевое поле начинает заполняться с 1, а затем, каждая запись имеет номер на 1 больше (заполнение по умолчанию), но в случае удаления некоторых записей, этот порядок может быть нарушен, что вполне допустимо.
Рис. 12. Окно создания отношений
Рис. 13. Окно определения спецификации внешнего ключа отношения
В дальнейшем, для демонстрации, будем рассматривать следующие виды товаров (таблица "Type_goods"):
мебель;
электротовары:
зимняя одежда (жен.);
зимняя одежда (муж.);
летняя одежда;
джинсы;
спортивная одежда;
обувь;
постельное белье;
детская одежда;
молочные продукты;
мясные и рыбные продукты;
хлебобулочные изделия;
крупы;
печенье, конфеты;
чай, кофе;
фрукты;
овощи.
Рис. 14. Окно установки связи по полю
При заполнении поля подчиненной таблицы, по которому установлена связь, (как правило, это поле имеет тип Int) его значения необходимо вносить только из допустимого диапазона. В противном случае, так как это ведет к нарушению целостности данных, будет выдано соответствующее предупреждение, и данная операцию будет отменена.
Например, пусть необходимо в таблицу «Goods» внести еще одну запись, которая будет содержать характеристики товара «Fanta» из несуществующего вида товара «Напитки». Тогда для корректности вначале необходимо добавить в таблицу "Type_goods" строку со значением «Напитки», а затем уже заполнять таблицу «Goods», иначе будет выдаваться предупреждение о нарушении целостности данных и внести запись не удастся.
Отдельно следует рассмотреть вопрос о сохранении (копировании) базы данных. Заметим, что в СУБД MS Access [4] это был двоичный файл, которой можно было перенести на другой компьютер без особых проблем, например, обычными системными средствами копирования. В SQL Server-2005 это несколько сложнее, а именно скопированный файл (база данных) будет не доступен, даже к просмотру, не говоря уже об исправлении и копировании. В данном случае, SQL Server-2005 обеспечивает полную защиту данных.
В нашем случае были созданы два файла с расширениями: .mdf (Realization of goods.mdf) и _log.ldf (Realization of goods_log.ldf).
При копировании этих файлов возникнет ошибка, потому что SQL Server-2005 не допускает внешнего вмешательства и обеспечивает сохранность данных. Но даже, если отключить SQL Server-2005, и все-таки скопировать эти файлы на другой ПК, то потом, будут проблемы при его открытии на другом SQL Server-2005.
Поэтому для создания копии базы данных в SQL Server-2005 надо создать файл отката (BackUP). Для этого необходимо выбрать пункт Realization of goods->task->BackUp. В появившемся окне выбрать пункт «Добавить», ввести имя файла и путь. Причем данная процедура (создание копии), работает очень корректно, не требуется отключать клиентов.
В результате будет создан файл, в котором храниться копия базы данных, и который можно переносить с помощью внешних носителей на другой ПК, где данный файл отката может быть легко восстановлен.
