Работа с базами данных
Данная глава о том, как вы можете управлять базами данных и создавать при помощи Visual Studio 2008 и SQL Server приложения, которые могут работать с данными.
Пять различных инструментов Visual Studio позволяют вам взаимодействовать с базами данных и помогают создавать приложения, которые используют данные из баз данных:
□ Solution Explorer;
□ Server Explorer;
Database Diagram Designer;
□ Table Designer;
□ Query and View Designer.
Эти пять инструментов называются Visual Database Tools (визуальными инструментами баз данных). Некоторые из этих инструментов мы уже представили вам в главе 5. Теперь у нас есть возможность исследовать то, как разработчики могут использовать эти инструменты совместно…
Основными элементами любой базы данных являются ее таблицы. Таблицы состоят из структуры и данных. Server Explorer— это инструмент Visual Studio, который используется для определения (или редактирования) структуры или данных любой таблицы в подключенной базе данных. Фактически при помощи Server Explorer можно создать новый экземпляр базы данных SQL Server с нуля.
Примечание
Как мы отмечали в главе 5, в версиях Express и Standard интегрированной среды разработки Visual Studio инструмент Server Explorer называется Database Explorer. Для простоты мы будем в данной главе всегда называть это окно Server Explorer.
Создание новой базы данных SQL Server
Подключения к данным — это физические подключения к…
Конечно, вы можете также установить подключение и к существующей базе данных. Для этого опять щелкните правой кнопкой мыши по узлу Data Connections; но на этот раз выберите пункт Add Connection. Диалоговое окно Add Connection (рис. 18.3) аналогично диалоговому окну для создания новой базы данных: для подключения к базе данных вы указываете источник данных, имя сервера, данные учетной записи, а также имя базы данных/имя файла базы данных.
Под каждым подключением имеются каталоги для следующих классов объектов баз данных:
□ диаграмм баз данных;
□ таблиц;
□ представлений;
□ хранимых процедур;
□ функций;
□ синонимов;
□ типов;
□ сборок.
Эти каталоги являются стартовой…
Визуальный конструктор Table Designer— это инструмент Visual Studio, который вы используете для определения или редактирования определения таблицы.
В окне Server Explorer в существующем подключении щелкните правой кнопкой мыши по каталогу Tables и выберите пункт Add New Table. После этого в главной панели документов интегрированной среды откроется визуальный конструктор Table Designer.
Этот конструктор реализован в табличном виде; в нем вы добавляете строку для каждого столбца, который вы хотите определить в таблице. Для каждого столбца таблицы вы указываете имя, тип данных, а также допустимость использования значений типа null. Помимо табличного интерфейса имеется также еще и окно Properties, которое предоставляет полный доступ ко…
При активном Table Designer становится доступным новое меню верхнего уровня Table Designer. Вы можете использовать это меню (или контекстное меню, которое отображается при щелчке правой кнопкой мыши внутри Table Designer) для доступа к целому списку полезных действий. Например, для создания первичного ключа таблицы необходимо выделить столбец (или столбцы, которые составляют ключ), а затем выбрать в меню конструктора пункт Set Primary Key. Все первичные ключи таблицы будут помечены значком с ключиком.
Создание индексов, внешних ключей и ограничений целостности
Индексы, внешние ключи и ограничения целостности создаются при помощи того же самого интерфейса и процесса: выберите необходимое действие в меню Table Designer; используйте…
Для создания диаграммы базы данных щелкните правой кнопкой мыши по узлу Database Diagrams в окне Server Explorer и выберите пункт Add New Diagram. Откроется пуста^ диаграмма, и визуальный конструктор незамедлительно покажет диалоговое окно для добавления таблиц на диаграмму (рис. 18.7).
После того как вы добавите несколько таблиц, диаграмма покажет графическое представление столбцов таблиц и всех имеющихся между таблицами связей. Диаграмма полностью интерактивная; вы можете напрямую редактировать определения столбцов, ключи, связи и т. д.
Совет
Вот как можно быстро добавить группы взаимосвязанных таблиц: добавьте в диаграмму таблицу, выделите ее и щелкните по кнопке Add Related Tables в панели инструментов конструктора. При…
Таблицы можно редактировать прямо внутри диаграммы. Для изменения столбца нужно щелкнуть по таблице, а затем: ввести имя столбца; или изменить тип данных, либо правило использования значений типа null. Для добавления столбца просто заполните новую строку в представлении таблицы в диаграмме.
Связи между таблицами можно легко определить прямо внутри диаграммы: надо просто перетащить столбец первичного ключа из одной таблицы в столбец внешнего ключа другой таблицы. При этом автоматически появятся два диалоговых окна: Foreign Key Relationships и Tables and Columns (это те же самые диалоговые окна, которые используются для создания внешних ключей в конструкторе Table Designer). На рис. 18.8 показано создание обычной связи "один-ко-многим" между таблицей категорий и таблицей заказов. Таблица заказов имеет столбец идентификатора категории, который будет внешним ключом для первичного ключа таблицы категорий.
После фиксации назначений столбцов вы завершаете создание связи при помощи изменения (при необходимости) свойств самой связи в…
Связь "один-к-одному" создается точно так же, как и связь "один-ко-многим". Разница вот в чем: связь "один-к-одному" устанавливается между двумя первичными ключами (а не между первичным и внешним ключами). Если вы перетащите столбец первичного ключа из одной таблицы на столбец первичного ключа другой таблицы, то это автоматически создаст связь "один-к-одному". Такие связи обозначаются значками ключиков на обоих концах линии связи.
Связь "многие-ко-многим" создается при помощи объединяющей таблицы. Если вам нужно создать связь "многие-ко-многим" между таблицей заказов и таблицей позиций (заказ может иметь много позиций, а позиция может принадлежать многим заказам), то вам сначала нужно добавить в базу данных третью таблицу для внешних ключей этой связи.
После добавления объединяющей таблицы вы должны будете установить связи "один-ко- многим" между таблицами заказов и позиций заказов, а также между таблицами позиций и позиций заказов. Последний шаг — определить многостолбцовый первичный ключ для объединяющей таблицы. На рис. 18.11 на диаграмме показаны результаты.