русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ИЗМЕНЕНИЕ ТАБЛИЦЫ ПОСЛЕ


Дата добавления: 2015-07-09; просмотров: 463; Нарушение авторских прав


======== ТОГО КАК ОНА БЫЛА СОЗДАНА ========

КомандаALTER TABLE не часть стандарта ANSI; но это - широко доступная, и довольно содержательная форма, хотя ее возможности несколько ограничены.

Она используется чтобы изменить определение существующей таблицы.

Обычно, она добавляет столбцы к таблице. Иногда она может удалять столбцы или изменять их размеры, а также в некоторых программах добавлять или удалять ограничения ( обсужденные в Главе 18 ).

Типичный синтаксис чтобы добавить столбец к таблице :

 

ALTER TABLE <table name> ADD <column name>

<data type> <size>;

 

Столбец будет добавлен со значением NULL для всех строк таблицы.

Новый столбец станет последним по порядку столбцом таблицы. Вообще то, можно добавить сразу несколько новых столбцов, отделив их запятыми, в однй команде. Имеется возможность удалять или изменять столбцы.

Наиболее часто, изменением столбца может быть просто увеличение его размера, или добавление( удаление ) ограничения. Ваша система должна убедиться, что любые изменения не противоречат существующим данным - например при попытке добавить ограничение к столбцу который уже имел значение при нарушении которого ограничение будет отклонено. Лучше всего дважды проверить это. По крайней мере, посмотрите документацию вашей системы чтобы убедиться, гарантирует ли она что именно это было причиной. Из-за нестандартного характера команды ALTER TABLE, вам все равно необходимо посмотреть тот раздел вашей системной документации где говорится об особых случаях.

 

ALTER TABLE - не действует, когда таблица должна быть переопределена, но вы должны разрабатывать вашу базу данных по возможности так чтобы не слишком ей в этом передоверяться. Изменение структуры таблицы когда она уже в использовании - опасно! Просмотрите внимательно таблицы, которые являясь вторичными таблицами с извлечеными данными из другой таблицы ( смотри Главу 20 ), не долго правильно работают, а программы использующие вложенный SQL( Глава 25 ) выполняются неправильно или не всегда проавильно. Кроме того, изменение может стереть всех пользователей имеющих разрешение обращаться к таблице.



По этим причинам, вы должны разрабатывать ваши таблицы так, чтобы использовать ALTER TABLE только в крайнем случае.

 

Если ваша система не поддерживает ALTER TABLE , или если вы хотите избежать ее использования, вы можете просто создать новую таблицу, с необходимыми изменениями при создании, и использовать команду INSERT с SELECT * запросом чтобы переписать в нее данные из старой таблицы.

Пользователям которым был предоставлен доступ к старой таблице ( см. Главу 22 ) должен быть предоставлен доступ к новой таблице.

 

============= УДАЛЕНИЕ ТАБЛИЦ ===============

 

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

 

DROP TABLE < table name >;

 

При подаче этой команды, имя таблицы больше не распознается и нет такой команды которая могла быть дана этому объекту. Вы должны убедиться, что эта таблица не ссылается внешним ключом к другой таблице( Внешние ключи обсуждаются в Главе 19 ), и что она не используется в определении Представления( Глава 20 ).

 

Эта команда фактически не является частью стандарта ANSI, но она обще поддерживаема и полезна. К счастью, она более проста, и следовательно более непротиворечива, чем ALTER TABLE . ANSI просто не имеет способа для определения разрушеных или неправильных таблиц.

 

 

=============== РЕЗЮМЕ ===============

 

Теперь Вы уже бегло ориентируетесь в основах определений данных. Вы можете создавать, изменять, и удалять таблицы. В то время как только первая из этих функций - часть официального стандарта SQL,другие будут время от времени меняться, особенно - ALTER TABLE.

DROP TABLE позволяет вам избавиться от таблиц которые бесполезны.

Она уничтожает только пустые таблицы, и следовательно не разрушает данные.

 

Вы теперь знаете об индексах а также, как их создавать и удалять. SQL не дает вам большого управления над ими, так как реализация которую вы используете довольно удачно определяет, как быстро выполняются различные команды. Индексы - это один из инструментов дающий Вам возможность воздействовать непосредственно на эффективность ваших команд в SQL. Мы рассмотрели индексы здесь чтобы отличать их от ограничений, с которыми их нельзя путать. Ограничения - это тема Главы 18 и Главы 19.

 

**************** РАБОТА С SQL ************

 

1. Напишите предложение CREATE TABLE которое бы вывело нашу таблицу Заказчиков.

 

2. Напишите команду которая бы давала возможность пользователю быстро извлекать порядки сгруппированные по датам из таблицы Порядков.

 

3. Если таблица Порядков уже создана, как Вы можете заставить поле onum быть уникальным ( если допустить что все текущие значения уникальны ) ?

 

4. Создайте индекс который бы разрешал каждому продавцу быстро отыскивать его порядки сгруппированные по датам.

 

5. Предположим, что каждый продавец имеет только одного заказчика с данной оценкой, введите команду которая его извлечет.

 

( См. Приложение A для ответов. )

 



<== предыдущая лекция | следующая лекция ==>
City char (10), | ПОНИМАНИЕ SQL


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 4.185 сек.