Базы данных
Покупка
Тематика:
Системы управления базами данных (СУБД)
Издательство:
ИНТУИТ
Автор:
Швецов В. И.
Год издания: 2016
Кол-во страниц: 157
Дополнительно
Университетский курс, формирующий концептуальные представления о принципах построения БД и СУБД, представляющий фундаментальные понятия и математические модели, лежащие в основе БД и СУБД, принципы проектирования БД, а также технологии реализации БД и иллюстрирующий вышеуказанные понятия на примере ACCESS и MS SQL-Server.
Учебное пособие посвящено важнейшей составляющей широко разрабатываемых и используемых информационных систем организационного управления - базам данных (БД), создаваемым и функционирующим на основе систем управления базами данных (СУБД). Главной целью пособия является формирование концептуальных представлений об основных принципах построения БД и СУБД, принципах проектирования БД, а также анализ основных технологий реализации БД. Особое внимание уделяется представлению фундаментальных понятий и математических моделей, лежащих в основе баз данных и систем управления базами данных. Изучение курса включает усвоение ряда фундаментальных понятий и теоретических основ организации баз данных и систем управления базами данных.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
В.И. Швецов Базы данных ^ИНТУИТ НАЦИОНАЛЬНЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ
С.ИНТУ ИТ У НАЦИОНАЛЬНЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ Базы данных 2-е издание, исправленное Швецов В.И. Национальный Открытый Университет “ИНТУИТ” 2016 2
Базы данных/ В.И. Швецов - М.: Национальный Открытый Университет “ИНТУИТ”, 2016 Университетский курс, формирующий концептуальные представления о принципах построения БД и СУБД, представляющий фундаментальные понятия и математические модели, лежащие в основе БД и СУБД, принципы проектирования БД, а также технологии реализации БД и иллюстрирующий вышеуказанные понятия на примере ACCESS и MS SQL-Server. Учебное пособие посвящено важнейшей составляющей широко разрабатываемых и используемых информационных систем организационного управления - базам данных (БД), создаваемым и функционирующим на основе систем управления базами данных (СУБД). Главной целью пособия является формирование концептуальных представлений об основных принципах построения БД и СУБД, принципах проектирования БД, а также анализ основных технологий реализации БД. Особое внимание уделяется представлению фундаментальных понятий и математических моделей, лежащих в основе баз данных и систем управления базами данных. Изучение курса включает усвоение ряда фундаментальных понятий и теоретических основ организации баз данных и систем управления базами данных. (c) ООО “ИНТУИТ.РУ”, 2009-2016 (c) Швецов В.И., 2009-2016 3
Общая информация о курсе Университетский курс, формирующий концептуальные представления о принципах построения БД и СУБД, представляющий фундаментальные понятия и математические модели, лежащие в основе БД и СУБД, принципы проектирования БД, а также технологии реализации БД и иллюстрирующий вышеуказанные понятия на примере ACCES и MS SQL-Server. Подробное описание: Учебное пособие посвящено важнейшей составляющей широко разрабатываемых и используемых информационных систем организационного управления - базам данных (БД), создаваемым и функционирующим на основе систем управления базами данных (СУБД). Главной целью пособия является формирование концептуальных представлений об основных принципах построения БД и СУБД, принципах проектирования БД, а также анализ основных технологий реализации БД. Особое внимание уделяется представлению фундаментальных понятий и математических моделей, лежащих в основе баз данных и систем управления базами данных. Изучение курса включает усвоение ряда фундаментальных понятий и теоретических основ организации баз данных и систем управления базами данных: • тенденции развития основных понятий представления данных и интегрирования данных; • программный интерфейс между пользователями и базой данных - СУБД; • модели организации работы пользователей с базой данных; • моделирование базы данных (моделирование внешних представлений, концептуальное моделирование, моделирование структур хранения); • особенности реляционного моделирования; • реализация языка запросов к базам данных (SQL). В задачи курса входит изучение процесса проектирования базы данных, включающего: • составление формализованного описания предметной области (внешней модели); • разработку концептуальной модели и ее специфицирование к конкретной модели данных СУБД; • анализ моделей физического представления данных. Рассмотрение указанных вопросов иллюстрируется на примерах конкретных систем управления базами данных - ACCESS и MS SQL-Server. Предисловие Последние десятилетия в области программирования характеризуются резким ростом количества создаваемых информационных систем организационного управления. Практически в каждой организации функционирует (или создается) такая система (или её элементы). Важнейшей структурной частью информационных систем являются базы 4
данных, создаваемые и функционирующие на основе использования специализированных программных систем - систем управления базами данных. Все это обусловливает большую потребность в квалифицированных кадрах, способных как создавать информационные системы на основе систем управления базами данных, так и обслуживать соответствующие информационные системы и базы данных. Цель данного учебного пособия состоит в формировании концептуальных представлений об основных принципах построения баз данных, систем управления базами данных; о математических моделях, описывающих базу данных; о принципах проектирования баз данных; а также анализе основных технологий реализации баз данных. Тематика, связанная с базами данных, чрезвычайно широка. Можно указать, в качестве примера, целый ряд возможных семестровых или годовых курсов по соответствующей тематике: введение в базы данных, проектирование баз данных, реляционные базы данных, язык запросов SQL, клиент-серверные системы, работа в среде конкретной СУБД и т. п. В связи с эти невозможно в одном курсе детально раскрыть все стороны этой тематики. В то же время очень важно дать читателю достаточно полное представление об общей структуре тематики баз данных и важнейших понятиях в этой области. Главной задачей настоящей книги является представление читателю фундаментальных понятий, лежащих в основе баз данных и систем управления базами данных, и иллюстрация способов реализации соответствующих понятий в конкретных программных системах. Рассмотрение указанных вопросов иллюстрируется на примерах конкретных систем управления базами данных - ACCESS и MS SQL-Server. Пособие разработано с учетом международных рекомендаций по стандартизации обучения информатике в университетах Computing Curricula 2001 (совместная раработка Компьютерного общества Института инженеров по электротехнике и электронике (IEEE-CS) и Ассоциации по вычислительной технике (ACM)) и включает, в соответствии с этими рекомендациями, основную совокупность знаний по Управлению информацией (разделы IM2 - IM9). Структура пособия соответствует структуре курса CS270T. “Базы данных” из вышеуказанных рекомендаций. Цель курса: Цель данного курса состоит в формировании концептуальных представлений об основных принципах построения баз данных, систем управления базами данных; о математических моделях, описывающих базу данных; о принципах проектирования баз данных; а также анализе основных технологий реализации баз данных. Главной задачей учебного курса является представление слушателю фундаментальных понятий, лежащих в основе баз данных и систем управления базами данных, и иллюстрация способов реализации соответствующих понятий в конкретных программных системах. В задачи курса входит изучение процесса проектирования базы данных, включающее 5
формализацию описания предметной области, (разработку концептуальной модели и ее специфицирование к конкретной модели данных СУБД. Рассмотрение указанных вопросов иллюстрируется на примерах конкретных систем управления базами данных - ACCESS и MS SQL-Server. Предварительные знания Курс “Базы данных” опирается на материалы следующих курсов: • Основы построения ЭВМ; • ЭВМ и программирование; • Дискретная математика. Автор: Швецов Владимир Иванович, доктор технических наук, профессор, проректор по информатизации ГОУ ВПО “Нижегородский государственный университет им. Н.И.Лобачевского”. Профессиональные интересы: проектирование и создание баз данных, разработка программных систем обработки данных для конкретных классов задач. 6
Введение в базы данных. Общая характеристика основных понятий Лекция посвящена рассмотрению развития основных понятий обработки данных, связанного с постоянным расширением классов решаемых на ЭВМ задач. Показывается необходимость интеграции данных при решении несколькими пользователями задач, использующих общие данные. Вводится понятие базы данных. Цель лекции: показать, что с изменением вида решаемых на ЭВМ задач в программировании возникают новые виды представления данных, в том числе такой вид, как базы данных. 1.1. Развитие основных понятий представления данных Любой вычислительный процесс представляет собой отображение (по определенному алгоритму) некоторых входных данных в выходные. Программа в ЭВМ Выходные данные Входные данные (результат решения задами) Соотношение сложности представления обрабатываемых данных и алгоритма вычислений определяет два класса задач: • вычислительные задачи - достаточно простое представление данных и сложный, многооперационный процесс вычислений; • задачи обработки данных (невычислительные задачи) - простой алгоритм обработки данных и сложное представление обрабатываемых данных. На начальной стадии обучения программированию основное внимание уделяется разработке алгоритма решения задачи. Однако часто оказывается, что возможность (или невозможность) решения конкретной задачи зависит не только от выбранного алгоритма, но и от того, какие понятия используются для представления обрабатываемых данных. Рассмотрим простейший пример вычисления по формуле: Y=X²+5X, где X и Y - определенные числа, которые являются здесь элементарными единицами данных ( элементами данных ). При программировании алгоритма решения этой задачи (программирование формулы) используется простейший вид данных - простая переменная ( X и Y представляются в программе простыми переменными). Заметим, что простая переменная в системах программирования характеризуется определенным типом ее значений, которые должны выбираться при программировании. Даже в этом простейшем случае необходимо правильно выбрать тип переменной, причем от этого выбора может 7
зависеть возможность или невозможность решения конкретной прикладной задачи (например, для представления конкретных данных не хватит отведенных разрядов). Рассмотрим другой пример: S=a₁+a₂+...+aN. Решение этой задачи в общем случае невозможно получить используя только простые переменные. Здесь обрабатывается не отдельное число, а последовательность чисел. В этом случае при программировании используется такой вид данных, как массив -совокупность элементов, с каждым из которых связан упорядоченный набор целых чисел, называемых индексами. Все элементы должны иметь одинаковый тип их значений, который и будет типом массива. В этом случае числа a1, a₂, ..., aN представляются в программе массивом A(1), A(2),..., A(N). Приведенные примеры показывают, что изменение вида задач обуславливает необходимость использования других видов данных. Ранние языки программирования (ФОРТРАН, АЛГОЛ-60) были предназначены для решения научно-технических вычислительных задач. В этих языках использовались только вышеуказанные виды данных (простые переменные и массивы) что было вполне достаточно. Начиная с конца 60-х годов компьютеры начинают интенсивно использоваться для решения так называемых невычислительных задач, связанных с обработкой различного рода документов. Рассмотрим появление новых видов данных на примере упрощенных задач обработки данных. Задача 1. Начисление заработной платы. Рассматриваем задачу при двух упрощающих предположениях: • сотруднику начисляется заработная плата на основе его оклада; • никакие налоги и вычеты не учитываются. Необходимые для решения этой задачи сведения о сотруднике представлены в следующей карточке НАЧИСЛЕНИЕ: Фамилия, имя, Оклад Количество отработанных дней в Начисленная отчество месяц сумма FIO O Ko S Для каждого работника начисленная сумма за определенный месяц рассчитывается по следующей формуле: S=KₒO/Kᵣ, где Kᵣ - количество рабочих дней в данном месяце. 8
Для каждого сотрудника соответствующие данные имеют конкретное значение, например: Иванов Иван Иванович 1800 24 1800 Эти значения имеют смысл только во взаимосвязи друг с другом. Отдельно выбранное число 1800 теряет свой содержательный смысл, поэтому использовать такой вид данных, как простая переменная, здесь нельзя. В то же время набор соответствующих значений, характеризующих конкретного сотрудника, имеет разные типы (символьный и числовой), т.е. использовать для его представления такой вид данных, как массив, также нельзя. Таким образом, понятий “простая переменная” и “массив” недостаточно, чтобы представить соответствующую карточку. Для описания аналогичных представлений данных в предметной области невычислительных задач вводится ряд новых понятий [[1]]. Элемент данных (поле) - наименьшая единица поименованных данных. Для данного примера элементами данных являются FIO, O, Kₒ, S. Для описания карточки сотрудника используется понятие ” Логическая запись “. Логическая запись - поименованная совокупность элементов данных (полей). Экземпляр логической записи - текущее значение элементов записи. Для представления всего набора карточек сотрудников используется понятие ” Логический файл “ Логический файл - поименованная совокупность всех экземпляров записей заданного типа. Пример логического файла НАЧИСЛЕНИЕ: Таким образом, с помощью введенных понятий можно описывать соответствующие данные. Для отображения этих понятий в современных языках программирования, предназначенных как для вычислительных задач, так и для задач обработки данных, введены новые виды данных. В алгоритмическом языке Паскаль вводится такой вид данных, как запись (RECORD) 9
сложная переменная с несколькими компонентами, которые могут иметь разные типы. Кроме того, доступ к компонентам записи (полям) осуществляется не по индексу, а по имени. При программировании задачи 1 на языке Паскаль логическая запись НАЧИСЛЕНИЕ представляется видом данных RECORD, набор экземпляров логических записей сотрудников (логический файл) представляется “физическим” файлом, формируемым средствами языка Паскаль и операционной системы. Salary = RECORD FIO: string; O: real; Ko: real; S: real; END; Отметим важную специфику таких невычислительных задач. Для этих задач характерны большие объемы данных (большое количество сотрудников, большое количество производимых изделий и т. п.). Указанные данные, как правило, используются для решения задачи многократно (зарплата начисляется постоянно каждый месяц), поэтому данные должны достаточно долго храниться в памяти ЭВМ. Для длительного хранения всегда используется внешняя память. В связи с этим решение задачи 1 состоит из двух этапов. 1. Ввод исходных данных и занесение их во внешнюю память. type Salary = RECORD FIO: string; O: real; Ko: real; S: real; END; FSalary = File of Salary; var F: FSalary; ... { Ввод исходных данных } repeat writefBeegume количество сотрудников (не более', MaxN,' ): '); readln(N); until (N>0) AND (N<=MaxN); For I := 1 to N do Begin Write('Bвeдитe фамилию сотрудника с номером ',I,': '); ReadLn(Sotr[i].FIO); Write('Bвeдитe оклад сотрудника с номером ', I, ': '); ReadLn(Sotr[i].O); 10