Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора 2.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
171.14 Кб
Скачать

Трехуровневая модель организации баз данных

В 1978 году учеными была принята трехуровневая система организации данных, предложенная Национальным Институтом стандартизации – ANSI (American National Standards Institute) и Комитетом по планированию выпуска стандартов и технических условий – SPARC Соединенных штатов Америки. В соответствии с принятой концепцией предлагается выделять три уровня абстракции представления данных: - внешний уровень – это тот, на котором представляют данные пользователи; - концептуальный уровень служит для отображения данных внешнего уровня на внутренний и обеспечивает необходимую независимость данных разных уровней друг от друга; - на внутреннем уровне данные воспринимаются СУБД и операционной системой. Предложенная архитектура позволяет обеспечить логическую и физическую независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с конкретной базой. Логическая независимость устанавливается между 1 и 2 уровнями, а физическая между 2 и 3. Именно этого не хватало при использовании файловых систем. В соответствии с трехуровневой архитектурой существует три различных типа схем базы данных. На самом высоком уровне имеется несколько внешних схем данных, которые соответствуют разным представлениям пользователей.На концептуальном уровне описываются все элементы и связи между ними. Для каждой базы данных имеется только одна концептуальная схема. Внутренняя схема является полным описанием данных внутреннего уровня и содержит определение хранимых записей: методы представления, описание полей данных, сведения об индексах и схемах хеширования данных. СУБД отвечает за установление соответствия между этими тремя типами схем, а также за проверку их непротиворечивости.

2. Язык sql в субд. Назначение, стандарты, достоинства

Использование реляционных баз данных возможно только при наличии эффективных средств управления ими. после публикаций статей, предлагающих реляционную модель данных, стали активно проводиться исследования по созданию языков управления реляционными данными. В результате этих исследований был предложен три языка: 1. SQL (Structured Query Language — структурированный язык запросов); 2. QBE (Query By Example — запрос по образцу); 3. QUEL (Query Language — язык запросов). Сейчас наибольшее распространение получил язык SQL, который является единственным языком реляционных баз данных, принятым в качестве стандарта ANSI (American National Standards Institute, американский институт национальных стандартов). Хотя SQL и называется языком запросов, помимо средств построения запросов, он включает в себя и все необходимые средства управления базами данных. Несмотря на то что язык был ориентирован главным образом на удобную и понятную англоязычным пользователям формулировку запросов к реляционной базе данных, он уже являлся полноценным языком реляционной базы данных, содержащим, помимо операторов формулирования запросов и манипулирования базой данных, средства: - для определения схемы базы данных и манипулирования ею; - для определения ограничений целостности и триггеров; - для создания представлений базы данных; - для определения структур физического уровня, поддерживающих эффективное выполнение запросов; - для авторизации доступа к отношениям и их полям; - для поддержания точек сохранения и откатов транзакций. Американский национальный институт стандартов (ANSI) принял язык SQL в качестве стандарта в 1986 году. С тех пор этот стандарт пересматривался два раза — в 1989 году были внесены некоторые незначительные изменения, а в 1992 году стандарт SQL был довольно существенно расширен и в настоящее время известен под названием ANSI SQL-92, или SQL/92. Типы команд SQL: - команды языка DDL (Data Definition Language, язык определения данных) используются для создания и изменения структуры объектов базы данных (например, для создания и удаления таблиц); - команды языка DML (Data Manipulation Language, язык манипулирования данными) служат для манипулирования информацией, содержащейся в объектах базы данных; - команды языка DCL (Data Control Language, язык управления данными) предназначены для управления доступом к информации, хранящейся в базе данных; - команды языка DQL (Data Query Language, язык запросов к данным), используемые наиболее часто, предназначены для формирования запросов к базе данных (запрос — это обращение к базе данных для получения соответствующей информации);- команды администрирования базы данных предназначены для контроля за выполняемыми действиями и анализа производимых операций; - команды управления транзакциями. SQL — инструмент, предназначенный для обработки и чтения данных, содержащихся в компьютерной базе данных. SQL — это сокращенное название структурированного языка запросов (Structured Query Language). Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле SQL работает только с базами данных одного определенного типа, называемых реляционными. Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название — структурированный язык запросов. Однако это название не совсем соответствует действительности. Во-первых, сегодня SQL представляет собой нечто гораздо большее, чем простой инструмент создания запросов, хотя именно для этого он и был первоначально предназначен. Несмотря на то, что чтение данных по-прежнему остается одной из наиболее важных функций SQL, сейчас этот язык используется для реализации всех функциональных возможностей, которые СУБД предоставляет пользователю, а именно: 1. Интерактивный язык запросов. Пользователи вводят команды SQL в интерактивные программы, предназначенные для чтения данных и отображения их на экране. Это удобный способ выполнения специальных запросов. 2. Язык программирования БД. Чтобы получить доступ к базе данных, программисты вставляют в свои программы команды SQL. Эта методика используется как в программах, написанных пользователями, так и в служебных программах баз данных (таких, как генераторы отчетов и инструменты ввода данных). 3. Язык администрирования БД. Администратор базы данных, находящейся на миникомпьютере или на большой ЭВМ, использует SQL для определения структуры базы данных и управления доступом к данным. 4. Язык создания приложений клиент/сервер и программа дли персональных компьютеров. SQL используется для организации связи через локальную сеть с сервером базы данных, в которой хранятся совместно используемые данные. В большинстве новых приложений используется архитектура клиент/сервер, которая позволяет свести к минимуму сетевой трафик и повысить быстродействие, как персональных компьютеров, так и серверов баз данных. 5. Язык распределенных БД. В системах управления распределенными базами данных SQL помогает распределять данные среди нескольких взаимодействующих вычислительных систем. Программное обеспечение каждой системы посредством использования SQL связывается с другими системами, посылая им запросы на доступ к данным. 6. Язык шлюзов БД. В вычислительных сетях с различными СУБД SQL часто используется в шлюзовой программе, которая позволяет СУБД одного типа связываться с СУБД другого типа. Таким образом, SQL превратился в полезный и мощный инструмент, обеспечивающий пользователям, программам и вычислительным системам доступ к информации, содержащейся в реляционных базах данных.Все языки манипулирования данными (ЯМД), созданные до появления реляционных баз данных, были ориентированы на операции с данными, представленными в виде логических записей файлов. Это требовало от пользователей детального знания организации хранения данных и достаточных усилий для указания не только того, какие данные нужны, но и того, где они размещены и как шаг за шагом, получить их. Язык SQL ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений этого языка состоит в том, что они ориентированы в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных. SQL — это легкий для понимания язык с небольшим количеством операторов (около 30) и в то же время универсальное программное средство управления данными. Операторы SQL выглядят как обычные английские предложения, что упрощает их изучение и понимание. Частично это обусловлено тем, что операторы SQL описывают данные, которые необходимо получить, а не определяют способ их поиска. Таблицы и столбцы в реляционной базе данных могут иметь длинные описательные имена. В результате большинство операторов SQL означают именно то, что точно соответствует их именам, поэтому их можно читать как простые, понятные предложения. SQL может использоваться как интерактивный (для выполнения запросов) и как встроенный (для построения прикладных программ). В нем существуют: - предложения определения данных (определение баз данных, а также определение и уничтожение таблиц и индексов); - запросы на выбор данных (предложение SELECT) - предложения модификации данных (добавление, удаление и изменение данных);- предложения управления данными (предоставление и отмена привилегий на доступ к данным, управление транзакциями и другие). Кроме того, он предоставляет возможность выполнять в этих предложениях: - арифметические вычисления (включая разнообразные функциональные преобразования), обработку текстовых строк и выполнение операций сравнения значений арифметических выражений и текстов; - упорядочение строк и (или) столбцов при выводе содержимого таблиц на печать или экран дисплея; - создание представлений (виртуальных таблиц), позволяющих пользователям иметь свой взгляд на данные без увеличения их объема в базе данных; - запоминание выводимого по запросу содержимого таблицы, нескольких таблиц или представления в другой таблице (реляционная операция присваивания); - агрегирование данных: группирование данных и применение к этим группам таких операций, как среднее, сумма, максимум, минимум, число элементов и т.п. Официальный стандарт языка SQL является совместной разработкой Американским институтом национальных стандартов (American National Standards Institute — ANSI) и Международной организацией по стандартам (International Standards Organization - ISO). Достоинства SQL SQL — современное, универсальное программное средство управления данными. Популярность языка SQL обеспечили следующие преимущества: 1. Независимость от конкретных СУБД: - ведущие поставщики СУБД используют SQL, и ни одна новая СУБД, не поддерживающая SQL, не может рассчитывать на такой успех, которого достигли MS SQL, Oracle, MySQL, SyBase и Firebird; - реляционную базу данных и программы, которые с ней работают, в большинстве случаев можно перенести с одной СУБД на другую с минимальными доработками и переподготовкой персонала. Причем чем больше SQL конкретной СУБД соответствует стандарту, тем проще сделать переход на другую СУБД; - программные средства, входящие в состав СУБД для персональных компьютеров, такие, как программы для создания запросов, генераторы отчетов и генераторы приложений, работают с реляционными базами данных многих типов. 2. Переносимость с одной вычислительной системы па другую: - SQL используется в СУБД, предназначенных для различных вычислительных систем: от персональных компьютеров и рабочих станций до локальных сетей, мини-компьютеров и больших ЭВМ;- однопользовательские приложения на основе SQL могут быть перенесены в более крупные системы;- информация из корпоративных реляционных баз данных может быть загружена в базы данных отдельных подразделений или в личные базы данных;- приложения для реляционных баз данных можно вначале смоделировать на экономичных персональных компьютерах, а затем перенести на дорогие многопользовательские системы.3. Наличие стандартов. Официальный стандарт языка SQL был опубликован Американским институтом национальных стандартов (American National Standards Institute — ANSI) и Международной организацией по стандартам (International Standards Organization — ISO) в 1986 году.Затем в 1992 году он был расширен до стандарта SQL:92(SQL2).В 1999 году появился стандарт SQL:99 (известный также как SQL3). В конце 2003 году был принят и опубликован новый вариант международного стандарта SQL:2003.Эти стандарты служат как бы официальной печатью, одобряющей SQL, и они ускорили завоевание им рынка.4. Реляционная основа:- SQL является языком реляционных баз данных, поэтому он стал популярным тогда, когда популярной стала реляционная модель представления данных;- табличная структура реляционной базы данных интуитивно понятна пользователям, поэтому язык SQL является достаточно простым и легким для изучения;- реляционная модель имеет солидный теоретический фундамент, на котором были основаны эволюция и реализация реляционных баз данных.На волне популярности, вызванной успехом реляционной модели, SQL стал единственным языком для реляционных баз данных.5. Высокоуровневая структура, напоминающая английский язык. SQL-запросы выглядят как обычные английские предложения, что упрощает их изучение и понимание.6. Возможность различного представления данных.С помощью SQL создатель базы может сделать так, что различные пользователи базы данных будут видеть различные представления её структуры и содержимого. Следовательно, представления можно использовать для усиления защиты базы данных и ее настройки под конкретные требования отдельных пользователей.

7. Полноценность как языка, предназначенного для работы с базами данных.- создание базы данных;- управление ее защитой; - изменение ее содержимого;- чтение данных;- совместное использование данных несколькими пользователями, работающими параллельно.Приемы, освоенные при изучении одного раздела языка, могут затем применяться в других командах,что повышает производительность работы пользователей.8. Возможность динамического определения данных.С помощью SQL можно динамически изменять и расширять структуру базы данных даже в то время, когда пользователи обращаются к ее содержимому. Это большое преимущество перед языками статического определения данных, которые запрещают доступ к базе данных во время изменения ее структуры.Таким образом, SQL обеспечивает максимальную гибкость, так как дает базе данных возможность адаптироваться к изменяющимся требованиям, не прерывая работу приложения, выполняющегося в реальном масштабе времени. 9. Поддержка архитектуры «клиент-сервер». SQL играет ключевую роль в технологии «клиент-сервер». «Клиент-сервер» — это модель взаимодействия компьютеров (сервера и клиента) в компьютерной сети. Сервер — это собственно СУБД. Он поддерживает все основные функции СУБД: - определение данных; - их обработку;- защиту; - целостность и т.д. Клиенты — это различные приложения, выполняемые "над" СУБД. Они могут быть написанными пользователями или встроенными, т.е. предоставляемыми вместе с СУБД или сторонними поставщиками ПО. Архитектура «клиент-сервер» позволяет существенно снизить сетевой трафик и повысить быстродействие, как персональных компьютеров, так и серверов баз данных. SQL — естественное средство для реализации приложений «клиент-сервер». В этой роли SQL служит связующим звеном между клиентской системой, взаимодействующей с пользователем, и серверной системой, управляющей базой данных, позволяя каждой системе сосредоточиться на выполнении своих функций. Кроме того, SQL позволяет персональным компьютерам функционировать в качестве клиентов по отношению к сетевым серверам или более крупным базам данных, установленным на больших ЭВМ; это позволяет получать доступ к корпоративным данным из приложений, работающих на персональных компьютерах. Все перечисленные факторы явились причиной того, что SQL стал стандартным инструментом для управления данными на персональных компьютерах, мини-компьютерах и больших ЭВМ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]