Логическое проектирование и реализация реляционных баз данных. Основы Transact-SQL (Пример выполнения лабораторной работы), страница 3

insert into seats values(26, 'в', 1)

insert into seats values(27, 'н', 1)

insert into seats values(28, 'в', 1)

insert into seats values(29, 'н', 1)

insert into seats values(30, 'в', 1)

insert into seats values(31, 'н', 1)

insert into seats values(32, 'в', 1)

insert into seats values(33, 'н', 1)

insert into seats values(34, 'в', 1)

insert into seats values(35, 'н', 1)

insert into seats values(36, 'в', 1)

Результат:

(1 row(s) affected)

select * from seats

 Результат:

id_seat

seat_number

seat_type

id_coach

1

1

н

1

2

2

в

1

3

3

н

1

4

4

в

1

5

5

н

1

33

33

н

1

34

34

в

1

35

35

н

1

36

36

в

1

6. Заполнение таблицы passengers и её просмотр

--Пассажиры

insert into passengers values('Иванов', 'ИА','Паспорт', '8600123456')

Результат:

(1 row(s) affected)

……..

select * from passengers

id_passenger

pass_name

pass_initials

doc_type

doc_serial

1

Иванов

ИА

Паспорт

8600123456

7. Заполнение связующих таблиц для обеспечения связи M:N.

--Связи поездов с станциями, которые они проезжают

insert into trains_stations values(1, 1, 'отправления', null, '2008-05-01 23:00:00')

insert into trains_stations values(1, 3, 'промежуточная', '2008-05-02 02:20:00', '2008-05-02 02:40:00')

insert into trains_stations values(1, 5, 'промежуточная',null, null)

insert into trains_stations values(1, 6, 'прибытия', null, null)

--Связи пассажиров с местами

insert into passengers_seats values(1, 9, 1400, '2008-05-01 23:00:00', '2008-05-02 02:20:00')

4. Модификация и удаление

Чтобы рассмотреть модификацию и удаление, можно добавить в одну из таблиц несколько ненужных записей. Например, станций в таблицу stations.

insert into stations values('Волховстрой')

insert into stations values('Подпорожье')

insert into stations values('Свирь')

insert into stations values('Петрозаводск')

На всякий случай рекомендуется посмотреть содержимое таблицы:

select * from stations

Результат:

id_station

st_name

1

Санкт-Петербург

2

Мал. Вишера

3

Бологое

4

В. Волочек

5

Тверь

6

Москва

11

Волховстрой

12

Подпорожье

13

Свирь

14

Петрозаводск

Следующий вызов модифицирует данные о станции с id_station, равным 11. Меняет название станции с «Волховстрой» на «Волхов».

update stations

          set st_name = 'Волхов'

where id_station = 11

Удаление всех станций, добавленных в этом пункте. Его легко выполнить, руководствуясь информацией об id_station данных станций.

delete from stations

          where id_station between 11 and 14

5. Сохранение результатов запроса в новой таблице

Пример использования SELECT…INTO: на основе результатов выборки из таблицы trains создаётся новая таблица, содержащая только названия и номера поездов.

select train_name, train_number

          into trains_names

          from trains

Результат:

(8 row(s) affected)

Просмотр содержимого новой таблицы:

select * from trains_names

Результат:

train_name

train_number

Смена

25

Смена

26

Николаевский экспресс

5

Николаевский экспресс

6

Красная стрела

1

Красная стрела

2

Аврора

159

Аврора

160

6. Удаление всех строк таблицы и самой таблицы из БД

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

delete from trains_names

или:

truncate table trains_names

Сама таблица уничтожается с помощью DROP TABLE:

drop table trains_names

7. Заключение

Все рассмотренные здесь скрипты хранятся в отдельных sql-файлах (в одной папке с настоящим документом) и могут быть загружены и выполнены в SQL Server Management Studio.

creation.sql

Создание таблиц

filling.sql

заполнение/просмотр содержимого

update_delete.sql

Примеры модификации/удаления

select_into.sql

Пример использования SELECT…INTO

truncate_etc.sql

Очистка таблицы и удаление таблицы