Основы баз данных
Покупка
Тематика:
Базы и банки данных. СУБД
Издательство:
ФЛИНТА
Год издания: 2022
Кол-во страниц: 102
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9765-5139-8
Артикул: 793433.01.99
В учебном пособии изложены теоретические основы организации реляционных баз данных, приведены примеры выполнения практических заданий по обработке табличных данных, предложен перечень практических заданий по разделам общепрофессиональных дисциплин, связанных с изучением баз данных.
Учебное пособие предназначено для обучающихся по специальностям укрупненной группы 09.00.00 Информатика и вычислительная техника.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
М. А. Кузниченко ОСНОВЫ БАЗ ДАННЫХ Учебно-методическое пособие 2-е издание, стереотипное Москва Издательство «ФЛИНТА» 2022
УДК 004.65 ББК 32.97 К89 Научный редактор Подсобляева О. В., кандидат экономических наук, доцент кафедры программного обеспечения Орского гуманитарно-технологического института (филиала) ОГУ Рецензенты Попов А. С., кандидат педагогических наук, доцент, заведующий кафедры программного обеспечения Орского гуманитарно-технологического института (филиала) ОГУ; Финк И. В., преподаватель высшей категории, заместитель директора по учебно-информационным технологиям ГАПОУ «Орский нефтяной техникум им. Героя Советского Союза В. А. Сорокина» Кузниченко М. А. К89 Основы баз данных : учебно-методическое пособие / М. А. Кузниченко. – 2-е изд., стер. – Москва : ФЛИНТА, 2022. – 102 с. – ISBN 978-5-9765-5139-8. – Текст : электронный. В учебном пособии изложены теоретические основы организации реляционных баз данных, приведены примеры выполнения практических заданий по обработке табличных данных, предложен перечень практических заданий по разделам общепрофессиональных дисциплин, связанных с изучением баз данных. Учебное пособие предназначено для обучающихся по специальностям укрупненной группы 09.00.00 Информатика и вычислительная техника. УДК 004.65 ББК 32.97 ISBN 978-5-9765-5139-8 © Кузниченко М. А., 2022 © Издательство «ФЛИНТА», 2022
Содержание Введение ………………………………………………………………… 4 1 Инфологическое моделирование ……………………………………. 6 1.1 Диаграмма «сущность-связь» ………………………………… 6 1.2 Практические задания ………………………………………… 13 2 Реляционная модель данных ………………………………………… 16 2.1 Базовые принципы ……………………………………….......... 16 2.2 Определения …………………………………………………… 17 2.3 Практические задания ………………………………………… 22 3 Реляционная алгебра …………………………………………………. 23 3.1 Операции реляционной алгебры ……………………………... 23 3.2 Практические задания ………………………………………… 28 4 Функциональные зависимости между атрибутами ………………… 32 4.1 Избыточное дублирование информации ……………….......... 32 4.2 Типы функциональных зависимостей ………………….......... 36 4.3 Практические задания ………………………………………… 37 5 Теория нормализации ………………………………………………… 41 5.1 Нормальные формы …………………………………………… 41 5.2 Свойство соединения без потерь (ССБП) ……………………. 50 5.3 Алгоритм нормализации к ЗНФ ……………………………… 55 5.4 Практические задания ………………………………………… 56 6 Язык запросов SQL …………………………………………………… 61 6.1 Введение в SQL ………………………………………………... 61 6.2 Запрос на выборку данных ……………………………………. 63 6.3 Предикаты ……………………………………………………… 68 6.4 Вычисление в SQL-запросах …………………………….......... 69 6.5 Группировка в SQL запросах …………………………………. 71 6.6 Практические задания ………………………………………… 75 7 SQL-запросы на модификацию данных ……………………….......... 78 7.1 Синтаксис ……………………………………………………… 78 7.2 Практические задания ………………………………………… 81 8 Вложенные SQL-запросы ……………………………………………. 84 8.1 Правила формирования вложенных запросов ………….......... 84 8.2 Практические задания ………………………………………… 87 9 SQL-запросы на создание таблиц …………………………………… 89 9.1 Синтаксис ……………………………………………………… 89 9.2 Практические задания ………………………………………… 94 10 Защита информации в базах данных ………………………………. 96 Библиографический список ……………………………………………. 100
ВВЕДЕНИЕ Предметом учебно-методического пособия являются базы данных, без основательного знакомства с которыми в наше время невозможно быть не только квалифицированным программистом, но даже и грамотным пользователем персональных компьютеров. Как показывает опыт, знания основ баз данных являются фундаментом для освоения множества профессиональных дисциплин будущих программистов. Поэтому важно сформировать у обучающихся профессиональные навыки и компетенции по эффективному управлению данными. Это в первую очередь касается дисциплин профессионального цикла «Базы данных», «Технология разработки и защиты баз данных», «Основы проектирования баз данных», «Управление и автоматизация баз данных». В пособии не рассматривается какая-либо конкретная система управления базами данных (СУБД), излагаемый материал в равной степени относится к любой современной системе. Знание концептуальных основ проектирования баз данных и организации запросов позволит будущему специалисту IT-сферы свободно ориентироваться в большом многообразии современных СУБД, с которыми ему придется столкнуться в своей профессиональной деятельности. Весь материал в методическом пособии разбит на девять глав, в каждой из которых сначала приводятся краткие теоретические сведения по рассматриваемой теме и примеры решения задач, а затем – практические задания, которые студенты могут выполнять на практических занятиях совместно с преподавателем или самостоятельно. Первая глава посвящена одному из начальных этапов разработки приложений баз данных – построению инфологической модели будущей базы данных в виде диаграммы «сущность-связь». Вторая глава содержит основы реляционной модели данных, базовые принципы, понятия и определения. В третьей главе рассматривается один из базовых механизмов манипулирования данными – реляционная алгебра. Приводятся опи
сание каждой операции реляционной алгебры и наглядное их применение к наборам данных. Четвёртая глава посвящена изучению функциональных зависимостей между атрибутами отношения, что лежит в основе теории нормализации и влияет существенным образом на ликвидацию избыточности хранения данных. В пятой главе излагаются принципы теории нормализации, на которых основан классический подход к проектированию реляционных баз данных. Рассматриваются нормальные формы, их ограничения, а также алгоритм приведения схемы отношения к третьей нормальной форме. Шестая глава содержит описание основ языка реляционных баз данных SQL, а именно подробно описана организация запросов на выборку данных: синтаксис, основные инструкции, допустимые стандартом предикаты, возможности использования вычисляемых столбцов, группировка и сортировка. Запросы, приводящие к изменению хранимой информации, называются запросами на модификацию. Их синтаксис, возможности и примеры использования приведены в седьмой главе пособия. Правила организации и ограничения вложенных SQL-запросов содержатся в восьмой главе. Приведены наглядные примеры формирования разнообразных вложенных запросов. В девятой и десятой главах изложен материал по администрированию базы данных средствами языка SQL: создание базы данных, создание и модификация таблиц, удаление таблиц и другие механизмы. Все темы дополнены списком практических заданий, что позволяет студентам закрепить теоретические знания.
1 ИНФОЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ 1.1 Диаграмма «сущность-связь» Разработка базы данных предполагает интеграцию данных, предназначенных для решения нескольких прикладных задач разных пользователей. Соответственно, при интеграции данных должны учитываться требования к данным каждого пользователя, основанные на его представлении о данных и связях между ними. Далее эти требования должны обобщаться в единое представление, которое и будет служить основой для построения единой базы данных (рис. 1.1). Рис. 1.1 Обобщение представления пользователей о данных Обобщение представлений всех пользователей о данных называется концептуальной моделью или схемой базы данных (БД). Концептуальная модель представляет информационное описание предметной области с учетом логических взаимосвязей, поэтому её еще называют инфологической (информационно-логической) моделью. В модели отсутствуют какие-либо понятия, связанные с ЭВМ, памятью ЭВМ, способами размещения данных в памяти ЭВМ, и, по сути, это модель только предметной области. Для создания базы данных и работы с ней используется система управления базами данных (СУБД). Каждая конкретная СУБД под
держивает определенный вид данных (форматов записей и отношений), называемый моделью данных СУБД. Следующий этап разработки базы данных предполагает выбор представления концептуальной модели с помощью модели данных конкретной СУБД. Полученное таким образом представление концептуальной модели называется логической моделью БД. Или, другими словами, логическая модель – это концептуальная схема, специфицированная в языке конкретной СУБД. Логическая модель представляет данные и элементы данных вне зависимости от их содержания и среды хранения. Далее разработчик системы средствами СУБД отображает полученную логическую модель БД в память ЭВМ и определяет методы доступа. Полученное представление данных в памяти ЭВМ называется внутренним представлением или структурой хранения. Прикладные программы работают с логической моделью, причем каждому пользователю представляется подмножество этой логической модели (подсхема), отражающее его представление о предметной области. Каждая прикладная программа «видит» и обрабатывает только те данные, которые необходимы именно ей. Модель данных – это инструмент для представления данных в базе данных. Данные становятся моделью, когда обретают некоторую структуру. Это зависит от требований предметной области. Предметная область – это часть реального мира, функции которой полностью или частично автоматизируются с помощью программного приложения или информационной системы. Этапы разработки приложения базы данных: 1) Сбор информации о предметной области: изучение документации, входной и выходной информации, должностных инструкций сотрудников. Результат – техническое задание. 2) Инфологическое моделирование: описание организации данных, информацию о которых следует хранить и обрабатывать в рамках технического задания.
3) Выбор СУБД: обоснование выбора СУБД, которая будет использоваться как инструмент хранения и управления данными в соответствии с техническим заданием. 4) Построение схемы базы данных: создание таблиц и связей между ними в терминах выбранной СУБД, решение вопросов ограничения целостности данных. 5) Программная реализация: разработка и отладка программного приложения базы данных в соответствии с техническим заданием. 6) Тестирование: итоговое тестирование программного приложения на соответствие требованиям сформулированным в техническом задании. 7) Ввод в эксплуатацию. Рассмотрим этап инфологического моделирования, целью которого является обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в базе данных. Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты). Сущность – любой различимый объект, информацию о котором необходимо хранить в базе данных. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть Город, а экземпляром – Москва, Орск. Атрибут – поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности. Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Первичный ключ – минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности.
Связь – ассоциирование двух или более сущностей. Одно из основных требований к организации базы данных – это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. При построении инфологических моделей можно использовать язык ER-диаграмм (от англ. Entity-Relationship, т. е. сущность-связь). В них сущности изображаются помеченными блоками, атрибуты – помеченными овалами, а связи между ними – ненаправленными ребрами, над которыми может проставляться степень связи (1 или буква, заменяющая слово "много") и необходимое пояснение. Между двумя сущностям А и В возможны три вида связей. Типы связей между сущностями 1) Связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому экземпляру сущности А соответствует 1 или 0 экземпляров сущности В (рис. 1.2). 1 1 1 1 Рис. 1.2 Связь «один-к-одному» Одному сотруднику соответствует его анкетная информация: место рождения, паспортные данные, ИНН, диплом об образовании и другое. Эту редко используемую информацию имеет смысл выделить в отдельную таблицу. 2) Связь ОДИН-КО-МНОГИМ (1:М): одному экземпляру сущности А соответствуют 0, 1 или несколько экземпляров сущности В (рис. 1.3). A B Сотрудник Анкета
1 М 1 М Рис. 1.3 Связь «один-ко-многим» Квартира может пустовать, в ней может жить один или несколько жильцов. 3) Связь МНОГИЕ-КО-МНОГИМ (1:М): одному экземпляру сущности А может соответствовать несколько экземпляров сущности В и, наоборот, одному экземпляру сущности В может соответствовать несколько экземпляров сущности А (рисунок 1.4). М М М М Рис. 1.4 Связь «многие-ко-многим» Один поставщик может поставлять несколько позиций товаров, и один товар может поставляться разными поставщиками. Такая связь реализуется опосредованно через промежуточную сущность, например, «Поставка». Для выявления связей между сущностями необходимо, как минимум, определить сами сущности. Но это не простая задача, так как в разных предметных областях один и тот же объект может быть сущностью, атрибутом или ассоциацией. A B Квартира Жилец A B АВ Поставщик Товар По ставка