Главная » Просмотр файлов » Мартин Грубер - Понимание SQL

Мартин Грубер - Понимание SQL (991940), страница 28

Файл №991940 Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL) 28 страницаМартин Грубер - Понимание SQL (991940) страница 282015-08-23СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 28)

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

Из-за нестандартного характеракоманды 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.РАБОТА С SQL1. Напишите предложение CREATE TABLE, которое бы вывело нашу таблицу Заказчиков.2.

Напишите команду, которая бы давала возможность пользователю быстро извлекать порядки сгруппированные по датам из таблицы Порядков.3. Если таблица Порядков уже создана, как Вы можете заставить поле onum бытьуникальным (если допустить что все текущие значения уникальны) ?4. Создайте индекс который бы разрешал каждому продавцу быстро отыскивать егопорядки сгруппированные по датам.5. Предположим, что каждый продавец имеет только одного заказчика с данной оценкой, введите команду которая его извлечет.(См. Приложение A для ответов.)18ОГРАНИЧЕНИЕЗНАЧЕНИЙ ВАШИХДАННЫХВ ГЛАВЕ 17, ВЫ УЗНАЛИ КАК СОЗДАЮТСЯ ТАБЛИЦЫ. Теперь более тщательно с этого места мы покажем вам, как вы можете устанавливать ограничения в таблицах.Ограничения — это часть определения таблицы, которое ограничивает значения, которые вы можете вводить в столбцы.До этого места в книге, единственым ограничением на значения, которые вымогли вводить, были тип данных и размер вводимых значений, которые должны бытьсовместимы с теми столбцами в которые эти значения помещаются (как и определенов команде CREATE TABLE или команде ALTER TABLE).

Ограничения дают вам значительно большие возможности и скоро вы это увидете. Вы также узнаете как определять значения по умолчанию в этой главе.По умолчанию — это значение которое вставляется автоматически в любойстолбец таблицы, когда значение для этого столбца отсутствует в команде INSERTдля этой таблицы. NULL — это наиболее широко используемое значение по умолчанию, но в этой главе будет показано как определять и другие значения по умолчанию.ОГРАНИЧЕНИЕ ТАБЛИЦКогда вы создаете таблицу (или, когда вы ее изменяете), вы можете помещатьограничение на значения, которые могут быть введены в поля. Если вы это сделали,SQL будет отклонять любые значения, которые нарушают критерии, которые вы определили.

Имеется два основных типа ограничений — ограничение столбца и ограничение таблицы. Различие между ними в том, что ограничение столбцаприменяется только к индивидуальным столбцам, в то время как ограничение таблицы применяется к группам из одного и более столбцов.ОБЪЯВЛЕНИЕ ОГРАНИЧЕНИЙВы вставляете ограничение столбца в конец имени столбца после типа данных иперед запятой. Ограничение таблицы помещаются в конец имени таблицы после последнего имени столбца, но перед заключительной круглой скобкой. Далее показансинтаксис для команды CREATE TABLE, расширенной для включения в нее ограничения:CREATE TABLE <table name>(<column name> <data type> <column constraint>,<column name> <data type> <column constraint> ...<table constraint> ( <column name> [, <column name> ])...

);(Для краткости, мы опустили аргумент размера, который иногда используется стипом данных.) Поля данные в круглых скобках после ограничения таблицы — это поля к которым применено это ограничение. Ограничение столбца, естественно, применяется к столбцам, после чьих имен оно следует. Остальная часть этой глава будетописывать различные типы ограничений и их использование.ИСПОЛЬЗОВАНИЕ ОГРАНИЧЕНИЙ ДЛЯ ИСКЛЮЧЕНИЯПУСТЫХ (NULL) УКАЗАТЕЛЕЙВы можете использовать команду CREATE TABLE чтобы предохранить поле отразрешения в нем пустых (NULL) указателей с помощью ограничения NOT NULL. Этоограничение накладывается только для разнообразных столбцов.Вы можете вспомнить что NULL — это специальное обозначение, которое отмечает поле как пустое. NULL может быть полезен, когда имеются случаи, когда вы хотите быть от них гарантированы.

Очевидно, что первичные ключи никогда не должныбыть пустыми, поскольку это будет подрывать их функциональные возможности.Кроме того, такие поля как имена, требуют в большинстве случаев, определенныхзначений. Например, вы вероятно захотите иметь имя для каждого заказчика в таблице Заказчиков. Если вы поместите ключевые слова NOT NULL сразу после типаданных (включая размер) столбца, любая попытка поместить значение NULL в это поле будет отклонена. В противном случае, SQL понимает, что NULL разрешен.Например, давайте улучшим наше определение таблицы Продавцов, не позволяя помещать NULL значения в столбцы snum или sname:CREATE TABLE Salespeople( Snum integer NOT NULL,Sname char (10) NOT NULL,city char (10),comm decimal);Важно помнить, что любому столбцу с ограничением NOT NULL должно быть установлено значение в каждом предложении INSERT, воздействующем на таблицу.При отсутствии NULL, SQL может не иметь значений для установки в эти столбцы, если конечно значение по умолчанию, описанное ранее в этой главе, уже не было назначено.Если ваша система поддерживает использование ALTER TABLE, чтобы добавлять новые столбцы к уже существующей таблице, вы можете вероятно помещать ограничение столбцов, типа NOT NULL, для этих новых столбцов.

Однако, если выпредписываете новому столбцу значение NOT NULL, текущая таблица должна бытьпустой.УБЕДИТЕСЬ, ЧТО ЗНАЧЕНИЯ УНИКАЛЬНЫВ Главе 17, мы обсудили использование уникальных индексов чтобы заставитьполя иметь различные значения для каждой строки. Эта практика — осталась с прежних времен, когда SQL поддерживал ограничение UNIQUE. Уникальность — этосвойство данных в таблице, и поэтому его более логично назвать как ограничениеэтих данных, а не просто как свойство логического отличия, связывающее объектданных (индекс).Несомненно, уникальные индексы — один из самых простых и наиболее эффективных методов предписания уникальности. По этой причине, некоторые реализацииограничения UNIQUE используют уникальные индексы; то-есть они создают индекс несообщая вам об этом.

Характеристики

Тип файла
PDF-файл
Размер
1,41 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6508
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее