- •1.Организация информационных массивов.
- •2.Компоненты среды субд.
- •3.Преимущества и недостатки субд. Преимущества
- •Недостатки
- •4.Жизненный цикл информационной системы.
- •Системный структурный анализ
- •5.Проектирование бд.
- •6.Моделирование данных.
- •7.Определение связей между объектами.
- •8.Логическое проектирование бд.
- •9.Реляционная модель данных.
- •10.Идентификация объекта.
- •11.Построение схемы реляционной бд.
- •1. Простой объект
- •2. Между объектами по имеется связь 1:1
- •3. Между объектами имеется связь 1:м
- •4. Между объектами имеется связь м:м.
- •5. Агрегированный объект
- •6. Супертип-подтип
- •Фрагмент концептуальной модели "институт"
- •12.Операции над реляционными отношениями.
- •Операции над множествами
- •13.Нормализация отношений.
- •14. Обеспечение целостности бд.
- •Целостность таблицы
- •Ссылочная целостность
- •15.Физическое проектирование базы данных
- •16.Анализ транзакций при физическом проект.
- •18.Особенности логических моделей данных
- •19.Иерархическая модель данных
- •20.Сетевая модель данных
- •21.Транзакция. Св-во транзакции.
- •22.Проблемы, возникающие при параллельном выполнении транз.
- •23.Методы управления параллельностью
- •24.Этапы развития субд
- •Эволюция серверов баз данных
- •25.Требования к современным субд. Активный сервер
- •26. Информационные приложения
- •27. Варианты построения информационных систем
- •28.Клиент-сервер
- •30. Распределенные базы данных
- •31. Виды систем поддержки принятия решений
- •32. Хранилища данных
- •34. Субд третьего поколения.
- •Объектно-реляционные субд.
- •Преимущества орсубд
- •Недостатки орсубд
- •17.Язык структурированных запросов(Structured Query Language)
- •29.Архитектура Web-приложений, публикующих бд
- •Трехуровневые Web-приложения
- •Многоуровневые Web-приложения
- •33.Оперативная аналитическая обработка
Объектно-реляционные субд.
В настоящее время реляционные СУБД являются доминирующим типом СУБД, приблизительный ежегодный объем продаж которых составляет до 10 миллиардов долларов США или 25 миллиардов с учетом продажи инструментов для их разработки. Рынок ООСУБД относительно мал, но они продолжают находить все новые области применения, например в WWW. Поэтому фирмы-разработчики реляционных СУБД стараются расширить функциональные возможности существующих систем.
При рассмотрении новых сложных специализированных приложений баз данных видно, что в них широко используются такие объектно-ориентированные компоненты, как расширяемая пользователем система типов, инкапсуляция, наследование, полиморфизм, динамическое связывание методов, использование составных объектов. Очевидный способ преодоления ограничений реляционной модели заключается в ее расширении перечисленными функциями. Именно такой подход был принят многими разработчиками СУБД. Не существует какой-либо общепринятой расширенной реляционной модели, но имеется несколько таких моделей, характеристики которых зависят от способа и степени реализации внесенных расширений. Однако во всех моделях используются одинаковые базовые реляционные таблицы и язык запросов, включено понятие объекта, а в некоторых дополнительно реализована возможность сохранения методов (или процедур или триггеров) таким же способом, что и в базе данных.
Преимущества орсубд
1. Помимо устранения многих недостатков реляционных моделей, основными преимуществами расширенной реляционной модели данных является повторное и совместное использование компонентов. Повторное использование основано на возможности расширения сервера СУБД стандартными функциями, которые выполняются централизованно и не входят в виде выполняемого кода в состав каждого приложения.
2. Расширенный реляционный подход позволяет воспользоваться обширным объемом накопленных знаний и опыта, связанных с разработкой реляционных приложений. Это очень важное достоинство, так как многие организации не хотят тратить средства на достаточно дорогой переход к системе нового типа. При правильном проектировании с учетом новых функциональных возможностей подобный подход позволяет организациям воспользоваться преимуществами новых расширений без утраты преимуществ, получаемых от использования компонентов и функций уже существующей базы данных.
Недостатки орсубд
Очевидными недостатками являются сложность и связанные с ней повышенные расходы. Фирмы-разработчики пытаются представить объекты как расширения реляционной модели с некоторыми дополнительными усложнениями. При этом утрачивается смысл объектно-ориентированного подхода. Объектные приложения не настолько ориентированы на структуру данных, как реляционные приложения, к тому же объекты принципиально не являются очередным расширением понятия данных, потому что представляют совершенно другую концепцию, с гораздо большим потенциалом выражения связей и поведения сущностей реального мира.
17.Язык структурированных запросов(Structured Query Language)
Одним из основных преимуществ реляционного подхода к организации баз данных (БД) является то, что пользователи реляционных БД получают возможность эффективной работы в терминах простых и наглядных понятий таблиц, их строк и столбцов без потребности знания реальной организации данных во внешней памяти. Реляционная модель данных, содержащая набор четких предписаний к базовой организации любой реляционной системы управления базами данных (СУБД), позволяет пользователям работать в ненавигационной манере, т.е. для выборки информации из БД человек должен всего лишь указать список интересующих его таблиц и те условия, которым должны удовлетворять выбираемые данные. СУБД скрывает от пользователя выполняемые ей последовательные просмотры таблиц, выполняя их наиболее эффективным образом. Основная особенность реляционных систем состоит в том, что результатом выполнения любого запроса к таблицам БД является также таблица, которую можно сохранить в БД и по отношению к которой можно выполнять новые запросы.
Очень важным требованием к реляционным СУБД является наличие мощного и в тоже время простого языка, позволяющего выполнять все необходимые пользователям операции. В последние годы таким повсеместно принятым языком стал язык реляционных БД SQL (Structured Query Language- язык структурированных запросов). История наиболее распространенного в настоящее время языка реляционных баз данных SQL насчитывает уже более 25 лет. Первый, достаточно полный функционально, но не полностью синтаксически и семантически определенный вариант языка SQL (его исходным названием было SEQUEL - StructuredEnglishQueryLanguage) был разработан и частично реализован в рамках проекта экспериментальной реляционной СУБД SystemR (проект выполнялся с 1974 по 1979 гг. в научно-исследовательской лаборатории компании IBM в г. Сан-Хосе, Калифорния).
К достоинствам языка SQL относится наличие международных стандартов. Первый международный стандарт был принят в 1989 г., и соответствующая версия языка называется SQL-89. Этот стандарт поддерживается практически во всех современных коммерческих реляционных СУБД (например, в Informix, Sybase, Ingres и т.д.). Второй международный стандарт был принят в 1992 г. - SQL-92. Этот вариант языка существенно шире, чем SQL-89. К настоящему времени основные компании-производители СУБД только частично поддерживают этот стандарт. В настоящее время SQL реализован практически во всех коммерческих реалиционных СУБД, все фирмы провозглашают соответствие своей реализации стандарту SQL, и на самом деле реализованные диалекты SQL очень близки, хотя и не полностью совпадают. Одновременно с завершением работ по определению стандарта SQL2 была начата разработка стандарта SQL3. Предполагается, что SQL3 будет содержать механизм триггеров и возможность использования абстрактных типов данных.
Помимо операторов формулирования запросов и манипулирования БД язык содержит:
средства определения схемы БД и манипулирования схемой;
операторы для определения ограничений целостности и триггеров;
средства определения представлений БД;
средства авторизации доступа к отношениям и их полям;
средства управления транзакциями.
Операторы формулирования запросов и манипулирования БД
Кратко рассмотрим основные возможности операторов формулирования запросов и манипулирования базой данных, которые поддерживаются Delphi для файлов формата dbf. В примерах используют таблицы из лабораторных работ.
1. Оператор SELECT выполняет выборки данных из таблиц базы данных.
В простейшем случае команда выглядит следующим образом
SELECT { * | столбец 1, [столбец 2,…]}
FROM таблица
Использование предложения WHERE выбирает лишь строки, удовлетворяющие условию поиска.
SELECT {* | столбец 1, [столбец 2,…]}
FROM таблица
WHERE < условие поиска>
Условие может включать имена полей, константы, логические выражения, содержащие арифметические операции, логические операции and, or, not и операции отношения:
= > >= < <= != или <> like символов between … and in
|
равно больше больше или равно меньше меньше или равно не равно наличие заданной последовательности
диапазон значений соответствие элементу множества
|
Операция like имеет синтаксис
<поле> like ‘последовательность символов’
Искомые символы могут начинаться и (или) заканчиваться символом %.
Операция between …and имеет синтаксис
<поле> between <значение 1> and < значение 2>
Операция in имеет синтаксис
<поле> in (<значение 1> , <значение 2> , … < значение n>)
Часто в результирующий набор необходимо включить не все записи с одинаковым значением какого-либо столбца (комбинации столбцов), а только одну из них. В этом случае после SELECT указывают ключевое слово DISTINCT.
Предложение ORDER BY позволяет упорядочивать результирующий набор
SELECT {* | столбец 1, [столбец 2,…]}
FROM таблица
ORDER BY <список столбцов>
Для получения данных сразу из нескольких таблиц используется соединение этих таблиц по общим для них столбцам (внутреннее соединение) во фразе where. Выводятся записи, у которых значения в общих столбцах совпадают. Вместо длинных названий таблиц можно использовать короткие псевдонимы, которые помещаются после имени таблицы во фразе FROM.
Агрегатные функции предназначены для вычисления итоговых значений. К агрегатным функциям относятся:
COUNT (<выражение>) – посчитывает число вхождений значения выражения;
MIN (<выражение>) – определяет минимальное значение;
MAX (<выражение>) – определяет максимальное значение;
SUM (<выражение>) - суммирует значения выражения;
AVG (<выражение>) - находит среднеарифметическое значение.
Группировка записей применяется, когда надо найти агрегированные значения по каждой из входящих в набор данных групп, имеющих одинаковое значение какого-либо столбца.
GROUP BY столбец 1, [столбец 2,…]
Необходимо, чтобы столбец, по которому выполняется группирование, был представлен агрегатной функцией.
2. Оператор добавления INSERT имеет следующий общий вид:
INSERT INTO <таблица> [ ( столбец 1 [, столбец 2 …] ) ]
VALUES (<значение 1> [,<значение 2>…] )
Список столбцов указывает столбцы, которым будут присвоены значения в добавляемых записях. Список столбцов может быть опущен. В этом случае подразумеваются все столбцы таблицы, причем в том порядке, в котором они определены при создании таблицы.
3. Оператор UPDATE используется для изменения значений в группе записей или, в частном случае, одной записи.
Формат оператора:
UPDATE таблица
SET столбец1= <значение1> [, столбец1= значение2 …]
[ WHERE <условие поиска> ]
Если фраза WHERE отсутствует, то будут изменены ВСЕ записи в таблице.
4. Оператор DELETE предназначен для удаления одной или группы записей из таблицы.
Формат оператора:
DELETE
FROM таблица
[ WHERE <условие поиска> ]
Если фраза WHERE отсутствует, то будут удалены ВСЕ записи в таблице.