Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Системы баз данных. Учебно-методический комплекс

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
659 Кб
Скачать

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

Лекция 15. Модели данных

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

Иерархическая модель данных (ИМД) наиболее органично отражает естественную иерархию данных в предметной области. Иерархическая модель организует данные в виде древовидной структуры и является реализацией логических связей по типу "целоечасть". Хорошим примером иерархической модели является любая административная структура. В этой модели выделяется главный объект, через который обеспечивается доступ ко всем остальным объектам системы. Иерархическая модель данных использует такие понятия, как: поле (элемент данных), сегмент (группа), запись.

Для представления схемы в ИМД используется графовая форма. В ИМД объекты и связи между ними представляются в виде графа типа дерева. В узлах дерева размещены объекты, а его рёбра отображают связи между объектами. Верхняя вершина является корнем дерева, конечные вершины – листьями. Дерево – ориентированный граф без циклов, ориентация от корня, т.е. дуги, соответствующие функциональным связям, направлены от корня к листьям дерева. В дереве любые два узла, один из которых исходный, а другой зависимый, связаны иерархической связью. Длина пути - количество дуг, которые необходимо пройти для достижения определённой вершины. В древовидной структуре иерархические пути - линейные. Любой узел, находящийся на иерархическом пути выше рассматриваемого узла, является для него исходным узлом (родительским). Любой узел, находящийся на иерархическом пути ниже рассматриваемого узла, является для него порождённым узлом (наследником). У каждого узла - объекта может быть несколько “наследников“ и существует один “родитель“. Узлы и функциональные связи между ними в ИМД - именованные, то есть имеют имя.

Ф КазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

51

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

15.2.Сетевая модель данных

Если структура данных оказывалась сложнее, чем обычная иерархия, простота структуры иерархической базы данных становилась её недостатком. В связи с этим возникла необходимость в разработке сетевой модели данных (СМД). Сетевая модель позволяет любому объекту быть связанным с любым другим объектом. Сетевую модель данных (СМД) можно рассматривать, как более общий случай ИМД, в которой разрешены циклы и всевозможные связи. По своим базовым концепциям ИМД и СМД очень похожи. В сетевой модели, так же как и в иерархической модели, есть понятие узла и связи, которая может быть именована. Главное отличие сетевой модели от иерархической заключается в том, что к каждому узлу может идти связь не от одного родителя, а от нескольких.

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

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

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

Ф КазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

52

связано разное число экземпляров другой записи, но число видов связи одинаково для всех экземпляров одной записи.

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

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

В СМД реализованы все возможные типы групповых отношений: 1:1, 1:М, М:1, М:М, поэтому они используется при наличии самых различных связей между объектами.

15.3. Реляционная модель данных

Реляционная модель представляет объекты и взаимосвязи между ними в виде таблиц. Впервые она была предложена доктором Э.Ф.Коддом в 1970 г. Реляционная модель данных (РМД) является в настоящее время самой распространенной. В основе реляционной модели данных лежит математическое понятие отношения, представляющего собой подмножество декартова произведения доменов. Отношение определяется на множестве атрибутов. Домен – это множество значений, из которых извлекаются фактические значения атрибута. По-английски отношение называется relation, отсюда и название реляционная. В реляционной модели данных объекты и связи между ними описываются в виде отношений, которые представляются двумерными таблицами. Каждому отношению соответствует своя таблица. Из одного и того же отношения можно выбрать данные в порядке возрастания зарплаты, в алфавитном порядке фамилий и т.д.

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

Ф КазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

53

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

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

3. ТЕМАТИКА И КРАТКОЕ ОПИСАНИЕ ЛАБОРАТОРНЫХ И СТУДИЙНЫХ РАБОТ

Лабораторное занятие 1 Создание и изменение таблиц данных

в реляционной СУБД Access

Задания к лабораторному занятию 1

1.Создать таблицу, описывающую объект из конкретной предметной области (например: книга, студент, служащий, товар, поставщик и т.д.) с различными типами полей, заполнить таблицу записями (не менее 15 записей).

2.Изменить структуру таблицы, просмотреть таблицу и структуру таблицы.

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

4.Выполнить индивидуальное задание, полученное от преподавателя.

Методические рекомендации: Использовать СУБД MS Access, методические указания к лабораторным работам.

Дополнительная литература: [11] с. 18-25.

Контрольные вопросы:

1.Какие существуют типы полей в таблице Access?

2.Какой тип имеет поле таблицы MS Access, предназначенное для хранения рисунков?

ФКазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

54

3.Какой тип имеет поле таблицы MS Access, обладающее свойством автоматического наращивания?

4.Какой тип имеет поле таблицы MS Access, предназначенное для хранения гиперссылок?

5.Какой тип имеет поле таблицы MS Access, предназначенное для хранения больших текстовых блоков?

6.В каком случае используется поле логического типа в таблице

MS Access?

Лабораторное занятие 2

Создание запросов в реляционной СУБД Access

Задания к лабораторному занятию 2

1. Создать две таблицы, описывающие два объекта из конкретной предметной области (по вариантам.), заполнить таблицы записями, связать таблицы, используя схему данных.

2.Создать два простых запроса на выборку с использованием конструктора (или мастера) запросов, выбирая отдельные поля и записи из таблиц, использовать критерии выборки. Просмотреть SQL код запросов.

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

4.Создать запрос с параметром. Просмотреть SQL код за-

проса.

Методические рекомендации: Использовать СУБД MS Access, методические указания к лабораторным работам.

Дополнительная литература: [11] с. 18-25.

Контрольные вопросы:

1.Какие существуют типы запросов в таблице Access?

2.Какая вкладка БД MS Access предназначена для создания запроса на выборку?

3.Какие инструменты БД MS Access можно использовать для создания запросов?

4.Откуда берутся данные в запрос на выборку?

5.Какой язык используется для создания запросов к таблицам БД MS Access?

ФКазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

55

Лабораторное занятие 3 Определение, манипулирование и управление

данными в dBase-подобных СУБД

Задания к лабораторному занятию 3

1.Создать отношение (таблицу), описывающее объект из конкретной предметной области (например: книга, студент, служащий, товар, поставщик и т.д.) с несколькими атрибутами, заполнить таблицу записями (не менее 15 записей).

2.Изменить структуру таблицы, просмотреть таблицу и структуру таблицы.

3.Отредактировать созданную таблицу, проверить действия команд DELETE, RECALL, PACK.

4.Выполнить индивидуальное задание, полученное от преподавателя.

Методические рекомендации: Использовать СУБД Visual FoxPro, методические указания к лабораторным работам.

Основная литература: [1] с.46-67.

Контрольные вопросы:

1.Какая команда используется для создания и изменения структуры таблицы?

2.Какие команды используются для добавления записей в таблицу?

3.Какая команда используется для просмотра записей в таблице?

4.Каким образом выполняется удаление записей из таблицы?

5.Какая команда позволяет редактировать все записи определенного поля?

Лабораторное занятие 4 Работа с файлами в СУБД

Задания к лабораторному занятию 4

1.Получить информацию о файлах текущего каталога, указанного каталога.

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

ФКазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

56

3.Выполнить различные типы сортировки из открытой таблицы данных.

4.Выполнить различные типы индексирования из открытой таблицы данных.

5.Выполнить индивидуальное задание, полученное от преподавателя.

Методические рекомендации: Использовать СУБД Visual FoxPro, методические указания к лабораторным работам.

Основная литература: [1] с.68-81, 122-131.

Контрольные вопросы:

1.Какая команда позволяет получить информацию об имеющихся файлах в системе?

2.Какая команда позволяет скопировать активную таблицу?

3.Какая команда позволяет удалить файл БД, особенности ее использования?

4.Какая команда позволяет создать новый файл с определенными записями активной БД, отсортированными в алфавитном порядке по определенному полю?

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

Лабораторное занятие 5 Создание и выполнение программ в СУБД

Задания к лабораторному занятию №3

1.Создать программу для просмотра и редактирования таблицы данных.

2.Добавить в программу оператор сканирования таблицы

данных.

3.Осуществить в операторе сканирования проверку условия, используя оператор условия.

4.Добавить в программу команды-функции: COUNT, SUM, AVERAGE.

5.Выполнить индивидуальное задание, полученное от преподавателя.

ФКазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

57

Методические рекомендации: Использовать СУБД Visual FoxPro, методические указания к лабораторным работам.

Основная литература: [1] с.88-97, 109-117.

Контрольные вопросы:

1.Какая команда позволяет создать программу?

2.Назовите операторы цикла.

3.Какой оператор выполняет проверку условия?

4.Какой оператор выполняет сканирование таблицы данных?

5.Какое расширение имеет программный файл?

Лабораторное занятие 6 Определение и манипулирование данными в SQL

Задания к лабораторному занятию 6

1.Сформировать простые запросы SQL к таблице данных (не менее 5 типов) используя вычисляемые столбцы, задавая выводимые имена столбцов и различные типы получателей запроса.

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

3.Из таблицы получить справочную информацию (не менее 3 типов) используя запросы с операторами BETWEEN, IN, LIKE.

4.Выполнить индивидуальное задание, полученное от преподавателя.

Методические рекомендации: Использовать СУБД Visual FoxPro, методические указания к лабораторным работам.

Основнаялитература: [1] с.128-132, [2] с.9-16, 26-32, [5] с.12-19.

Контрольные вопросы:

1.Какая команда SQL позволяет создать БД?

2.Какая команда SQL позволяет создать таблицу данных?

3.Какая команда SQL позволяет удалить БД?

4.Какая команда SQL позволяет изменить структуру таблицы данных?

5.Какая команда SQL позволяет модифицировать записи таблицы данных?

ФКазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

58

Лабораторное занятие 7 Формирование запросов SQL

Задания к лабораторному занятию 7

1.Сформировать простые запросы SQL к таблице данных (не менее 5 типов) используя вычисляемые столбцы, задавая выводимые имена столбцов и различные типы получателей запроса (отправляя результат выборки в таблицу базы данных, текстовый файл, массив и временную таблицу).

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

3.Из таблицы получить справочную информацию (не менее 3 типов) используя запросы с операторами BETWEEN, IN, LIKE.

4.Выполнить индивидуальное задание, полученное от преподавателя.

Методические рекомендации: Использовать СУБД Visual FoxPro, методические указания к лабораторным работам.

Основная литература: [1] с.174-193, [2] с.16-32.

Дополнительная литература: [9] с.1028-1040.

Контрольные вопросы:

1.Какая опция исключает возможность вывода одинаковых строк в выборке?

2.Какой символ можно указать, если необходимо построить выборку из всех полей таблицы данных?

3.Какой оператор позволяет построить условие сравнения по шаблону?

4.Назовите типы возможных получателей данных выборки.

5.Какая опция используется для упорядочения данных запроса?

Лабораторное занятие 8 Формирование сложных запросов SQL

Задания к лабораторному занятию 9

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

Ф КазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

59

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

3.Из двух логически связанных таблиц данных получить справочную информацию (не менее 5 типов), используя объединение запросов JOIN (четыре типа объединения).

4.Выполнить индивидуальное задание, полученное от преподавателя.

Методические рекомендации: Использовать СУБД Visual FoxPro, методические указания к лабораторным работам.

Основная литература: [1] с. 174-193, [2] с. 16-32.

Дополнительная литература: [9] с. 1028-1040.

Контрольные вопросы:

1.Как и для чего в команде SELЕCT используются псевдонимы?

2.Какой оператор позволяет объединить результаты нескольких выборок?

3.Перечислите возможные типы связей в операторе JOIN, их особенности.

4.Назовите стандартные функции SQL, их назначение.

5.Какая операция позволяет проверить, возвращает ли тот или иной оператор SELECT какие-то значения?

Лабораторное занятие 9 Использование подзапросов SQL

Задания к лабораторному занятию 9

1.Из таблицы данных получить справочную информацию (не менее 3 типов), используя запросы с подзапросом (в подзапросе использовать стандартные функции SQL).

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

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

ФКазНПУ 0703-12-11 Учебно-методический комплекс дисциплины для обучающегося

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]