(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Худшие методы (MS SQL Server) - непродуманное добавление столбца!

Источник: SQL exercises

Забавно, как незначительные вещи могут выбить нас из колеи. Остановитесь и минуту подумайте - если один из ваших разработчиков просит добавить столбец в таблицу, сколько усилий вы прикладываете (или сколько их следует приложить), чтобы убедиться в том, что это изменение не будет ничего нарушать? Вам следует поразмыслить над следующими моментами:

  • Реплицируется ли таблица? Если так, то должен ли новый столбец быть добавлен к статье и отправлен подписчикам, или лишь добавлен к основной таблице?
  • Имеются ли на таблице триггеры? Если Вы вставляете целую строку в таблицу, хранящую некоторую историю модификации данных, то Вы должны будете сначала изменить эту таблицу истории, затем "оперативную" таблицу, а потом изменить триггеры.
  • Должен ли столбец быть включен в какие-нибудь представления, которые имеют ссылку на эту таблицу? Если представления используют запрос типа 'select *', Вы должны будете выполнить sp_refreshview, чтобы эти изменения вступили в силу. Если столбцы задаются явно, Вы должны будете изменить представления, чтобы добавить новый столбец.
  • Соответствует ли новый столбец принятому соглашению об именовании?
  • Имеет ли столбец значение по умолчанию и должны ли существующие строки получить это значение?
  • Допускаются ли NULL-значения?
  • Не превысит ли добавление столбца допустимый максимальный размер строки?
  • Если Вы реплицируете таблицу, не превысит ли это добавление предельное значение на 256 столбцов для транзакционных статей? Или предел для слияния - 246 столбцов/6000 символов?
  • Является ли столбец битовым? Особенность некоторых версий Access (см. 280730) состоит в том, что все битовые столбцы были полностью заполнены - никаких NULL-значений - или Вы получите сообщение об ошибке, "Эта запись была изменена другим пользователем после того, как Вы начали редактировать ее."
  • Должен ли он иметь ограничение на уникальность (UNIQUE)? Иметь индекс?
  • Используется ли подходящий тип данных? В частности, использование типа float (число с плавающей точкой) может привести к проблемам при обновлениях, выполняемых при помощи рекордсетов DAO/ADO с использованием оптимистической блокировки, поскольку ошибки округления выглядят так, как будто запись была изменена.
  • Используется ли еще где-либо в той же базе данных столбец с тем же именем? Это происходит довольно часто, когда Вы добавляете внешний ключ. К сожалению, если где-то имеются ссылки на обе таблицы в операторе select, но имя столбца не уточнено именем таблицы или алиасом, Вы получите ошибку "ambiguous column name" (неоднозначное имя столбца).
  • Должно ли быть задано ограничение внешнего ключа? Если так, должны ли допускаться каскадные операции обновления/удаления?

Andy Warren (оригинал: Worst Practice - Adding a Column Without Thinking!)
Перевод: Моисеенко С.И.
Оригинал перевода

Ссылки по теме


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Microsoft »
Обсудить материал в конференции Дизайн, графика, обработка изображений »
Написать редактору 
 Рекомендовать » Дата публикации: 18.04.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Windows Professional 10, Электронный ключ
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование в AutoCAD
Краткие описания программ и ссылки на них
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Купить часы (3)
Подскажите, где можно купить часы по хорошей цене?
 
Лучшие букмекерские конторы и бесплатные прогнозы (1)
Мы делаем честные рейтинги букмекерских контор https://superbet.guru/, в основе которых лежит...
 
Легализация покера в Украине. Ваши мнения (1)
Прочел тут тему на портале о покере в Украине https://poker.ua/ , что как бы легалайз. Но куча...
 
Арго на деньги (2)
Интересная и захватывающая игра на деньги в казино Argo https://zerkalo-argo-casino.site/ это...
 
Кухня (7)
Хочу сделать ремонт на кухне. Где приобрести кухонную плиту? Какой фирмы стоит её рассматривать?
 
 
 



    
rambler's top100 Rambler's Top100