Опубликован: 05.08.2007 | Доступ: свободный | Студентов: 2200 / 83 | Оценка: 4.47 / 4.09 | Длительность: 20:11:00
ISBN: 978-5-9556-0097-0
Лекция 1:

Элементы работы с базами данных

Лекция 1: 123456 || Лекция 2 >

Определение структуры базы данных в SQL Server Enterprise Manager

Для просмотра структуры таблицы выделяем нужную таблицу, щелкаем правой кнопкой мыши и в появившемся контекстном меню выбираем Design Table (рис. 1.19, А) . Аналогично, для просмотра содержимого в контекстном меню выбираем "Open Table \ Return all rows" ("Открыть таблицу \ Извлечь все записи") (рис. 1.19, Б).

 Просмотр структуры таблицы "Информация о туристах" (А) и ее содержимого (Б)

увеличить изображение
Рис. 1.19. Просмотр структуры таблицы "Информация о туристах" (А) и ее содержимого (Б)

При просмотре импортированной таблицы в режиме дизайна обратите внимание на преобразование типов данных, - например, тип данных Microsoft Access "Текстовый" (Поле "Город" в таблице "Информация о туристах") был преобразован в тип данных nvarchar. Соотношения между конвертируемыми типами приведены в таблице 1.4:

Таблица 1.4. Соответствие типов данных Microsoft Access\Microsoft SQL4Если вы используете другую версию пакета Microsoft SQL, данные таблицы могут отличаться. Для определения соответствия импортируйте базу данных Types.mdb в свой пакет. База данных Types.mdb находится на диске, прилагаемом к книге (Code\Glava1 Types.mdb).
Тип данных Microsoft Access Тип данных Microsoft SQL Описание типа данных Microsoft SQL
1 Текстовый nvarchar Тип данных для хранения текста до 4000 символов
2 Поле МЕМО ntext Тип данных для хранения символов в кодировке Unicode до 2^30 - 1 (1 073 741 823) символов
3 Числовой int Численные значения (целые) в диапазоне от -2^31 (-2 147 483 648) до 2^31 - 1 (+2 147 483 647)
4 Дата/время smalldatetime Дата и время от 1 января 1900 г. до 6 июня 2079 года с точностью до одной минуты
5 Денежный money Денежный тип данных значения которого лежат в диапазоне от -2^63 (-922 337 203 685 477.5808) до 2^63 - 1 (+922 337 203 685 477.5807), с точностью до одной десятитысячной
6 Счетчик int См. 3
7 Логический bit Переменная, способная принимать только два значения - 0 или 1
8 Поле объекта OLE image Переменная для хранения массива байтов от 0 до 231-1 (2 147 483 647) байт
9 Гиперссылка ntext См. 2
10 Мастер подстановок nvarchar См. 1

Сведения о других типах данных Microsoft SQL можно найти в указателе справки SQL Server Enterprise Manager, щелкнув на кнопкепанели инструментов консоли управления.

Чтобы установить связи, нам снова предстоит определить первичные ключи для записей в каждой таблице. Открываем последовательно каждую таблицу в режиме структуры (Design Table), выделяя соответствующие поля, выбираем в контекстном меню Primary Key или нажимаем на кнопкупанели инструментов ( рис. 1.20):

 Определение первичного ключа

Рис. 1.20. Определение первичного ключа

Установив первичные ключи для всех таблиц (см. табл. 1.2), переходим к построению схемы базы. Выбираем пункт Diagrams, щелкаем на нем правой кнопкой и выбираем пункт New Database Diagram. В появившемся мастере "Create Database Diagram Wizard" нажимаем кнопку "Далее". В следующем шаге мастера из общего списка, включающего в себя системные таблицы, выбираем пользовательские таблицы (рис. 1.21):

 Добавление пользовательских таблиц

Рис. 1.21. Добавление пользовательских таблиц

Обратите внимание на галочку "Add related tables automatically" ("Добавлять связанные таблицы автоматически") - при выборе этой галочки в выбранные таблицы будут включаться все связанные ранее таблицы. У нас таких таблиц пока нет, поэтому нажимаем далее и завершаем работу мастера. Определение связей практически не отличается от аналогичного действия в Microsoft Access - следует "ухватиться" за одно поле и "перетащить" его на второе. При определении связи появляется окно "Create Relationship" (рис. 1.22), аналогичное окну Microsoft Access "Изменение связей" (сравните рис. 1.7).

 Определение связи между таблицами

Рис. 1.22. Определение связи между таблицами

В окне "Create Relationship" можно задать название связи в поле "Relationship name" (на рис. 1.22 приведено название по умолчанию), а также обеспечить каскадное обновление связанных полей, пометив галочку "Cascade Update Related Fields" и каскадное удаление связанных полей, пометив галочку "Cascade Delete Related Records". В этом окне указывается поле первичного ключа - "Primary key table", - в роли которого по-прежнему выступает столбец "Код туриста" таблицы "Туристы". В таблице "Информация о туристах" поле "Код туриста" выступает в качестве так называемого внешнего или вторичного ключа (Foreign key table). Внешний ключ - это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц.

После восстановления связей (см. рис. 1.9) схема данных будет выглядеть следующим образом (рис. 1.23):

 Схема базы данных BDTur_firmSQL

увеличить изображение
Рис. 1.23. Схема базы данных BDTur_firmSQL

В отличие от схемы данных Microsoft Access, здесь линии, отображающие связи по умолчанию, не привязываются графически к первичным и вторичным полям. Однако при щелчке правой кнопкой на любой связи и последующем выборе пункта контекстного меню "Properties" открывается диалоговое окно, в котором сразу видны все отношения. На панели инструментов расположена кнопка "Show_", при нажатии на которую появляется список режимов отображения таблиц. Выделив все таблицы и установив режим "Keys" (Ключи), можно отобразить только первичные и вторичные ключи (рис. 1.24).

 Схема базы данных в режиме "Keys"

увеличить изображение
Рис. 1.24. Схема базы данных в режиме "Keys"

Завершив работу со схемой данных, сохраняем ее. В окне "Diagrams" может быть создано несколько различных схем одной и той же базы данных (рис. 1.25):

 SQL Server Enterprise Manager поддерживает много схем базы данных

Рис. 1.25. SQL Server Enterprise Manager поддерживает много схем базы данных

Преобразование базы данных Microsoft SQL в формат Microsoft Access

Преобразование базы данных Microsoft SQL в один из распространенных форматов представляет собой довольно простую задачу. Преобразуем базу BDTur_firmSQL в формат Microsoft Access. Для этого выделяем ее, щелкаем правой кнопкой мыши и в появившемся меню выбираем Все задачи \ Export Data (см. рис. 1.14). Появляется уже знакомый нам мастер "Data Transformation Services Import/Export Wizard (DTS Import/Export Wizard)", в котором мы снова нажимаем кнопку "Далее". В шаге мастера "Choose a Data Source" ("Выбор источника данных") уже установлены верные значения: источник данных ("Data Source") - Microsoft OLE DB Provider for SQL Server, сервер - локальный ("Server"), а база данных ("Database") - BDTur_firmSQL (рис. 1.26):

 Выбор источника при экспорте базы данных

Рис. 1.26. Выбор источника при экспорте базы данных

В следующем шаге мастера выбираем тип данных Microsoft Access ("destination") и указываем директорию, где предварительно создан файл Microsoft Access (я назвал его ExportBDTur_firm.mdb) (рис. 1.27).

 Определение файла для экспорта данных

Рис. 1.27. Определение файла для экспорта данных

В шаге "Specify Table Copy or Query" оставляем предложенное по умолчанию значение "Copy table(s) and view(s) from the source database" и нажимаем кнопку "Далее". В шаге "Select Source Tables and Views" выделяем все таблицы и переходим дальше. Выбираем тип "Запустить сейчас" ("Run immediately") и подтверждаем выполнение действий. Переходим к файлу ExportBDTur_firm.mdb - все таблицы были экспортированы, однако без схемы данных. Ее можно восстановить вручную.

В программном обеспечении к курсу вы найдете файл базы данных Microsoft Access ExportBDTur_firm.mdb (Code\Glava1\ ExportBDTur_firm.mdb).

Создание базы данных в SQL Server Enterprise Manager

Создать новую базу данных можно несколькими способами: нажать кнопку"New Database" на панели инструментов, или кнопку"New" при выделенной папке "Databases", выбрать пункт главного меню "Действие \ New Database", или выбрать пункт контекстного меню "New Database". Для первоначального знакомства можно также использовать Мастера создания базы - для этого следует нажать на кнопку"Run Wizard", а затем выбрать из списка "Create Database Wizard". Поскольку применение мастера облегчает задачу предельным образом, рассмотрим непосредственное создание базы. В появившейся форме "Database Properties" вводим название базы, например "Somebase" (рис. 1.28).

 Свойства создаваемой базы данных

Рис. 1.28. Свойства создаваемой базы данных

После этого на вкладках "Data Files" и "Transaction Log" доступны определения свойств файла базы данных и файла отчетов о транзакциях. Принимаем значения, предложенные по умолчанию, и нажимаем кнопку "ОК". В списке появляется новая база, раскрываем ее группу, выделяем "Tables" (таблицы) и в контекстном меню выбираем "New Table". Обратите внимание на созданные автоматически 20 таблиц - это системные объекты, необходимые для функционирования данной базы. Создание новой таблицы (рис. 1.29, А) очень похоже на аналогичный процесс в Microsoft Access, поэтому его мы рассматривать не будем. В отдельную таблицу можно также импортировать данные из файла - при выборе пункта меню "Все задачи \ Import Data" появляется уже знакомый нам мастер "Data Transformation Services Import/Export Wizard" (рис. 1.29, Б).

 Создание новой таблицы (А) или импорт данных (Б) в новой базе данных

увеличить изображение
Рис. 1.29. Создание новой таблицы (А) или импорт данных (Б) в новой базе данных

При заполнении полей таблицы на первых порах достаточно сложно определить, какой тип данных использовать для заданного поля. Изучение базы данных Northwind, NorthwindCS, pubs а также сведений о самих типах данных, которые можно найти в справке, позволит разобраться с этой задачей.

Лекция 1: 123456 || Лекция 2 >