Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Создание схем, БД, таблиц операторами языка SQL.

Поиск

Для создания БД необходимо создать ее структуру, для этого использ. группа операторов DDL. Эти операторы дают возможность:

1)создать новую БД;

2)определить структуру новой БД;

3)удалить существующие табл-цы;

4)изменить определение существующих табл. (добавить, удалить, переставить столбцы, поменять параметры столбцов);

5)определить представление данных;

6)обеспечить условие безопасности БД;

7)создать индексы для доступа к табл.;

8)управлять размещением данных на устройствах хранения.

Операторы DDL позволяют пользователю не вникать в нюансы хранения информации на физическом уровне. Операторы DDL состоят из 3-х основных команд:

CRETE – определить и создать объект БД

DROP – удалить существующий объект БД

ALTER - изменить объект БД.

Схема – это именованная коллекция объектов БД, которые связаны между собой некоторым образом.

Все объекты БД должны быть описаны в той или дл. схеме. Объектами схемы могут быть: таблицы, представления, домины, утверждения, сопоставления, толкования, набор символов.

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

Оператор создания схемы имеет вид:

CREATE SCHEMA name [AUTHORIZATION name]

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

В коммерческих версиях чаще использ. оператор:

CREATE DATABASE имя_БД

Удаляется схема с помощью:

DROP SCHEMA [RESTRICT \ CASCADE]

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

Если указан CASCADE подразумевается, что вместе со схемой будут автоматически удалены все связаные с ней объекты. Опасная операция!!!

Для удаления БД использ.:

DROP DATABASE имя_БД.

Удаляет обычно, либо владелец либо администратор БД

Выбор БД. Создание БД не означает автоматический доступ к ней. БД надо сделать текущей (доступной) при этом использ. оператор USE имя_ БД

Создание таблиц. Табл. – основной объект БД. Для создания табл. необходимо:

1)задать имя табл.

2)задать имена столбцов в определенном порядке

3)определить тип полей и их размер

4)определить или использовать по умолчанию нулевой статус каждого поля.

В именах табл. нельзя использ. пробелы. Размер поля зависит от его типа. Для создания табл. использ. следующий оператор:

CREATE TABLE name (column_name type [NULL][,,];);

Создание табл. с помощью ограничений SQL 92.

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

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

UNIQUE – гарантирует отличие м/д значениями в столбце, допускает 1 нулевое значение.

DEFAULT – определяет значение автоматически вставляемой системы если пользователь его не задал.

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

REFERENCE и FOREING KEY- связывают вместе первичные и внешние ключи. Соответствующие столбцы должны существовать.

Ограничение на табл. лучше располагать, после списка всех ее эл-тов (но это не обязательно). Столбцы могут иметь более 1-го ограничения. Ограничения не разделяются запятыми.

CRAETE TABLE имя_таб.(имя_столб. тип [NULL | NOT NULL][DEFAULT значение_по _умолчанию][огранич_на_столбец]...[,имя_столбца тип [NULL | NOT NULL][DEFAULT, знач_по_умолч.][огранич_на_столбец]...]...[ограничение_на_табл-у]...)

Команды следующие за «CREATE TABLE» заключенном в () и разделенное запятыми является либо определением столбцов, либо ограничения на табл.

Если опции опущены (не использ.) это может привести к нарушению целостности табл.

В отличие от реляционных БД SQL имеет возможность строить табл. без указания первичного ключа.

Индексация в СУБД. Типы индексов. Создание и удаление индекса операторами языка SQL.

В СУБД индексация является механизмом для повышения производительности. Индексирование ускоряет выборку данных из БД. Индексы служат логическим указателем на физ-кое местонахождение данных. Индекс – это структура позволяющая выполнить ускоренный доступ к строкам табл., на основе 1-го или более ее столбцов. Индексирование повышает скорость выполнения ее запросов. Индексы(И) должны обновляться системой при каждом внесении изменений в базовую табл, => они дают дополнительную нагрузку на систему. После создания И их работа и использование не зависит от пользователя. Способы использ. И определяет система. Табл. может иметь 1 или несколько И, или не иметь их вообще. Индексами принято называть упорядоченный список полей или групп полей в табл.

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

Недостатки индексов:

1) Замедляются операции модификации данных (INSERT и DELETE);

2) Занимают место в памяти.

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

CREATE[UNIQUE] INDEX имя_инд.

ON имя_табл(имя_столбца[имя_столбца] [ASC|DESC][...]);

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

Типы индексов.

Составной индекс – использ когда одновременно есть необходимость осуществлять поиск по 2 или нескольким столбцам. в большинстве диалектов SQL порядок столбцов составного И не обязательно должен соответствовать порядку столбцов при создании табл.

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

Простые И – И которые создаются на одиночных столбцах.

Групповые И – строки табл сортируются так что их физ-кий адрес совпадает с логическим адресом в БД. Логический адрес – индексационный адрес.

Редактирование данных в таблице БД операторами языка SQL.

Для изменения используется оператор UPDATE имеющий формат записи:

UPDATE имя_табл

SET имя_столбца1=выраж[, имя_столбца2=выраж...]

[WHERE условие]

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

Обновление некоторых строк.

Например, повысим не 5% ставку каждого подчиненного начальника 1520

UPDATE worker

SET hraly_rate=1.05*hrly_rate

WHERE SUPV_ID=1520

Обновление всех строк.

Для повышения ставки всем рабочим надо:

UPDATE worker

SET hraly_rate=1.05*hrly_rate

Обновление нескольких строк.

Переведем Девида Форда на должность менеждера и повысим ему зарплату до 20000 фунтов стерлингов в год

UPDATE slovgy

SET Position=’manager’, Salary=20000

WHERE Sno=’SG14’;

Удаление данных из таблицы.

DELETE FROM имя_табл

[WHERE условие]

Оператор WHERE определяет подлиж. удаления строки. Если он отсутствует, то удаляются все строки из таблицы, но табл остается. А для удаления таблици DROP.

Например, Все рабочие чей начпльник имеет индекс 1520 удалить => удаляем все строки.

DELETE FROM worker

WHERE SVPV_ID=1520;

Удаление отдельных строк.

Удалим все записи об осмотре здаваемого в аренду объекта с учетом № PG4.

DELETE FROM viewing

WHERE pno=’PG4’;

Удалим все строки данной таблицы:

DELETE FROM viewing



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 523; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.131.13.196 (0.011 с.)