
- •Классификация по модели данных
- •Классификация по среде постоянного хранения
- •Классификация по содержимому
- •Классификация по степени распределённости
- •Другие виды бд
- •1.Проектирование базы данных.
- •Методика нормализации.
- •Диаграммы er-экземпляров и er-типа
- •23. Sql. Типы данных.
- •28. Архитектура «клиент-сервер». Fs-модель.
- •29 Архитектура «клиент-сервер». Rda-модель.
- •30Архитектура «клиент-сервер». Dbs-модель.
- •31. Архитектура «клиент-сервер». As-модель.
- •Многопользовательский, однопроцессный, однопотоковый доступ к серверу бд (Desktop: Access, FoxPro, Paradox, dBase, Clipper)
Диаграммы er-экземпляров и er-типа
С целью повышения наглядности и удобства проектирования для представления сущностей, экземпляров сущностей и связей между ними используются следующие графические средства:
диаграммы ER-экзрмпляров,
диаграммы ER-типа, или ER-диаграммы.
На рисунке рис. 8 .1 приведена диаграмма ER-экземпляров для сущностей ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА со связью ВЕДЕТ.
р
ис.
8.1
Диаграмма ER-экземпляров.
Диаграмма ER-экземпляров показывает, какую конкретно дисциплину (СУБД, C++ и т.д.) ведет каждый из преподавателей. На рис. 8 .2 представлена диаграмма ER-типа, соответствующая рассмотренной диаграмме ER-экземпляров.
рис.
8.2
Диаграмма ER-типа.
На начальном этапе проектирования БД выделяются атрибуты, составляющие ключи сущностей.
На основе анализа диаграмм ER-типа формируются отношения проектируемой БД. При этом учитывается степень связи сущностей и класс их принадлежности, которые, в свою очередь, определяются на основе анализа диаграмм ER-экземпляров соответствующих сущностей.
Варьируя классом принадлежности сущностей для каждого из названных типов связи, можно получить несколько вариантов диаграмм ER-типа.
Языки манипулирования данными для реляционных моделей.
20) Созданы языки манипулирования данными, позволяющие реализовать все операции реляционной алгебры и практически любые их сочетания. Среди них наиболее распространены SQL (Structured Query Language - структуризованный язык запросов) и QBE (Quere-By-Example - запросы по образцу) Оба относятся к языкам очень высокого уровня, с помощью которых пользователь указывает, какие данные необходимо получить, не уточняя процедуру их получения.
С помощью единственного запроса на любом из этих языков можно соединить несколько таблиц во временную таблицу и вырезать из нее требуемые строки и столбцы (селекция и проекция).
Рассматриваемый язык SQL ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц-отношений. Важнейшая особенность его структур – ориентация на конечный результат обработки данных, а не на процедуру этой обработки. Язык SQL сам определяет, где находятся данные, индексы и даже какие наиболее эффективные последовательности операций следует использовать для получения результата, а потому указывать эти детали в запросе к базе данных не требуется.
Типы команд SQL
Основные категории команд языка SQL:
DDL – язык определения данных;
DML – язык манипулирования данными;
DQL – язык запросов;
DCL – язык управления данными;
команды администрирования данных;
команды управления транзакциями
Манипулирование данными (DML)
Язык манипулирования данными (Data Manipulation Language, DML) используется для манипулирования информацией внутри объектов реляционной базы данных посредством трех основных команд: INSERT, UPDATE, DELETE.
Выборка данных (DQL)
Язык запросов DQL наиболее известен пользователям реляционной базы данных, несмотря на то, что он включает одну команду SELECT. Эта команда вместе со своими многочисленными опциями и предложениями используется для формирования запросов к реляционной базе данных.
Преимущества языка SQL
Основные достоинства языка SQL заключаются в следующем:
стандартность – как уже было сказано, использование языка SQL в программах стандартизировано международными организациями;
независимость от конкретных СУБД – все распространенные СУБД используют SQL, т.к. реляционную базу данных можно перенести с одной СУБД на другую с минимальными доработками;
возможность переноса с одной вычислительной системы на другую – СУБД может быть ориентирована на различные вычислительные системы, однако приложения, созданные с помощью SQL, допускают использование как для локальных БД, так и для крупных многопользовательских систем;
реляционная основа языка – SQL является языком реляционных БД, поэтому он стал популярным тогда, когда получила широкое распространение реляционная модель представления данных. Табличная структура реляционной БД хорошо понятна, а потому язык SQL прост для изучения;
21
Операции реляционной алгебры.
оздатель Э.Кодд предложил в качестве основы реляционных языков – реляционную алгебру (процедурный язык) и реляционное исчисление (непроцедурный язык).
Реляционная алгебра:
УНАРНЫЕ :
-выборка;
-проекция;
БИНАРНЫЕ :
- декартово произведение;
- объединение;
- разность .
И 3 дополнительных:
- соединение;
- пересечение;
- деление.
Выборка (Ограничение)
Операция выборки над отношением R определяет отношение , которое содержит только те картежи исходного отношения, которые удовлетворяют заданному условию (предикату)
Проекция
Определяет новое отношение, которое содержит вертикальное подмножество исходного отношения, которое создается извлечением значений указанных атрибутов, используя строки дубликаты.
|
ФИО |
|
ТАБ № |
Должность |
||
---|---|---|---|---|---|---|
|
Иванов |
|
1 |
Инженер |
||
|
Петров |
|
2 |
Инженер |
||
|
Кот |
|
3 |
Лаборант |
||
|
Чипс |
|
4 |
Техник |
||
|
|
|||||
|
|
|||||
|
|
|||||
|
|
Должность |
Инженер |
Лаборант |
Техник |
Декартово произведение
Выполняется над двумя отношениями R*S, а результат является навое отношение, полученное в результате конкатенации каждого кортежа из R с каждым кортежем вS. Если отношение R имеет m кортежей и n столбцов, а отношение S имеет pкортежей и q столбцов, то результирующее отношение будет содержать (m*p) кортежей и (n+q) столбцов.
-
Студент
Нзач
ФИО
1
Иванов
2
Петров
3
Кот
4
Чипс
m = 4
n = 2
Предмет |
|
НП |
Препод. |
СУБД |
Гусев |
СПО |
Разоренов |
p = 2
q = 2
Студент * Предмет |
|||
Нзач |
ФИО |
НП |
Препод. |
1 |
Иванов |
СУБД |
Гусев |
1 |
Иванов |
СПО |
Разоренов |
2 |
Петров |
СУБД |
Гусев |
2 |
Петров |
СПО |
Разоренов |
3 |
Кот |
СУБД |
Гусев |
3 |
Кот |
СПО |
Разоренов |
4 |
Чипс |
СУБД |
Гусев |
4 |
Чипс |
СПО |
Разоренов |
Объединение
Выполняется над двумя отношениями R U S. В результате получается новое отношение конкатенации кортежей из R с кортежами в S.
I + J – максимальное число кортежей (без дублирования).
Отношения R и S должны быть совместимы, т.е. иметь одинаковую структуру.
Разность
Бинарная операция R – S , в результате получается новое отношение, состоящее из тех кортежей отношения R, которые отсутствуют в отношении S. Отношения R и Sдолжны быть совместимы.
Соединение
Производиться от декартово произведения.
Операции разделяются на следующие типы:
1. Тета-соединение (Θ);
2. Соединение по эквивалентности;
3. Естественное соединение ;
4. Внешнее соединение;
5. Полусоединение.
Пересечение R Ω S = R - ( R – S )
Деление (R÷S)
Результат – набор кортежей отношения R определенных на множестве атрибутовC , которое соответствует комбинации всех кортежей отношения S.
22.
Основные подразделы SQL
Существуют два SQL - интерактивный и встроенный :
Интерактивный SQL применяется для выполнения действий непосредственно в БД. При применении этой формы SQL вводится команда, она выполняется, после этого можно непосредственно увидеть результат.
Встроенный SQL состоит из команд SQL, включенных в программы, которые написаны на языке программирования высокого уровня.
Как в интерактивном, так и во встроенном SQL имеется множество подразделов, сгруппированных в соответствии с их функциональным назначением. Язык определения данных (DataDefinition Language, DDL) состоит из тех команд, которые создают объекты (таблицы, индексы, представления) в БД. Язык манипулирования данными (Data Manipulation Language, DML) - это множество команд, определяющих, какие таблицы представлены в любой момент времени. Язык управления данными (Data Control Language, DСL) состоит из предложений, определяющих, может ли пользователь выполнить отдельное действие. Согласно ANSI, DCL является частью DDL.