1. Базы данных основные понятия. Введение в базы данных. Определения. 3
Скачать 273.58 Kb.
|
28. Оператор выбора SELECT. Многотабличные запросы. Множественные операции реляционной алгебры. Открытые соединения.Назначение оператора SELECT состоит в выборке и отображении данных одной или нескольких таблиц БД. Синтаксис оператора SELECT: SELECT [DISTINCT| ALL] {* ⎟ [<СПИСОК СТОЛБЦОВ>]} FROM <СПИСОК ТАБЛИЦ> [WHERE <предикат-условие выборки или соединения>] [GROUP BY <список полей результата>] [HAVING <предикат-условие для группы>] [ORDER BY <список полей, по которым требуется упорядочить вывод>] При работе с базами данных потребности пользователей не ограничиваются только реализацией простых запросов данных из одной таблицы. Во многих случаях для получения ответа на запрос необходимо объединить информацию из нескольких исходных таблиц. Для того чтобы осуществить такое объединение в результирующей таблице, необходимо выполнить операцию соединения, при которой объединение информации из двух таблиц происходит посредством образования пар связанных строк, выбранных из каждой таблицы. Таблицам можно присвоить имена- псевдонимы, что бывает полезно для осуществления операции соединения таблицы с самой собою и в ряде других ситуаций. Если в операторе SELECT указано более одного имени таблицы, неявно подразумевается, что над перечисленными таблицами осуществляется операции декартова произведения. Самый простой запрос SELECT такого рода без необязательных частей выглядит следующим образом: SELECT * FROMr1, r2; и соответствует декартову произведению таблиц r1 и r2. 29. Встроенный SQL. Однострочные и многострочные запросы.Во встроенном SQL запросы делятся на 2 типа: - Однострочные запросы, где ожидаемые результаты соответствуют одной строке данных. Эта строка может содержать значения нескольких столбцов. - Многострочные запросы, результатом которых является получение целого набора строк. При этом приложение должно иметь возможность проработать все полученные строки. Значит, должен существовать механизм, который поддерживает просмотр и обработку полученного набора строк. Первый тип запроса — однострочный запрос во встроенном SQL вызвал модификацию оператора SQL, которая выглядит следующим образом: SELECT [{ALL | DISTINCT}] <список возвращаемых столбцов> INTO <список переменных базового языка> FROM <список исходных таблиц> [WHERE <условия соединения и поиска>] Для реализации многострочных запросов вводится новое понятие — понятие курсора или указателя набора записей. Для работы с курсором добавляется несколько новых операторов SQL: 1. Оператор DECLARE CURSOR — определяет выполняемый запрос, задает имя курсора и связывает результаты запроса с заданным курсором. Этот оператор не является исполняемым для запроса, он только определяет структуру будущего множества записей и связывает ее с уникальным именем курсора. Этот оператор подобен операторам описания данных в языках программирования. DECLARE <имя_курсора> CURSOR FOR <спецификация_курсора> <спецификация курсора>::= <выражение_запроса SELECT> 2. Оператор OPEN дает команду СУБД выполнить описанный запрос, создать виртуальный набор строк, который соответствует заданному запросу. Оператор OPEN устанавливает указатель записей (курсор) перед первой строкой виртуального набора строк результата. OPEN <имя_курсора> [USING <список базовых переменных>] 3. Оператор FETCH продвигает указатель записей на следующую позицию в виртуальном наборе записей. FETCH <имя_курсора> INTO <список переменных базового языка > 4. Оператор CLOSE закрывает курсор и прекращает доступ к виртуальному набору записей. CLOSE <имя_курсора> Требования_безопасности_баз_данных._Защита_от_несанкционированного_доступа.'>30. Концепция безопасности баз данных. Угрозы безопасности баз данных. Требования безопасности баз данных. Защита от несанкционированного доступа.Угрозы: 1) Внутренние угрозы 2) Ошибки, вызванные человеческим фактором 3) Использование уязвимостей ПО баз данных 4) Атаки путем внедрения код SQL/NoSQL 5) Атаки переполнения буфера 6) Атаки типа «отказ в обслуживании» 7) Вредоносное ПО 8) Атаки на резервные копии Требования. Не зависящими от данных можно назвать следующие требования к безопасной системе БД: - Функционирование в доверенной среде. - Организация физической безопасности файлов данных. - Организация безопасной и актуальной настройки СУБД. Следующие требования можно назвать зависящими от данных: - Безопасность пользовательского ПО. Сюда можно отнести задачи построения безопасных интерфейсов и механизмов доступа к данным. - Безопасная организация и работа с данными. Вопрос организации данных и управления ими является ключевым в системах хранения информации. В эту область входят задачи организации данных с контролем целостности и другие, специфичные для СУБД проблемы безопасности. Фактически эта задача включает в себя основной объем зависящих от данных уязвимостей и защиты от них. Защита от НСД: - защита паролем - шифрование данных и программ - разграничение прав доступа к объектам базы данных - защита полей и записей таблиц БД |