Студопедия

КАТЕГОРИИ:

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

Выделите отличия SQL от процедурных языков программирования.




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

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

 

Опишите интерактивный и встроенный SQL.

ИнтерактивныйSQL –формирование непосредственно пользователем запроса на языке SQL в интерактивном режиме.В интерактивном режиме работы с базой данных: пользователь работает с базой данных в прямом диалоге: вводит запрос на языке SQL – получает результат, вводит другой запрос – получает другой результат и т.д.

ВстроенныйSQL –Встроенный SQL представляется операторами языка SQL, встроенные в прикладные программы, написанные на других языках программирования (в других программных средах). Это дает возможность работы с базой данных с помощью прикладных программ, написанных на других алгоритмических языках, но требует включения дополнительных средств, обеспечивающих интерфейс между операторами языка SQL и соответствующим языком программирования.

· Статический SQL – в текст прикладной программы включаются конкретные операторы SQL, и после компиляции исходной программы в выполняемый модуль жестко включаются соответствующие этим операторам функции SQL. Изменения в вызываемых функциях могут здесь определяться только изменениями параметров операторов SQL, инициируемых с помощью переменных языка программирования.

· ДинамическийSQL – формирование SQL-запросов, соответствующие вызовы SQL-функций для обращения к базе данных осуществляется динамически в ходе выполнения программы.

API – (интерфейсы вызова подпрограмм)способ динамического формирования SQL-запросов в прикладной программе при котором обращение к соответствующим SQL-функциям происходит с помощью специальных интерфейсов программирования приложений (библиотек функций, разработанных для связи прикладной программы и СУБД посредством SQL-запросов).

 

16. Выделите составные части SQL. Определите типы данных SQL.

Составные части языка SQL:

· DDL – Data Definition Language - языкопределенияданных. DDL включает в себя операторы создания, модификации, удаления объектов (Create, Alter, Drop...). К DDL обычно также относят операторы управления правами пользователей (Grant, Revoke).

· DML – DataManipulationLanguage - Язык манипулирования данными. DML предназначен для ведения (добавления, модификации, удаления) и выборки информации из базы данных. Основные операторы DML - Select, Insert, Update и Delete.

Типы данных SQL:

· Строковые:

- CHAR(size) – Строки фиксированной длиной (могут содержать буквы, цифры и специальные символы). Фиксированный размер указан в скобках. Можно записать до 255 символов.

- VARCHAR(size) – Может хранить не более 255 символов.

- TINYTEXT – Может хранить не более 255 символов.

- TEXT – Может хранить не более 65 535 символов

- BLOB – Может хранить не более 65 535 символов.

- MEDIUMTEXT – Может хранить не более 16 777 215 символов.

- MEDIUMBLOB – Может хранить не более 16 777 215 символов.

- LONGTEXT – Может хранить не более 4 294 967 295 символов.

- LONGBLOB – Может хранить не более 4 294 967 295 символов.

- ENUM(x,y,z,etc.) – Позволяет вводить список допустимых значений. Можно ввести до 65535 значений в SQL Тип данных ENUM список. Если при вставке значения не будет присутствовать в списке ENUM, то мы получим пустое значение .Ввести возможные значения можно в таком формате: ENUM ( 'X', 'Y', 'Z')

- SET – SQL Тип данных SET напоминает ENUM за исключением того, что SET может содержать до 64 значений.

· С плавающей точкой и целые числа:

- TINYINT(size) - Может хранить числа от -128 до 127

- SMALLINT(size) - Диапазон от -32 768 до 32 767

- MEDIUMINT(size) - Диапазон от -8 388 608 до 8 388 607

- INT(size) - Диапазон от -2 147 483 648 до 2 147 483 647

- BIGINT(size) - Диапазон от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

- FLOAT(size,d) - Число с плавающей точкой небольшой точности.

- DOUBLE(size,d) - Число с плавающей точкой двойной точности.

- DECIMAL(size,d) - Дробное число, хранящееся в виде строки.

· Дата и время:

- DATE() - Дата в формате ГГГГ-ММ-ДД

- DATETIME() - Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС

- TIMESTAMP() - Дата и время в формате timestamp. Однако при получении значения поля оно отображается не в формате timestamp, а в виде ГГГГ-ММ-ДД ЧЧ:ММ:СС

- TIME() - Время в формате ЧЧ:ММ:СС

- YEAR() - Год в двухзначной или в четырехзначном формате.

 

Назовите и опишите операторы уточнения запроса.

Операторы уточнения запроса:

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

· Where – из таблицы выбираются записи отвечающие условию поиска и отбрасываются все остальные.

· Groupby – создаются группы записей отобранных с помощью оператора where. Каждая группа соответствует какому-либо значению столбца группирования.

· Having – обрабатывает каждую из созданных групп записей оставляя только те из них которые удовлетворяют условию поиска. Этот оператор используется только с оператором group by.

· Select –выбирает из таблицы только указанные ранее столбцы.

Orderby – сортирует записи таблицы. При этом в условии сортировки можно обращаться лишь к тем строкам, которые указаны в операторе select.

 

Охарактеризуйте простейшие SELECT-запросы, операторы IN, BETWEEN.

Операторы in (равен любому из списка) и notin (не paвен ни одному из списка) используются для сравнения проверяемого значения поля с заданным списком. Этот список значений указывается в скобках справа от оператора IN. Когда набор содержит значения номеров, а не символов, одиночные кавычки опускаются.

Построенный с использованием in предикат (условие) считается истинным, если значение поля, имя которого указано слева от IN, совпадает (подразумевается точное совпадение) с одним из значений, перечисленных в списке, указанном в скобках справа от IN.

Предикат, построенный с использованием notin, считается истинным, если значение поля, имя которого указано слева от not IN, не совпадает ни с одним из значений, перечисленных в списке, указанном в скобках справа от NOT IN.

Примеры

Получить из таблицы exam_marks сведения о студентах, имеющих экзаменационные оценки только 4 и 5.

SELECT *

FROM EXAM_MARKS

WHERE MARK IN(4,5);

Получить сведения о студентах, не имеющих ни одной экзаменационной оценки, равной 4 и 5.

SELECT *

FROM EXAM_MARKS

WHERE MARK NOT IN (4,5);

 

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

Например, запрос на вывод записей о предметах, на изучение которых отводится количество часов, находящееся в пределах между 30 и 40, имеет вид:

select * from subject

where hour between 30 and 40;

Граничные значения, в данном случае значения 30 и 40, входят во множество значений, с которыми производится сравнение. Оператор between может использоваться как для числовых, так и для символьных типов полей.










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

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