Задание необходимо сдать до 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 и предоставляемыми им возможностями заканчивается. Подробно его можно изучить по литературе, приведенной в библиографии. Для знакомства с конкретной реализацией следует обратиться к специальной литературе.