Информационное обеспечение базы данных

Автор работы: Пользователь скрыл имя, 06 Ноября 2013 в 13:13, контрольная работа

Краткое описание

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

Содержание

1. Что такое реляционная модель?……………………………………………………3
1.1. Что такое главный (первичный) ключ?....................................................................3
1.2. Что такое внешний ключ?..........................................................................................4
1.3. Что такое ссылочная целостность?...........................................................................5
1.4. Что такое целостность объекта?.........................................................................................6
1.5. Что такое SQL?...........................................................................................................6
2. Что такое СУБД (примеры)? ………………………………………………………9
3. Что такое распределенная база данных РБД (определение)?...............................11
4. Литература………………………………………………………………………….12

Прикрепленные файлы: 1 файл

Титул ИО БД (восстановлен).docx

— 48.14 Кб (Скачать документ)

Основным объектом хранения реляционной  базы данных является таблица, поэтому  все SQL-запросы — это операции над таблицами. В соответствии с этим, запросы делятся на:

  • запросы, оперирующие самими таблицами (создание и изменение таблиц);
  • запросы, оперирующие с отдельными записями (или строками таблиц) или наборами записей.

Каждая таблица описывается  в виде перечисления своих полей (столбцов таблицы) с указанием

  • типа хранимых в каждом поле значений;
  • связей между таблицами (задание первичных и вторичных ключей);
  • информации, необходимой для построения индексов.

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

  • вставка новой строки;
  • изменение значений полей строки или набора строк;
  • удаление строки или набора строк.

Самый главный вид запроса — это запрос, возвращающий (пользователю) некоторый набор строк, с которым можно осуществить одну из трёх операций:

  • просмотреть полученный набор;
  • изменить все записи набора;
  • удалить все записи набора.

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

Язык SQL представляет собой совокупность

  • операторов;
  • инструкций;
  • и вычисляемых функций.

Согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL всегда следует писать прописными буквами.[4]

Операторы SQL делятся на:

  • операторы определения данных (Data Definition Language, DDL)
    • CREATE создает объект БД (саму базу, таблицу, представление, пользователя и т. д.)
    • ALTER изменяет объект
    • DROP удаляет объект
  • операторы манипуляции данными (Data Manipulation Language, DML)
    • SELECT считывает данные, удовлетворяющие заданным условиям
    • INSERT добавляет новые данные
    • UPDATE изменяет существующие данные
    • DELETE удаляет данные
  • операторы определения доступа к данным (Data Control Language, DCL)
    • GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом
    • REVOKE отзывает ранее выданные разрешения
    • DENY задает запрет, имеющий приоритет над разрешением
  • операторы управления транзакциями (Transaction Control Language, TCL)
    • COMMIT применяет транзакцию.
    • ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.
    • SAVEPOINT делит транзакцию на более мелкие участки.

Независимость от конкретной СУБД

Несмотря  на наличие диалектов и различий в синтаксисе, в большинстве своём  тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально ориентировались на применение по меньшей  мере нескольких СУБД (например: система  электронного документооборота Documentum может работать как с Oracle, так и с Microsoft SQL Server и DB2). Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.

Наличие стандартов 

Наличие стандартов и набора тестов для выявления  совместимости и соответствия конкретной реализации SQL общепринятому стандарту  только способствует «стабилизации» языка. Правда, стоит обратить внимание, что  сам по себе стандарт местами чересчур формализован и раздут в размерах (например, Core-часть стандарта SQL:2003 представляет собой более 1300 страниц  текста). [1] [2]

Декларативность 

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

 

Несоответствие реляционной модели данных 

Создатели реляционной  модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности, они указывают на следующие проблемы SQL[4]:

  • Повторяющиеся строки
  • Неопределённые значения (nulls)
  • Явное указание порядка колонок слева направо
  • Колонки без имени и дублирующиеся имена колонок
  • Отсутствие поддержки свойства «=»
  • Использование указателей
  • Высокая избыточность

В опубликованном Кристофером Дейтом и Хью Дарвеном Третьем манифесте[8] они излагают принципы СУБД следующего поколения и предлагают язык Tutorial D, который является подлинно реляционным.

Сложность 

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

Отступления от стандартов 

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

Сложность работы с иерархическими структурами 

Ранее диалекты SQL большинства СУБД не предлагали способа  манипуляции древовидными структурами. Некоторые поставщики СУБД предлагали свои решения (например, Oracle использует выражение CONNECT BY). В настоящее время в ANSI стандартизована рекурсивная конструкция WITH из диалекта SQL DB2. В MS SQL Server рекурсивные запросы появились лишь в версии MS SQL Server 2005.

Поскольку SQL не является привычным  процедурным языком программирования (то есть не предоставляет средств  для построения циклов, ветвлений  и т. д.), вводимые разными производителями расширения касались в первую очередь процедурных расширений. Это хранимые процедуры (stored procedures) и процедурные языки-«надстройки».

2. Что такое СУБД (примеры)?

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

Основные функции  – это:

  • управление данными во внешней памяти (на дисках);
  • управление данными в оперативной памяти с использованием дискового кэша;
  • журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
  • поддержка языков БД (язык определения данных, язык манипулирования данными).

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

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

Примеры:

  • Иерархические
  • Сетевые
  • Реляционные
  • Объектно-ориентированные
  • Объектно-реляционные

По степени  распределённости:

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

По способу  доступа к БД: Файл-серверные

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

На данный момент файл-серверная  технология считается устаревшей, а  её использование в крупных информационных системах — недостатком[2].

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

  • Клиент-серверные

Клиент-серверная СУБД располагается  на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном  режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной  СУБД централизованно. Недостаток клиент-серверных  СУБД состоит в повышенных требованиях  к серверу. Достоинства: потенциально более низкая загрузка локальной  сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая  безопасность.

Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

  • Встраиваемые

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

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР. [2]

 

  1. Что такое распределенная база данных РБД (определение)?

 РБД состоит из набора  узлов, связанных коммуникационной сетью, в которой:

  • каждый узел — это полноценная СУБД сама по себе;
  • узлы взаимодействуют между собой таким образом, что пользователь любого из них может получить доступ к любым данным в сети так, как будто они находятся на его собственном узле.

Каждый узел сам по себе является системой базы данных. Любой пользователь может выполнить операции над данными на своём локальном узле точно так же, как если бы этот узел вовсе не входил в распределённую систему. Распределённую систему баз данных можно рассматривать как партнёрство между отдельными локальными СУБД на отдельных локальных узлах. [3]

 

 

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

 

4.Литература

    1. Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: «Вильямс», 2012. — 1328 с. — ISBN 0-321-19784-4
    2. Томас Коннолли, Каролин Бегг Базы данных. Проектирование, реализация и сопровождение. Теория и практика = Database Systems: A Practical Approach to Design, Implementation, and Management Third Edition. — 3-е изд. — М.: «Вильямс», 2009. — С. 1436. — ISBN 0-201-70857-4
    3. Кузнецов С. Д. Основы баз данных. — 2-е изд. — М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. — 484 с. — ISBN 978-5-94774-736-2
    4. Когаловский М.Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2010. — С. 800. — ISBN 5-279-02276-4

 

Уфа 2013


Информация о работе Информационное обеспечение базы данных