Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Нормализация таблиц и ее необходимость





Преимущества баз данных

Различают однопользовательские системы (single – user – system) – это системы, в которых в одно и тоже время к базе данных может получить доступ не более одного пользователя; и многопользовательские системы (multi – user – system) – это системы, в которых к базе данных могут получить доступ сразу несколько пользователей.

В общем случае данные в базе данных являются интегрированными и общими. Что является наиболее важным ее преимуществом.

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

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

Между физической базой данных и пользователями системы располагается уровень программного обеспечения – диспетчер базы данных или система управления базой данных (СУБД). Основная функция СУБД – предоставление возможности пользователю баз данных работать с ней, не вникая в детали на уровне аппаратного обеспечения.

Пользователи базы данных делятся на три большие группы:

- прикладные программисты. Это сотрудники компании, которые создают прикладное программное обеспечение для решения конкретных задач компании. Программное обеспечение может быть написано на стандартном языке программирования типа Си или же на языке (обычно называемом языком четвертого поколения), входящем в комплект системы управления базой данных;

- конечные пользователи. Это те люди, которым информация базы данных требуется для выполнения их прямых служебных обязанностей;

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

Преимущества системы баз данных по сравнению с бумажными методами сохранения записей следующие:

- компактность;

- скорость;

- низкие трудозатраты;

- применимость.

Преимущества баз данных, связанные с централизованным управлением:

- возможность сокращения избыточности;

- возможность устранения противоречивости;

- возможность общего доступа к данным;

- соблюдение стандартов;

- введение ограничений для обеспечения безопасности;

- обеспечение целостности данных;

- возможность сбалансировать противоречивые требования.

Основная цель систем баз данных – обеспечение независимости данных. Независимость данных можно определить как иммунитет к изменениям в структуре хранения данных и в методах доступа к ним.

 

Контрольные вопросы

1. Назовите наиболее важные преимущества баз данных.

2. В чем преимущества баз данных, связанные с централизованным управлением?

1.5 Основополагающие категории в теории баз данных

Одними из основополагающих в концепции баз данных являются обобщенные категории “данные” и “модель данных”.

Понятие «данные» – это набор конкретных значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы.

Данные не обладают определенной структурой, данные становятся информацией тогда, когда пользователь задает им определенную структуру, то есть осознает их смысловое содержание.

Модель данных – это некоторая абстракция, которая, будучи применима к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, то есть сведения, содержащие не только данные, но и взаимосвязь между ними.

Модель, выражающая информацию о предметной области в виде, независимом от используемой СУБД, называется инфологической или семантической. Она отражает в естественной и удобной для разработчиков и других пользователей форме информационно-логический уровень абстрагирования, связанный с фиксацией и описанием объектов предметной области, их свойств и их взаимосвязей.

Инфологические модели данных используются на ранних стадиях проектирования для описания данных в процессе разработки приложения, а даталогические модели уже поддерживаются конкретной СУБД.

Обычно данные в базе данных называют «постоянными» (хотя они могут недолго оставаться таковыми!). Под словом «постоянные» подразумеваются данные, которые отличаются от других, более изменчивых данных, таких как промежуточные результаты, входные и выходные данные, управляющие операторы, рабочие очереди и вообще все транзитные данные.

Входные данные – это информация, передаваемая системе (обычно с терминала или рабочей станции). Такая информация может стать причиной изменений в постоянных данных (она может стать частью постоянных данных), но не является частью базы данных как таковой.

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

База данных состоит из некоторого набора постоянных данных, которые используются прикладными системами на предприятии.

Предприятие – это любая независимая коммерческая, научная, техническая или другая организация. Любое предприятие неизбежно имеет большое количество данных, связанных с его деятельностью. Это и есть постоянные данные.

На практике сегодняшние предприятия используют две отдельные базы данных: с операционными данными и с данными для поддержки принятия решений. Базы данных систем принятия решения часто содержат отчетную информацию (например, итоги и средние результаты), которую, в свою очередь, периодично (раз в день или раз в неделю, например) получают из операционной базы данных (постоянной базы данных).

Обычно предприятию требуется записывать информацию об имеющихся проектах, деталях, поставщиках, складах, служащих. Все это составляет основные объекты, о которых необходимо хранить информацию.

Под термином объект мы будем понимать все, что может быть представлено в базе данных. Объект – это то, о чем необходимо записать информацию.

Кроме основных объектов существуют еще и отношения между ними, которые связывают их вместе.

Отношения могут быть: бинарными (связываются два типа объектов); отношения, связывающие один тип объектов; может быть любое количество отношений (служащие заняты в проекте, служащие управляют проектом).

Следует отметить, что отношение подобно основным объектам является частью данных. Поэтому вместе с основными объектами отношения тоже должны быть представлены в базах данных.

Схему, связывающую объекты между собой, будем называть схемой объект/отношения или диаграммой объект отношения.

Отметим несколько моментов в построении схемы:

- большинство отношений в схеме связывают два типа объектов (т.е. они являются бинарными). Но возможно связать и три объекта (поставщики, проекты и детали) – тройное отношение. Т.е. определенные поставщики поставляют определенные детали для определенных проектов;

- отношение может связывать один тип объектов. Например, детали. Это отношения означает, что некоторые детали содержат другие компоненты (спецификация материалов);

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

Дадим определение терминов: хранимое поле, хранимая запись, хранимый файл.

Хранимое поле - это поименованная единица хранения данных. Вообще, база данных содержит много экземпляров каждого из нескольких типов хранимых полей.

Хранимая запись – это набор связанных хранимых полей. Здесь также различают тип и экземпляр. Экземпляр хранимой записи состоит из группы связанных экземпляров хранимых полей.

Хранимый файл – это набор всех экземпляров хранимых записей одного типа.

В базах данных логическая запись не обязательно совпадает с хранимой записью, то есть может понадобиться внести изменения в структуру хранения данных, в то время как логическая структура остается неизменной.

 

Контрольные вопросы

1. Поясните структуру инфологической модели

Назовите типы объектов в отношении.

 

1.6 Модели систем баз данных

Почти все базы данных, созданные с конца 70-х годов, основаны на реляционном подходе. Более того, подавляющее большинство научных исследований в области баз данных в течение последних 35 лет проводилось в этом направлении.

Реляционный подход представляет собой основную тенденцию сегодняшнего рынка, и реляционная модель – единственная наиболее существенная разработка в истории развития баз данных.

Дореляционные системы можно разделить на три большие категории:

система инвертированных списков;

иерархические;

сетевые.

Системы инвертированных списков: CA – DATACOM/DB компании Computer Associates International.

Иерархические системы: IMS корпорации IBM.

Сетевые: CA – IDMS/DB компании Computer Associates International Inc.

Первые реляционные продукты начали появляться в конце 1970-х – начало 1980-х годов. А в 1998г. существовало уже более 250 коммерческих реляционных продуктов.

Среди них DB2 корпорации IBM; Rdb/VMS корпорации Digital Equipment; ORACLE корпорации Oracle; INGRES компании Ingress Division of the Ask Group Ins; SYBASE компании SYBASE Ins. и многие другие.

Несколько позже исследования велись в направлении так называемых «постреляционных» систем, некоторые из них основаны на совместимых снизу вверх расширениях оригинального реляционного подхода, другие представляют собой попытки создать что-то отличное.

Перечислим лишь некоторые наиболее поздние из них:

- дедуктивные СУБД;

- экспертные СУБД;

- расширяемые СУБД;

- объектно-ориентированные СУБД;

- семантические СУБД;

- универсальные СУБД.

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

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

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

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

Достоинством реляционной модели является сравнительная простота инструментальных средств ее поддержки, недостатком – жесткость структуры данных (невозможность, например, задания строк таблицы произвольной длины) и зависимость скорости ее работы от размера базы данных.

Реляционная модель является простейшей и наиболее привычной формой представления данных в виде таблицы. В теории множеств таблице соответствует термин отношение (relation), который и дал название модели. Для нее имеется развитый математический аппарат – реляционное исчисление и реляционная алгебра, где для баз данных (отношений) определены такие хорошо известные теоретико-множественные операции, как объединение, вычитание, пересечение, соединение и др.

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

Указанный недостаток снят в сетевой модели, где, по крайней мере, теоретически, возможны связи “всех со всеми”. Поскольку на практике это, естественно, невозможно, приходится прибегать к некоторым ограничениям.

Использование иерархической и сетевой моделей ускоряет доступ к информации в базе данных. Но так как каждый элемент данных должен содержать ссылки на некоторые другие элементы, требуются значительные ресурсы как дисковой, так и оперативной памяти ПЭВМ. Недостаток оперативной памяти, конечно, снижает скорость обработки данных. Кроме того, для таких моделей характерна сложность реализации СУБД.

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

Контрольные вопросы

1. Назовите основные преимущества реляционной модели

2. Перечислите проблемы, которые решаются реляционной моделью.

 

1.7 Архитектура системы базы данных

В процессе научных исследований, посвященных тому, как именно должна быть устроена СУБД, предлагались различные способы реализации. Самой жизнеспособной оказалась, предложенная американским комитетом по стандартизации ANSI (American National Standards Institute), трехуровневая система организации БД. Она включает: внутренний, концептуальный и внешний уровни.

Внешний уровень моделей – наиболее близкий к пользователям, т.е. он связан со способами представления данных для отдельных пользователей. Этот уровень определяет точку зрения на БД отдельных приложений. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно этому приложению

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

Предметная область – это часть реальной системы, представляющая интерес для данного исследования.

Концептуальная модель – это представление всей информации базы данных в несколько более абстрактной форме; представление данных таковыми, какие «они есть на самом деле».

Внутренний уровень – наиболее близкий к физическому хранению, т.е. связанный со способами сохранения информации на физических устройствах хранения.

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

Трехуровневая архитектура позволяет обеспечить логическую (между 1 уровнем и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных. Это именно то, чего не хватало при использовании файловых систем.

 

Контрольные вопросы

1. Назовите уровень, отражающий обобщенную модель предметной области

2. Чем обеспечивается логическая независимость при работе с данными?

 

Проектирование баз данных

Задача проектирования базы данных сводится к решению вопроса о наиболее эффективной структуре данных. При этом приследуются следующие цели:

- обеспечение быстрого доступа к данным в таблицах;

- исключение ненужного повторения данных, которое может являться причиной ошибок при вводе и нерационального использования дискового пространства компьютера;

- обеспечение целостности данных таким образом, чтобы при изменении одних объектов автоматически происходило соответствующее изменение связанных с ним объектов.

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

Фактически также необходимо выяснить, какие домены следует использовать для атрибутов и какая функциональная зависимость между ними существует.

Домен – общая совокупность значений, из которой берется реальное значение атрибутов.

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

Пусть R–это отношение, а X и Y – произвольные подмножества множества атрибутов отношения R. Тогда У функционально зависимо от Х тогда и только тогда, когда каждое значение множества Х отношения R связано в точности с одним значением множества У отношения R.

Концепция функциональной зависимости определяется с разделением функциональных зависимостей на выполняемые в некоторых частных случаях и выполняемые всегда.

Практически утверждение, что функциональная зависимость выполняется «всегда» является ограничением целостности, поскольку при этом накладываются определенные ограничения на все допустимые значения.

Особенность проектирования базы данных состоит в том, что речь идет о логическом, а не о физическом макете. Это вовсе не значит, что физический макет не имеет большого значения, а наоборот. Однако:

- физический макет может рассматриваться как отдельная сопутствующая часть;

- физический макет является специфическим для каждой СУБД. Логический макет, наоборот, совершенно независим от СУБД.

К сожалению, на практике часто случается так, что реализация макета на физическом уровне может оказать существенное обратное влияние на логический макет.

При создании макета данных в не реляционной системе следует, прежде всего, создать реляционный макет, а затем на отдельном следующим этапе отобразить этот реляционный макет на любые не реляционные структуры (например, иерархии), поддерживаемые в СУБД.

В области создания баз данных разработано большое число методологий проектирования. Все они специализированные и предназначены для решения именно той проблемы, которая считалась неразрешимой к моменту создания данной конкретной методики.

Объединяет их то, что база данных проектировалась отдельно от приложений. Независимость от приложения желательна потому, что обычно в момент проектирования базы данных не известны все возможные способы использования данных. То есть, необходимо, чтобы макет базы данных был стабильным.

Следуя этим допущениям лучше создать концептуальную схему, то есть абстрактный логический макет, не зависящий от аппаратного обеспечения, операционной системы, СУБД, языка программирования, пользователя и так далее.

Важным моментом проектирования базы данных является нормализация.

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

Контрольные вопросы

1. Дайте определение понятию нормализация

2. Как осуществляется поддержание целостности данных на этапе проектирования?

Первая нормальная форма

Таблица находится в первой нормальной форме тогда и только тогда, когда ни одно поле строки не содержит более одного значения и любое ключевое поле не пусто.

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

Таблица, находящаяся в первой нормальной форме, обладает рядом недостатков.

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

Нельзя также добавить информацию ранее, чем она понадобится.

Чтобы избежать проблем, необходимо привести таблицу ко второй или третьей нормальной форме.

Вторая нормальная форма

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

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

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

Приведение таблицы ко второй нормальной форме позволяет избежать повторения одних и тех же данных, появившегося после приведения таблицы к первой нормальной форме.

Третья нормальная форма

Таблица находится в третьей нормальной форме, если она удовлетворяет определению второй нормальной формы и ни одно из ее неключевых полей не зависит функционально от любого другого не ключевого поля.

Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме и каждое не ключевое поле нетранзитивно зависит от первичного ключа. Под «нетранзитивной зависимостью» подразумевается отсутствие какой-либо взаимной зависимости.

Четвертая нормальная форма

Для определения четвертой нормальной формы необходимо ввести дополнительные определения.

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

Четвертая нормальная форма является частным случаем пятой нормальной формы, когда полная декомпозиция должна быть соединением ровно двух проекций. Очень трудно найти такую таблицу, чтобы она находилась в четвертой нормальной форме, но не удовлетворяла определению пятой нормальной формы.

Пятая нормальная форма

Таблица находится в пятой нормальной форме тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Таблица, не имеющая ни одной полной декомпозиции, также находится в пятой нормальной форме.

Контрольные вопросы

1. Когда таблица считается нормализованной?

2. Назовите способы приведения таблицы ко 2НФ.

 

Реляционные базы данных

Реляционная модель данных в настоящее время является наиболее эффективной и популярной моделью, повсеместно используемой для построения высокопроизводительных, и функциональных баз данных.

Требования к проектированию реляционной базы данных в общем виде можно свести к нескольким правилам:

- каждая таблица имеет уникальное в базе данных имя и состоит из однотипных строк;

- каждая таблица состоит из фиксированного числа колонок и значений. В одной колонке строки не может быть сохранено более одного значения;

- ни в какой момент времени в таблице не найдется двух строк, дублирующих друг друга. Строки должны отличаться хотя бы одним значением, чтобы у нас была возможность однозначно идентифицировать любую строку таблиц;

- каждой колонке присваивается уникальное в пределах таблицы имя; для нее устанавливается конкретный тип данных, чтобы в этой колонке размещались однородные значения (даты, фамилии, телефоны, денежные суммы и т.д.);

- полное информационное содержание базы данных представляется в виде явных значений самих данных, и такой метод представления является единственным.

При выполнении обработки данных можно свободно обращаться к любой строке или любой колонке таблицы.

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

Наиболее важными понятиями являются:

-отношение;

-кортеж;

-кардинальное число;

-атрибут;

-степень;

-домен;

-первичный ключ.

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

Отношение соответствует тому, что мы называем таблицей. Кортеж соответствует строке этой таблицы, а атрибут – столбцу. Количество кортежей называется кардинальным числом, а количество атрибутов – степенью.

Рассмотрим возможные типы отношения между таблицами. Если каждой строке в первой таблице в каждый момент времени соответствует ноль или одна строка во второй таблицы и наоборот, то между таблицами установлено отношение «один-к-одному» (1: 1).

Если каждой строке в первой таблице в каждый момент времени соответствует ноль или одна строка во второй таблицы, но строка второй таблицы связана с единственной строкой первой таблицы, то между ними установлено отношение «один-ко-многим» (1: М).

Если каждой строке в первой таблице соответствует ноль, одна или несколько строк во второй таблице и наоборот, то между ними установлено отношение «многое-ко-многим» (М: М).

Скалярные значения представляют собой «наименьшую семантическую единицу данных» в том смысле, что они атомарные: у них нет внутренней структуры (то есть они неразложимы) в реляционной модели, а значит, и при рассмотрении в реляционной СУБД. Наиболее важным доменов является следующее: домены ограничивают сравнение.

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

 

Контрольные вопросы

1. Какие типы отношений между таблицами вы знаете?

2. Может ли значение реляционной модели быть разложено на составляющие?

Элементы Transact - SQL

В большинстве случаев используется упрощенный вариант команды SELECT имеющий следующий синтаксис:

 

 

SELECT select list

[INTO new_table]

FROM table_source

[WHERE search_condition]

[GROUP BY group_by_expression]

[HAVING search_condition]

[ORDER BY order_expression [ASC \ DESC] ]

 

В операторе SELECT указываются столбцы выбираемых данных, место хранения столбцов, критерий отбора данных и порядок сортировки, применяемый к этим данным. Более того, с помощью оператора SELECT можно сгруппировать данные и назначить критерий отбора на уровне группы. SELECT имеет следующий синтаксис:

SELECT [ ALL \ DISTINCT]

[TOP n [PERCENT] [WITH TIES ]]

q ALL –при указании этого ключевого слова в результат запроса разрешается включение дублирующихся строк. Параметр ALL используется по умолчанию.

q DISTINCT – это ключевое слово запрещает появление в результате дублирующихся строк.

q TOP n [PERCENT] [WITH TIES] – использование этой конструкции предписывает серверу выбирать не все строки, а только n первых. Для этого лишь требуется указать ключевое слово ТОР п.

Можно выбирать также не фиксированное количество строк, а определенный процент от всех строк, удовлетворяющих условию для этого необходимо добавить ключевое слово PERCENT.

При указании ключевого слова WITH TIES в результат будут включены строки, совпадающие с последними выведенными строками при указании ТОР n [PERCENT]. Это позволяет включать в результат все одинаковые строки, не опасаясь, что, например, из 12 одинаковых строк будут выведены только 7. WITH TIES допускается применять только в случае, если строки в результате упорядочены, то есть когда в запросе используется конструкция ORDER BY.

Раздел INTO

При указании этой конструкции результат выполнения запроса будет сохранен в новой таблице. Синтаксис раздела INTO следующий:

[INTO new_table]

Единственный аргумент, new_table, определяет имя таблицы, в которую будут вставлены результаты. Сервер автоматически создаст указанную таблицу с нужной структурой.

Раздел FROM

FROM {<table_source>}

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

Добавление директивы WHERE

Используя тот же самый базовый оператор SELECT, можно сузить результаты запроса, добавив директиву WHERE.

В директиве WHERE в качестве критерия отбора строк можно использовать несколько столбцов.

Для проверки значений полей можно использовать различные операторы сравнения. Описание этих операторов приведено в таблице 1.

Таблица 1. Операторы сравнения директивы WHERE

Описание Оператор
= Равно
> Больше чем
< Меньше чем
>= Больше либо равно
<= Меньше либо равно
<> Не равно
IN Входит в заданный список значений
between... and Входит в интервал значений
like Содержит значение, соответствующее заданному шаблону. Шаблон для сравнения – это строка, состоящая из одного или нескольких символов подстановки. Список символов-шаблонов можно найти в справочной системе SQL Server.

 

Помимо перечисленных выше операторов сравнения, значения столбцов, включаемые в директиву WHERE, можно проверять с помощью логических операторов AND и OR. При использовании оператора AND возвращаемые строки должны отвечать обоим условиям, расположенным слева и справа от оператора AND. Оператор же OR требует, чтобы было выполнено хотя бы одно из заданных условий.

 

 

Cоздание таблиц

Создание таблиц выполняется инструкцией:

CREATE TABLE имя таблицы

(имя_столбца тип [NULL | NOT NULL] [DEFAULT значение_по_умолчанию]

[ограничение_на_столбец]...;

[, имя_столбца тип [NULL | NOT NULL] [DEFAULT значение_по_умолчанию]

[ограничение на столбец]...]...

[ограничение на таблицу]...)

 

Ограничения на таблицу используют более одного столбца.

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

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

В ряде систем имеются специальные команды (не связанные с оператором CREATE TABLE) для обработки значений по умолчанию, правил и ограничений на целостность. Первые СУБД иногда перекладывали вопросы, связанные со значениями по умолчанию и ограничениями на целостность, на приложения и не поддерживали соответствующие команды SQL.

Удаление базы данных

При удалении базы данных или объекта базы данных канут в лету все связанные с ними структуры и данные. Поэтому в большинстве систем выполнять команду DROP разрешается только либо владельцу соответствующего объекта, либо лицу, наделенному специальными полномочиями.

Синтаксис команды DROP DATABASE обычно имеет следующий вид:

DROP DATABASE имя_базы_данных

Это очень опасная команда, так как при ее выполнении уничтожается все содержимое базы данных.

Удаление таблиц

Для удаления таблицы из базы данных используется команда DROP TABLE. В большинстве диалектов SQL она имеет следующий вид:

DROP TABLE имя_таблицы

При выполнении этой команды из базы данных удаляется заданная таблица со всем ее содержимым.

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

Добавление, изменение и удаление данных

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

В SQL для изменения данных используются три основные команды (их часто называют операторами модификации данных).

- Оператор INSERT добавляет новые строки в базу данных.

- Оператор UPDATE изменяет существующие в базе данных строки.

- Оператор DELETE удаляет строки из базы данных.

Другой метод добавления данных в таблицу подразумевает их загрузку с помощью специальной команды вставки из файла операционной системы. Этот метод особенно подходит для переноса данных из одной системы управления базами данных в другую.

Реляционные системы с графическим интерфейсом пользователя предоставляют для ввода данных специальные формы (form) – они напоминают обычный бумажный бланк, в строки которого вводятся необходимые данные. Формы обычно удобнее использовать, чем операторы модификации данных, так как они позволяют автоматизировать и упростить работу. Однако все действия по модификации в системах реляционных баз данных выполняются на основе команд SQL, так что изучать их надо даже независимо от того, планируете ли вы их использовать в будущем.

Выполнять операторы модификации данных обычно позволяется не всем. Владелец базы данных или владельцы отдельных объектов базы данных с помощью операторов GRANT и REVOKE могут разрешить отдельным пользователям выполнять определенные команды модификации.

С помощью каждого оператора модификации (INSERT, UPDATE, DELETE) за один раз можно изменять данные только в одной таблице. Однако в ряде систем эти изменения могут касаться данных из других таблиц и даже других баз данных. Используя оператор SELECT в команде модификации данных, можно переместить значения из одной таблицы в другую.

Добавление новой строки

Оператор INSERT позволяет добавлять строки в базу данных одним из двух способов: с помощью ключевого слова VALUES или с помощью оператора SELECT. Опишем







Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.