Реляционные БД.
Если бы информация хранилась просто в таблице, то для работы с ней не нужны были бы специальные системы управления базами данных (СУБД). На практике приходится иметь дело с более сложными структурами, которые образованы из многих связанных между собой таблиц. БД, имеющие связанные таблицы, называются реляционными БД.
Пример. Малое предприятие занимается прокатом компакт-дисков с компьютерными играми. Для работы предприятию нужна БД, чтобы всегда знать: кто и какой диск взял, когда должен возвратить, сколько дисков каждого наименования осталось на складе и т.д. Но если все сведения о клиентах и дисках хранить в одной таблице, то она станет очень неудобной для работы, в ней начнутся повторы данных:
Фамилия | Имя | Отчество | Индекс | Адрес | Телефон | Залог | Диск | Взят | Возвр |
Архипов | Игорь | Петрович | Харьков- | 22-11-22 | 30грн | Diablo | 26/05 | Ö | |
Борисов | Иван | Иванович | Валки,ул | 13-13-14 | 32грн | Quake | 28/05 | Ö | |
Архипов | Игорь | Петрович | Харьков- | 22-11-22 | 15грн | Orion- | 1/06 | - |
Каждый раз, когда Архипов И.П. будет брать диск, придется вводить заново его данные. Это долго, трудно и чревато ошибками. Гораздо удобнее сделать несколько таблиц. В одной хранить сведения о клиентах со всеми их данными; в другой – сведения о выданных дисках, чтобы в любой момент знать, что выдано клиенту и когда наступает срок возврата; в третьей таблице – остаток дисков на складе, чтобы вовремя пополнять запасы. После этого отдельные поля таблиц связывают. Если заданы связи между таблицами, то работать с разными таблицами можно, как с одной цельной БД:
Клиенты фирмы: таблица | ||||||
Фамилия | Имя | Отчество | Шифр | Адрес | Телефон | Паспорт |
Архипов | Игорь | Петрович | АИП22 | Харьков-6 | 22-11-22 | ММ304211 |
Борисов | Иван | Иванович | БИИ14 | Валки, ул . | 13-13-14 | ММ245112 |
Прокат: таблица | ||||||
№ | Клиент | Диск | Выдан | Срок возвр. | Отметка о возвр | Оплата проката |
АИП22 | Д001 | 26/05 | 12/06 | Ö | 10грн | |
БИИ14 | К023 | 28/05 | 14/06 | Ö | 20грн |
Склад: таблица | ||||||
Название | Жанр | Шифр | Количество | Залог. Стоим. | Остаток | Наличие |
Diablo | Д001 | Ö | ||||
Quake | К023 | Ö |
Если из таблицы Прокат известно, что клиент АИП22 взял диск Д001, то СУБД мгновенно найдет в таблице Клиенты фирмы все паспортные данные этого человека, а в таблице Склад все данные об этом диске.
Структура связей между таблицами называется схемой данных:
Разделение базы на связанные таблицы не только удобно, но иногда и необходимо. Например, для увеличения числа заказов менеджер фирмы решил поставить в общем зале компьютер, на котором каждый клиент может просмотреть список имеющихся дисков с иллюстрациями из игр. Если база состоит только из одной таблицы, то вместе с информацией о дисках случайный посетитель получит доступ к информации о других клиентах фирмы. Вряд ли это понравится заказчикам. Такой менеджер не только не приобретет новых клиентов, но и растеряет тех, которых имел.
Дата добавления: 2015-05-08; просмотров: 622;