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


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



ЗНАЕТЕ ЛИ ВЫ?

Создание схем, БД, таблиц операторами языка 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; просмотров: 476; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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