Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
66.49 Кб
Скачать

Глава 1. Основы теории баз данных Введение в «Базы данных»

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

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

- добавление новой информации в существующие файлы БД;

- добавление новых пустых файлов в БД;

- изменение (модификация) информации в существующих файлах БД;

-поиск информации в БД;

- удаление информации из существующих файлов БД;

- удаление файлов из БД.

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

В качестве иллюстрации рассмотрим небольшую БД, приведенную в табл. 1.1. в которой хранится информация о стипендии студентов.

Табл. 1.1. Пример таблицы БД «Стипендия»

-

№ студент билета

Ф.И.О.

Учебная группа

Ср. балл успеваемости

Стипендия

52122

Иванов И.Н.

00СА-11

4,5

2250

52123

Петров А.В.

00СА-11

4,0

1875

52124

Сидоров Д.А.

00СА-11

5,0

2500

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

  • номер студенческого билета;

  • фамилия и инициалы студента;

  • наименование учебной группы студента;

  • средний балл успеваемости студента;

  • размер начисленной стипендии.

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

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

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

Если говорить более детально, то к функциям СУБД относят следующие:

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

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

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

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

- поддержка языков БД - для работы с БД используются специальные языки, в целом называемые языками баз данных. В СУБД обычно поддерживается единый язык, содержащий все необходимые средства - от создания БД до обеспечения пользовательского интерфейса при работе с данными. Наиболее распространенным в настоящее время языком СУБД является язык SQL (Structured Query Language).

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

  • модели, основанные на инвертированных списках;

  • иерархические модели данных;

  • сетевые модели данных;

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

  • операторы над адресуемыми записями.

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

В таких БД поддерживаются следующие операторы манипулирования данными:

- найти дерево БД по заданному признаку;

- перейти от одного дерева к другому;

- перейти к записи внутри дерева или в порядке обхода иерархии (сверху вниз, слева направо);

- вставить новую запись в указанную позицию;

-удалить текущую запись.

В БД сетевой структурой данных поддеревья могут иметь любое число корневых. Фактически сетевая БД состоит из набора записей и множества связей между этими записями. Примерный перечень операций для сетевых БД может быть следующим:

  • найти запись по заданному признаку;

  • - перейти от предка к потомку по указанной связи;

  • - перейти от потомка к предку по некоторой связи;

  • - создать новую запись или удалить существующую;

  • - модифицировать заданную запись;

  • - включить в связь или исключить из связи;

  • - переставить в другую связь.

Основные понятия и определения «Базы данных»

Вопрос №1. Основные понятия «Базы данных»

Структурирование – это введение соглашений о способах представления данных.

Неструктурированные данные. Например данные записанные в текстовом файле. (Личное дело №123, Иванов Иван Иванович, дата рождения 11.05.1980г., Личное дело №342, Петрова Петра Петровича ...

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

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

БД – это организованная структура, предназначенная для хранения информации.

Вопрос №2 Классификация «Базы данных»

По технологии хранения (централизованная база, распределенная база).

По способу доступа (локальный доступ, удаленный или сетевой доступ). Централизованная БД с удаленным доступом делятся на файл-сервер и клиент-сервер.

По форме представления информации (видео, аудио, мультимедийное).

По типу модели хранения информации (иерархическая, сетевая …)

Вопрос №1.Избыточное дублирование данных и аномалии

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

Аномалии

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

Выделяют три основные вида аномалий:

аномалии модификации (или редактирования);

аномалии удаления;

аномалии добавления.

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

Так, например, изменение номера телефона в комнате 111, что представляет собой один единственный факт, потребует просмотра всей таблицы С_Т_Н и изменения поля Н_комн согласно текущему содержимому таблицы в записях, относящихся к Петрову, Сидорову и Егорову.

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

В той же таблице С_Т_Н удаление записи о сотруднике Иванове (например, по причине увольнения или ухода на заслуженный отдых) приводит к исчезновению информации о номере телефона, установленного в 109-й комнате.

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

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

Формирование исходного отношения

Проектирование БД начинается с определения всех объектов, сведения о которых будут включены в базу, и определения их атрибутов. Затем атрибуты сводятся в одну таблицу - исходное отношение.

Формирование исходного отношения (для учебной части факультета создается БД о преподавателях).

Формирование исходного отношения «ПРЕПОДАВАТЕЛЬ»

Явная избыточность

Явная избыточность заключается в том, что в отношении ПРЕПОДАВАТЕЛЬ строки с данными о преподавателях, проводящих занятия в нескольких группах, повторяются соответствующее число раз.

Например, в отношении ПРЕПОДАВАТЕЛЬ все данные по Иванову повторяются дважды. Поэтому, если Иванов И.М. станет старшим преподавателем, то этот факт должен быть отражен в обеих строках. В противном случае будет иметь место противоречие в данных, что является примером аномалии редактирования, обусловленной явной избыточностью данных в отношении.

Неявная избыточность

Неявная избыточность в отношении ПРЕПОДАВАТЕЛЬ проявляется в одинаковых окладах у всех преподавателей и в одинаковых добавках к окладу за одинаковый стаж. Поэтому, если при изменении окладов за должность с 500 на 510 это значение изменят у всех преподавателе, кроме, например, Сидорова, то база станет противоречивой.