Сделай Сам Свою Работу на 5

Распределение обязанностей в системах с базами данных. Типология пользователей систем с базами данных. Администрирование базы данных.





Ответ: Среди пользователей можно выделить три различные группы: 1) администраторы данных и баз данных, 2) прикладные программисты 3) конечные пользователи.

Администраторы данных и администраторы баз данных. Обычно управление данными предусматривает управление и контроль за СУБД и помещенными в нее данными. Администратор данных, или АД (Data Administrator - DA), отвечает за управление данными, включая планирование базы данных, разработку и сопровождение стандартов, правил использования данных, а также за концептуальное и логическое проектирование базы данных. При этом концептуальное проектирование базы данных выполняется независимо от таких деталей ее воплощения, как конкретная целевая СУБД, приложения, языки программирования или любые другие физические характеристики. Логическое же проектирование проводится с учетом особенностей выбранной модели данных: реляционной, сетевой, иерархической или объектно-ориентированной. АД консультирует и дает свои рекомендации руководству высшего звена, контролируя соответствие общего направления развития базы данных установленным корпоративным целям. администратор базы данных, или АБД (Database Administrator - DBA), отвечает за физическую реализацию базы данных, включая физическое проектирование и воплощение проекта, за обеспечение безопасности и целостности данных, за сопровождение операционной системы, а также за обеспечение максимальной производительности приложений. По сравнению с АД, обязанности АБД носят более технический характер, он должен быть профессиональным специалистом в области информационных технологий.



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



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


7)Модель «Сущность-связь». Типы сущностей, атрибутов. Ключи. Связи. Атрибуты связей. Степень связи

Ответ: Концептуальная модель данных (не зависит от конкретной СУБД или аппаратной платформы), служит для семантического моделирования данных – формализованного выражения пользовательского восприятия данных. Достаточно просто могут преобразовываться как к реляционной, так и к объектно-реляционной форме. Основные концепции: 1) Типы сущностей; 2) Типы связей; 3) Атрибуты. Тип сущностей – объект или концепция, которые характеризуются как имеющие независимое существование. Могут быть как физическими, там и абстрактными (например, тип “Employee” и тип “LengthOfService”). Сущность – уникально идентифицируемый экземпляр типа сущности.



Слабые (зависимые от других типов) и сильные (независимые) типы сущности. Атрибут – свойство типа сущности или типа связи. Домен атрибута – область его возможных значений. Простые и составные атрибуты. Однозначные (атомарные) и многозначные атрибуты (например, несколько телефонов отдела компании). Производные атрибуты – атрибуты, значение которых определяется значением других атрибутов некоторого типа сущности. Потенциальные ключи. Потенциальным ключом отношения R называется подмножество атрибутов К, которое обладает следующими свойствами: 1) уникальность, т.е. в отношении не может быть двух различных кортежей с одинаковым значением К. 2) не избыточность, т.е. никакое подмножество в К не обладает свойством уникальности. Любое отношение имеет по крайней мере один потенциальный ключ. Если никакой атрибут или группа атрибутов не является потенциальным ключом, то в силу уникальности кортежей все атрибуты вместе образуют потенциальный ключ. Потенциальный ключ, который состоит из одного атрибута называется простым, из нескольких — сложным. Отношение может включать несколько потенциальных ключей. Один из них объявляется первичным, остальные — альтернативные (в DB2 — Candidat), но различия между ними нет. Понятие потенциального ключа отражает смысл некоторого объекта из предметной области. Тип связи – осмысленная ассоциация между сущностями.

Связь – ассоциация между сущностями, включающая по одной сущности из каждого участвующего в связи типа сущности. Связь между слабой и сильной сущностями существует всегда и выражает зависимость слабой сущности от сильной. Степень связи – количество сущностей, охваченных данной связью. Бинарные, тернарные, кватернарные связи. Рекурсивные связи – связи, где одни и те же сущности участвуют несколько раз и в разных ролях. Унарные связи. Ролевые имена связей – используются для указания ролей сущностей в данной связи. Связи могут иметь атрибуты, так же, как и сущности. Ограничения, которые могут накладываться на связь: 1) Кардинальность – количество возможных связей для каждой из сущностей-участниц (One-To-One, One-To-Many, Many-To-Many). 2) Степень участия – определяет, зависит ли существование некой сущности от участия в связи некой другой сущности. Полная и частичная степени. 3) Полная степень участия – сущность не может существовать, не будучи связана с некой другой сущностью определённой связью. Пример – ученик должен быть приписан к определённой группе. 4)

Частичная – не полная. Пример – работник может быть приписан к некоторому отделу, но это не обязательно (торговые агенты, пр.) Допускается более гибкое ограничение кардинальности связи (Min:Max), где Min >= 0, Max <= * - бесконечность


8) Проблемы ER-моделирования (ловушка разветвления, ловушка разрыва, ловушка соединения). Суперклассы и подклассы, наследование атрибутов, специализация, генерализация, категоризация

Ответ: Ловушки разветвления – Модель отображает связь между типами сущностей, но путь между отдельными сущностями определён неоднозначно. Появляется, когда несколько связей One-To-Many выходят из одной сущности. Ловушки разрыва – предполагается наличие связи между типами сущностей, но пути между отдельными сущностями не существует. Пример – наличие связи с частичным участием.


10) Иерархическая модель данных. Связь иерархической модели с концептуальной моделью данных. Преобразование отношений

Ответ: Связь иерархической с концептуальной. Правила: 1) каждая сущность концептуальной модели вместе с атрибутами становится логическим сегментом. 2) тип записи может принадлежать одному родителю (иерархическая), в концептуальной – нескольким. Организация данных в СУБД иерархического типа определяется в терминах: элемент, агрегат, запись (группа), групповое отношение, база данных. Атрибут (элемент данных) - наименьшая единица структуры данных. Обычно каждому элементу при описании базы данных присваивается уникальное имя. По этому имени к нему обращаются при обработке. Элемент данных также часто называют полем. Запись - именованная совокупность атрибутов. Использование записей позволяет за одно обращение к базе получить некоторую логически связанную совокупность данных. Именно записи изменяются, добавляются и удаляются. Тип записи определяется составом ее атрибутов. Экземпляр записи - конкретная запись с конкретным значением элементов

Групповое отношение - иерархическое отношение между записями двух типов. Родительская запись (владелец группового отношения) называется исходной записью, а дочерние записи (члены группового отношения) - подчиненными. Иерархическая база данных может хранить только такие древовидные структуры. Корневая запись каждого дерева обязательно должна содержать ключ с уникальным значением. Ключи некорневых записей должны иметь уникальное значение только в рамках группового отношения. Каждая запись идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех записей от корневой по иерархическому пути. При графическом изображении групповые отношения изображают дугами ориентированного графа, а типы записей - вершинами (диаграмма Бахмана). Для групповых отношений в иерархической модели обеспечивается автоматический режим включения и фиксированное членство. Это означает, что для запоминания любой некорневой записи в БД должна существовать ее родительская запись (подробнее о режимах включения и исключения записей сказано в параграфе о сетевой модели). При удалении родительской записи автоматически удаляются все подчиненные. Недостатки иерархических БД:

Частично дублируется информация между записями (такие записи называют парными), причем в иерархической модели данных не предусмотрена поддержка соответствия между парными записями. Иерархическая модель реализует отношение между исходной и дочерней записью по схеме 1:N, то есть одной родительской записи может соответствовать любое число дочерних. Операции над данными, определенные в иерархической модели: ДОБАВИТЬ в базу данных новую запись. Для корневой записи обязательно формирование значения ключа. ИЗМЕНИТЬ значение данных предварительно извлеченной записи. Ключевые данные не должны подвергаться изменениям. УДАЛИТЬ некоторую запись и все подчиненные ей записи. ИЗВЛЕЧЬ:

1) извлечь корневую запись по ключевому значению, допускается также последовательный просмотр корневых записей 2) извлечь следующую запись (следующая запись извлекается в порядке левостороннего обхода дерева). В операции ИЗВЛЕЧЬ допускается задание условий выборки. Как видим, все операции изменения применяются только к одной "текущей" записи (которая предварительно извлечена из базы данных). Ограничения целостности. Поддерживается только целостность связей между владельцами и членами группового отношения (никакой потомок не может существовать без предка). Как уже отмечалось, не обеспечивается автоматическое поддержание соответствия парных записей, входящих в разлные иерархии.


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

Ответ: Реляционная модель данных состоит из трех частей: 1) структурная; 2) целостная; 3) манипуляционная. Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения. Целостная часть описывает ограничения специального вида, которые выполняются для любых отношений в любых реляционных БД. Эта часть подразделяется на 2 подчасти: 1) целостность сущностей; 2) целостность внешних ключей. Под сущностью здесь понимается некий объект, который описывается несколькими связными таблицами. Целостность сущностей поддерживается при помощи процедур, которые отслеживают различные изменения в таблицах.

Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными: 1) реляционную алгебру; 2) реляционное исчисление. Типы данных: Реляционная модель требует, чтобы типы используемых данных были простыми. Выделяют три группы таких данных: 1) простые; 2) структурированные; 3) ссылочные.

Простые (атомарные) типы данных — это данные, которые не обладают внутренней структурой. Данные такого типа называют скалярными и относят к ним логический, строковый и численный типы данных. Структурированные типы данных предназначены для задания сложных структур данных. Они конструируются из составляющих элементов, которые в свою очередь так же могут обладать структурой. К примеру, массивы, записи. Массив — это функция с конечной областью определения (с математической точки зрения): А = {1, 2, . . . , n} F : A ® R. Отображение F задает одномерный вещественный массив. Запись — кортеж из некоторого декартового произведения множеств:

  t1 t2 . . . tn
ri r1 r2 . . . rn
rj     . . .  

R = {r1, r2, . . . , rn}

T1 x T2 x …x Tn

r1 Î T1

r2 Î T2

Общим для всех структурированных типов данных является то, что они имеют внутреннюю структуру, используемую на том же уровне абстракции, что и сами типы данных. При работе с массивами или записями можно манипулировать массивом или записью как единым целым, так же можно работать и поэлементно. Ссылочный тип данных предназначен для обеспечения возможности указания на другие данные. Типы данных, используемые в реляционной модели: Требование, чтобы тип данных был простым, нужно понимать так, что в реляционных операциях не должна учитываться внутренняя структура данных. В реляционной модели данных с понятием данных связано понятие домена, которое считается уточнением типа данных. Домен — это подмножество значений некоторого типа данных, имеющих определенный смысл. Домен характеризуется следующими свойствами: 1) имеет уникальное имя в пределах БД. 2) определен на некотором простом типе данных или на другом домене; 3) может иметь логическое условие, позволяющее описать подмножество данных, допустимых для данного домена; 4) несет определенную смысловую нагрузку. В таблице домен – это столбец. В терминах отношения домен – это подмножество некоторого множества атрибутов данного отношения. Может быть несколько доменов совпадающих как подмножество, но несущих разную смысловую нагрузку. Отношения, атрибуты, кортежи отношений. Атрибут отношения— есть пара вида: <имя_атрибута : имя_домена> Имя атрибута — название колонки. Имя доменавесь столбец. Имена атрибутов должны быть уникальны в пределах отношения.Отношение R, определенное на множестве доменов D1, D2, . . . ,Dn, содержит две части: заголовок (или схему отношения) и тело отношения. Схема отношения содержит фиксированное количество атрибутов (<A1 : D1>, <A2 : D2>, . . . ,<An : Dn>). Тело отношения содержит множество кортежей отношения. Каждый кортеж представляет собой множество пар вида: <Имя атрибута : Значение атрибута>. В общем виде тело отношения представляет собой таблицу:

(< A1 : Val11 >, < A2 : Val21 >, . . . , < An : Valn1 >)

(<A1 : Val12 >, < A2 : Val12 >, . . . , < An : Valn2 >)

. . .

(< A1 : Val1m >, < A2 : Val2m >, . . . , < An : Valnm >)

Число атрибутов отношения называется степенью, или арностью, отношения. Мощность множества кортежей — есть мощность отношения.Заголовок отношения описывает декартово произведение доменов, на котором задано отношение, а тело отношения — есть подмножество этого декартового произведения (набор кортежей). Реляционная БД — набор отношений. Схема реляционной БД — это набор заголовков отношений, входящих в БД. Таблица соответствия терминов:

Термин теории множеств Термин реляционной СУБД
БД Набор таблиц
Схема БД Набор заголовков таблиц
Отношение Таблица
Схема отношения Заголовок таблицы
Тело отношения Тело таблицы
Атрибут отношения Имя столбца таблицы
Кортеж отношения Строка таблицы
Степень отношения Количество столбцов таблицы
Мощность отношения Количество строк таблицы
Домены и типы данных Столбцы и типы данных В ячейках таблицы

Различия между отношениями и таблицами: 1)В отношении нет одинаковых кортежей. Таблицы в отличие от отношений могут содержать одинаковые строки. 2) Кортежи в отношении не упорядочены. В таблице же строки упорядочены (в порядке следования сверху вниз). 3) Атрибуты отношения не упорядочены, в таблице колонки упорядочены в определенной последовательности. 4) Все значения атрибутов отношения атомарны, в ячейку таблицы можно поместить структуру и т.п. Таким образом не каждую таблицу можно представить в виде отношения, но каждое отношение является классом эквивалентности таблиц, для которых выполняются условия: 1) Таблицы имеют одинаковое количество столбцов; 2) Таблицы содержат столбцы с одинаковыми именами; 3) Столбцы с одинаковыми именами содержат данные из одинаковых доменов; 4) Таблицы имеют одинаковые строки с учетом того, что порядок столбцов может быть различен.


12) Реляционная алгебра. Замкнутость реляционной алгебры. Отношения, совместимые по типу.

Ответ: Реляционные алгебры представляют собой наборы операторов, использующих отношения в качестве аргументов, и возвращающих отношения в качестве результатов. R = f (R1 (r11, r12, …, r1n ), R2(r21, r22, …, r2n)). Реляционные алгебры являются замкнутыми, т.к. в качестве аргументов в реляционные операторы можно подставлять другие реляционные операторы: R = f (f1 (R11, R12 ), f2 (R21, R22 )). Каждое отношение имеет уникальное имя в пределах БД. Имя отношения, полученного в результате выполнения реляционной операции, определяется в левой части равенства. Но результирующее отношение может и не иметь имени. Существуют 8 реляционных операторов, которые объединяются в 2 группы: 1) теоретико-множественные операторы: а) объединение б) пересечение в) разность г) декартово произведение; 2) специальные реляционные операторы: а) выборка б) проекция в) соединение г) деление. Операторы второй группы выражаются через операторы первой группы. Для использования этих операторов существует понятие «совместимость отношений». Будем называть отношения совместимыми по типу,если: 1) для любого атрибута в одном отношении найдется атрибут с таким же наименованием в другом отношении; 2) атрибуты с одинаковыми именами определены на одних и тех же доменах (совпадает тип значений столбцов).


13) Теоретико-множественные операторы: объединение, пересечение, разность, декартово произведение. Специальные реляционные операторы: выборка, проекция, соединение, деление. Типы соединений. Зависимые реляционные операторы

1. Ответ: Теоретико-множественные операторы: а) объединение б) пересечение в) разность г) декартово произведение. Объединениемдвух совместимых по типу отношений A и B называется отношение с тем же заголовком, что и отношения А и В и телом, состоящим из кортежей, принадлежащих или А, или В, или обоим отношениям. A UNION B Замечание: Объединение, как и любое отношение, не может содержать одинаковых кортежей. Поэтому, если некоторый кортеж входит и в А, и в В, то в объединение он входит только один раз.

А В

NO Фамилия ЗП
Иванов
Петров
Сидоров
NO Фамилия ЗП
Иванов
Пушников
Сидоров

 


Объединение А и В

NO Фамилия ЗП
Иванов
Петров
Сидоров
Пушников
Сидоров

Пересечение: A INTERSECT B. Пересечением двух совместимых по типу отношений А и В является отношение с тем же заголовком, что и отношения А и В, и телом, состоящим из кортежей принадлежащих одновременно обоим отношениям.

NO Фамилия ЗП
Иванов

2. Вычитание: A MINUS B.

Вычитание В из А:

NO Фамилия ЗП
Петров
Сидоров

Вычитанием двух совместимых по типу отношений А и В является отношение с тем же заголовком, что и отношения А и В и телом, состоящим из кортежей, принадлежащих отношению А и не принадлежащих отношению В. Декартово произведение:

A TIMES B. Декартовым произведением двух отношений А (А1, А2, … , Аn) и В (В1, В2, … , Вm) называется отношение, заголовок которого является сцеплением заголовков отношений А и В (А1, А2, …, Аn, В1, В2, …, Вm), а тело состоит из кортежей, являющихся сцеплением кортежей отношения А и В:

(а1, а2, …, аn, b1, b2, …, bm)

(а1, а2, …, аn)ÎA

(b1, b2, …, bm)ÎB

Мощность декартова произведения равна произведению мощностей отношений А и В. Специальные реляционные операторы: а) выборка б) проекция в) соединение г) деление. Выборка: Выборкой на отношении А с некоторым условием С называется отношение с тем же заголовком, что и отношение А и телом, состоящим из кортежей, значения атрибутов которых при подстановке в условие С дают значение ИСТИННО.

«С» представляет собой логическое выражение, в которое могут входить атрибуты отношения А и/или скалярное выражение. В простейшем случае С имеет вид: X q Y, где q — один из операторов сравнения (=, ¹, >, <, ³, £), X, Y — атрибуты отношения А или скалярное выражение. A WHERE C, A WHERE X q Y. Пример: Отношение А WHERE ЗП >= 300; Проекцияотношения А по атрибутам X, Y, Z, где каждый из атрибутов принадлежит отношению А — это отношение с заголовком X, Y, Z и телом, содержащим множество кортежей вида x, y, z, таких, для которых в отношении А найдутся кортежи с атрибутом X=x, Y=y, Z=z. Операция проекция дает вертикальный срез отношения, в котором удалены все возникшие при таком срезе дубликаты кортежей.

A[X, Y, Z]. Соединение: Эта операция делится на 4 типа: 1) Общая операция соединения; 2) q - соединение; 3) экви-соединение; 4) естественное соединение. Общая операция соединения отношения А и В по условию С — это отношение вида: (A TIMES B) WHERE C, где С представляет собой логическое выражение, в которое могут входить атрибуты А и В и/или скалярное выражение. Все остальные операции соединения являются частными случаями. Деление: Пусть даны отношения А и В: А(X1, X2, …, Xn, Y1, Y2, …, Ym)

В(Y1, Y2, …, Ym). Делением отношения А на отношение В называется отношение с заголовком (X1, X2, …, Xn) и телом, содержащим множество кортежей

<x1, x2, …, xn> таких, что для всех кортежей <y1, y2, …, ym>ÎB существует кортеж <x1, x2, …, xn, y1, y2, …, ym> ÎА. Отношение а называется делимым, отношение В — делителем. Зависимые реляционные операторы. Не все операторы реляционной алгебры являются независимыми. Некоторые из них можно выразить через другие реляционные операторы. 1) Оператор соединения определяется через операторы выборка и декартово произведение. Оператор естественного соединения — через выборку, декартово произведение и проекцию. 2) Пересечение выражается через вычитание следуующим образом: A INTERSECT B = A MINUS (A MINUS B) 3) Деление выражается через вычитание, декартово произведение и проекцию:

A DEVIDED BY B = A [X] MINUS ((A[X] TIMES B ) MINUS A)[X]


14) Запросы, невыразимые средствами реляционной алгебры: плохая нормализация, транзитивное замыкание, кросс-таблицы

Ответ: Существует ряд типов запросов, которые принципиально нельзя выразить операторами реляционной алгебры. Это не значит, что на них нельзя получить ответ, надо писать процедуры. Типы таких запросов: 1) Невыразимость транзитивного замыкания. Например, рассмотрим отношение, описывающее сотрудника некоторой организации. Оно содержит такие атрибуты, как номер сотрудника, его фамилия, должность и номер руководителя. Запрос: перечислить всех руководителей (прямых и не прямых) данного сотрудника. Этот запрос является примером транзитивного замыкания. Его нельзя выразить при помощи операторов реляционной алгебры. 2) Плохая нормализация отношений.3) Кросс-таблицы

Товар Месяц Кол-во
PC Jan
Print Jan
Scan Jan
PC Feb
Print Feb
Scan Feb
Комплектующие Jan Feb Dec
SB
Video

 

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

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.