Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_Laboratornyi_774_praktikum.doc
Скачиваний:
28
Добавлен:
17.06.2021
Размер:
921.09 Кб
Скачать

Раздел II. Ввод данных в таблицы базы данных

При помощи пользовательского меню Windows запустите утилиту SQL Server Management Studio, после чего на панели Object Explorer в древовидной структуре раскройте папку Databases.

С помощью команды меню FileOpenFile загрузите сценарий из файла D:\Work\X7230ХХХ\script.sql в окно Query.

Выполните сценарий, нажав на панели инструментов кнопку Execute (или клавишу F5). В результате будет создана база данных Склад_ХХХ.

Обновите данные на панели Object Explorer. Для этого используйте команду Refresh в контекстном меню папки Databases или соответствующую кнопку в верхней части панели. В результате база данных Склад_ХХХ станет видимой на панели Object Explorer.

Далее продолжите работу с базой данных Склад_ХХХ, последовательно добавляя в сценарий, выделяя подсветкой и выполняя приведенные ниже команды или пакеты языка Transact-SQL (помечены стрелками  и ).

1. Вставка новой строки в таблицу базы данных. Синтаксис команды (см. [1], стр. 1122):

INSERT [ INTO]     { table_name WITH ( < table_hint_limited > [ ...n ] )         | view_name  | rowset_function_limited }     {    [ ( column_list ) ]         { VALUES             ( { DEFAULT | NULL | expression } [ ,...n] )             | derived_table | execute_statement }     } | DEFAULT VALUES

< table_hint_limited > ::=     { FASTFIRSTROW         | HOLDLOCK         | PAGLOCK         | READCOMMITTED         | REPEATABLEREAD         | ROWLOCK         | SERIALIZABLE         | TABLOCK         | TABLOCKX         | UPDLOCK     }

Таблица Регион

КодРегиона

Страна

Область

Город

Адрес

Телефон

Факс

101

201

202

203

204

301

Россия

Беларусь

Беларусь

Беларусь

Беларусь

Украина

Московская

Минская

Витебская

Крымская

Королев

Минск

Воложин

Минск

Полоцк

Алушта

ул.Мира, 15

ул.Гикало, 9

ул.Серова, 11

ул.Кирова, 24

ул.Лесная, 6

ул.Франко, 24

387-23-04

NULL

NULL

269-13-76

NULL

NULL

387-23-05

278-83-88

48-37-92

269-13-77

48-24-12

46-49-16

INSERT INTO Регион

VALUES (101, 'Россия', 'Московская', 'Королев', 'ул.Мира, 15',

'387-23-04', '387-23-05')

INSERT INTO Регион (КодРегиона, Область, Город, Адрес, Факс)

VALUES (201, '', 'Минск', 'ул.Гикало, 9', '278-83-88')

INSERT INTO Регион (КодРегиона, Область, Город, Адрес, Факс)

VALUES (202, 'Минская', 'Воложин', 'ул.Серова, 11', '48-37-92')

INSERT INTO Регион (КодРегиона, Область, Город, Адрес, Телефон,

Факс)

VALUES (203, '', 'Минск', 'ул.Кирова, 24', '269-13-76',

'269-13-77')

INSERT INTO Регион (КодРегиона, Область, Город, Адрес, Факс)

VALUES (204, 'Витебская', 'Полоцк', 'ул.Лесная, 6', '48-24-12')

INSERT INTO Регион

VALUES (301, 'Украина', 'Крымская', 'Алушта', 'ул.Франко, 24',

NULL, '46-49-16')

GO

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

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

2). Не смотря на то, что столбец Страна является обязательным (определен как NOT NULL), его имя можно не указывать в списке имен столбцов, поскольку для этого столбца определено значение по умолчанию ('Беларусь').

3). Если значение поля Область не заполняется, то нельзя использовать NULL, а нужно задать пустую строку (''), поскольку поле Область является обязательным и значение NULL в нем недопустимо.

Таблица Поставщик

КодПоставщика

ИмяПоставщика

УсловияОплаты

КодРегиона

Заметки

123

234

345

456

567

ЗАО Магистраль

СП "Полихим"

Предоплата

По факту отгрузки

101

...

...

...

203

NULL

...

...

...

Постоянный поставщик

INSERT INTO Поставщик (КодПоставщика, ИмяПоставщика, КодРегиона)

VALUES (123, 'ЗАО Магистраль', 101)

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

INSERT INTO Поставщик

VALUES (567, 'СП ”Полихим”', 'По факту отгрузки', 203,

'Постоянный поставщик')

GO

Таблица Клиент

ИмяКлиента

ФИОРуководителя

КодРегиона

ГП ”Верас”

...

...

...

ИП ”Темп”

Прокушев Станислав Игоревич

...

...

...

Васько Григорий Терентьевич

202

...

...

...

NULL

Примечание. В таблице Клиент столбец КодКлиента является автоинкрементным и, поэтому, его значения не приведены.

INSERT INTO Клиент

VALUES ('ГП ”Верас”', 'Прокушев Станислав Игоревич', 202)

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

INSERT INTO Клиент (ИмяКлиента, ФИОРуководителя)

VALUES ('ИП ”Темп”', 'Васько Григорий Терентьевич')

GO

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

КодВалюты

ИмяВалюты

ШагОкругления

КурсВалюты

BYR

RUR

USD

EUR

Белорусские рубли

Российские рубли

Доллары США

Евро

1

0.01

0.01

0.01

1

276

9160

12450

INSERT INTO Валюта

VALUES ('BYR', 'Белорусские рубли', 1, 1)

INSERT INTO Валюта (КодВалюты, ИмяВалюты, КурсВалюты)

VALUES ('RUR', 'Российские рубли', 276)

INSERT INTO Валюта (КодВалюты, ИмяВалюты, КурсВалюты)

VALUES ('USD', 'Доллары США', 9160)

INSERT INTO Валюта (КодВалюты, ИмяВалюты, КурсВалюты)

VALUES ('EUR', 'Евро', 12450)

GO

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

КодТовара

Наименование

Единица

Изм

Цена

КодВалюты

Расфасован

111

222

333

444

555

Монитор 21 дюйм

Винчестер HDD 120GB

штука

...

...

...

штука

320

...

...

...

285000

USD

...

...

...

BYR

Нет

...

...

...

Да

INSERT INTO Товар

VALUES (111, 'Монитор 21 дюйм', 'штука', 320, 'USD', 'Нет')

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

INSERT INTO Товар (КодТовара, Наименование, Цена, Расфасован)

VALUES (555, 'Винчестер HDD 120GB', 285000, 'Да')

GO

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

КодКлиента

КодТовара

Количество

ДатаЗаказа

СрокПоставки

КодПоставщика

3

...

...

...

...

1

111

...

...

...

...

...

555

8

...

...

...

...

...

25

04.09.2013

...

...

...

...

...

<по умолчанию>

14.09.2013

...

...

...

...

...

<по умолчанию>

567

...

...

...

...

...

NULL

Примечание. В таблице Заказ столбец КодЗаказа является автоинкрементным и, поэтому, его значения не приведены.

SET DATEFORMAT dmy /* задаем привычный формат даты день.месяц.год, т.к.

по умолчанию установлен формат год.месяц.день */

INSERT INTO Заказ /* год можно задавать как 2-мя, так и 4-мя цифрами */

VALUES (3, 111, 8, '04.09.12', '14.09.12', 567)

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */

/* . . . команда вставки новой строки – сформируйте самостоятельно */