Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операторы SQL




Понятие о языке SQL (Structured Query Language - структурированный язык запросов).

Классификация СУБД

Информационная безопасность, ее аспекты и основные программно-технические меры обеспечения.

Функции и состав СУБД.

 

Основные функции

- управление данными во внешней памяти (на дисках);

- управление данными в оперативной памяти с использованием дискового кэша;

- журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

- поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

- ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,

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

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


Аспекты информационной безопасности.

1. условие доступа (возможность получить требуемую информационную услугу)

2. целостность данных (непротиворечивость, защищенность от разрушения и несанкционированного разрушения)

3. конфиденциальность защита от несанкционированного доступа.

 

Основные программно-технические меры реализации аспектов информац. Безопасности.

1. аутентификация пользователя «What you know», «What are you» «What you have»

Биометрическая аутентификация: отпечатки пальцев, форма уха, запах тела, рисунок вен на руке, ДНК, голос, динамика клавиатурного набора, сетчатка глаза, радужная оболочка глаза, форма лица, геометрия кисти, походка, динамика подписи и тд.

2. управление доступом к БД,

3. поддержка целостности данных

4. протоколирование и аудит

Отражение угроз специфичных для БД

Защита информации между клиентом и сервером.


1) по используемому языку общения:

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

б) открытые СУБД (в них используется стандартный язык программирования, возможно расширенный с помощью языков манипулирования данными)

2) по выполняемым функциям:

а) операционные СУБД (системы обработки данных) – подразумевают, что пользователи работают в реальном времени.

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

3) по сфере применения:

а) универсальные СУБД – настраиваются на любую предметную область путём создания соответствующей базы данных и прикладных программ.

б) проблемно-ориентированные (специализированные) – структура БД определена заранее. СУБД настроена на определённые процедуры обработки данных.

4) по допустимым режимам работы:

а) пакетное СУБД

б) с использованием телеобработки или on-line системы

5) по хронологии появления:

а) дореляционные (инвертированные списки, иерархические списки)

б) реляционные СУБД – неупорядоченная совокупность однотипных записей или таблиц определённого специфического вида

в) постреляционные СУБД: объектно-реляционные; объектно-ориентировочные; многомерные.

6) по количеству поддерживаемых уровней моделирования: -одноуровневые; двух-, трёхуровневые.

1 уровень – уровень внешних схем данных.

2 уровень – уровень концептуальной схемы данных.

3 уровень – уровень хранения данных.


7. Реляционная база данных и основные её понятия.

РБД – это совокупность плоских таблиц, связанных между собой ключевыми столбцами.

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

- Данные хранятся в таблицах, состоящих из столбцов ("атрибутов") и строк ("записей", "кортежей");

- На пересечении каждого столбца и строчки стоит в точности одно значение;

- У каждого столбца есть своё имя, которое служит его названием, и все значения в одном столбце имеют один тип.

- Запросы к базе данных возвращают результат в виде таблиц, которые тоже могут выступать как объект запросов.

Строки в реляционной базе данных неупорядочены - упорядочивание производится в момент формирования ответа на запрос. Общепринятым стандартом языка работы с реляционными базами данных является язык SQL.

Первичный ключ – атрибут или набор атрибутов. Смысл: в теории реляционных баз данных таблица представляет собой изначально неупорядоченный набор записей. Единственный способ идентифицировать определённую запись в этой таблице — это указать набор значений одного или нескольких полей, который был бы уникальным для этой записи. Отсюда и происходит понятие первичного ключа — набора полей (атрибутов, столбцов) таблицы, совокупность значений которых определена для любой записи (строки) этой таблицы и различна для любых двух записей.

Свойства строк и столбцов в РБД:

- всякому столбцу таблицы должно быть присвоено имя уникальное для данной таблицы.

- столбцы упорядочиваются слева направо (для пользователя удобней)

- строки таблицы неупорядочены, их последовательность определяется лишь посл-ю ввода таблицы

- свойство атомарности – на пересечении строк и столбцов только одно значение, а не множество

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

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

- при выполнении операций с таблицей её строки и столбцы можно обрабатывать в любом порядке.


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

Язык SQL делится на три части:

-операторы определения данных (англ. Data Definition Language, DDL)

-операторы манипуляции данными (англ. Data Manipulation Language, DML)

-операторы определения доступа к данным (англ. Data Control Language, DCL)

Основные типы данных, поддерживаемые в SQL:

- INTERGER- целое число (до 10 значащих цифр)

- SMALLINT – короткое целое (до 5 цифр)

- DECIMAL (p*q) – десятичное число – всего р- цифр, q- после запятой

- FLOAT- число с плавающей точкой

- CHAR (n) – символьная переменная фиксированной длины из n символов

- VARCHAR (n) - символьная переменная нефиксированной длины, n - max количество символов.

- DATE, - TIME, -DATETIME, -MONEY

История

В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД System R (англ.), для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как англ. Structured English QUEry Language — «структурированный английский язык запросов». Позже по юридическим соображениям язык SEQUEL был переименован в SQL. Целью разработки было создание простого непроцедурного языка, которым мог воспользоваться любой пользователь, даже не имеющий навыков программирования. Собственно разработкой языка запросов занимались Дональд Чэмбэрлин (Donald D. Chamberlin) и Рэй Бойс (Ray Boyce). Пэт Селинджер (Pat Selinger) занималась разработкой стоимостного оптимизатора (англ. cost-based optimizer), Рэймонд Лори (Raymond Lorie) занимался компилятором запросов.Стоит отметить, что SEQUEL был не единственным языком подобного назначения. В Калифорнийском Университете Беркли была разработана некоммерческая СУБД Ingres (являвшаяся, между прочим, дальним прародителем популярной сейчас некоммерческой СУБД PostgreSQL), которая являлась реляционной СУБД, но использовала свой собственный язык QUEL, который, однако, не выдержал конкуренции по количеству поддерживающих его СУБД с языком SQL. Первыми СУБД, поддерживающими новый язык, стали в 1979 году Oracle V2 для машин VAX от компании Relational Software Inc. (впоследствии ставшей компанией Oracle) и System/38 от IBM, основанная на System/R. Вопреки сложившемуся мнению, первой стала именно СУБД Oracle V2.Первый официальный стандарт языка SQL был принят ANSI в 1986 и ISO (Международной организацией по стандартизации) в 1987 (так называемый SQL-86) и несколько уточнён в 1989 году. Дальнейшее развитие языка поставщиками СУБД потребовало принятия в 1992 г. нового расширенного стандарта (ANSI SQL-92 или просто SQL2). Следующим стандартом стал SQL:1999 (SQL3). В настоящее время действует стандарт, принятый в 2003 году (SQL:2003) с небольшими модификациями, внесёнными позже.

Преимущества:

- Независимость от конкретной СУБД (несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую)

-Наличие стандартов (наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка).

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

Недостатки:

- Сложность (хотя SQL и задумывался, как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста).

- Отступления от стандартов (несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft, MySQL AB), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.

- Сложность работы с иерархическими структурами (ранее SQL не предлагал стандартного способа манипуляции древовидными структурами. Поэтому некоторые поставщики СУБД предлагали свои решения)


Data Definition Language (DDL) (язык описания данных) - это семейство компьютерных языков, используемых в компьютерных программах для описания структуры баз данных.

На текущий момент наиболее популярным языком DDL является SQL, используемый для получения и манипулирования данными в СУБД, и сочетающий в себе элемены DDL и DML.

Функции языков DDL определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL эти глаголы - "create" ("создать"), "alter" ("изменить"), "drop" ("удалить"). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.

Языки DDL могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные "расширения" языка.

Data Manipulation Language (DML) (язык управления [манипулирования] данными) - это семейство компьютерных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных.

На текущий момент наиболее популярным языком DML является SQL, используемый для получения и манипулирования данными в СУБД. Другие формы DML использованы в IMS/DL1, базах данных CODASYL (таких как IDMS), и других. Языки DML изначально использовались только компьютерными программами, но с появлением SQL стали также использоваться и людьми.

Функции языков DML определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL эти глаголы - "select" ("выбрать"), "insert" ("вставить"), "update" ("обновить"), и "delete" ("удалить"). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.

Языки DML могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные "расширения" языка.

Языки DML разделяются в основном на два типа:

- Procedural DMLs - описывают действия над данными.

- Declarative DMLs - описывают сами данные.

Data Control Language (DCL) - операторы определения доступа к данным, операторы защиты и управления данными (для администратора)

CREATE ASSERTION – создать ограничение

DROP ASSERTION – удалить ограничение

GRANT – дать привилегии пользователю

REVORE – отменить привелегии





Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 1275; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.026 сек.