Метод диаграмм «сущность - связь»
Метод диаграмм заключается в непосредственном переходе от концептуальной модели к реляционной с использованием правил перехода.
Бинарная связь «один – к – одному»
Правило 1: если степень бинарной связи 1:1, то строится только одно отношение, ключом которого может быть ключ любой из сущности.
Преподаватель (таб.номер) читает только одну дисциплину, дисциплина (код дисциплины) читается только одним преподавателем.
Отношение: Преподаватель (таб.номер, ФИО,…, код дисциплины, наименование…)
или
Отношение: Дисциплина (код дисциплины, наименование,…таб.номер, ФИО,…)
Бинарная связь «один – ко – многим»
Правило 2: Если степень связи между сущностями 1:М или М:, то формируются отношения на каждую из сущностей. Первичными ключами отношений являются ключи их сущностей, ключ 1-связной сущности добавляется как атрибут в отношение М-связной сущности.
Преподаватель (таб.номер) читает много дисциплин, дисциплина (код дисциплины) читается только этим преподавателями.
Отношение 1: Преподаватель (таб.номер, ФИО, адрес, кафедра…)
Отношение 2: Дисциплина (код дисциплины, наименование,…, таб.номер)
Бинарная связь «многие – ко – многим»
Правило 3: Если степень связи М:N, то не зависимо от класса принадлежности сущностей формируются три отношения. Два на каждую из сущностей и их ключи являются первичными ключами этих отношений. Третье отношение является связующим, а его ключ объединяет ключевые атрибуты связываемых отношений.
Преподаватель (таб.номер) читает или не читает много дисциплин, дисциплина (код дисциплины) читается или не читается многими преподавателями.
Отношение 1:Преподаватель (таб.номер, ФИО, адрес, кафедра…)
Отношение 2:Дисциплина (код дисциплины, наименование…)
Отношение 3:Читает (таб.номер, код дисциплины,…)
Связи более высокого порядка
Правило 4: Если степень связи n-арная, то независимо от класса принадлежности сущностей строится n+1 отношение. Формируются отношения для каждой из сущности и их ключи являются первичными ключами этих отношений. И отношение одно является связующим и среди своих атрибутов содержит ключи всех сущностей.
Отношение 1: Материал (шифр материала, наименование…)
Отношение 2: Поставщик (код поставщика, название…)
Отношение 3: Потребитель (код потребителя, название…)
Отношение 4: Поставка (№ поставки, код поставщика, шифр материала, код потребителя…)
Системы управления базами данных. Классификация СУБД
Системы управления базами данных
СУБД – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД.
В общем случае под СУБД можно понимать любой программный продукт, поддерживающий процессы создания, ведения и использования БД.
Функции СУБД
1. Поддержка моделей данных и операции над данными.
2. Обеспечение целостности данных (в БД хранится непротиворечивая и полная информация).
3. Обеспечение средствами создания и управления интерфейсом пользователя.
4. Организация связи с языками программирования.
5. Обеспечение средствами обучения пользователя (подсказками, меню).
6. Обеспечение связей с др. пакетами программ (др. СУБД, электронные таблицы, графической поддержкой).
7. Обеспечение работы в сетях.
8. Обеспечение безопасности хранимой информации (защита паролем, поддержка уровней доступа к БД, шифрование данных и программ).
Способ доступа к БД
· Файл-серверные СУБД - файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере. Обработка данных осуществляется на ПК клиента. Пользователь получает файлы базы данных. ( Access, Paradox, dBase, FoxPro).
· Клиент-серверные СУБД - СУБД располагается на сервере вместе с БД. Пользователи через клиентское приложение обращаются с запросами к СУБД и получают записи таблиц (Oracle, Interbase, Informix, MySQL).
· Встраиваемые СУБД — СУБД, которая поставляется как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Физически реализована в виде подключаемой библиотеки. Предназначена только для локального хранения данных и не рассчитана на коллективное использование в сети. (SQLite, BerkeleyDB)
2. Поддерживаемая модель данных:
· Иерархические СУБД;
· Сетевые СУБД;
· Реляционные СУБД;
· Постреляционные СУБД и т.д.;
Степень распределённости
· Локальные СУБД (все части СУБД размещаются на одном ПК)
· Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).
Сфера применения
· Универсальные СУБД
· Специализированные СУБД (проблемно ориентированные СУБД).
Мощность
Настольные СУБД (FoxPro, Clipper, Paradox, Access) - невысокие требования к техническим средствам, ориентация на конечного пользователя и низкая стоимость.
Корпоративные СУБД (Oracle, Sybase, Informix) - работа в распределенной среде, высокая производительность, развитые средства администрирования. Сложные, дорогие, ресурсоемкие.
Процедура выбора СУБД
Процедура выбора СУБД
Процедуру выбора СУБД необходимо проводить в 3 этапа:
1. оценка на качественном уровне программного продукта;
2. оценка технических характеристик;
3. оценка производительности программы.
Оценка на качественном уровне. К числу основных показателей программных продуктов можно отнести следующие:
· вид программного продукта (рассмотрены ранее);
· категории пользователей:
1. профессиональные программисты – разработчики СУБД, серверов БД и др;
2. администраторы БД;
3. квалифицированные пользователи, разрабатывающие приложения;
4. неквалифицированные пользователи;
5. различные комбинации перечисленных категорий.
При выборе программных продуктов следует отдавать предпочтение программам более широкого назначения. Многие популярные многофункциональные СУБД содержат средства как для пользователей и администраторов, так и разработчиков (Microsoft Access содержит Visual basic для создания приложений);
· удобство и простота использования:
1. понятные процедуры установки программных продуктов (особенно сетевые установки с множеством рабочих мест);
2. удобный и унифицированный интерфейс конечного пользователя;
3. простота выполнения обычных операций: создания БД, навигации, модификации данных, подготовки запросов и оформления отчетов;
4. наличие интеллектуальных подсистем подсказок, помощи в процессе работы и обучения, включая примеры;
· модель представления данных.
Наиболее распространенной и отработанной теоретически и практически является РМД.
· качество средств разработки.
Учитывается: возможности создания пользовательских интерфейсов; мощность языка создания программ; автоматизация разработки различных объектов, экранных форм, отчетов, запросов.
Предпочтение отдается системам, имеющим полнофункциональные генераторы (мастера, конструкторы) и обеспечивающим удобство работы пользователя;
· качество средств защиты БД (контроль типа данных, определение диапазона допустимых значений)
· фирма – разработчик.
При отборе программных продуктов немаловажное значение имеет авторство продукта. Солидность фирмы – разработчика пакета дает следующие преимущества:
1. высокое качество продукта;
2. наличие документации и методических материалов;
3. наличие «горячей линии» для консультаций по возникающим проблемам;
4. высокую уверенность в появлении более совершенной версии.
Следует отдавать предпочтение фирмам с твердым финансовым положением и перспективной динамикой роста программно – аппаратных средств. В качестве показателей «благополучия» можно использовать годовой оборот, численность состава, объемы продаж вообще и интересующего продукта, в частности…
· стоимость.
На стоимость программных продуктов в основном влияют вид программного продукта и фирма – разработчик. Стоимость полнофункциональных СУБД обычно колеблется в приделах - $500 - $1000. Общая стоимость включается в себя стоимость прикладного инструментария, средств настройки конфигурации системы, администрирования БД и сопровождения. Иногда общая стоимость крупных систем, построенных на базе РБД, достигает миллиона долларов. Основным фактором, определяющим общую стоимость системы, чаще всего является число поддерживаемых пользователей.
Технические характеристики.
1. Общие параметры:
· операционная среда (типы поддерживаемых ОС);
· потребность в оперативной памяти;
· ограничение на max объем БД;
· ограничение на количество одновременных подключений пользователей.
2. Ограничения на операции над данными:
· max размер поля;
· max размер строки;
· max число полей в таблице;
· max число индексных полей;
· max число строк в таблице;
· max число одновременно открытых таблиц.
3. Типы данных.
4. Возможности средств формулировки и выполнения запросов:
· вид языка запросов: SQL, QBE, свой собственный;
· максимальное число полей для поиска;
· сохранение запросов;
· сортировка: по одному любому полю, по нескольким полям;
· наличие вычислений в запросах.
5. Работа в многопользовательских средах:
· типы блокировок: исключительные, общие;
· уровни защиты: защита БД, защита объектов разработки (текстов программ, отчетов, экранных форм), защита таблицы (файла), защита записи, защита поля;
6. Инструментальные средства разработки приложений:
· генератор интерфейсов пользователя (экранных форм, меню, кнопок, окон, отчетов);
· генерация независимых exe - модулей.
7. Импорт и экспорт: ASCII – файлы, DBF – формат, XLS – формат и другие.
Оценка производительности.Тестирование СУБД проводится с помощью эталонных тестов. Испытываемая БД состоит из 4 таблиц по 100 тысяч записей.
Основные виды применяемых тестов:
1. «Выборка». Измеряется на сколько быстро СУБД может выполнять однотабличный запрос. Запросы включают текстовые и числовые данных, значения должны попадать в заданный диапазон.
2. «Полное сканирование». Измеряет время, необходимое для поиска значения в неиндексируемом поле, которое отсутствует в таблице.
3. «Загрузка и индексация». Проводится оценивание того, как быстро программы могут импортировать исходную БД и создать определенное число индексов.
4. «Обновление». Предназначен для измерения времени обновления индексов при выполнении операций модификации, вставки и удаления 1000 записей.
5. «Чтение с произвольной выборкой». Позволяет определить max число параллельных обращений к данным, которые способен обработать испытываемый пакет. Для получения этой характеристики, на рабочих станциях генерировались запросы со случайными номерами записей одной таблицы, которые должен быть выполнить пакет, находящийся на отдельном ПК.
6. «Запись с произвольным доступом». Каждая из рабочих станций случайно выбирает обновляемую запись, в которой изменяется целочисленное поле.
7. «Генерация отчета». Предполагает задействование одной рабочей станции для подготовки и печати собственного отчета, а других машин – для имитации потока требований к основной станции при групповой работе. Имитация происходит при помощи теста «чтение с произвольной выборкой».
По параметрам производительности оценивались 10 наиболее высококачественных СУБД. Лидирующее положение заняли PARADOX и ACCESS.
ЯЗЫК ЗАПРОСОВ SQL
Основные понятия
SQL (Structured Query Language) представляет собой непроцедурный язык, используемый для управления данными в реляционных СУБД. Термин непроцедурный означает, что на этом языке можно сформулировать, что нужно сделать с данными, но нельзя проинструктировать, как это сделать.
Язык SQL был создан в начале 70 – х годов фирмой IBM. За это время он был расширен, то есть дополнен новыми операторами.
Функции SQL
· Организация данных (дает пользователю возможность устанавливать отношения между элементами базы данных).
· Чтение данных (дает пользователю возможность читать из базы данных содержащиеся в ней данные и пользоваться ими).
· Обработка данных (дает пользователю возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные).
· Управление доступом (можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа).
· Совместное использование данных (координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу).
· Целостность данных (позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы).