- •Информационные системы
- •Пользователи информационных систем
- •Преимущество и проблемы интеграции информации
- •Проектирование баз данных
- •Выбор субд
- •Дата логическое проектирование
- •4 Нормальная форма
- •Операции над рбк
- •Обработка отношений
- •Размещение данных в памяти эвм
- •Язык запросов sql
- •Субд Microsoft Access
- •Субд FoXPro
- •Команды управления
- •Структура системных команд foxpro
- •Индексирование баз данных
- •Index on fio to kadrsex // sex – половая принадлежность
- •If found() // а если найду?
- •Язык vba (Visual Basic Application)
Выбор субд
При выборе СУБД большое значение имеет логическая модель, свойственная для данной СУБД. При этом выделяют 3 логические модели:
Иерархическая модель данных
Сетевая МД
Реляционная МД
Иерархическая модель данных
Рисунок дерева.
Особенности:
Могут присутствовать связи has_many, has_one
Структура древовидная.
Иерархия всегда начинается с корня (i = 1)
Корень только 1
На нижних уровнях, где i = 2,…,n – порожденные узлы и их может быть сколько угодно.
Доступ к каждому порожденному узлу выполняется только через его исходный.
Существует единственный иерархический путь доступа к любому узлу, начиная с корня.
Достоинства:
На неё хорошо ложатся организационные системы
Недостатки:
Сложный длительный поиск
Сетевая модель
Особенности:
Любой элемент может быть как исходным, так и порожденным
Любой элемент может иметь сколько угодно исходных.
Исходный элемент в сетевой модели называется владельцем набора, а порожденный – членом набора.
Любой элемент может быть одновременно и в роли владельца и в роли члена набора.
Связи могут быть: has_one, has_many, M:1, M:M
На сетевую систему хорошо ложатся ИС типа «план графиков»
Недостаток:
Запутанные пути, и поэтому возникает задача поиска оптимального пути.
Реляционная модель данных (РМД)
РМД - это множество взаимосвязанных таблиц, то есть информация в них представляется множеством таблиц.
Терминология в БД
Формальный термин РБД |
Неформальный эквивалент |
Отношение |
Таблица |
Схема отношения |
Строка заголовков, столбцов таблицы |
Кортеж |
Строка |
Атрибут |
Заголовок столбца |
Домен |
Множество значений атрибута |
Значение атрибута |
Значение поля в строке |
Первичный ключ |
Один или несколько атрибутов, однозначно определяющих каждую строку |
Тип данных |
Тип значений элементов в таблице |
Степень |
Количество столбцов |
Кардинальное число |
Количество строк в таблице |
R:Студент
Номер зачетки |
ФИО |
Группа |
Дата рождения |
Дом. Адрес |
4441 |
Иванов |
4201 |
… |
… |
4442 |
Сидоров |
4201 |
… |
… |
4443 |
Петров |
4209 |
… |
… |
|
|
|
|
|
Номер зачетки – атрибут и первичный ключ. 5 доменов
Отношения характеризуются следующими свойствами:
Каждое отношения представляет 1 объект (сущность) и состоит из картежей и атрибутов. Совокупность всех возможных значений атрибутов – домен.
Всем столбцам таблицы присвоены уникальные имена.
В отношении не может быть 2-ух одинаковых строк.
Столбцы и строки могут просматриваться в любом порядке.
Строки могут быть не упорядочены сверху вниз, а столбцы слева-направо.
Каждое отношение должно иметь первичный ключ – это один или несколько атрибутов, который единственным образом идентифицирует каждую строку таблицы. Удаление какого-либо атрибута из сложного ключа нарушает идентификацию.
Возможны случаи, когда отношение имеет несколько комбинаций атрибутов, каждый из которых однозначно определяет все кортежи отношений. Эти комбинации называются возможными ключами, и любой из них может быть выбран первичным.
Ключи используются для:
Исключения дублирования кортежей.
Для упорядочения кортежей и как следствие, ускорения обработки информации.
Для организации связей между таблицами.
Связывание таблиц
R2: Студент – ФИО| группа | специальность
R3: Предметы – название | количество часов
R1: Успеваемость – ФИО | дисциплина | оценка
Пусть в отношении R1 имеется не ключевой атрибут А, значение которого является значениями ключевого предмета отношения R2, тогда говорят, что атрибут А отношения R1 есть внешний ключ (foreign key).
В РБД должна обеспечиваться ссылочная целостность, то есть каждому значению внешнего ключа должна соответствовать строка в связываемых таблицах.
При связывании двух таблиц выделяют основную и подчиненную таблицу. Логическое связывание производится при помощи ключа связи – один или несколько атрибутов связи (могут быть ключевыми или обычными). Между двумя таблицами могут быть установлены связи: 1:1 1:M M:1 M:M
Контроль целостности
Одной строке таблицы соответствует несколько в другой: 1:M
Контроль целостности - каждой записи основной таблицы соответствует 0 или более записей подчиненной таблицы.
В подчиненной таблице нет записей, которые не имеют записей в основной таблице.
Каждая запись дополнительной таблицы имеет только одну запись родительской таблицы.
Правило перехода от инфологической модели к РБД
Каждой сущности ставится в соответствие отношение реляционной модели.
Каждый атрибут сущности становится атрибутом отношения, возможно с другим именем. Для каждого атрибута отношений при этом определяется тип данных допустимых для этой СУБД.
Первичный ключ сущности становится первичным ключом отношения
В каждом отношении подчиненной сущности добавляется набор атрибутов основной сущности, являющихся первичными ключом основной сущности (внешний ключ)