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

Если список атрибутов опущен, то список значений нужно формировать в соответствии с той очередностью, с которой перечислялись столбцы в операторе createtable. Пример:

insert into faculties values (2, ‘Смена’, ‘фирменный’, 26)

Значения идут в строго определенном порядке: идентификатор (первичный ключ) – наименование поезда – тип поезда – номер поезда.

Удаление

Оператор delete удаляет строки из таблицы. Обычно удаление происходит не «вслепую», а по некоторому условию. Синтаксис оператора следующий:

delete

from имя_таблицы

[where условие]

Пример:

-- Удалить станцию «Владивосток»

deletefrom stations

           where st_name = ‘Владивосток’

Разумеется, возможны и более сложные условия поиска на основе операций and, or, not и т. д. [2].

Если секция where отсутствует, то оператор delete удалит все строки указанной таблицы. Впрочем, если нужно полностью очистить таблицу от записей, можно воспользоваться командой truncatetable с указанием только имени таблицы, без слова from.

Обновление

Оператор update модифицирует данные в таблице. Его синтаксис имеет следующий вид:

update имя_таблицы

           set {атрибут = значение | default | null}[,…n]

           [where условие]

Оператор update модифицирует все указанные поля тех записей, которые удовлетворяют условию из секции where. Если условие не задано, модифицируются все записи.

Пример:

update stations

           set st_name = null

           where st_name = ‘Владивосток’

В результате в таблице stations все названия станций, равные ‘Владивосток’, будут заменены неопределенными значениями.

2.3. Выборка. Простейшие случаи использования оператора select

Команда selectпредоставляет богатый набор возможностей по манипулированию данными, чем и объясняется ее сложность. Тем не менее, она может быть записана в примитивно простой форме, вплоть до:

select * from stations

Этот вызов означает отображение всей таблицы stations, т. е. всех её столбцов и строк.

Ниже перечислены другие варианты записи оператора.

1. С явным заданием интересующих столбцов (атрибутов):

select train_number, train_name from trains

В результате будут отображены только два столбца таблицы trains: номер поезда (train_number) и наименование поезда (train_name).

2. С указанием условий поиска:

select * from trains

           where train_type = ‘фирменный’

Данный запрос отображает только фирменные поезда.

3. С указанием атрибутов и условий.

select train_number, train_name from trains

           where train_type = ‘фирменный’

По этому запросу будут выбраны номера и наименования фирменных поездов.

4. С возможностью создания новой таблицы на основе результатов выборки.

select train_number, train_name

into firm_trains

from trains

           where train_type = ‘фирменный’

В этом примере результаты выборки номеров и названий фирменных поездов сохраняются в таблице firm_trains. Типы данных столбцов новой таблицы совпадают с типами данных одноименных столбцов исходной таблицы.

На основе приведённых примеров нельзя получить исчерпывающее представление об операторе select. Более подробно он будет изучаться в лабораторной работе № 3.

3. Порядок выполнения работы

1. Изучить теоретическую часть.

2. Используя концептуальную схему БД из лабораторной работы №1, построить логическую (реляционную) схему.

3. Написать на Transact-SQL скрипты создания таблиц, наложить ограничения целостности primarykey, foreignkey и другие (при необходимости). Выполнить скрипты.

4. Заполнить таблицы. Осуществить простейшую выборку из основных таблиц (соответствующих сущностям). Выполнить модификацию и удаление по самостоятельно выбранным условиям.

5. Создать таблицу на основе результатов выборки по некоторому условию (selectinto). Просмотреть её записи.

4. Литература

1. Яблонский С. А. Проектирование БД.

2. Мамаев Е. В. Microsoft ® SQL Server 2000. – СПб.: БХВ-Петербург, 2004. – 1280 с.: ил.