- •Электронный конспект лекций по дисциплине «базы данных»
- •Содержание
- •Введение. Базы данных как научная дисциплина
- •Тема 1. Основы современных систем управления базами данных История развития информационных систем.
- •Распределенные и централизованные базы данных. Архитектура «файл-сервер». Архитектура «клиент-сервер».
- •Базы данных как структурные компоненты информационных систем.
- •Типовая организация современной субд.
- •Уровни представления баз данных; понятия схемы и подсхемы.
- •Тема 3. Модели данных. Средства манипулирования данными для реляционной модели Иерархическая, сетевая и реляционная модели данных. Общая характеристика, защита и целостность данных
- •Целостность сущностей и ссылок
- •Средства манипулирования реляционными данными
- •Реляционная полнота.
- •Реляционная алгебра
- •Особенности теоретико-множественных операций реляционной алгебры
- •Реляционное исчисление
- •Тема 4. Проектирование реляционных баз данных
- •Проектирование с использованием метода сущность - связь.
- •1, 2, 3 И 4 нормальные формы. Нормальная форма Бойса-Кодда.
- •Определение 6. Вторая нормальная форма (в этом определении предполагается, что единственным ключом отношения является первичный ключ)
- •Определение 6. Отношение r находится во второй нормальной форме (2nf) в том и только в том случае, когда оно находится в 1nf, и каждый неключевой атрибут полностью зависит от каждого ключа r.
- •6.1.2. Третья нормальная форма
- •Определение 7. Третья нормальная форма. (Снова определение дается в предположении существования единственного ключа.)
- •6.1.3. Нормальная форма Бойса-Кодда
- •Определение 8. Детерминант
- •Определение 9. Нормальная форма Бойса-Кодда
- •6.1.4. Четвертая нормальная форма
- •Определение 10. Многозначные зависимости
- •Определение 11. Четвертая нормальная форма
- •6.1.5. Пятая нормальная форма
- •Определение 12. Зависимость соединения
- •Определение 13. Пятая нормальная форма
- •Нормализация отношений. Приведение базы данных к нормализованному виду
- •Третья нормальная форма.
- •Журнальная и служебная информация
- •Тема 5. Язык реляционных баз данных sql История развития sql. Функции и основные возможности sql. Ansi sql; t-sql; pl/sql; Jet sql.
- •Идентификаторы
- •Операторы манипулирования данными
- •Раздел into предназначен для сохранения результата, выполнения запроса в заданной таблице.
- •Тема 6. Субд ms sql Server. Основные возможности Архитектура "клиент-сервер".
- •Открытые системы
- •Клиенты и серверы локальных сетей
- •Системная архитектура клиент-сервер
- •Серверы баз данных
- •Создание и модификация базы данных в ms sql Server. Операторы определения и манипулирования схемой базы данных
- •Сортировка и поиск данных в ms sql Server.
- •Кластерный индекс
- •Некластерный индекс
- •Уникальный индекс
- •Тема 7. Типы данных в ms sql Server.
- •1) Числовые целые типы данных.
- •2) Нецелочисленные типы данных.
- •3) Денежные типы данных.
- •4) Типы данных для хранения информации о времени.
- •5) Бинарные типы данных.
- •6) Символьные типы данных.
- •7) Текстовые типы данных.
- •Тема 9. Создание и модификация объектов базы данных в субд ms sql Server
- •Использование представлений.
- •Тема 10. Хранимые процедуры
- •Создание хранимых процедур
- •Управление процессом компиляции хранимой процедуры
- •Модификация хранимой процедуры
- •Вызов хранимых процедур и передача параметров.
- •Тема 12. Современные направления исследований и разработок Современные промышленно-сопровождаемые субд
- •Системы управления базами данных следующего поколения
Распределенные и централизованные базы данных. Архитектура «файл-сервер». Архитектура «клиент-сервер».
За историю развития баз данных было разработано множество способов хранения, структуризации и обработки информации. По технологии обработки базы данных подразделяют следующим образом:
Распределенная база данных – этот способ обработки требует использования нескольких серверов, на которых может храниться пересекающаяся или даже дублирующаяся информация. Для работы с такой базой данных используется система управления распределенными базами данных.
Централизованная база данных – при таком способе обработки база данных располагается на одном компьютере. Если для этого компьютера установлена поддержка сети, то множество пользователей с клиентских компьютеров могут одновременно обращаться к информации хранящейся в центральной базе данных.
Система централизованных баз данных с сетевым доступом имеет различные архитектуры:
─ файл-сервер;
Эта архитектура предполагает использование выделенного компьютера в качестве сервера файла. На этом сервере хранятся файлы баз данных, которые по запросу пользователей копируются на их локальные компьютеры, там и производится вся основная обработка данных. После того как пользователи выполняют необходимые изменения данных, они копируют файл обратно на файл-сервер, где другие пользователи могут снова их использовать. Кроме того, каждый пользователь может создавать на своем компьютере свои собственные базы данных, которые используются монопольно. При использовании архитектуры файл-сервер производительность системы резко падает с ростом числа пользователей.
─ клиент-сервер.
При использовании этой архитектуры выделенный компьютер используется не только в качестве хранилища файлов, но и выполняет основной объем действий по обработке информации. Пользователь рабочей станции отправляет список операций обрабатываемых данных (запрос), которые необходимо выполнить центральному компьютеру, т. е. серверу. Сервер выполняет необходимые вычисления и выборку данных и отправляет готовый результат клиенту. Для описания запросов часто используют структурированный язык запросов SQL (Structured Query Language). Этот язык специально разработан для создания запросов.
Базы данных как структурные компоненты информационных систем.
Основной функцией любой СУБД является поддержка независимости, целостности и непротиворечивости данных в условиях коллективного использования. Независимость данных понимается как способность СУБД создавать различные представления об одних и тех же хранимых данных, остающихся инвариантными к изменениям среды функционирования БД [25]. Требуемая степень независимости данных достигается в результате введения внешнего, концептуального и внутреннего уровней определения и манипулирования данными. С внешней точки зрения база данных — это совокупность различных информационных моделей ПО, предназначенных для информационных потребностей пользователей; с концептуальной — база данных есть общая модель ПО, обеспечивающая поддержку различных прикладных систем; с внутренней — база данных рассматривается как физическое представление данных в конкретной среде, используемой для хранения информации. Являясь информационной моделью ПО, база данных обеспечивает коллективное использование информации и необходимые условия для естественной эволюции существующих приложений ИС без их разрушения.
Благодаря концепции БД обеспечивается независимость описания предметной области и задач приложений от структур данных и методов их обработки, программ — от логической структуры базы данных, логической структуры данных — от методов их физической организации.
В информационных системах, использующих БД, можно:
сделать программы ввода, модификации и поиска данных независимыми от программ содержательной обработки приложений;
минимизировать объем хранимых данных путем сокращения их дублирования;
избежать противоречий в хранимых данных;
обеспечить сохранность и целостность информации:
многократно использовать одни и те же данные различными прикладными программами;
обеспечить гибкость и адаптивность структуры данных к изменяющимся информационным потребностям пользователей;
поддерживать адекватность базы данных моделируемой ПО;
обеспечить защиту данных от несанкционированного доступа.
Концепция БД позволяет создавать интегрированные информационные системы, поддерживающие сложные и разнообразные структуры объектов предметной области, содержащие большое число типов данных, значительные объемы фактографической или текстовой информации, а также сделать реальной задачу обеспечения высокой достоверности обработки и хранения больших объемов данных.
Тема 2. Функции СУБД. Типовая организация СУБД.
Основные функции СУБД: непосредственное управление данными во внешней памяти; управление буферами оперативной памяти; управление транзакциями; журнализация; языковые средства СУБД; поддержка языков БД.
Традиционность возможностей файловых систем оказывается недостаточным для построения простых информационных систем. Считается, что если прикладная информация систем опирается на некоторую систему управления данными, то эта система управления данными является СУБД, при условии, что она выполняет следующие функции:
1) Непосредственное управление данными во внешней памяти.
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных непосредственно входящих в БД, так и для служебных целей. Пример, для ускорения доступа к данным. В некоторых реализациях СУБД используются возможности существования файловых систем, в других работа производится вплоть до уровня устройств внешней памяти. В развитых СУБД пользователи не обязаны знать, используют ли СУБД файловую систему и если используют то, как организованны файлы.
2) Управление буферами, оперативной памяти.
СУБД обычно работает с БД значительных размеров, которые обычно существенно больше доступного объема оперативной памяти. Если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативную память. При этом даже если операционная система производит общесистемную буферизацию этого не достаточно для цели СУБД, которая располагает гораздо большей информацией той или иной части БД. Поэтому в различных СУБД поддерживается собственный набор буферов оперативной памяти и собственной дисциплиной их замены.
3) Управление транзакциями.
Транзакция - последовательность операций с БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется и СУБД фиксирует изменения БД, производя транзакцию во внешней памяти, либо ни одно из изменений никак не отражается на состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД.
5) Поддержка языков баз данных.
Для работы с базами данных используются специальные языки, имеющие общее название – языки баз данных. В ранних СУБД поддерживались несколько специализированных по своим функциям языков. Чаще всего выделялось два языка: язык определения схемы, язык манипулирования данными. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД. Стандартным языком наиболее распространенных СУБД является SQL.
