Программирование баз данных MS SQL Server (1084479), страница 51
Текст из файла (страница 51)
Следует знать, что новый пполбец не появляевкя в тфедставлении до тех пор, пока представление ке будет уничтожено и вновь создано, даже если базовым опграто~ом п~ш создании тфедставления служит опеРатоф ЕЕЬЕСТ *. Дело в том, что в целях повьгигения тфоолводительности задача Роэфешения имен пполбуов в тфедставлениях выполняется только во вфамя создания тфедставления. Это означает, что во всех тфедставлениях, кот~фыеуже были созданье ко времени добавления новых столбцов, задача ро фпвения имен столбуов уже выполнена с испсльзованиемсуществовавшего ранее списка столбцов, поэтому необходимолибо уничтожить и вновь создать каждое пшкое тфедставление, либо воспользоваться опеРатсфом яЬ ТЕЕ УТЕР2, чтобск обновить каждое тфедставление.
Ьаягкагяе Нггесаге Тепя1паггопраге МаоауегЕпр10 Оерагоеепг РгечгоояЕер1оуег ОагеОТВсгСН Ьаягка1яесаге чагосаг опаг чагссаг чагокаг чагосаг гюпеу пооеу Создание и модификация таблиц 199 200 Глава 5 Оператор опор Выполнение оператора ОЕОР приводит к удалению любого указанного в нем объекта (объектов).
Оператор ОЕОР является весьма быстродействующим и удобным, а синтаксис этого оператора остается полностью одинаковым применительно ко всем основным объектам СУБД Я~[. Яегчег (таблицам. представлениям, хранимым процедурам, триггерам и тд.). Этот синтаксис выглядит примерно таким образом; РКОР <оЬ)есс Гуре> <оЬ)есс паве> [, ...и) Фактически оператор удаления — один из самых простых операторов ЯЯ[.. При желании с помощью этого оператора мы можем одновременно удалить обе рассматриваемые таблицы; ББЕ Ассоппг1пЧ ЕКОР ТАВЬЕ Спясовегя, Евр1оуеея Выполнение этого оператора заканчивается успешно.
Еще раз напомним приведенную в начале данной главы рекомендацию, касающуюся введения оператора ОБЕ в начало каждого сценария. Рассматриваемый пример показывает, почему соблюдение этой рекомендации является столь важным. Дело в том, что таблицы Опясовегя и Евр1оуеея имеются также и в базе данных ПогЬЬкупд, а в настоящее время у нас нет намерения их удалять. Разумеется, по стечению обстоятельств попытка выполнить данный оператор не привела бы к непреднамеренному удалению указанных таблиц из базы данных ногспк1пд из-за некоторых проблем, связанных с неправильным выбором последовательности удаления, но удалить таблицу [Огдег Оеса11я) или, скажем, БЬ1рвепся ничего бы не помешало.
Синтаксическая структура оператора удаления всей базы данных остается в основном той же самой. Теперь приступим к удалению базы данных Ассоппс1пср ББЕ ваясег ЬКОР ЬАтАВАБЕ Ассоппсзпя После выполнения этого оператора в области окна Кеяп1СБ должно появиться следующее: Ое1ес1пч дасаЬаяе г11е 'с:1Ргоогав Р11ея1М1сгояоГГ БОЕ Бегчег1вяяЧ11даса1 Ассоппс1пчъоо.1дс'. Пе1ег1пс дагаЬаяе г11е 'с: 1ргосгав Р11ея1нзсгояоЕГ БОЬ Бегчег1вяяЧ1Маса1 Ассоппс1псэаса.вдс'. В ходе этого может возникнуть такая ситуация, что появится сообщение об ошибке, которое указывает, что база данных не может быть удалена, поскольку находится Создание и модификация таблиц 201 в использовании.
В таком случае можно выполнить проверку ряда перечисленных ниже условий. 0 Убедитесь в том, что база данных, которую вы пытаетесь удалить, не определена как текущая в программе Мапаиепзепь ЯгпЖо (иными словами, убедитесь в том, что вы не работаете в текущий момент с той базой данных, которую пытаетесь удалить) . 0 Проверьте, нет ли каких-либо других открытых соединений (с помощью программы Мапакещепь Ягисйо или процедуры эр нйо), для которых база данных, предназначенная для удаления, является текущей базой данных.
Автор обычно предотвращает возмохсность возникновения первой из указанных ситуаций так, как показано в приведенном примере кода, т.е. переключается на использование базы данных юаэсег. А отсутствие второй ситуации приходится проверять вручную; автор обычно полностью закрывает все прочие сеансы, чтобы быть уверенным в том, что эта ситуация не имеет места. Использование инструментальных средств с графическим интерфейсом пользователя В настоящей главе уже уделено достаточно внимания изучению синтаксиса операторов, вполне обеспечивающих создание базы данных и целого ряда таблиц.
Поэтому на время сменим тему и перейдем к рассмотрению графических инструментальных средств программы Мапаиептепс атис))о, которые позволяют создавать таблицы и устанавливать между ними связи. Начиная с этого раздела, в настоящей книге будет идти речь не только о том, как подготовить нужный код, но и об использовании инструментальных средств для создания основного объема необходимого кода. Создание базы данных с помощью программы Мапаяеаеп$ 81М1о После вызова на выполнение программы ЭЯ1. Яегчег Мапаяещепс Ягис))о и развертывания узла ОаъаЬазеэ откроется окно, которое выглядит так, как показано на рис. 5.1.
Этот рисунок тфедставляет собой копию юфана, который показывает, что в окне на компьюпнфеоевофа есе еще изображено обозначение базы данных Ассоип сз пд, даже несмотря на то, что в пфедьсдущем п~зизыфе зта база данных бьыа удалена. А чтяо касоетпся читатезя, то он в своей тфогфомме может обнаружить или не обнафужтзть обозначение втой базы данньтх, в зависимости от того, была ли гфофолтзса Мапааетеп1 Яибзо отк)тьста ко тфемени удалекия базы данных или она была оттфыта после того, как ъфоизошло удаление базы данных в тфогфамме Яиету А па1уитг. Указанное различие между изображениями обусловлено тем, что в тфюдьтдущих всфсиях СУБД БЩ, бстиет те инсвфументольные сфедсптео„которые в насптоящсе врезпя входят в восстав тфог)гаммы Мапсетеп1 бгшБо, обеспечивали фегузяфное обновление инфофмау и и обшиеющихся баз х данных.
А в текущей версии обновление тфоисходит, тольхо если обнаруживается тфичина отлого обновления (нагфиме~, если какой то объект удален с помощью тфогфаммы Мапассюеп г бгитйо Об~есг Ехутйхст, а не путем выполнения оператофа в окне ци е ту или, возможно, явно выбфана команда обновления изображения). 1Уричиной пе)техода к татсой сфганизауии Работы 202 Глава б шпала потребность в повыимнии иртгзводительности. Общгп)>изнанка то, чою старая ве)> сия 6.5 программы Еийпупме Мапайгт отличалось низкой тфоазводитглькостью, поскольку в нтг постоянно осушестелплся обмен пакетами в целях "опроса" сервгуга. В связи с внедрением указанного нового подхода тфоизводительность существенно возросла, но в свямг с этим отофажаемая в тфогролсме информация ке всегда являгпкя наиболее актуальной.
Подводя итог скованному, сгедует отметить, что, обнаружив в тфограмме Мапацетепг Ягидго то, чего не следовало бьопь, и не обнаружив то, что должно быть, попытайтесь нажать клавишу <Р5> (связанную с командой обновления), иосле чего на мсране должно по явиться обновленное изоСфажение.
гчмс 5.1. Окно ОЬуесс Жггр1охех А теперь попытайтесь щелкнуть правой кнопкой мыши на узле Оа1аЬазев и выберите опцию г)еаг Оа1аЬаве.... В результате этого откроется диалоговое окно Оа1аЬаэе Ргоретйев, которое позволяет ввести информацию о том, какие свойства должна иметь база данных, намеченная к созданию. Выберем такие же характеристики, которые использовались при создании базы данных Ассоппгйпд в начале настоящей главы. Прежде всего необходимо задать имя самой базы данных и ввести информацию о ее размерах (рис. 5.2).
Описание всей этой вкладки указанного диалогового окна дается впервые, поэтому рассмотрим, что имеется на этой вкладке. Прежде всего, здесь предусмотрено поле для указания имени базы данных. Заполнение этого поля является весьма несложной задачей. Перед этим уже была успешно создана база данных АссоппС1пд, а поскольку она уже уничтожена, то нет причин, по которым нельзя было бы присвоить имя Ассоппгйпгу новой базе данных. Создание и модификация таблиц 203 Рис. 5.2. Информация о Размеунгх базы данных (вкладка ьепека1) Затем необходимо ввести информацию об имени файла, размере и параметрах роста.
Авпгор Развернул зто диалоговое окно вРучную, чтобы можно было показать его на Рисунке полностью. Но фактически может оказатьсл, что на зхфане отображается не вся зта инфо)змаиие посхагьху п(зименлемый по умагчанию Раззиуг диалогового окна немного меньшие, чем требуетпсл для изображения всей инфоРмачни. Тем не липее достаточно захвтпить кфсором угол диалогового ясна и Растянуть его до нужных РазмеРов, чтобы можно было видеть всю дополнительную информауию Теперь перейдем к вкладке Орйопв, на которой имеется большое количество дополнительных параметров настройки (рис.