Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Опишите процесс соединения таблиц с использованием оператора JOIN.




 

Оператор SQL INNER JOIN формирует таблицу из записей двух или нескольких таблиц. Каждая строка из первой (левой) таблицы, сопоставляется с каждой строкой из второй (правой) таблицы, после чего происходит проверка условия. Если условие истинно, то строки попадают в результирующую таблицу

Оператор SQL INNER JOIN имеет следующий синтаксис:

        

SELECT

column_names [,... n]

FROM

Table_1 INNER JOIN Table_2

ON condition

 

Условие для сравнения задается в операторе ON.

Существуют следующие версии оператора JOIN

INNER JOIN - возвращает только записи из обеих таблиц, отвечающие указанному критерию.

FULL JOIN - возвращает все записи из таблиц

LEFT JOIN - дает все запрошенные данные из таблицы в левой части JOIN плюс данные из правой таблицы, пересекающиеся с первой таблицей.

RIGHT JOIN - Он выдает все запрошенные данные из таблицы, стоящей в правой части оператора JOIN, плюс данные из левой таблицы, пересекающиеся с правой.

 

 

Опишите операции объединения таблиц посредством ссылочной целостности.

Ссы́лочнаяце́лостность (англ. referentialintegrity) — необходимое качество реляционной базы данных, заключающееся в отсутствии в любом её отношении внешних ключей, ссылающихся на несуществующие кортежи.

EXAM_MARKS уже связана посредством поля STUDENT_ID. В таблице STUDENT поле STUDENT_ID является первичным ключом, а в таблице EXAM_MARKS, ссылающимся на него внешним ключом. Состояние связанных таким образом таблиц называется состоянием ссылочной целостности. В данном случае ссылочная целостность этих таблиц подразумевает, что каждому значению поля STUDENT_ID в таблице EXAM_MARKS обязательно соответствует такое же значение поля STUDENT_ID в таблице STUDENT. Другими слова ми, в таблице EXAM_MARKS не может быть записей, имеющих идентификаторы студентов, которых нет в таблице STUDENT. Стандартное применение операции соединения состоит в извлечении данных в терминах этой связи.

Чтобы получить список фамилий студентов с полученными ими оценками и идентификаторами предметов можно использовать следующий запрос:

SELECTSURNAME, MARK, SUBJ_ID

FROMSTUDENT, EXAM_MARKS

WHERESTUDENT.STUDENT_ID = EXAM_MARKS.STUDENT_ID;

Тот же самый результат может быть получен при использовании в запросе для задания операции соединения таблиц ключевого слова JOIN.

Запрос с оператором JOINвыглядит следующим образом

SELECTSURNAME, MARK

FROMSTUDENT JOINEXAM_MARKS

ONSTUDENT.STUDENT_ID = EXAM_MARKS.STUDENT_ID;

Назовите команды манипулирования данными в SQL, опишите процесс использования подзапросов с INSERT.

В SQL для выполнения ввода данных в таблицу, их изменения и удаления предназначены три команды языка манипулирования данными: INSERT, UPDATE, DELETE.

Команда INSERT осуществляет вставку в таблицу новой строки. В простейшем случае она имеет вид:

INSERT INTO<имя таблицы>VALUES (<значение 1>,<значение 2>, …, <значение N>);

При такой записи указанные в скобках после ключевого слова VALUES значения вводятся в поля добавленной в таблицу новой строки в том порядке, в котором соответствующие столбцы указаны при создании таблицы.

Если в какое-либо поле необходимо вставить NULL-значение, то оно вводится как обычное значение:

INSERT INTOSTUDENT

VALUES (202, 'Мазуркин', NULL, 200, 3, 'Минск', #1/22/1981#, 15); (33.2)

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

INSERT INTO STUDENT (STUDENT_ID, CITY, SURNAME, NAME)

VALUES (2, ‘Бобруйск’, ‘Абрамович’, ‘Саша’); (33.3)

Столбцам, значения которых не указаны в приведенном в скобках списке, автоматически присваивается значение по умолчанию, если оно указано при создании таблицы, либо NULL-значение.

С помощью команды INSERT можно извлечь данные из одной таблицы и поместить их в другой, причем обе таблицы должны существовать и иметь одинаковые схемы отношений.

 

Назовите команды манипулирования данными в SQL, опишите процесс использования подзапросов с DELETE.

В операции манипулирования данными входят три операции: операция удаления записей — ей соответствует оператор DELETE, операция добавления или ввода новых записей — ей соответствует оператор INSERT и операция изменения (обновления записей) — ей соответствует оператор UPDATE. Рассмотрим каждый из операторов подробнее.

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

Синтаксис оператора DELETE следующий:

DELETE FROM имя_таблицы [WHERE условия_отбора]

Если условия отбора не задаются, то из таблицы удаляются все строки, однако это не означает, что удаляется вся таблица. Исходная таблица остается, но она остается пустой, незаполненной.

Например, если нам надо удалить результаты прошедшей сессии, то мы можем удалить все строки из отношения R1 командой

DELETE FROM R1

Условия отбора в части WHERE имеют тот же вид, что и условия фильтрации в операторе SELECT. Эти условия определяют, какие строки из исходного отношения будут удалены. Например, если мы исключим студента Миронова А. В., то мы должны написать следующую команду:

DELETE FROM R2 WHERE ФИО = 'МироновА.В.'

 

Назовите команды манипулирования данными в SQL, опишите процесс использования подзапросов с UPDATE.

 Команды языка манипулирования данными позволяют пользователю перемещать данные в базу данных и из нее:

· INSERT — осуществляет вставку строк в таблицу.

· DELETE — осуществляет удаление строк из таблицы.

· UPDATE — осуществляет модификацию данных в таблице.

SELECT — осуществляет выборку данных из таблиц по запросу.

Команда UPDATE — производит изменения в уже существующей записи или во множестве записей в таблице SQL. Изменяет существующие значения в таблице или в основной таблице представления.

Базовый синтаксис оператора:
UPDATE таблица
SET имя_столбца [, имя_столбца ] =
(SELECT имя_столбца [, имя_столбца ]
FROM таблица
[ WHERE ])

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

 










Последнее изменение этой страницы: 2018-05-10; просмотров: 228.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...