Задание необходимо сдать до 19.05.2020!!!

Занятие 13.05.2020, 15.05.2020

Лекция

Тема: Запросы на изменение структуры базы данных

Цель: изучение материала по теме

Задачи:

- изучение основных операторов для изменения структуры БД

- изучение структуры SQL-запросов на изменение БД

- изучение написания SQL-запросов на изменение БД

- изучение примеров SQL-запросов на изменение БД

Ход работы:

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

Обязательно необходимо переписать все примеры SQL-запросов на изменение БД. Внимательно разобрать примеры.

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

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

 

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

Задание необходимо сдать до 19.05.2020!!!

 

Готовые работы можно сдать:

- личным сообщением в ВК https://vk.com/lena_lexy

- отправить по электронной почте lexy 83@ mail . ru

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

 

Лекция:

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

 

Следующая группа команд относится к созданию таблиц, их удалению, изменению их структур, а также к созданию и изменению индексов.

Создание таблицы производится следующей командой (фрагменты в квадратных скобках [] могут отсутствовать):

Create Table <таблица>

(<атр1> <тип1> [<(размер1)>] [<ограничения1>],

<атр2> <тип2> [<(размер2)>] [<ограничения2>],

...

<атрN> <типN> [<(размерN)>] [<ограниченияN>]

[, Primary Key (<первичный ключ>)];

[, Foreign Key (<внешний ключ>)

References <таблица2> <родительский ключ>]);

Здесь

- <таблица> – имя создаваемой таблицы,

- <атр> – имя атрибута,

- <тип> – тип атрибута,

- <(размер)> – размер атрибута,

- <ограничения> – перечень ограничений, наложенных на атрибут,

- <первичный ключ> – перечень атрибутов, входящих в первичный ключ таблицы,

- <внешний ключ> – перечень атрибутов, входящих во внешний ключ таблицы,

- <таблица2> – таблица, на которую ссылается данная,

- <родительский ключ> – атрибуты в таблице2, на которые ссылается внешний ключ.

Ограничения на атрибут накладываются для контроля целостности. Они могут быть разными: запрет на пустоту (not null), указание на уникальность значения (unique), на то, что этот атрибут – первичный ключ (primary key) или внешний ключ (references <таблица2>(<родительский ключ>)), на необходимость удовлетворять условиям (check(<предикат>)), на значение по умолчанию (default=<значение>).

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

Пример

Создать таблицы, которые служили для примеров.

Create Table Продавец

( ном _ прод Numeric(2) primary key,

имя _ прод Char(40) not null,

город Char (20) default=’ Москва ’,

комиссия Numeric(4,2) check(комиссия <1));

Create Table Покупатель

( ном _ пок Numeric(2) primary key,

имя _ пок Char(40) not null,

город Char (20) default=’ Москва ’,

значимость Numeric(3));

Create Table Заказ

( ном _ зак Numeric(3) primary key,

сумма Numeric(7,1) not null,

ном _ пок Numeric(2) references Покупатель ( ном _ пок ),

ном_прод Numeric(2) references Продавец(ном_прод),

дата Date not null);

Конец примера

Изменение структуры таблицы выполняется командой Alter Table, которая не поддерживается стандартом ANSI. Тем не менее, в реализациях она применяется. Сразу заметим, что применение ее на рабочей таблице рискованно, лучше создать новую таблицу и загрузить в нее данные из старой. С помощью команды Alter Table можно добавлять и удалять атрибуты, изменять их описание, изменять описание таблицы. Формат команды для добавления атрибута:

Alter Table <таблица> Add <атр> <тип> [<(размер)>] [<ограничения>];

Удаление таблицы может быть выполнено тогда, когда она пустая, то есть у нее предварительно были удалены все данные. Команда удаления:

Drop Table <таблица>;

Для ускорения поиска в таблицах SQL предоставляет возможность пользоваться индексами. Создание индекса производится следующей командой:

Create Index <имя индекса> On <таблица> (<атр1>, <атр2>, …<атрk>);

Если создается уникальный индекс, вместо Create Index используется вариант Create Unique Index. Удаление индекса производится командой

Drop Index <имя индекса>;

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