Файл: Базы Данных Теор. Экзамен.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.08.2021

Просмотров: 1272

Скачиваний: 11

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Примерный перечень вопросов и типовых заданий для промежуточного контроля по учебной дисциплине «Базы данных»

Тема 1. Введение, основные понятия определения. Этапы развития баз данных. Принципы организации современных БД и СУБД

Тема 2. Реляционная модель данных, реляционная алгебра

Тема 4. Операторы манипулирования данными языке SQL

Тема 5. Проектирование баз данных

Тема 6. Многопользовательский режим работы с БД. Модели «клиент-сервер» в системах баз данных. Архитектура серверов баз данных

Тема 7. Транзакции, оперативная обработка транзакций (OLTP)

Тема 8. Встроенный SQL. Понятие курсора

Тема 9. Хранимые процедуры как базовый компонент серверной части информационных систем

Тема10. Триггеры как механизм поддержки семантической целостности в БД

Тема 11. Физические модели баз данных

11.2.1. Стратегия разрешения коллизий с областью переполнения

11.2.2. Организация стратегии свободного замещения

Моделирование отношения 1:М с использованием однонаправленных указателей

Основной файл F1

Структура подчиненного файла:

Алгоритм нахождения нужных записей подчиненного файла

Типовые задания

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



  1. Что такое язык SGML, какие другие языки с ним связаны, какое отношение имеет этот язык к БД?


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

 
Рис. 1.10. Классификация моделей данных

 

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

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

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

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

Модели, основанные на языках разметки документов, связаны прежде всего со стандартным общим языком разметки SGML (Standart Generalised Markup Language), который был утвержден ISO в качестве стандарта еще в 80-х гг. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тегов (ссылок), их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования тегов осуществляется при помощи специального набора правил, называемых DTD-описаниями, которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но ввиду некоторой своей сложности SGML использовался в основном для описания синтаксиса других языков (наиболее известным из которых является HTML), и немногие приложения работали с SGML-документами напрямую.


Гораздо более простой и удобный, чем SGML, язык HTML позволяет определять оформление элементов документа и имеет некий ограниченный набор инструкций — тегов, при помощи которых осуществляется процесс разметки. Инструкции HTML в первую очередь предназначены для управления процессом вывода содержимого документа на экран программы-клиента и определяют этим самым способ представления документа, но не его структуру. В качестве элемента гипертекстовой базы данных, описываемой HTML, используется текстовый файл, который может легко передаваться по сети с использованием протокола HTTP. Эта особенность, а также то, что HTML является открытым стандартом и огромное количество пользователей имеет возможность применять этот язык для оформления своих документов, безусловно, повлияли на рост популярности HTML и сделали его сегодня главным механизмом представления информации в Интернете.

Однако HTML сегодня уже не удовлетворяет в полной мере требованиям, предъявляемым современными разработчиками к языкам подобного рода. И ему на смену был предложен новый язык гипертекстовой разметки, мощный, гибкий и одновременно удобный язык XML. В чем же заключаются его достоинства?

XML (Extensible Markup Language) — это язык разметки, описывающий целый класс объектов данных, называемых XML-документами. Он используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов, т. е. сам по себе XML не содержит никаких тегов, предназначенных для разметки, он просто определяет порядок их создания.

Тезаурусные модели основаны на принципе организации словарей, содержат определенные языковые конструкции и принципы их взаимодействия в заданной грамматике. Эти модели эффективно используются в системах-переводчиках, особенно многоязыковых переводчиках. Принцип хранения информации в этих системах и подчиняется тезаурусным моделям.

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


  1. Опишите этапы жизненного цикла БД и пользователей, которые работают на каждом этапе.



Как любой программно-организационно-техничекий комплекс банк данных существует во времени и пространстве и проходит определенные стадии в своем развитии (рис. 1.11):

  • проектирование;

  • реализация;

  • эксплуатация;

  • модернизация и развитие;

  • полная реорганизация.

На каждом этапе своего существования с банком данных связаны разные категории пользователей. Так, на этапе проектирования работают разработчики, на этапе реализации к разработчикам может подключаться администратор БД, на этапе эксплуатации кроме администратора с БД работают уже и конечные пользователи. Этапы, связанные с модернизацией и развитием, требуют наряду с администратором БД подключения администраторов отдельных приложений. Однако следует отметить, что на всех этапах главным остается администратор БД. Под администратором БД понимают группу лиц, ответственных за бесперебойное функционирование БД, корректное восстановление после сбоев, поддержку требуемой функциональности и скорости обработки информации.

 

 
Рис. 1.11. Этапы жизненного цикла БД



  1. Опишите процесс прохождения запроса к БД.


Схема прохождения запроса в БД показана на рис. 1.12.

 
Рис. 1.12. Схема прохождения запроса в БД

 

Указанная процедура осуществляется в следующей последовательности.

  • Пользователь посылает СУБД запрос на получение данных из БД. 

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

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

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

  • СУБД получает информацию о запрошенной части концептуальной модели.

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

  • В СУБД возвращается информация о местоположении данных в терминах операционной системы.

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

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

  • Операционная система оповещает СУБД об окончании пересылки информации в системный буфер.

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

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


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



Тема 2. Реляционная модель данных, реляционная алгебра

  1. Дайте математическое определение понятию отношения.


n-арным отношением R называют произвольное подмножество декартова произведения D1 x D2 x ... x Dn множеств D1 x D2 x ... x Dn (n≥1). При этом D1 x D2 x ... x Dn называют доменами, а элемент отношения — кортежем. С математической точки зрения отношение может быть бесконечным множеством, однако в реляционных моделях его предполагают конечным.

Домены Di и Dj, которые служат основой для задания одного отношения, могут быть одним и тем же множеством. Чтобы различать эти множества Di, им присваиваются имена и называют их именами атрибутов или просто атрибутами. Количество атрибутов в отношении называется степенью или арностью отношения.



  1. Какова графическая интерпретация отношения?


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



  1. Что такое степень отношения?


Количество атрибутов в отношении называется степенью или арностью отношения. Отношения со степенью 2 и 3 имеют специальные названия: бинарные и тернарные соответственно. Все остальные отношения просто характеризуются как «отношение R1 степени 5». Например, наше отношение R имеет степень 3, поэтому может быть названо тернарным отношением.

Таблица, которая соответствует отношению, имеет ряд особенностей:

  1. В таблице не может быть двух одинаковых строк.

  2. Таблица имеет столбцы, соответствующие атрибутам отношения.

  3. Каждый атрибут в отношении имеет уникальное имя.

  4. Порядок строк в таблице произвольный.

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



  1. Чем отличается понятие степень и арность отношения?

Ничем

  1. Что такое кортеж в отношении?

n-арным отношением R называют произвольное подмножество декартова произведения D1 x D2 x ... x Dn множеств D1 x D2 x ... x Dn (n≥1). При этом D1 x D2 x ... x Dn называют доменами, а элемент отношения — кортежем. С математической точки зрения отношение может быть бесконечным множеством, однако в реляционных моделях его предполагают конечным.


  1. Сколько может быть кортежей в отношении?

Мы уже отметили, что каждое отношение имеет только различные кортежи. Это свойство означает, что в отношении обязательно присутствует некоторый набор атрибутов, однозначно определяющий кортеж отношения. В крайнем случае это будет полный набор атрибутов. А в общем случае это может быть и один какой-то атрибут. Этот набор атрибутов называется возможным ключом отношения. У нас в отношении R1 таким набором является атрибут «Фамилия». Если мы рассмотрим отношение, которое моделирует сессию, при этом будем считать, что студент может делать несколько попыток сдачи экзаменов, и при этом фиксируется каждая произведенная попытка, то структура отношения Session будет иметь следующий вид (рис. 2.4).



  1. Что такое атрибут отношения?


Количество атрибутов в отношении называется степенью или арностью отношения. Отношения со степенью 2 и 3 имеют специальные названия: бинарные и тернарные соответственно. Все остальные отношения просто характеризуются как «отношение R1 степени 5». Например, наше отношение R имеет степень 3, поэтому может быть названо тернарным отношением.


  1. Как называются отношения, имеющие 2 атрибута?-бинарное

  2. Какие атрибуты называются Θ-сравнимыми?


Атрибуты, которые принимают значения из одного и того же домена, называются Θ-сравнимыми. Здесь Θ — одна из допустимых операций сравнения Θ = {=, <>,>=,<=,<,>}. Если мы имеем дело с символьными данными, то мы можем использовать только операции «равно», «не равно» в качестве операций сравнения. Однако если в домене, который содержит, например, список фамилий, допустимо лексико-графическое упорядочение, то тогда мы можем использовать полный спектр операций сравнения.

Два отношения R1 и R2 называются отношениями с эквивалентными схемами тогда и только тогда, когда они имеют одинаковую степень (арность) и существует такая перестановка атрибутов в схеме отношения R2, что на одинаковых местах в схемах отношений будут стоять Θ-сравнимые атрибуты.

  1. Как называется отношение, состоящее из одного столбца?

  2. Дайте определение родительского и подчиненного отношения.

  3. Дайте определение возможного ключа отношения.


Мы уже отметили, что каждое отношение имеет только различные кортежи. Это свойство означает, что в отношении обязательно присутствует некоторый набор атрибутов, однозначно определяющий кортеж отношения. В крайнем случае это будет полный набор атрибутов. А в общем случае это может быть и один какой-то атрибут. Этот набор атрибутов называется возможным ключом отношения. У нас в отношении R1 таким набором является атрибут «Фамилия». Если мы рассмотрим отношение, которое моделирует сессию, при этом будем считать, что студент может делать несколько попыток сдачи экзаменов, и при этом фиксируется каждая произведенная попытка, то структура отношения Session будет иметь следующий вид (рис. 2.4).


  1. Дайте определение первичного ключа отношения.


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


  1. Дайте определение внешнего ключа отношения.


В каждой связи одно отношение может выступать как основное, а другое отношение — в роли подчиненного. Это означает, что один кортеж основного отношения может быть связан с несколькими кортежами подчиненного отношения. Для поддержки этих связей оба отношения должны содержать наборы атрибутов, по которым они связаны. В основном отношении это первичный ключ отношения (PRIMARY KEY), который однозначно определяет кортеж основного отношения. В подчиненном отношении для моделирования связи должен присутствовать набор атрибутов, соответствующий первичному ключу основного отношения. Однако здесь этот набор атрибутов уже является вторичным ключом, т. е. он определяет множество кортежей подчиненного отношения, которые связаны с единственным кортежем основного отношения. Данный набор атрибутов в подчиненном отношении принято называть внешним ключом (FOREIGN KEY).