Alter table Товар drop column размер 


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



ЗНАЕТЕ ЛИ ВЫ?

Alter table Товар drop column размер



GO

 

/* Удаление ограничения внешнего ключа FK_Товар_Валюта из таблицы Товар */

ALTER TABLE Товар DROP CONSTRAINT FK_Товар_Валюта

/* Добавление ограничения внешнего ключа FK_Товар_Валюта в таблицу Товар */

ALTER TABLE Товар ADD CONSTRAINT FK_Товар_Валюта FOREIGN KEY

(КодВалюты) REFERENCES Валюта ON UPDATE CASCADE

GO

Ç

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

 

Синтаксис команды удаления таблицы (см. [1], стр. 970):

 

DROP TABLE table_name

 

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

Например, требуется удалить таблицу Товар. Сначала необходимо провести анализ, есть ли таблицы, для которых таблица Товар является родительской. Для этого можно, например, использовать системную хранимую процедуру sp_fkeys, позволяющую получить информации о связях между таблицами посредством первичных и внешних ключей, которая имеет следующий синтаксис (см. [1], стр. 979):

 

sp_fkeys [ @pktable_name = ] 'pktable_name'

[, [ @pktable_owner = ] 'pktable_owner' ]

[, [ @pktable_qualifier = ] 'pktable_qualifier' ]

{, [ @fktable_name = ] 'fktable_name' }

[, [ @fktable_owner = ] 'fktable_owner' ]

[, [ @fktable_qualifier = ] 'fktable_qualifier' ]

 

É

/* Информация о связях родительской таблицы Товар с ее дочерними таблицами */

EXEC sp_fkeys 'Товар'

GO

Ç

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

É

/* Информация о связях дочерней таблицы Заказ с ее родительскими таблицами */

EXEC sp_fkeys @fktable_name = 'Заказ'

GO

Ç

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

É

/* Удаление из базы данных таблицы Товар */

ALTER TABLE Заказ DROP CONSTRAINT FK_Заказ_Товар -- первая команда

DROP TABLE Товар -- вторая команда

GO

Ç

Примечание. Сначала была разорвана связь между таблицами Товар и Заказ путем удаления в последней ограничения внешнего ключа FK_Заказ_Товар. Только после этого была удалена таблица Товар.

 

Задание к работе

 

Предварительно выполните следующие действия.

· Закройте (без сохранения данных) текущее окно Query и удалите базу данных Склад_ХХХ.

· Загрузите сценарий из файла D:\Work\X7230ХХХ\Script.sql и создайте базу данных Склад_ХХХ заново.

· Обновите данные на панели Object Explorer и сделайте базу данных Склад_ХХХ видимой.

· Закройте окно со сценарием Script.sql и откройте новое пустое окно Query, предназначенное для формирования сценария выполнения задания к лабораторной работе.

 

Выборка данных из таблиц и представлений

1. Из таблицы Клиент выберите все строки, для которых значение поля ИмяКлиента начинается префиксом «ИП» и значение поля КодРегиона лежит в диапазоне от 200 до 299 или неизвестно.

2. Из таблицы Поставщик выберите все строки, для которых или значение поля УсловияОплаты есть «По факту отгрузки» или значение поля КодРегиона не попадает в интервал значений от 200 до 299.

3. Из таблицы Регион выберите все строки, относящиеся к России или к Беларуси, но не связанные с городом Минском.

4. Из таблицы Товар выберите все строки, связанные с валютами «Доллары США» или «Евро», для которых значение цены лежит в диапазоне от 100 до 400.

5. В таблице Заказ найдите все те строки, для которых значение поля Количество превышает 10. Однако на экран вместо полей КодКлиента, КодТовара и КодПоставщика выведите поля ИмяКлиента, Наименование и ИмяПоставщика соответственно, которые заменят малоинформативные коды содержательными наименованиями.

6. В таблице Заказ найдите все строки, относящиеся к клиентам из России, а из них, в свою очередь, выберите те строки, для которых с момента заказа прошло не более 30 дней. Кроме того, в полученном наборе строк замените столбец КодТовара столбцом Наименование, расшифровывающем коды товаров. Результирующий набор строк отсортируйте по наименованиям товаров, далее (для совпадающих значений), – по полю КодКлиента и, далее (если и здесь будут совпадения), - по полю Количество в порядке убывания.

7. Из представления Запрос1 выберите все строки, в которых значение поля Наименование содержит в себе подстроку «тер» или «тор» и значение поля Количество больше или равно 10.

 

Обновление данных в таблицах

1. В таблице Клиент замените имя клиента «ГП ”Верас”» на «ГП ”Верас‑М”» и фамилию ее руководителя на «Седых Виктор Павлович».

2. В таблице Поставщик в поле УсловияОплаты установите значение «По договору поставки» для всех поставщиков, кроме тех, названия которых начинаются префиксом «СП» или «ИП».

3. В таблице Товар во всех записях, где цена больше 100000 белорусских рублей, замените код валюты на «RUR», а цену уменьшите в 80 раз.

4. В таблице Заказ обновите поле СрокПоставки следующим образом: если дата заказа раньше 15 апреля текущего года, то срок поставки будет равен дате заказа, увеличенной на 10 дней, однако, после 15 апреля срок поставки должен быть больше даты заказа только на неделю.

 

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

1. Добавьте приведенные ниже данные в соответствующие таблицы базы данных с помощью команды INSERT.

 

Таблица Валюта

КодВалюты ИмяВалюты ШагОкругления КурсВалюты
GRV Украинские гривны 0.01  

 

Таблица Товар

КодТовара Наименование Единица_изм Цена КодВалюты Расфасован
  ПК-клавиатура Разъем USB Принтер Lexmark штука штука штука   GRV GRV GRV Да Да Да

 

Таблица Заказ

КодКлиента КодТовара Количество ДатаЗаказа СрокПоставки КодПоставщика
      по умолчанию по умолчанию по умолчанию по умолчанию по умолчанию по умолчанию по умолчанию по умолчанию  

 

Теперь удалите из таблицы Валюта строку с кодом валюты GRV (Украинские гривны).

Примечание. Предварительно проанализируйте свойства связей между указанными выше таблицами, в частности, разрешено или запрещено каскадное (CASCADE) удаление данных в таблицах Товар и Заказ. Свойства связей между таблицами задаются в команде CREATE TABLE или в команде ALTER TABLE.

 

Изменение структуры таблиц

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

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

 

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

1. Удалите из базы данных таблицу Регион.

2. Удалите из базы данных таблицу Поставщик.

3. Используя литературные источники, изучите самостоятельно команду удаления представления (VIEW) из базы данных и удалите существующее представление Запрос1.

 

Сохраните текущий сценарий в файле D:\Work\X7230ХХХ\Script2.sql. Затем удалите базу данных Склад_ХХХ. Для этого в ее контекстном меню выберите команду Delete и затем в появившемся окне Delete Object установите флажок Close Existing Connections.



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 398; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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