Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Информационные технологии, базы данных

Поиск

Лекция 14

Информационные технологии, базы данных

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

 

· Информационные технологии и ИС

· Понятия БД и СУБД

· Связи в БД, отношения и отображения

· Логические модели данных

· Реляционная модель и нормализация отношений

· Основные операции реляционной алгебры

 

Итак, перейдём к рассмотрению этих вопросов и первый вопрос информационные технологии и информационные системы.

 

 

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

 

Итак, прежде всего, давайте рассмотрим несколько определений, понятий информационных технологий.

 

Основные определения

 

Понятие информационные технологии

Информационные технологии (ИТ., от англ. information technology, IT) — широкий класс дисциплин и областей деятельности, относящихся к технологиям управления и обработки данных, в том числе, с применением вычислительной техники.

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

 

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

Информационные технологии занимают очень большую нишу практически во всех сферах деятельности человека. И, безусловно, во всём мире развитию информационных технологий выделяется очень большое внимание и это подчёркивается тем, что всемирная организация ЮНЕСКО также дала своё определение информационным технологиям как некоторому направлению. Давайте познакомимся с этим определением.

Связи в БД

 

 

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

 

Отображение  является средством для определения характера взаимосвязей между элементами данных, так как отображение описывает двусторонние связи между ЭД.

Выделяют несколько типов отображений: 1:1, 1: М, М:1, М: N.

 

При помощи отображений 1:1 («один к одному») представляют такой тип связи, когда один ЭЭД, от которого направлена связь, идентифицирует один и только один ЭЭД, к которому направлена связь, и наоборот (рис.4).

 

При помощи отображений 1: М («один ко многим») представляют такой тип связи, когда ЭЭД, от которого направлена связь, идентифицирует некоторое число (0,1 или несколько), к которому направлена связь, причем в данном направлении идентификация не обязательно является уникальной. Однако в обратном направлении любой ЭЭД идентифицирует один и только один ЭЭД, от которого направлена связь (рис.5).

Отображение М:1 является обратным к отношению 1: М. Достаточно поменять ЭД местами (рис.5).

 При помощи отображений М: N («многие ко многим») представляют такой тип связи, когда один ЭЭД, от которого направлена связь, идентифицирует некоторое число ЭЭД, к которым направлена связь, и наоборот (идентификация не уникальна в обоих направлениях) (рис.6).

 

 Логические модели данных

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

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

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

Пример иерархической модели данных достаточно широко известен, например это структура каталогов в операционной системе (Windows, Unix)

 

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

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

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

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

Основа реляционной модели – это реляционные отношения или, попросту, таблицы, т.е. БД в реляционной модели состоит из набора таблиц. Таблицы (отношения) должны удовлетворять следующим ограничениям (требованиям):

1) отношение имеет имя, которое отличается от имен всех других отношений, используемых в данной предметной области;

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

3) все строки таблицы должны иметь одну и туже структуру, т.е. одно и то же количество атрибутов с соответственно совпадающими именами;

4) имена столбцов должны быть различными, а значения столбцов – однотипными (берутся из одного и того же домена);

5) значения атрибутов должны быть неделимыми (атомарными), т.е. отношения не могут иметь в качестве компонентов другое отношение;

6) порядок следования строк и столбцов в таблице не существенен, так как влияет только на скорость доступа к данным.

Строки отношений называют кортежами, записями.

Столбцы (элементарные типы) часто называют атрибутами  или полями  записи.

 

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

Каждое отношение в таблице физически может храниться либо в отдельном небольшом файле, либо в одном большом файле в совокупности с другими таблицами. Как правило, в терминологии реляционной модели можно выделять следующие понятия [37]:

Таблица 2.1. Терминология реляционной модели

Уровень абстракции

Терминология

Абстрактный уровень Сущность Экземпляр сущности Свойство сущности
Реляционная модель Отношение Кортеж Атрибут
База данных Таблица Строка Столбец
Физические данные Файл Запись Поле

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

1) Использование двумерных таблиц для представления структур данных является наиболее простым способом работы с БД;

2) Реляционная модель поддается четкой формализации на основе реляционной алгебры;

3) Операции проекции, соединения и другие операции позволяют легко разрезать и склеивать отношения, получая таким образом новые, производные отношения. Это дает возможность легко извлекать разнообразную информацию из множества таблиц;

4) Упрощается контроль доступа и управление правами доступа как к целой таблице, так и к ее отдельным частями, вплоть до атрибутов и кортежей;

5) Реляционное представление дает ясную картину взаимосвязи атрибутов из различных отношений;

6) Физическое размещение таблиц файлов может оказаться немного проще, чем размещение иерархических и сетевых структур;

7) В реляционной модели значительно проще обеспечить независимость данных;

8) Существует возможность добавления, изменения и удаления некоторых атрибутов в таблице, без изменения отношения в целом, а также добавления новых отношений без серьезных последствий;

9) В реляционной модели языки манипулирования данных достаточно просты и понятны.

 

 

Нормализация отношений

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

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

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

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

Таблица 3.1. Пример неявной избыточности

№ гостя Комната Телефон
1 12 23-12
2 13 21-13
3 14 24-14
4 12 23-12

В данном случае неявная избыточность обнаруживается в том, что один и тот же № телефона имеют гости, живущие в одной комнате. Если поменяется номер у гостя №1, то у гостя № 4 - не поменяется, отсюда следует противоречие: в одной комнате два разных номера.

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

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

 

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

1) между атрибутами не должно быть нежелательных функциональных зависимостей;

2) группировка атрибутов должна обеспечивать минимум дублирования данных.

Функциональные зависимости

Пусть даны два атрибута А и В. Атрибут В функционально зависит от А (обозначается A®B), если каждое значение атрибута А связано только с одним значением атрибута В (в любой момент времени). А и В могут быть составными, т.е. они могут представлять собой не единичные атрибуты, а группы, состоящие из двух или более атрибутов.

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

Проанализируем атрибуты «Номер сотрудника» (CNo) и «Должность» для отношения «Сотрудники». Зная значение атрибута CNo, мы однозначно сможем определить «Должность» данного сотрудника. Однако в обратном направлении мы не можем так сказать, поскольку может быть множество сотрудников с одной должностью, т.е. CNo®Должность. Аналогично можно указать, что CNo®ЗП и т.д.

 

 


Выборка (или ограничение)

Обозначение операции: s предикат (R).

Операция является унарной и определяет результирующее отношение, которое содержит только те кортежи (строки) отношения R, которые удовлетворяют заданному условию (предикату).

 

 

Проекция

Обозначение операции: Патр1, …, атрN(R).

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

 

 

Декартово произведение

Обозначение операции: R ´ S.

Операция декартового произведения определяет новое отношение, которое является результатом конкатенации (т.е. сцепления) каждого кортежа из отношения R с каждым кортежем из отношения S.

 

 

Операции соединения

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

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

· Тета-соединение (q-join);

· Соединение по эквивалентности (equi-join), которое является частным видом тета-соединения;

· Естественное соединение (natural join);

· Внешнее соединение (outer join);

· Полусоединение (semi-join).

Тета-соединение (q-join)

Обозначение операции: .

Операция тета-соединения определяет отношение, которое содержит кортежи из декартового произведения отношений R и S, удовлетворяющие предикату F. Предикат F имеет вид R.ai q S.bi, где вместо q может быть указан один из операторов сравнения (<, <=, >, >=, = или ~=).

Обозначение тета-соединения можно переписать на основе базовых операций выборки и декартового произведения: .

Так же, как и в случае с декартовым произведением, степенью тета-соединения называется сумма степеней операндов-отношений R и S. Если предикат F содержит только оператор равенства (=), то соединение называется соединением по эквивалентности (equi-join).

Пример. Создать список всех съемщиков, которые осматривали объекты недвижимости с указанием их имен и сделанных ими комментариев:

ПСкNo,Имя, Фамилия(Съемщик) ПСкNoNo,Комментарий(Осмотр).

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

Естественное соединение

Обозначение операции: .

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

Степенью естественного соединения называется сумма степеней операндов-отношений R и S минус количество атрибутов x.

Внешнее соединение

Обозначение операции: .

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

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

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

Строго говоря, в предыдущем примере показано левое (естественное) внешнее соединение, поскольку в результирующем отношении содержатся все кортежи левого отношения. Существует также правое внешнее соединение, называемое так потому, что в результирующем отношении содержатся все кортежи правого отношения. Кроме того, существует и полное внешнее соединение, в результирующее отношение которого помещаются все кортежи из обоих отношений и в котором для обозначения несовпадающих значений кортежей используются определители NULL.

Пример. Пусть даны два отношения T1, T2:

Т1
A B C
a1 b1 C1
a2 b2 C2
a3 b3 C3
a4 b4 c4

 

T2
A D E
a4 d1 e1
a3 d2 e2
a5 d3 e3
a6 d4 e4

 

Рис***. Исходные отношения T1, T2

Тогда получаем:

левое внешнее соединение L=T1 T2:
A B C D E
a1 b1 c1 NULL NULL
a2 b2 c2 NULL NULL
a3 b3 c3 d2 e2
a4 b4 c4 d1 e1

 

  Пправое внешнее соединение P=Т1 Т2:
A B C D E
a4 b4 c4 d1 e1
a3 b3 с3 d2 e2
a5 NULL NULL d3 e3
a6 NULL NULL d4 e4

 

Рис.***. Пример нахождения левого и правого внешнего соединений

Таким образом, можно сделать следующие заключения.

Полное внешнее соединение – это объединение левого и правого внешних соединений, т.е L P.

Естественное соединение – это пересечение левого и правого внешних соединений,
т.е. L  P.

 

Лекция 14

Информационные технологии, базы данных

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

 

· Информационные технологии и ИС

· Понятия БД и СУБД

· Связи в БД, отношения и отображения

· Логические модели данных

· Реляционная модель и нормализация отношений

· Основные операции реляционной алгебры

 

Итак, перейдём к рассмотрению этих вопросов и первый вопрос информационные технологии и информационные системы.

 

 

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

 

Итак, прежде всего, давайте рассмотрим несколько определений, понятий информационных технологий.

 

Основные определения

 



Поделиться:


Познавательные статьи:




Последнее изменение этой страницы: 2021-12-15; просмотров: 364; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.168.68 (0.013 с.)