Содержание
- 2. 1. Общие сведения о языках запросов к реляционным БД Запрос представляет собой специальным образом описанное требование,
- 3. Главное отличие между этими языками заключается в способе формирования запросов: язык QBE предполагает ручное формирование запроса,
- 4. Для того чтобы узнать имена доступных отношений БД, в языке QBE предусмотрен запрос на выборку имен
- 5. Краткая история стандартизации языка SQL Деятельность по стандартизации языка SQL началась практически одновре- менно с появлением
- 6. Первый документ из числа проектов стандарта датирован октябрем 1985 г. и является уже не первым проектом
- 7. Осознавая неполноту стандарта SQL/89, на фоне завершения разработки этого стандарта специалисты различных компаний начали работу над
- 8. В 1995 г. стандарт был дополнен спецификацией интерфейса уровня вызова (Call-Level Interface – SQL/CLI). SQL/CLI представляет
- 9. В 1996 г. к стандарту SQL/92 был добавлен еще один компонент SQL/PSM (Persistent Stored Modules). Основная
- 10. Незадолго до завершения работ по определению стандарта SQL2 была начата разработка стандар-та SQL3, которую частично уда-лось
- 11. Первая часть стандарта посвящена описанию концептуальной структуры стандарта; вторая – образует базис стандарта; третья – уточняет
- 12. В конце 2003 г. был принят и опубликован новый вариант Международного стандарта SQL:2003, который существенно отлича-ется
- 13. 2. Структура языка SQL и его типы данных. Понятие представления Опишем базовые механизмы языка SQL. Язык
- 14. Разделение языка SQL на уровни Прямой SQL Встроенный SQL Динамический SQL Прямой SQL (di-rect) содержит кон-струкции,
- 15. Встроенный (embedded) уровень расширяется конструкциями, позволяющи-ми использовать возможности прямого SQL в программах, написанных на традицион-ных языках
- 16. Типы данных в языке SQL Данные, хранящиеся в столбцах таблиц SQL-ориентированной БД, являются типизиро-ванными, то есть
- 17. Категории типов данных Точные целочисленные типы (INTEGER, SMALLINT). Точные типы, допускающие наличие дробной части (NUMERIC (p,
- 18. Приближенные числовые типы REAL – числа с плавающей точкой одинарной точности (точность опре-деляется конкретной реализацией). DOUBLE
- 19. Типы символьных строк Тип CHARACTER (x) (или CHAR) - значе-ниями являются символьные строки (на-бор символов ASCII).
- 20. Операции над символьными типами Операция конкатенации (обозначает-ся «||») - соединение строк. Функция выделения подстроки (обоз-начается SUBSTRING)
- 21. Функция LOVER заменяет в заданной строке все прописные буквы строчными. Функция определения длины (CHARA-CTER_LENGTH, OCTET_LENGTH, BIT_-LENGTH)
- 22. Типы даты и времени Тип DATE. Значения этого типа состоят из компонентов-значений года (4 де-сятичных цифры),
- 23. Тип TIME. Значения этого параметризо-ванного типа состоят из компонентов-значений часа (2 десятичные цифры от 00 до
- 24. Булевский тип При определении атрибута булевского типа указывается просто спецификация BOOLEAN. Булевский тип состоит из трех
- 25. Другие типы данных в SQL Типы коллекций: типы массивов ARRAY (в стандарте SQL:1999) и типы мультимножеств
- 26. Замечание 1 В SQL для СУБД FOX PRO тип данных атрибутов обозначается одной из букв: C
- 27. Понятие представления В результате выборки данных из одного или нескольких отношений может быть получено множество кортежей,
- 28. Преимущество использования представ-лений по сравнению запросами к основной таблице состоит в том, что представление будет модифицировано
- 29. Описание и использование курсора Курсор представляет собой своеобраз-ный указатель, используемый для перемещения по наборам кортежей при
- 30. В выполняемой части программы производится открытие курсора (OPEN ), перемеще-ние курсора по кортежам (FETCH ), сопровождаемое
- 31. 3. Основные операторы языка SQL Опишем минимальное подмножество языка SQL, опираясь на его реализа-цию в стандартном
- 32. Операторы подъязыка DDL
- 33. Формат операторов подъязыка DDL 1. CREATE TABLE ( [NOT NULL] [, [NOT NULL ]]…) В СУБД
- 34. Конструкция NOT NULL служит дополнительным правилом контроля вводимых значений и для столбца означает, что в нем
- 35. Пример 1 CREATE TABLE STUDENTS (SNUM INTEGER, SFAM CHAR (20), SIMA CHAR (10), SOTCH CHAR (15),
- 36. Замечания 2 и 3 Порядок расположения атрибутов в отношении определяется тем, в какой последовательности они указаны
- 37. 2. Оператор удаления отношения Оператор удаления отношения имеет формат DROP TABLE Перед удалением отношения необ-ходимо убедиться
- 38. 3. Формат оператора изменения структуры отношения ALTER TABLE отношения> ({ADD, MODIFY, DROP} [ ] [NOT NULL]
- 39. Пример 2 Добавим к отношению STUDENTS два атрибута для хранения инфор-мации о курсе и специальности студента:
- 40. 4. Формат оператора создания индекса CREATE [UNIQUE] INDEX ON ( [ASC|DESC] [, имя_атрибута> [ASC|DESC]…]); Индексы создаются
- 41. Пример 3 Очевидно, что в отношении STUDENTS одним из наиболее употребляемых может стать индекс по атрибуту,
- 42. 5. Формат оператора удаления индекса DROP INDEX Этот оператор позволяет уда-лять созданный ранее индекс с соответствующим
- 43. 6. Формат оператора создания представления CREATE VIEW [( [, ]…)] AS ; Представление формируется в резуль-тате
- 44. Пример 4 Создадим представление с именем OTLSTUD, которое содержит инфор-мацию о студентах, получающих сти-пендию в размере
- 45. 7. Формат оператора удаления представления DROP VIEW Следует различать модифицируемые представления и представления, пред-назначенные только для
- 46. 8. Операторы назначения и удаления привилегий В языке SQL одним из принципов защи-ты данных служит система
- 47. Каждый пользователь БД в среде SQL имеет специальное идентификационное имя (ID) доступа. Команда, посланная в БД,
- 48. Каждый пользователь имеет набор привилегий. Эти привилегии могут изме-няться со временем: новые добавляться командой GRANT, старые
- 49. Пример 5 Пусть пользователь Гамидов владеет таблицей студентов STUDENTS и желает разрешить пользователю Куриловой выполнить запрос
- 50. Теперь Курилова может выполнять запросы к таблице STUDENTS без других привилегий, то есть она может только
- 51. Формат операторов подъязыка DML
- 52. 1. Формат оператора выборки кортежей SELECT[ALL|DISTINCT] FROM [WHERE ] [GROUP BY [, ]…] [HAVING ] [ORDER
- 53. Оператор SELECT позволяет произ-водить выборку и вычисления над данными из одного или нескольких отношений. Результатом выполнения
- 54. В отборе участвуют кортежи одной или нескольких таблиц, перечисленных в списке таблиц после слова FROM. При
- 55. Операнд WHERE задает условия, которым должны удовлетворять кортежи в результирующей табли-це. Выражение является логическим. Его элемен-тами
- 56. Операнд GROUP BY позволяет выделять в результирующем множестве кортежей группы. Группой являются кортежи с сов-падающими значениями
- 57. В логических и арифметических выра-жениях можно использовать следую-щие функции как групповые: AVG, MAX, MIN, SUM, COUNT.
- 58. 2. Формат оператора изменения кортежей UPDATE SET = = { , NULL} [, SET = =
- 59. 3. Форматы оператора вставки новых кортежей а) INSERT INTO [( )] VALUES ( ); б) INSERT
- 61. Скачать презентацию