- •Информационные системы
- •Банк данных и его компоненты
- •Модели представления данных
- •Индексирование
- •Реляционные языки и обработки реляционных таблиц
- •Виды связей между отношениями
- •Классификация программ в субд
- •Проектирование и нормализация бд
- •Управление транзакциями
- •Элементы языка sql
- •Выборка данных с использованием предложения select
- •InterBase
- •Индексы
Виды связей между отношениями
В зависимости от того как определены поля связи между родительской и дочерней таблицей, выделяют 4 вида связи:
Один к одному (1:1)– означает, что одной записи из первой таблицы соответствует только одна запись из второй таблицы (между первичными ключами);
Один ко многим (1:М) – одной записи из первой таблицы соответствует одна или несколько записей из другой таблицы (между первичным и внешним ключом, между первичным и первичным составным);
Многие к одному (М:1) –зеркальное отображение связи 1:М;
Многие ко многим (М:М) – возможно в случаях, когда обязательно выполняются следующие два условия:
- одной записи из первой таблице соответствует одна или несколько записей из другой таблицы;
- одной записи второй таблицы соответствует одна или несколько записей из первой таблицы.
Классификация программ в субд
В общем случае под СУБД можно понимать любой программный продукт, поддерживающий процессы создания, ведения и использования базы данных. В общем случае БД делятся на следующие виды программ:
1. Полнофункциональные СУБД– обычно имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД (создание, ведение, модификация структур таблиц, ввод данных, формирование запросов, разработка отчетов, вывод отчетов на печать). Многие полнофункциональные СУБД включают в себя средства программирования для профессиональных разработчиков.//Access, FoxPro, Paradox, DBase
2. Серверы БД– предназначены для организации центров обработки информации в сетях ЭВМ. Реализуют функции управления БД, запрашиваемых другими пользователями обычно с помощьюSQL-запроса.//SQL-Server, InterBase
3. Клиенты БД– могут использоваться различные программы, например, полнофункциональные СУБД.
4. Средства разработки программ работы с БД– могут использоваться для создания разновидностей следующих программ: клиентских программ, серверов БД, отдельных компонентов пользовательских приложений.//системы программирования, разнообразные библиотеки программ для различных языков программирования, пакеты автоматизации разработок.
По характеру использования СУБД делятся на:
1. Персональные СУБД– обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними. Они выступают в роли клиентской части многопользовательских СУБД.
2. Многопользовательские СУБД– включают в себя сервер БД и клиентскую часть. Как правило, они могут работать в неоднородной ВС (с разными типами ЭВМ и ОС).
Проектирование и нормализация бд
При проектировании реляционных БД необходимо решить вопрос о наиболее эффективной структуре данных.
Цели, которые при этом преследуются:
Исключить ненужные повторения, которые могут являться причиной ошибок при вводе, и нерациональное использование дискового пространства.
Обеспечение целостности т.о., чтобы при изменении одного объекта происходило автоматическое изменение связанных с ним объектов.
Обеспечение быстрого доступа к данным в таблице.
Нормализация - процесс уменьшения избыточности информации в БД.
Теория нормализации оперирует пятью нормальными формами. Эти формы предназначены для уменьшения избыточной информации от первой до пятой нормальной формы. Поэтому каждая нормальная форма удовлетворяет требованиям предыдущей формы и некоторыми своим дополнительным условием. На практике используется три первые нормальные формы чаще всего.
Наша БД будет состоять:
|
№ п/п |
Наименование атрибута |
|
1 |
Код_покупателя |
|
2 |
Предприятие |
|
3 |
Фамилия |
|
4 |
Имя |
|
5 |
Отчество |
|
6 |
Телефон |
|
7 |
Индекс |
|
8 |
Страна |
|
9 |
Область |
|
10 |
Город |
|
11 |
Остальная_часть_адреса |
|
12 |
Кредит |
|
13 |
Номер_заказа |
|
14 |
Дата_заказа |
|
15 |
Заказанное_количество |
|
16 |
Дата_продажи |
|
17 |
Проданное_количество |
|
18 |
Код_менеджера |
|
19 |
Имя_менеджера |
|
20 |
Группа_товара |
|
21 |
Код_товара |
|
22 |
Наименование |
|
23 |
Цена |
|
24 |
Примечание |
- таблица не должна иметь повторяющихся записей;
- таблица не должна иметь повторяющихся групп полей.






|
Покупатели |
|
Код_покупателя |
|
Предприятие |
|
Фамилия |
|
Имя |
|
Отчество |
|
Индекс |
|
Страна |
|
Область |
|
Город |
|
Остальная_часть_адреса |
|
Кредит |
|
Заказано |
|
Номер_заказа |
|
Код_покупателя |
|
Дата_заказа |
|
Дата_продажи |
|
Код_менеджера |
|
Имя_менеджера |
|
Продано |
|
Номер_заказа |
|
Код_товара |
|
Наименование |
|
Группа_товара |
|
Цена |
|
Заказанное_количество |
|
Проданное_количество |
|
Примечание |
|
Телефон |
|
Код_покупателя |
|
Телефон |
Отношение во второй нормальной формедолжно удовлетворять следующему условию:
- отношение должно удовлетворять условию первой нормальной формы;
- любое не ключевое поле однозначно идентифицируется полным набором ключевых полей.
|
Продано |
|
Номер_заказа |
|
Код_товара |
|
Заказанное_количество |
|
Проданное_количество |
|
Примечание |
|
Товар |
|
Код_товара |
|
Наименование |
|
Группа_товара |
|
Цена |
Отношение в третьей нормальной формедолжно удовлетворять следующему условию:
- отношение должно удовлетворять условию второй нормальной формы;
- любое не ключевое поле не должно однозначно идентифицироваться другим не ключевым полем.
|
Заказано |
|
Номер_заказа |
|
Код_покупателя |
|
Дата_заказа |
|
Дата_продажи |
|
Код_менеджера |
|
Менеджер |
|
Код_менеджера |
|
Имя_менеджера |
J
