ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.11.2023
Просмотров: 186
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
48 чено для любых двух множеств, и элементами результирующего множества являются пары, составленные из элементов первого и второго множеств. По- скольку отношения являются множествами, то и для любых двух отношений возможно получение прямого произведения. Но результат не будет отноше- нием. Элементами результата будут являться не кортежи, а пары кортежей.
В реляционной алгебре используется специализированная форма опе-
рации взятия прямого произведения – расширенное прямое произведе-
ние отношений. При взятии расширенного прямого произведения двух
отношений элементом результирующего отношения является кор-
теж, являющийся конкатенацией (или слиянием) одного кортежа
первого отношения и одного кортежа второго отношения.
Если отношения-операнды обладают одноименными атрибутами, то проблемой может быть именование атрибутов результирующего отношения.
Эти соображения приводят к появлению понятия совместимости по взятию расширенного прямого произведения.
Два отношения совместимы по взятию прямого произведения в том и
только в том случае, если множества имен атрибутов этих отноше-
ний не пересекаются. Любые два отношения могут быть сделаны со-
вместимыми по взятию прямого произведения путем применения опе-
рации переименования к одному из этих отношений.
Следует заметить, что операция взятия прямого произведения не явля- ется слишком осмысленной на практике. Во-первых, мощность ее результата очень велика даже при допустимых мощностях операндов, а во-вторых, ре- зультат операции не более информативен, чем взятые в совокупности опе- ранды.
Специальные реляционные операции
Рассмотрим специальные реляционные операции реляционной алгеб- ры: ограничение, проекция, соединение и деление.
Операция ограничения
Операция ограничения требует наличия двух операндов: отношения и простого условия ограничения. Простое условие ограничения может иметь вид (a comp-op b) или (a comp-op const), где а и b – имена атрибутов исходно- го отношения, для которых осмысленна операция сравнения, const–
литерально заданная константа, а comp-op – допустимая в данном контексте операция сравнения.
Результатом ограничения отношения по некоторому условию является отношение, заголовок которого совпадает с заголовком отношения-операнда, а в тело входят те кортежи отношения-операнда, для которых значением ус- ловия ограничения является true. Пример, иллюстрирующий выполнение операции ограничения, приведен на рис. 27.
49
Рисунок 27 – Операция ограничения
Операция взятия проекции
Операция взятия проекции также требует наличия двух операндов – проецируемого отношения A и списка имен атрибутов, входящих в заголовок отношения A.
Результатом проекции отношения A по списку атрибутов a
1
, a
2
, ...,
a
n
является отношение с заголовком, определяемым множеством атрибутов
a
1
, a
2
, ..., a
n
, и с телом, состоящим из кортежей вида
1
:v
1
,a
2
:v
2
, ...,
a
n
:v
n
>таких, что в отношении A имеется кортеж, атрибутa
1
которого имеет значение v
1
, атрибут a
2
имеет значение v
2
, ..., атрибут a
n
имеет значение v
n
Пример, иллюстрирующий выполнение операции взятия проекции, приведен на рис. 28.
Рисунок 28 – Операция взятия проекции
Операция соединения отношений
Общая операция соединения (называемая также соединением по усло- вию) требует наличия двух операндов – соединяемых отношений и третьего операнда – простого условия. Пусть соединяются отношения A и B.Как и в случае операции ограничения, условие соединения comp имеет вид либо (a
comp-op b), либо (a comp-op const), где a и b – имена атрибутов отношений A и B, const – литерально заданная константа, а comp-op – допустимая в данном контексте операция сравнения.
Тогда по определению результатом операции сравнения является от- ношение, получаемое путем выполнения операции ограничения по условию
comp прямого произведения отношений A и B.
Имеется важный частный случай соединения – эквисоединение и про-
50 стое, но важное расширение операции эквисоединения – естественное соеди- нение.
Операция соединения называется операцией эквисоединения, если ус-
ловие соединения имеет вид (a = b), где a и b – атрибуты разных опе-
рандов соединения.
Этот случай важен потому, что, во-первых, он часто встречается на практике, и, во-вторых, для него существуют эффективные алгоритмы реали- зации. Пример, иллюстрирующий выполнение операции соединения (экви- соединения), приведен на рис. 29.
Рисунок 29 – Операция соединения отношений
Операция естественного соединения применяется к паре отношений
AиB,обладающих(возможно составным)общим атрибутомc (т.е. атрибутом с одним и тем же именем и определенным на одном и том же домене). Пусть ab обозначает объединение заголовков отношений A и B. Тогда естественное со- единение A и B – это спроектированный на ab результат эквисоединения A и B.
Если вспомнить введенное определение внешнего ключа отношения, то должно стать понятно, что основной смысл операции естественного соедине- ния – возможность восстановления сложной сущности, декомпозированной по причине требования третьей нормальной формы.
Операция деления отношений
Эта операция наименее очевидна из всех операций реляционной алгеб- ры и поэтому нуждается в более подробном объяснении. Пусть заданы два отношения – A с заголовком {a
1
, a
2
, ..., a
n
, b
1
, b
2
, ..., b
m
} и B с заголовком {b
1
,
b
2
, ..., b
m
}. Считается, что атрибут b
i
отношения A и атрибут отношения B не только обладают одним и тем же именем, но и определены на одном и том же домене. Назовем множество атрибутов {a
j
} составным атрибутом a, а множе- ство атрибутов {b
j
} – составным атрибутом b. После этого можно говорить о реляционном делении бинарного отношения A(a,b) на унарное отношение
B(b).
51
Результатом деления A на B является унарное отношение C(a), состоя- щее из кортежей v таких, что в отношении A имеются кортежи
5.3 Элементы реляционного исчисления
Реляционное исчисление полностью базируется на исчислении логики предикатов, использующей специальный язык, называемый языком логики предикатов.
Алфавит языка логики предикатов составляют следующие символы: a) p, q, r, s, … – пропозициональные переменные (символы для пред- ложений, выражающих суждения); b) a, b, c, d, … – индивидные константы (символы для элементарных имен объектов); c) x, y, z, … – индивидные переменные; d) P
k
, Q
k
, R
k
, S
k
, … –k-местные предикаторные символы (этими сим- волами заменяются общие имена отношений); e)
¬
,
∧
,
∨
,
⊃
, ≡–логические операции отрицания, конъюнкции, дизъ-
юнкции, импликации и эквивалентности; f)
∀
,
∃
– кванторы общности и существования.
Выражения языка логики предикатов называются формулами. Среди формул выделяют правильно построенные формулы(ППФ).
Определение ППФ:
1) пропозициональная переменная является ППФ;
2) если t
1
, t
2
, …, t
k
– термы, а А
k
– k-местный предикатор, то A
k
(t
1
,t
2
, …,
t
k
) – ППФ. При этом термом является либо индивидная константа, либо индивидная переменная;
3) если A, B, C – ППФ, а x – индивидная переменная, то
¬
A,
(B
∧
C), (B
∨
C), (A
⊃
B), (A≡B),
∀
xA,
∃
xA – ППФ;
4) ничто иное не является ППФ.
В общем случае ППФ языка логики предикатов соответствуют предло- жениям естественного языка, выражающим суждения. Например, предложе- ние «Некоторые науки являются гуманитарными» можно перевести на язык логики предикатов следующим образом:
∃
xP
1
(x), т. е. существует x такой, что
x есть P
1
. В эту формулу входит индивидная переменная x. С переменной связывается область, из которой она принимает значения (область значений переменной). В данном случае областью значений переменной является множество наук. Если изменить область значений переменной, например, считать этой областью множество любых объектов, то указанное предложе- ние может быть выражено другой формулой:
∃
x(S
1
(x)
∧
P
1
(x)), т. е. существует
x такой, что x есть S
1
и x есть P
1
, где S
1
– символ общего имени. Смысл по- следней формулы заключается в том, что существует такой объект, который
52 является наукой и который является гуманитарным.
Предположим, что имеются отношения, обладающие схемами:
СТУДЕНТ (Номер зачетной книжки, Номер группы, Фамилия, Имя,
Отчество, Дата рождения, Коммерческий) и ГРУППА (Номер группы, Номер факультета, Номер специальности, Курс), и требуется узнать имена, номера факультетов и зачетных книжек студентов, обучающихся в группах с номе- ром больше 1000.
Если бы для формулировки такого запроса использовалась реляцион- ная алгебра, то было бы получено алгебраическое выражение, которое чита- лось бы, например, следующим образом:
- выполнить соединение отношений СТУДЕНТ и ГРУППА по условию
СТУДЕНТ.Номер группы = ГРУППА.Номер группы;
- ограничить полученное отношение по условию Номер группы > 1000;
- спроецировать результат предыдущей операции на атрибуты Имя, Номер зачетной книжки, Номер факультета.
В данном случае четко сформулирована последовательность шагов вы- полнения запроса, каждый из которых соответствует одной реляционной операции. Если же сформулировать тот же запрос с использованием реляци- онного исчисления, то будет получена формула, которую можно было бы прочитать, например, следующим образом: Выдать Имя, Номер зачетной книжки, Номер факультета для студентов из тех групп, номера которых су- ществуют и имеют значение больше 1000.
В этой формулировке указаны лишь характеристики результирующего отношения, но ничего не сказано о способе его формирования. В этом случае система должна сама решить, какие операции и в каком порядке нужно вы- полнить над отношениями СТУДЕНТ и ГРУППА.
1 2 3 4 5 6 7 8 9 ... 12
6 СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ MS ACCESS
6.1 Общая характеристика СУБД MS Access
СУБД Microsoft Access является системой управления реляционной ба- зой данных, включающей все необходимые инструментальные средства для создания локальной базы данных, общей базы данных в локальной сети с файловым сервером или базы данных на SQL-сервере, а также для создания приложения пользователя, работающего с этими базами данных. База данных
Access, создаваемая на локальном компьютере, хранит в файле не только все таблицы с данными, но и объекты приложения — формы, отчеты, а также программный код. Благодаря этому можно создать приложение, целиком хранящееся в одном accdb-файле, что существенно упрощает как создание, так и распространение приложений баз данных.
53
6.2 Инструментальные средства СУБД Access
СУБД Access включают разнообразные и многочисленные инструмен- тальные средства, ориентированные на создание объектов базы данных и приложений пользователя.
Средства графического конструирования позволяют создавать объек- ты базы данных и объекты приложения с помощью многочисленных графи- ческих элементов, не прибегая к программированию.
Разнообразные мастера в режиме ведения диалога с пользователем по- зволяют создавать объекты и выполнять разнообразные функции по реорга- низации и преобразованию баз данных.
Среди многочисленных средств графического конструирования и диа- логовых средств Access следует выделить средства для создания:
таблиц и схем баз данных, отображающих их связи;
запросов выборки, отбирающих и объединяющих данные несколь- ких таблиц в виртуальную таблицу, которая может использоваться во многих задачах приложения;
запросов на изменение данных базы;
экранных форм, предназначенных для ввода, просмотра и обработ- ки данных в диалоговом режиме;
отчетов, предназначенных для просмотра и вывода на печать дан- ных из базы и результатов их обработки в удобном для пользователя виде.
Средства программирования СУБД включают язык структурирован- ных запросов SQL, язык макрокоманд и язык объектно-ориентированного программирования для приложений Microsoft Visual Basic for Applications
(VBA). VBA является частью семейства Microsoft Visual Basic, которое вхо- дит в состав Visual Studio.
VBA является базовым компонентом Microsoft Office: он интегрирован в Access, Excel, FrontPage, Outlook, PowerPoint и Word. Все эти приложения, в том числе и локализованные на русском языке, используют англоязычный вариант VBA (включая справочную систему). VBA входит во все варианты поставок Microsoft Office.
VBA представляет собой базовую платформу программирования не только в среде Microsoft Office, но и многих других приложений.VBA содер- жит средства доступа не только к базам данных Access, но и к базам данных клиент-серверной архитектуры, таким как Microsoft SQL Server, Oracle и др.
6.3 Система доступа к данным
Система доступа к данным, начиная с Access 2007, построена на осно- ве ядра базы данных Access Database Engine, заменившего прежнюю версию ядра Microsoft Jet 4.0. Ядро базы данных выполняет загрузку, сохранение и