Элементы работы с базами данных
Определение структуры базы данных в SQL Server Enterprise Manager
Для просмотра структуры таблицы выделяем нужную таблицу, щелкаем правой кнопкой мыши и в появившемся контекстном меню выбираем Design Table (рис. 1.19, А) . Аналогично, для просмотра содержимого в контекстном меню выбираем "Open Table \ Return all rows" ("Открыть таблицу \ Извлечь все записи") (рис. 1.19, Б).
увеличить изображение
Рис. 1.19. Просмотр структуры таблицы "Информация о туристах" (А) и ее содержимого (Б)
При просмотре импортированной таблицы в режиме дизайна обратите внимание на преобразование типов данных, - например, тип данных Microsoft Access "Текстовый" (Поле "Город" в таблице "Информация о туристах") был преобразован в тип данных nvarchar. Соотношения между конвертируемыми типами приведены в таблице 1.4:
Сведения о других типах данных Microsoft SQL можно найти в указателе справки SQL Server Enterprise Manager, щелкнув на кнопкепанели инструментов консоли управления.
Чтобы установить связи, нам снова предстоит определить первичные ключи для записей в каждой таблице. Открываем последовательно каждую таблицу в режиме структуры (Design Table), выделяя соответствующие поля, выбираем в контекстном меню Primary Key или нажимаем на кнопкупанели инструментов ( рис. 1.20):
Установив первичные ключи для всех таблиц (см. табл. 1.2), переходим к построению схемы базы. Выбираем пункт Diagrams, щелкаем на нем правой кнопкой и выбираем пункт New Database Diagram. В появившемся мастере "Create Database Diagram Wizard" нажимаем кнопку "Далее". В следующем шаге мастера из общего списка, включающего в себя системные таблицы, выбираем пользовательские таблицы (рис. 1.21):
Обратите внимание на галочку "Add related tables automatically" ("Добавлять связанные таблицы автоматически") - при выборе этой галочки в выбранные таблицы будут включаться все связанные ранее таблицы. У нас таких таблиц пока нет, поэтому нажимаем далее и завершаем работу мастера. Определение связей практически не отличается от аналогичного действия в Microsoft Access - следует "ухватиться" за одно поле и "перетащить" его на второе. При определении связи появляется окно "Create Relationship" (рис. 1.22), аналогичное окну Microsoft Access "Изменение связей" (сравните рис. 1.7).
В окне "Create Relationship" можно задать название связи в поле "Relationship name" (на рис. 1.22 приведено название по умолчанию), а также обеспечить каскадное обновление связанных полей, пометив галочку "Cascade Update Related Fields" и каскадное удаление связанных полей, пометив галочку "Cascade Delete Related Records". В этом окне указывается поле первичного ключа - "Primary key table", - в роли которого по-прежнему выступает столбец "Код туриста" таблицы "Туристы". В таблице "Информация о туристах" поле "Код туриста" выступает в качестве так называемого внешнего или вторичного ключа (Foreign key table). Внешний ключ - это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц.
После восстановления связей (см. рис. 1.9) схема данных будет выглядеть следующим образом (рис. 1.23):
В отличие от схемы данных Microsoft Access, здесь линии, отображающие связи по умолчанию, не привязываются графически к первичным и вторичным полям. Однако при щелчке правой кнопкой на любой связи и последующем выборе пункта контекстного меню "Properties" открывается диалоговое окно, в котором сразу видны все отношения. На панели инструментов расположена кнопка "Show_", при нажатии на которую появляется список режимов отображения таблиц. Выделив все таблицы и установив режим "Keys" (Ключи), можно отобразить только первичные и вторичные ключи (рис. 1.24).
Завершив работу со схемой данных, сохраняем ее. В окне "Diagrams" может быть создано несколько различных схем одной и той же базы данных (рис. 1.25):
Преобразование базы данных 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):
В следующем шаге мастера выбираем тип данных Microsoft Access ("destination") и указываем директорию, где предварительно создан файл Microsoft Access (я назвал его ExportBDTur_firm.mdb) (рис. 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).
После этого на вкладках "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 а также сведений о самих типах данных, которые можно найти в справке, позволит разобраться с этой задачей.