
- •1. 1)Общие сведения о бд и субд
- •2) Основные функции субд
- •4) Уровни представления данных в субд
- •3) Обобщенная архитектура субд
- •5) Sql: история, стандарты
- •6) Языки баз данных
- •7) Язык qbe
- •8) Функциональная зависимость и нормализация отношений
- •9) Использование функций агрегирования в построении запросов
- •10) Модели данных
- •11) Форматирование результатов запросов
- •12) Иерархическая модель
- •13) Ограничения целостности
- •14) Сетевая модель
- •15) Создание, изменение и удаление таблиц средствами sql
- •16) Реляционная модель
- •17) Sql server. Характеристика объектов бд
- •18) Структура реляционных данных
- •19) Системные базы данных
- •1. Отношения: определение, свойства.
- •20) Создание бд в sql server
- •21.Реляционные ключи.
- •22.Основные типы данных.
- •23.Реляционная целостность.
- •24.Индексы: типы, назначение, создание.
- •25.Реляционные языки.
- •26.Подключение бд к sql server.
- •27.Связанные запросы.
- •28.Этапы обработки запросов.
- •29.Поддержка основных правил целостности данных.
- •30.Основные этапы проектирования баз данных.
- •31.Sql server. Характеристика объектов бд.
- •32.Вторая нормальная форма
- •33.Реляционная алгебра. (Унарные операции).
- •34.Концептуальное проектирование.
- •35.Управление транзакциями
- •36.Основные операции реляционной алгебры.
- •37.Обзор процесса нормализации.
- •38.Методология физического проектирования реляционных баз данных.
- •39.Методология концептуального проектирования.
- •40.Методология логического проектирования.
- •41.Обновляемые представления
- •42.Концепция er-модели.
- •43.Представления. Изменение значений с помощью представлений.
- •44.Избыточность данных и аномалии обновления.
- •45. Структура современной субд на примере Microsoft sql Server.
- •46.Защита баз данных.
- •47.Оптимизация запросов.
- •48.Эвристические правила преобразования операций реляционной алгебры.
- •49.Уровни представления данных в субд.
- •50.Подсистема типичной обработки транзакций.
41.Обновляемые представления
Команды обновления применительно к представлениям работают следующим образом: воздействуют на базовую таблицу представления. Существуют критерии для определения обновленовляемого представления представления:
1)Оно базируется только на одной таблице.
2)Должно включать первичный ключ таблицы.
3)Не должно содержать ключей, полученных агрегированием.
4)Не должно содержать DISTINCT в своем определении.
5)Не должно содержать GROUP BY и HAVING в своем определении.
6)Не должно содержать подзапросов.
7)Может быть ограничено на обновляемом представлении.
8)Не может содержать констант, строк или выражений в списке выбираемых выходных полей.
9)Для команды INSERT должно включать любые поля, которые имеют ограничения NOT NULL.
Представления, которые не отвечают выше указанным критериям, являются представлениями только для чтения. Однако, даже с обновляемыми представлениями часто бывают проблемы. Например:
CREATE VIEW Highrating
AS SELECT cnum, rating FROM Customers
WHERE rating = 300;
Выполняется следующая команда:
INSERT INTO Highrating
VALUES (2000, 200);
Обновление выполнено не будет. Эта проблема в SQL решается следующим образом: в определение представления добавляется команда:
WITH CHECK OPTION
Эта команда вводится в определения представления и она не имеет отношения к базовой таблице. Будут контролироваться все команды. При выполнении команды будут выдаваться сообщения. Аналогичная проблема возникает, если необходимо в представление включить строки, которые базируются на полях, которые не представлены в представлении:
CREATE VIEW Londonstaff
AS SELECT cnum, cname, comm
FROM Salespeople
WHERE city =’London’;
Если в такое представление попытаться вставить строчку, то она не будет видна в представлении, а будет вставлена в базовую таблицу. Чтобы решить эту проблему, необходимо всегда в представлении задавать все поля, которые есть в базовой таблице.
Получится представление, в котором будут одинаковые значения для поля city. Чтобы исключить это из выходных данных нужно:
SELECT snum, sname
FROM Londonstaff;
Опция WITH CHECK OPTION действует только на представление, в котором она указана, но не действует на представление, которое базируется на этом представлении. Например имеется:
CREATE VIEW Highrating
AS SELECT cnum, rating FROM Customers
WHERE rating = 300
WHITH CHECK OPTION;
Попытки ввести или изменить значение рейтинга, отличного от 300 будут отвергнуты, но можно попытаться создать новое представление:
CREATE VIEW Vyrating
AS SELECT *
FROM Highrating;
UPDATE Murating
SET rating = 200
WHERE cnum = 2004;
42.Концепция er-модели.
ER(Entity Relationship) – высокоуровневая концептуальная модель данных.
Была разработана в 1976 Челом с целью упрощения проектирования БД. Осн. концепции ER-модели:
-сущности; -типы связей; -атрибуты.
Тип сущности – объект или концепция, кот. имеет независимо существование. Может быть объектом с физическим или реальным существованием или объектом с концептуальным или абстрактным существованием.
Каждый тип сущности х-ся именем и списком свойств. Типы сущностей делятся на сильные и слабые. Слабые – сущности, существование кот. зависит от какого-то другого типа сущности (дочерние, подсиненные). Сильные - сущности, которые не зависят от других сущностей (родит-е, владельцы, доминантные).
В модели сущность-связь тип сущности обозначается прямоугольником, внутри которого указывается имя сущности. Если тип сущности сильный, то граница прямоугольника будет одинарной линией, если слабая – двойной контур.
Отдельные свойства сущности наз. атрибутами. Они делятся на:
-простые; -составные; -однозначные; -многозначные; -производные.
Простой – состоит из 1 ком-та с независимым существованием.
Составной – из нескольких компонентов. Например:
Address
postcode city street
Однозначный – содержит 1 значение для 1 сущности.
Многозначный – содержит несколько значений для 1 сущности (напр. номер телефона).
Производный – значение которого явл. производным от связ. с ним атрибута (AGE – возраст сотрудника DATE – дата рождения). Производный атрибут может зависеть от 1 или нескольких взаимосвязанных атрибутов различных сущностей.