Читаем Обработка баз данных на Visual Basic®.NET полностью

РИС. 3.11. Создание идентификационного поля в диалоговом окне конструктора таблиц Design Table программы SQL Server Enterprise Manager

<p>Использование других методов для генерации первичных ключей</p>

Вовсе не обязательно, чтобы каждая таблица имела первичный ключ, но в практическом отношении желательно, чтобы было именно так. Важность первичного ключа в таблице трудно переоценить. Как отмечалось в предыдущей главе, с помощью первичных ключей очень просто выполнять операции объединения нескольких таблиц в запросе. Первичный ключ можно также использовать для указания на запись в пользовательском интерфейсе. Применяя первичный ключ в передаче записи от одной процедуры к другой, можно свести к минимуму количество передаваемых данных, принадлежащих записи. Существует несколько альтернативных способов генерации первичного ключа.

• Первый вариант — генерация случайного значения в поле первичного ключа для каждой создаваемой записи. Этот способ используется таблицами, содержащими поля AutoNumber, которые преобразованы при переносе данных из Microsoft Access в SQL Server. Он также используется при репликации баз данных Access для устранения коллизий между записями, которые вводятся неподключенными пользователями.

• Второй вариант — сохранение значения счетчика во временной таблице и использование этого значения для создания каждого нового первичного ключа создаваемой записи. При этом необходимо использовать транзакцию, которая считывает текущее значение из таблицы счетчика, определяет с его помощью первичный ключ новой записи и увеличивает значение в таблице счетчика. Причем все эти действия представляют собой одну атомарную операцию. При использовании этой технологии есть одно преимущество: соблюдается последовательность значений первичного ключа. К недостаткам (по сравнению с простым созданием идентификационного поля) можно отнести необходимость написания хранимой процедуры и добавления нужных таблиц к базе данных. Сохранение значения счетчика в одной таблице также может привести к возникновению конфликтов при одновременном доступе к ней, что может вызвать проблемы с производительностью в интенсивно используемой системе.

• Третий вариант — создание первичного ключа на основе данных. Например, пер вичный ключ для записи клиента Vito Polito может иметь вид VP001. Для другого клиента с аналогичными инициалами ключ будет иметь вид VP002 и т.д. К преимуществам можно отнести ассоциацию ключа с данными, а к недостаткам – необходимость создания дополнительного кода в виде хранимых процедур.

<p>Создание поля с первичным ключом</p>

Созданное идентификационное поле можно использовать в качестве первичного ключа. Для создания первичного ключа таблицы с помощью программы SQL Server Enterprise Manager выполните приведенные ниже действия.

РИС. 3.12. Выбор поля для создания первичного ключа в программе SQL Server Enterprise Manager

1. Установите курсор мыши в том поле, которое собираетесь использовать в качестве первичного ключа.

2. Щелкните на кнопке Set primary key (Установить первичный ключ) с изображением ключа. После этого в определении таблицы появится первичный ключ, а диалоговое окно конструктора таблицы Design Table будет иметь такой вид, как на рис. 3.12. Левый столбец в перечне полей в верхней части окна содержит обозначения (в виде изображения ключа) полей, которые образуют первичный ключ таблицы. Учтите, что любое поле может быть первичным ключом, а не только идентификационным полем.

НА ЗАМЕТКУ

Для создания первичного ключа таблицы можно использовать несколько полей, и такой ключ называется конкатенированным ключом (concatenated key). Для него можно использовать, например, имя и фамилию клиента. Это позволяет предотвратить ввод записи-дубликата для клиента Amy Rosenthal. Чтобы выбрать несколько полей для первичного поля, щелкните на них, удерживая нажатой клавишу .

<p>Использование программы SQL Query Analyzer для доступа к базе данных</p>

РИС. 3.13. Основное окно программы SQL Query Analyzer

Для выполнения команд SQL Server можно использовать программу SQL Query Analyzer (раньше она называлась ISQLW). С помощью этой программы можно не только осуществлять SQL-запросы, но также обновлять записи, удалять их и выполнять другие действия над ними. Эта программа также позволяет проводить очень сложные операции с базами данных и сервером базы данных, например создавать базы данных, представления и хранимые процедуры.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных