Базы данных. История. Управление

Содержание

Слайд 3

Информационные системы. История

Вычисления
Системы управления файлами
Информационные системы

Предпосылки появления баз данных:
необходимость хранить и обрабатывать

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

Слайд 4

Управление данными

0 : менеджеры записей (4000 г. до н. э. – 1900)
1

Управление данными 0 : менеджеры записей (4000 г. до н. э. –
: менеджеры записей (1900-1955) перфокарты
2 : программируемое оборудование обработки записей (1955-1970)
3 : оперативные сетевые базы данных (1965-1980)
4 : реляционные базы данных и архитектура клиент-сервер (1980-1995)
5: мультимедийные базы данных (1995-...)
6: NoSQL (2000-…)

Слайд 5

Базы данных: термины

Информация – сведения о каком-либо событии, объекте или процессе.
Данные –

Базы данных: термины Информация – сведения о каком-либо событии, объекте или процессе.
информация, представленная в определенном виде, позволяющем автоматизировать ее сбор, хранение и дальнейшую обработку. Для компьютерных технологий данные — в виде, удобном для хранения, обработки на ЭВМ, а также для передачи по каналам связи.
Управление данными – совокупность функций для требуемого представления данных, их накопления и хранения, обновления, удаления, поиска по заданному критерию и выдачи данных. [ГОСТ 20886-85]
База данных (БД) – поименованная совокупность взаимосвязанных структурированных данных, которая отражает состояние объектов и их отношений в рассматриваемой предметной области, причем они организованы так, чтобы обеспечить независимость данных от программ обработки.
Предметная область – информация о части реального мира, подлежащая изучению с целью организации управления и автоматизации.
Система управления базами данных (СУБД) – это совокупность программ и языковых средств, предназначенных для управления данными в базе данных, ведения базы данных и обеспечения взаимодействия её с прикладными программами [ГОСТ 20886-85].

Слайд 6

План лекций Раздел 1. Основы теории проектирования баз данных Раздел 2. Технологии создания и преобразования информационных

План лекций Раздел 1. Основы теории проектирования баз данных Раздел 2. Технологии
объектов Раздел 3. Организация баз данных Раздел 4. Управление базами данных в СУБД

Слайд 7

База данных: общее понятие

База данных:
хранилище информации
отражает объект реального мира
имитирует

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

Слайд 8

Модели баз данных: историческое развитие

Двумерный файл
Иерархическая модель
Сетевая модель
Реляционная

Модели баз данных: историческое развитие Двумерный файл Иерархическая модель Сетевая модель Реляционная модель Объектно-реляционная модель
модель
Объектно-реляционная модель

Слайд 9

База данных: пример

База данных школы №1:
Преподаватели: Иванов, Кузнецов
Ученики: Петров,

База данных: пример База данных школы №1: Преподаватели: Иванов, Кузнецов Ученики: Петров,
Сидоров, Федоров, Семенов, Алексеев
Обучение:
Петров, Сидоров, Федоров - преподаватель Иванов
Петров, Семенов, Алексеев - преподаватель Кузнецов

Слайд 10

Сетевая модель

База данных - файл
Записи логически организованы в виде

Сетевая модель База данных - файл Записи логически организованы в виде сети
сети
Произвольное отношение подчиненности: ветвь может иметь более одного корня

Слайд 11

Сетевая модель: пример

Школа №1

Ученик Сидоров

Преподаватель Иванов

Преподаватель Кузнецов

Ученик Петров

Ученик Семенов

Ученик Федоров

Ученик Алексеев

Сетевая модель: пример Школа №1 Ученик Сидоров Преподаватель Иванов Преподаватель Кузнецов Ученик

Слайд 12

Реляционная модель

Структура: данные хранятся в виде совокупности двумерных таблиц (отношений)
Целостность:

Реляционная модель Структура: данные хранятся в виде совокупности двумерных таблиц (отношений) Целостность:
Существуют ограничения - структуры для обеспечения непротиворечивости и целостности базы данных
Манипулирование: Существует набор операторов для воздействия на отношения (обновление содержимого отношений, создание новых отношений)

Слайд 13

База данных - файл; набор файлов; сервер
Таблица - основная структура

База данных - файл; набор файлов; сервер Таблица - основная структура хранения
хранения данных, состоит из строк и столбцов (количество столбцов - более одного, количество строк - не ограничено)
В столбце содержатся данные одного типа
Строки должны быть уникальными
Поле находится на пересечении строки и столбца, содержит данные

Реляционная модель: структура

Слайд 14

Реляционная модель: структура

Реляционная модель: структура

Слайд 15

Реляционная модель: целостность

Ограничения, направленные на обеспечение целостности:
Первичный ключ (Primary key) -

Реляционная модель: целостность Ограничения, направленные на обеспечение целостности: Первичный ключ (Primary key)
уникальный идентификатор каждой строки в таблице, предотвращает избыточность данных
Внешний ключ (Foreign key) - ссылка на первичный ключ в той же самой или другой таблице, обеспечивает непротиворечивость и целостность данных

Слайд 16

Реляционная модель: целостность

Реляционная модель: целостность

Слайд 17

Аппаратное и программное обеспечение баз данных

Компоненты организационного обеспечения БД:
Прикладные программисты
Конечный пользователь
Метаданные
Администратор
Аналитик

Аппаратное и программное обеспечение баз данных Компоненты организационного обеспечения БД: Прикладные программисты
данных
Аппаратное обеспечение БД:
- тома вторичной (внешней) памяти (обычно это магнитные диски), используемые для хранения информации, а также соответствующие устройства ввода-вывода (дисководы и т.д.), контроллеры устройств, каналы ввода-вывода и т.д.
- аппаратный процессор (или процессоры) вместе с основной (первичной) памятью, предназначенные для поддержки работы ПО системы БД.
Программное обеспечение БД
Между собственно физической БД (т.е. данными, которые реально хранятся) и пользователями системы располагается уровень ПО, который носит название СУБД (система управления базами данных) (database management system – DBMS). Основная задача СУБД – предоставить пользователю БД возможность работать с ней, не вникая в детали на уровни аппаратного обеспечения.

Слайд 24

Понятие систем управления базами данных (СУБД)

СУБД представляет собой ПО, которое управляет всем

Понятие систем управления базами данных (СУБД) СУБД представляет собой ПО, которое управляет
доступом к БД.
Концептуально это происходит так:
1. Пользователь выдает запрос на доступ к данным, предъявляя определенный подъязык данных (обычно это SQL).
2. СУБД перехватывает этот запрос и анализирует его.
3. СУБД выполняет необходимые операции в хранимой БД с учетом прав пользователя.
Систе́ма управле́ния ба́зами да́нных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

Слайд 26

СУБД включает в себя:
- процессор ЯОД (языка обработки данных), предназначенный для задания

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

Слайд 28

Архитектура взаимодействия приложений с базой данных.
3 типа архитектур:
файл-сервер, клиент-сервер, трехуровневая архитектура.
Файл-сервер

Архитектура взаимодействия приложений с базой данных. 3 типа архитектур: файл-сервер, клиент-сервер, трехуровневая архитектура. Файл-сервер

Слайд 29

Клиент-сервер (2-уровневый)

Клиент-сервер (2-уровневый)

Слайд 30

Трехуровневая архитектура

Трехуровневая архитектура

Слайд 31

Большинство систем будут выполнять следующие три основные задачи, соответствующие трем уровням n-уровневой

Большинство систем будут выполнять следующие три основные задачи, соответствующие трем уровням n-уровневой
модели:
1. Интерфейс пользователя и перемещение. Этот уровень заключает все возможности работы пользователя. Этот уровень не только обеспечивает графический интерфейс пользователя, позволяющий взаимодействовать с приложением, вводить данные и просматривать результаты запросов, но и управляет манипулированием и форматированием данных, полученных клиентом. В веб-приложениях задачи этого уровня выполняются веб-обозревателем.
2. Бизнес-логика. Уровень 2, между интерфейсом и уровнями служб данных — это «владения» разработчика распределенного приложения. Бизнес-логика, которая собирает правила, управляющие обработкой приложения, соединяет пользователя, представляющего одну сторону, с данными — другой стороной. Функции, которыми управляют правила, имитируют ежедневные деловые задачи и могут быть простой задачей или последовательностью задач.
3. Службы данных. Службы данных предоставляются структурированными (база данных SQL, Oracle) и неструктурированными хранилищами данных (Microsoft Exchange, Microsoft Message Queuing), которые управляют доступом и обеспечивают доступ к данным приложения. Одно приложение может привлекать службы одного или нескольких хранилищ данных.

Слайд 32

Спасибо за внимание!

Спасибо за внимание!

Слайд 33

Модели данных, поддерживаемые СУБД  Иерархическая, сетевая и реляционная модели данных. Отличительные особенности

Модели данных, поддерживаемые СУБД Иерархическая, сетевая и реляционная модели данных. Отличительные особенности
этих моделей данных

Прежде всего модели данных можно разделить на реляционные и нереляционные.
Нереляционные делятся, в свою очередь, на иерархические (hierarchic) и сетевые (network).
СУБД, базирующиеся на реляционной модели данных, стали сегодня преобладающими.
Иерархическая модель
Сетевая модель
Реляционная модель

Слайд 34

Иерархическая модель данных

Получая доступ к информации, содержащейся в БД, программа могла:
- найти

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

Пример иерархических СУБД – Information Management System (IMS) (1968). Достоинства:
- простота модели
- использование отношений предок/потомок
- быстродействие

Слайд 35

Сетевая модель данных

Стандарт сетевых баз данных – модель CODASYL. Пример СУБД –IDMS.
Прикладная

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

Сетевые БД обладали рядом преимуществ:
- гибкость
- стандартизация
- быстродействие
Недостатки – те же, что и у иерархических моделей. Они были «жесткими», т.е. наборы отношений и структуру записей приходилось задавать наперед. Изменение структуры БД означало перестройку БД.

Слайд 36

Модели данных

Инфологические
модели

Даталогические
модели

Физические
модели

Диаграммы
Бахмана

Модель
«СУЩНОСТЬ-СВЯЗЬ»
(ER-модель)

Основанные
на файловых
структурах

Основанные
на странично-
сегментной
организации

Документальные

Фактографические

Теоретико-
графовые

Дескрипторные

Тезаурусные

Ориентированные
на формат
документа

Теоретико-
множественные

Объектно-
ориентированные

Иерархическая

Сетевая

Реляционная

Бинарных
ассоциаций

Модели данных Инфологические модели Даталогические модели Физические модели Диаграммы Бахмана Модель «СУЩНОСТЬ-СВЯЗЬ»

Слайд 37

Модели данных

Инфологические
модели

Даталогические
модели

Физические
модели

Модель
«СУЩНОСТЬ-СВЯЗЬ»
(ER-модель)

Иерархическая

Сетевая

Реляционная

Объектно-
ориентированная

Инфологическое моде-
лирование связано со
2-м этапом проектиро-
вания БД: созданием
формализованного
описания

Модели данных Инфологические модели Даталогические модели Физические модели Модель «СУЩНОСТЬ-СВЯЗЬ» (ER-модель) Иерархическая
предметной
области

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

Физическое моделиро-
вание заключается в
выборе эффективного
размещения БД на
внешних носителях для
обеспечения наиболее
эффективной работы.

Слайд 38

Лектор Георгица И.В.

Лектор Георгица И.В.

Слайд 39

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

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

Слайд 40

Э.Ф. Кодд предложил схему представления данных в виде таблиц, называемых отношениями (relations),

Э.Ф. Кодд предложил схему представления данных в виде таблиц, называемых отношениями (relations),
и охарактеризовал требования к реляционным СУБД (Dr. E. F. Codd’s 12 rules for defining a fully relational database, 1985 г.):

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

Требования к реляционным СУБД

Слайд 41

поддержка обновляемых представлений (View Updating Rule).
Операции вставки, модификации и удаления данных должны

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

Требования к реляционным СУБД (по Кодду)

Слайд 42

Концепция реляционных баз данных Общая характеристика реляционной модели данных

Для реляционной модели данных характерны

Концепция реляционных баз данных Общая характеристика реляционной модели данных Для реляционной модели
3 признака:
1. Данные в базе воспринимаются пользователем как таблицы (и не как иначе)
2. Эти таблицы удовлетворяют определенным условиям целостности
3. В распоряжении пользователя имеются операторы манипулирования данными (например, выборки информации), которые генерируют новые таблицы на основании уже имеющихся и среди которых есть, по крайней мере, операторы выборки, проекции и объединения.

Слайд 44

Реляционная модель данных

Реляционная модель данных

Слайд 45

Отношение – информация об объектах одного типа. Отношение обычно хранится в виде

Отношение – информация об объектах одного типа. Отношение обычно хранится в виде
таблицы. Свойства таблиц.
Атрибут – определенная часть информации о некотором объекте. Атрибут обычно хранится в виде столбца или поля таблицы.
Связь – способ, которым связана информация в одной таблице с информацией в другой таблице. Типы связей
Объединение – процесс объединения таблиц или запросов на основе совпадающих значений определенных атрибутов.

Основные термины реляционной базы данных:

Слайд 46

- каждый элемент таблицы - один элемент данных;
- все записи в столбцах

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

Свойства реляционных таблиц

Слайд 47

Все объекты в реляционной базе данных связаны между собой.
Различают связи нескольких

Все объекты в реляционной базе данных связаны между собой. Различают связи нескольких
типов:
Один к одному (1:1)
Один ко многим (1:М)
Многие ко многим (М:М)

Реляционная база данных

любая запись в первой таблице может быть связана с несколькими записями во второй, но в то же время любая запись второй таблицы связана только с одной записью первой

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

многие записи одной таблицы соответствуют многим записям из другой таблицы

Слайд 48

Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым

Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым
полем).
Если записи однозначно определяются значениями нескольких полей, то такая таблица БД имеет составной ключ.
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (связь 1:1).

Понятие ключевого поля

Слайд 49

Система управления базами данных

Систе́ма управле́ния ба́зами да́нных (СУБД) — совокупность программных и лингвистических средств

Система управления базами данных Систе́ма управле́ния ба́зами да́нных (СУБД) — совокупность программных
общего или специального назначения, обеспечивающих управление созданием и использованием баз данных[1].
Основные функции СУБД:
управление данными во внешней памяти (на дисках);
управление данными в оперативной памяти с использованием дискового кэша. (Кэш или кеш — промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удаленного источника);
журнализация изменений(Журнализация изменений — функция СУБД, которая сохраняет информацию, необходимую для восстановления базы данных в предыдущее согласованное состояние в случае логических или физических отказов), резервное копирование и восстановление базы данных после сбоев;
поддержка языков БД (язык определения данных, язык манипулирования данными).

Слайд 50

Data Definition Language
Data Definition Language (DDL) (язык описания данных) — это семейство компьютерных языков,

Data Definition Language Data Definition Language (DDL) (язык описания данных) — это
используемых в компьютерных программах для описания структуры баз данных.
На текущий момент наиболее популярным языком DDL является SQL, используемый для получения и манипулирования данными в РСУБД, и сочетающий в себе элементы DDL, DML и DCL.
Функции языков DDL определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL это глаголы — «create» («создать»), «alter» («изменить»), «drop» («удалить»). Эти запросы или команды часто смешиваются с другими командами SQL, в связи с чем DDL не является отдельным компьютерным языком.
Запрос «create» используется для создания базы данных, таблицы, индекса, представления или хранимой процедуры. Запрос «alter» используется для изменения существующего объекта базы данных (таблицы, индекса, представления или хранимой процедуры) или самой базы данных. Запрос «drop» используется для удаления существующего объекта базы данных (таблицы, индекса, представления или хранимой процедуры) или самой базы данных. И наконец, в DDL существуют понятия первичного и внешнего ключа, которые осуществляют соблюдение целостности данных. Команды "первичный ключ" primary key, "внешний ключ" foreign key включаются в запросы «create table", «alter table».[1]
Языки DDL могут существенно различаться у различных производителей СУБД. Существует ряд стандартов SQL, установленный ISO/IEC (SQL-89,SQL-92, SQL:1999, SQL:2003, SQL:2008), но производители СУБД часто предлагают свои собственные «расширения» языка и, часто, не поддерживают стандарт полностью.

Слайд 51

Data Manipulation Language
Data Manipulation Language (DML) (язык управления (манипулирования) данными) — это семейство компьютерных

Data Manipulation Language Data Manipulation Language (DML) (язык управления (манипулирования) данными) —
языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных.
На текущий момент наиболее популярным языком DML является SQL, используемый для получения и манипулирования данными в РСУБД. Другие формы DML использованы в IMS/DL1, базах данных CODASYL (таких как IDMS), и других.
Языки DML изначально использовались только компьютерными программами, но с появлением SQL стали также использоваться и людьми.
Функции языков DML определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL эти глаголы — «select» («выбрать»), «insert» («вставить»), «update» («обновить»), и «delete» («удалить»). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.
Языки DML могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные «расширения» языка.
Языки DML разделяются в основном на два типа:
Procedural DMLs — описывают действия над данными.
Declarative DMLs — описывают сами данные.

Слайд 52

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

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

Слайд 53

Состав СУБД

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

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

Слайд 54

Основные компоненты СУБД и их состав

Компоненты СУБД

Данные

Аппаратное
обеспечение

Программное
обеспечение

Пользователи

Данные должны быть интегрированными и общими.
Интегрирование

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

Слайд 55

Компоненты СУБД

Данные

Аппаратное
обеспечение

Программное
обеспечение

Пользователи

Накопители для хранения информации (обычно диски с перемещаемыми головками) вместе с

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

Основные компоненты СУБД и их состав

Слайд 56

Компоненты СУБД

Данные

Аппаратное
обеспечение

Программное
обеспечение

Пользователи

Диспетчер базы данных (database manager),или система управления базами данных СУБД (database

Компоненты СУБД Данные Аппаратное обеспечение Программное обеспечение Пользователи Диспетчер базы данных (database
management system(DBMS)).
СУБД предоставляет пользователю возможность рассматривать БД как объект более высокого уровня по сравнению с аппаратным обеспечением, а также поддерживает выражаемые в терминах высокого уровня пользовательские запросы(SQL).
Кроме СУБД, в программном обеспечении – утилиты, средства разработки приложений, средства проектирования, генераторы отчетов и другие.

Основные компоненты СУБД и их состав

Слайд 57

Компоненты СУБД

Данные

Аппаратное
обеспечение

Программное
обеспечение

Пользователи

Работающие с базами данных пользователи обладают различными знаниями, навыками и сталкиваются

Компоненты СУБД Данные Аппаратное обеспечение Программное обеспечение Пользователи Работающие с базами данных
с решением различных задач:
- конечные пользователи;
- разработчики баз данных;
- разработчики приложений;
- администраторы баз данных.

Основные компоненты СУБД и их состав

Слайд 58

Базовыми внутренними языками программирования являются языки четвертого поколения. В качестве базовых языков

Базовыми внутренними языками программирования являются языки четвертого поколения. В качестве базовых языков
могут использоваться C, C++, Pascal, Object Pascal.
Исторически для системы управления базой данных сложились три языка:
1. Язык описания данных (ЯОД), называемый также языком описания схем, - для построения структуры ("шапки") таблиц БД;
2. Язык манипулирования данными (ЯМД) - для заполнения БД данными и операций обновления (запись, удаление, модификация);
3. Язык запросов - язык поиска наборов величин в файле в соответствии с заданной совокупностью критериев поиска и выдачи затребованных данных без изменения содержимого файлов и БД (язык преобразования критериев в систему команд).
В настоящее время функции всех трех языков выполняет язык SQL, относящийся к классу языков, базирующихся на исчислении кортежей (кортеж - единица информации), языки СУБД FoxPro, Visual Basic for Application (СУБД Access) и т.д.

Основные компоненты СУБД и их состав

Слайд 59

Структурные элементы БД

– элементарная единица логической организации данных, которая соответствует неделимой единице

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

Поле

Запись

Таблица (файл)

Слайд 60

В силу многогранности баз данных и СУБД (комплекса технических и программных средств,

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

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

Слайд 61

По степени универсальности различают два класса СУБД:
- системы общего назначения (СУБД ОН)

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

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

Классификация СУБД

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

Слайд 62

По технологии обработки

Централизованные
(хранятся в памяти одной вычислительной системы, возможен распределенный

По технологии обработки Централизованные (хранятся в памяти одной вычислительной системы, возможен распределенный
доступ к данным)

Распределенные
(состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети )

Классификация СУБД

Слайд 63

По способу доступа к данным

с локальным доступом

с удаленным (сетевым) доступом

По способу доступа к данным с локальным доступом с удаленным (сетевым) доступом

Архитектура файл-сервер

Передача файлов БД для обработки

Рабочие станции

хранение

обработка

Архитектура клиент-сервер

хранение и обработка

Транспортировка данных

Рабочие станции

Классификация СУБД

Слайд 64

Архитектура систем БД с сетевым доступом (файл-сервер) предполагает выделение одной из машин

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

Классификация СУБД

БД с сетевым доступом
(Файл-сервер)

Слайд 65

В архитектуре Клиент-сервер - помимо хранения централизованной БД центральная машина (сервер базы

В архитектуре Клиент-сервер - помимо хранения централизованной БД центральная машина (сервер базы
данных) должна обеспечивать выполнение основного объёма обработки данных.
Запрос на данные клиента, порождает поиск и извлечение данных на сервере. Извлечённые данные (но не файлы) транспортируются по сети от сервера к клиенту.

Классификация СУБД

БД с сетевым доступом
Клиент - сервер

Слайд 66

Microsoft Office Access или просто Microsoft Access — реляционная система управления базами данных (СУБД) корпорации Microsoft. Входит в

Microsoft Office Access или просто Microsoft Access — реляционная система управления базами
состав пакета Microsoft Office. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
В СУБД Microsoft Access используется стандартный для операционных систем многооконный интерфейс, но в отличие от других приложений, не многодокументный. Единовременно может быть открыта только одна база данных, содержащая обязательное окно базы данных и окна для работы с объектами базы данных. В каждый момент времени одно из окон является активным и в нем курсором отмечается активный объект.
Окно базы данных — один из главных элементов интерфейса СУБД. Здесь систематизированы все объекты базы данных: таблицы, запросы, формы, отчеты.

Слайд 67

Объект СУБД-это БД

Основные типы объектов СУБД Access.
Ассess предоставляет большой выбор способов хранения,

Объект СУБД-это БД Основные типы объектов СУБД Access. Ассess предоставляет большой выбор
отображения и предоставления данных. Компоненты, которые используются для хранения и представления данных, называются ОБЪЕКТАМИ.
В системе Access существуют
следующие объекты:
Таблицы, запросы, схемы данных,
непосредственно имеющие отношение к БД
2. Формы, отчеты, макросы и модули,
называемые объектами приложения

Слайд 68

Таблицы. Основным структурным компонентом базы данных является таблица.
Таблица – это объект,

Таблицы. Основным структурным компонентом базы данных является таблица. Таблица – это объект,
предназначенный для хранения данных в виде записей и полей.
Каждая таблица включает информацию об объекте реального мира. Таблица состоит из заголовка и тела.
Заголовок включает имена атрибутов объекта и их свойства.
Тело содержит кортежи, каждый из которых представляет множество значений столбцов, в которых хранятся данные о конкретном экземпляре объекта.
Для каждой таблицы можно определить первичный ключ, обеспечивающий уникальность каждой строки.
При разработке структуры таблицы, прежде всего, необходимо определить названия полей, из которых она должна состоять, типы полей и их размеры.
Каждому полю таблицы присваивается уникальное имя, которое не может содержать более 64 символов. Имя желательно делать таким, чтобы функция поля узнавалась по его имени.
Далее надо решить, данные какого типа будут содержаться в каждом поле.
В Access можно выбирать любые из основных типов данных. Один из этих типов данных должен быть присвоен каждому полю. Значение типа поля может быть задано только в режиме конструктора.

Слайд 70

Запросы.
Запросы являются мощным средством обработки данных, хранимых в таблицах Access. С помощью

Запросы. Запросы являются мощным средством обработки данных, хранимых в таблицах Access. С
запросов можно просматривать, анализировать и изменять данные из нескольких таблиц. Они также используются в качестве источника данных для форм и отчетов. Запросы позволяют вычислять итоговые значения и выводить их в компактном формате, подобном формату электронной таблицы, а также выполнять вычисления над группами записей.
Запросы можно создавать самостоятельно и с помощью мастеров. Мастера запросов автоматически выполняют основные действия в зависимости от ответов пользователя на поставленные вопросы. Самостоятельно разработать запросы можно в режиме конструктора.
В Access можно создавать следующие типы запросов:
запрос на выборку;
запрос с параметрами;
перекрестный запрос;
запрос на изменение (запрос на удаление, обновление и добавление записей на создание таблицы);
запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы)

Слайд 71

Формы.
Формы обеспечивают наиболее гибкий способ ввода, редактирования, просмотра и удаления данных и

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

Слайд 72

Отчеты.
Отчет – это гибкое и эффективное средство для организации просмотра и распечатки

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

Макросы и модули.
Макрос – это объект, представляющий собой структурированное описание одного или нескольких действий, которые могут выполняться в ответ на определенное событие. Например, можно определить макрос, который в ответ на выбор некоторого элемента в основной форме открывает другую форму. Можно из одного макроса запустить другой макрос и функцию модуля.
Модуль – это объект, содержащий программы на Microsoft Access Visual Basic, которые могут разрабатываться пользователем для реализации нестандартных процедур при создании приложения.

Слайд 73

Реляционная алгебра.
Теоретико-множественные операторы

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

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

Традиционно определяют восемь реляционных операторов, объединенных в две группы.
Теоретико-множественные операторы:
 Объединение
 Пересечение
 Вычитание
 Декартово произведение
Специальные реляционные операторы:
 Выборка
 Проекция
 Соединение
 Деление
Не все они являются независимыми, т.е. некоторые из этих операторов могут быть выражены через другие реляционные операторы.

Слайд 74

Отношения, совместимые по типу

Определение. Будем называть отношения совместимыми по типу, если

Отношения, совместимые по типу Определение. Будем называть отношения совместимыми по типу, если
они имеют идентичные заголовки, а именно:
отношения имеют одно и то же множество имен атрибутов, т.е. для любого атрибута в одном отношении найдется атрибут с таким же наименованием в другом отношении;
атрибуты с одинаковыми именами определены на одних и тех же доменах (или типах, если домены не поддерживаются).
Примечание: Некоторые отношения не являются совместимыми по типу, но после переименования атрибутов могут ими стать, для этого можно использовать вспомогательный оператор переименования атрибутов.

Слайд 75

Теоретико-множественные операторы

Объединением двух совместимых по типу отношений А и В называется

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

Слайд 76

Пусть даны два отношения А (таблица 6.1) и В (таблица 6.2) с

Пусть даны два отношения А (таблица 6.1) и В (таблица 6.2) с
информацией о сотрудниках:

В результате операции объединения (A  В) будет получено отношение C с тем же заголовком что и у отношений А и В (таблица 6.3):
Отношение С, не наследует первичного ключа. Поэтому, в объединении отношений А и В атрибут «Табельный номер» может содержать дубликаты значений. Наследование ключей противоречило бы понятию объединения как 26
«объединению множеств». Конечно, объединение отношений А и В имеет, как и любое отношение, потенциальный ключ, например, состоящий из всех атрибутов.

Слайд 77

Никакие реляционные операторы не передают результирующему отношению никаких данных о потенциальных ключах.

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

Слайд 78

Пересечением двух совместимых по типу отношений А и В называется отношение с

Пересечением двух совместимых по типу отношений А и В называется отношение с
тем же заголовком, что и у отношения А и В, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям.
Синтаксис операции пересечения: A INTERSECT B (A  В)
Для исходных отношений (таблицы 6.1 и 6.2) пересечение примет вид (таблица 6.4):

Вычитанием двух совместимых по типу отношений А и В называется отношение с тем же заголовком, что и у отношений А и В, и телом, состоящим из кортежей, принадлежащих отношению А и не принадлежащих отношению В.
Синтаксис операции вычитания: A MINUS B (A \ В)
Для исходных отношений (таблицы 6.1 и 6.2) результат вычитания примет вид (таблица 6.5):

Слайд 79

Декартовым произведением двух отношений А и В называется отношение С полученное сцеплением

Декартовым произведением двух отношений А и В называется отношение С полученное сцеплением
их заголовков и кортежей соответствующих отношений, причем каждому кортежу отношения А должны быть противопоставлены все кортежи отношения В
Синтаксис операции декартового произведения: A TIMES B (A  В)
Пусть даны два отношения с информацией о поставщиках А и деталях В.
Пример. Пусть даны два отношения А и В с информацией о поставщиках и деталях (таблицы 6.6 и 6.7). Тогда декартово произведение отношений А и В примет вид указанный в таблице 6.8.

Слайд 80

Замечания:
1. Мощность произведения A  B равна произведению мощностей отношений А

Замечания: 1. Мощность произведения A  B равна произведению мощностей отношений А
и В, т.к. каждый кортеж отношения А соединяется с каждым кортежем отношения В.
2. Если в отношениях А и В имеются атрибуты с одинаковыми именами, то перед выполнением операции такие атрибуты необходимо переименовать.
3. Перемножать можно любые два отношения, совместимость по типу при этом не требуется.
4. Декартово произведение не дает никакой новой информации, по сравнению с предыдущими операциями, однако она важна для выполнения специальных реляционных операций.

Слайд 82

Реляционная алгебра. Специальные реляционные операторы

С практической точки зрения, специальные реляционные операции

Реляционная алгебра. Специальные реляционные операторы С практической точки зрения, специальные реляционные операции
имеют большее практическое значение по сравнению с теоретико-множественными.

Выборкой (ограничением, селекцией или фильтрацией) на отношении А, с условием С называется отношение с тем же заголовком, что и у отношения А, и телом, состоящем из кортежей, значения атрибутов которых при подстановке в условие С дают значение ИСТИНА. С - логическое выражение, в которое могут входить атрибуты отношения А и (или) скалярные выражения.
В простейшем случае условие С имеет вид ХY, где  - один из операторов сравнения (, , , , ,  и т.д.), а Х и Y – атрибуты отношения А или скалярные значения. Такие выборки называются  - выборки (тэта-выборки) или  - селекция,  - ограничения.
Синтаксис операции выборки: А WHERE C, где С – условие выборки, или ХY.
Пусть дано отношение А с информацией о сотрудниках (таблица 6.1), необходимо выбрать всех сотрудников с зарплатой менее 3000, в этом случае выполняем выборку А WHERE Зарплата < 3000, результат выборки в таблице 7.1:

Смысл операции выборки очевиден - выбрать кортежи отношения, удовлетворяющие некоторому условию. Таким образом, операция выборки дает «горизонтальный срез» отношения по некоторому условию.

Слайд 83

Проекцией отношения А по атрибутам (X,Y,…,Z), где каждый из атрибутов принадлежит отношению

Проекцией отношения А по атрибутам (X,Y,…,Z), где каждый из атрибутов принадлежит отношению
А, называется отношение с заголовком (X,Y,…,Z) и телом, содержащим кортежи соответствующих атрибутов
Синтаксис проекции: А[X,Y,…,Z]
Для отношения А (таблица 6.1) результатом проекции А [Фамилия, Зарплата] таблица 7.2:

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

Слайд 84

Соединение. Операция соединения отношений, наряду с операциями выборки и проекции, является одной

Соединение. Операция соединения отношений, наряду с операциями выборки и проекции, является одной
из наиболее важных реляционных операций.
Обычно рассматривается несколько разновидностей операции соединения:
 общая операция соединения;
 -соединение (тэта-соединение);
 экви-соединение;
 естественное соединение.
Наиболее важным из этих частных случаев является операция естественного соединения. Все разновидности соединения являются частными случаями общей операции соединения.
Соединением отношений А и В по условию С называется отношение образованное последовательностью операций декартова произведения и выборки:
(A  B) WHERE C,
где С представляет собой логическое выражение, в которое могут входить атрибуты отношений А и В и (или) скалярные выражения.
Если в отношениях А и В имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать.

Слайд 85

Тэта – соединение. Пусть отношение А содержит атрибут Х, отношение В содержит

Тэта – соединение. Пусть отношение А содержит атрибут Х, отношение В содержит
атрибут Y, а  - один из операторов сравнения (, , , , ,  и т.д.). Тогда -соединением отношения А по атрибуту Х с отношением В по атрибуту Y называют отношение (A  B) WHERE XY
Это частный случай операции общего соединения. Иногда, для операции соединения применяют более короткий синтаксис A[XY]B.
Экви-соединение является наиболее важным частным случаем тэта-соединения, когда тэта является просто равенством и имеет следующий синтаксис: A[X=Y]B или (A  B) WHERE X=Y.
Пусть даны два отношения А и В. Отношение А (таблица 7.3) - данные о товарах, отношение В (таблица 7.4) - данные о продаже товаров. Необходимо определить, когда и в каком количестве отпускались товары со склада.

Слайд 87

Таблица 7.5 представляет собой декартово произведение двух отношений, в котором темным выделены

Таблица 7.5 представляет собой декартово произведение двух отношений, в котором темным выделены
кортежи, для которых не выполнится условие выборки А.Код товара = В.Код тов., следовательно, они будут вычеркнуты из окончательного результата (таблица 7.6).
Таблица 7.6 – Окончательный результат соединения (A  B) WHERE А.Код товара = В.Код тов.

Слайд 88

Естественное соединение
Пусть даны отношения А(А1, А2,…,Аn, Х1, Х2,…,Хр) и В(Х1, Х2,…,Хр,

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

Замечания:
В синтаксисе естественного соединения не указываются, по каким атрибутам производится соединение. Естественное соединение производится по всем одинаковым атрибутам.
Естественное соединение эквивалентно следующей последовательности реляционных операций:
1. Переименовать одинаковые атрибуты в отношениях
2. Выполнить декартово произведение отношений
3. Выполнить выборку по совпадающим значениям атрибутов, имевших одинаковые имена
4. Выполнить проекцию, удалив повторяющиеся атрибуты
5. Переименовать атрибуты, вернув им первоначальные имена
Можно выполнять последовательное естественное соединение нескольких отношений. Естественное соединение (как и соединение общего вида) обладает свойством ассоциативности, т.е. (A JOIN B) JOIN С = A JOIN (B JOIN С), поэтому его можно записать, опуская скобки A JOIN B JOIN С.

Применяя естественное соединение, результат, полученный в таблице 7.6, можно было получить операцией A JOIN B, но с одним условием, атрибут отношения В используемый для связи с отношением А должен иметь имя совпадающее с атрибутом связи отношения А (т.е. Код товара).

Слайд 89

Деление. Пусть даны отношения А(Х1,Х2,…,Хn,Y1,Y2,…,Ym) и B(Y1,Y2,…,Ym), причем атрибуты (Y1,Y2,…,Ym) - общие

Деление. Пусть даны отношения А(Х1,Х2,…,Хn,Y1,Y2,…,Ym) и B(Y1,Y2,…,Ym), причем атрибуты (Y1,Y2,…,Ym) - общие
для двух отношений. Делением отношений А на В называется отношение с заголовком (Х1,Х2,…,Хn) и телом, содержащим множество кортежей (х1,х2,…,хn), только таких, для которых найдутся все кортежи (y1,y2,…,ym)В, в отношении А.
Синтаксис операции деления: А DEVIDBY В (А : В)
Замечание. Типичные запросы, реализуемые с помощью операции деления, обычно в своей формулировке имеют слово «все» - «какие поставщики поставляют все детали?».
Таблицы 6.6 и 6.7 нуждаются в логическом дополнении, т.е. нужна таблица, связывающая поставляемые товары и поставщиков (по их кодам). Введем такую таблицу и на ее примере рассмотрим операцию деления.

Требуется узнать, какой поставщик поставляет все детали. Отношение Х возьмем в качестве делимого, а проекцию таблицы 7 «детали» - Y=B[Номер детали] (таблица 7.8):

Слайд 90

Деление Х DEVIDBY Y дает список номеров поставщиков, поставляющих все детали (таблица

Деление Х DEVIDBY Y дает список номеров поставщиков, поставляющих все детали (таблица 7.9):
7.9):

Слайд 91

Задания для самостоятельной работы
Даны отношения, моделирующие работу банка (таблица 7.10) и

Задания для самостоятельной работы Даны отношения, моделирующие работу банка (таблица 7.10) и
его филиалов (таблица 7.11).
Клиент может иметь несколько счетов, при этом они могут быть размещены как в одном, так и в разных филиалах банка. В отношении R1 (таблица 7.10) содержится информация обо всех клиентах и их счетах в филиалах нашего банка. Каждый клиент, в соответствии со своим счетом, может рассчитывать на некоторый кредит от нашего банка, сумма допустимого кредита также зафиксирована.

С использованием языка реляционной алгебры составить запросы, позволяющие выбрать:
1. Филиалы, клиенты которых имеют счета с остатком, превышающим $1000.
2. Клиентов, которые имеют счета во всех филиалах данного банка.
3. Клиентов, которые имеют только по одному счету в разных филиалах банка. То есть, в общем, у этих клиентов может быть несколько счетов, но в одном филиале не более одного счета.
4. Клиенты, которые имеют счета в нескольких филиалах банка расположенных только в одном районе.
5. Филиалы, которые не имеют ни одного клиента.
6. Филиалы, которые имеют клиентов с остатком на счету 0 (ноль).
7. Филиалы, у которых есть клиенты с кредитом, превышающим остаток на счету в 2 раза.

Слайд 92

Понятие избыточных данных. Нормализация отношений. I, II, III нормальные формы Понятие физической

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