Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к зачету.docx
Скачиваний:
6
Добавлен:
19.09.2019
Размер:
590.16 Кб
Скачать
  1. Эволюция систем баз данных. Представление предметной области в модели данных «сущность-связь». Связи и атрибуты в ER-диаграммах. Использование OID (идентификатор объекта) и PK (первичного ключа) в ER-моделях.

а) - IMS (иерархическая модель) / IBM

Information Management System

  • CODASYL (сетевая модель) / IDMS

Conference on Data Systems Languages

- ADABAS (реляционнно-сетевая) / SoftWare AG

Adaptable DAta BAse System

З аказчик

Подрядчик


Поручитель

Реляционные СУБД:

- DB/2

- ORACLE

- MS SQL

- PostgresSQL

- CA Ingres R3

б) ER -модель (Entity-Relationship Model) - графическое представление множества СУЩНОСТЕЙ / СВОЙСТВ (АТРИБУТОВ) СУЩНОСТЕЙ / СВЯЗЕЙ (ОТНОШЕНИЙ) МЕЖДУ СУЩНОСТЯМИ

Дата

Участвовать

Проекты

Сотрудничать

Руководить

Заказчики

Название

организации

Юр. Адрес

Типы связей :

« один – к – одному»

« многие – к – одному»

«многие – к – многим»

Ключ (в ER-модели) - атрибут или подмножество атрибутов, уникальным образом определяющие некоторую СУЩНОСТЬ в составе коллекции СУЩНОСТЕЙ (допускается наличие нескольких ключей, один - Primary Key (первичный))

OID - (Object Identifikator) - уникальный идентификатор ЭЛЕМЕНТА в коллекции элементов всех типов СУЩНОСТЕЙ.

Сущность - это класс однотипных объектов.(Сотрудник)

Экземпляр сущности - это конкретный представитель данной сущности.(Иван Иваныч)

Кортеж -  группа взаимосвязанных элементов данных (атрибутов).

Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности.(Пол, возраст, имя и т.д.)

Связь - это некоторая ассоциация между двумя сущностями. Одна сущность может быть связана с другой сущностью или сама с собою.

  1. Основы реляционной модели. Переход от ER-диаграмм к реляционным схемам. Операции над отношениями. Функциональные зависимости отношений. Нормализация при проектировании реляционных схем.

Реляционная модель – коллекции сущностей и связи между ними представляются отношениями (relations) - двумерными таблицами. Для описания структуры таблиц и манипуляций над строками (кортежами) используется высокоуровневый язык структурированных запросов SQL (Structured Query Language).

Отношения могут быть: унарными, бинарными и т.д.

Отображение φ – функциональное бинарное отношение.

Свойства отображения φ : A1 A2: Инъективность – различным элементам A1 сопоставляются различные элементы A2, Сюрьективность – множество A2 есть ‘образ’ множества A1, при этом: | A1 | ≥ | A2 |, Биективность φ : A1 A2 равносильна выполнению требований инъективности и сюрьективности, при этом: | A1 | = | A2 |

Иерархия элементов реляционной модели и способов их представления на уровне хранения

Э лемент реляционной модели

Способ представления

БД

Коллекция схем и их свойств - атрибутов в табличном представлении

Схема БД

Коллекция отношений и их свойств - атрибутов в табличном представлении

Отношение

Таблица с атрибутами – свойствами сущностей

Кортеж

Строка таблицы (для объектов всех уровней – БД, схем и отношений)

Сущность

Коллекция свойств объекта

Атрибут

Заголовок столбца таблицы

Домен

Множество допустимых значений атрибута

Значение атрибута

Значение поля в строке таблицы

Первичный ключ

Один или несколько атрибутов

Тип данных

Тип значений элементов таблицы

Операции над отношениями:

  1. Декомпозиция отношений.

Функциональная зависимость (Functional Dependency)

Определение. Пусть   - отношение. Множество атрибутов  функционально зависимо от множества атрибутов   (  функционально определяет  ) тогда и только тогда, когда для любого состояния отношения   для любых кортежей  из того, что   следует что   (т.е. во всех кортежах, имеющих одинаковые значения атрибутов  , значения атрибутов   также совпадают в любом состоянии отношения  ).

Пример:

Шифр

Дата

Стоимость*

Тип

Название

Организации

Юр.

Адрес

«Прометей»

2006.03.22

$ 500 000

Экспери-ментальный

ЗАО «Рога и Копыта»

301022, Сочи, …

«Прометей»

2006.03.22

$ 700 000

Экспери-ментальный

ФГУП «ФАРВАТЕР»

105077, Москва, …

«Прометей»

2006.03.22

$ 800 000

Экспери-ментальный

ОАО «Лукойл»

627000, Тюмень, …

«Юпитер»

1998.01.15

$ 20 000 000

Коммерчес-кий

ОАО «Концерн ВНИИНС»

101022, Москва, …

«Юпитер»

1998.01.15

$ 10 000 000

Коммерчес-

кий

ОАО «Лукойл»

62700, Москва, …

Зависимость шифра от типа:

Шифр -> Тип

Декомпозиция – разбиение отношения на несколько отношений так, чтобы не было функциональных зависимостей!!!

  1. Нормализация отношений.

Требования к результатам процедур нормализации :

  • Каждый атрибут кортежа должен содержать атомарное значение.(первый этап нормализации)

  • Устранение транзитивных функциональных зависимостей. (третий этап нормализации)

- Для каждой функциональной зависимости множество атрибутов должно являться ключом (суперключом). (второй этап нормализации)

Первый этап:

Ненормализованная таблица: Первая нормальная форма:

А

Х

8

В/C

Y

4/16

D

A

X

8

B

Y

4

B

Y

16

C

Y

4

C

Y

16

D

Третий этап:

A*

B*

C

D


A*

B*

C

A*

B


A*

D

B*

C


  1. Алгебра реляционных операций. Кортежи. Операции проекции, выбора, декартова произведения и соединения кортежей.

Операции реляционной алгебры:

  1. Операции над множествами (теоретико-множественные операции над кортежами отношений, имеющими идентичный набор атрибутов)

  • Объединение ( Union )

  • Пересечение ( Intersection )

  • Разность ( Difference )

  1. Операции над кортежами и атрибутами отношения

  • Выбор ( Selection ) кортежей

  • Проекции ( Projection ) атрибутов

  1. Операции сочетания кортежей различных отношений

  • Декартово произведение ( Cartesian product )

  • Соединение ( Join )

  1. Операция переименования (renaming)

  • Переименование атрибутов

  • Переименование отношения

Теоретико-множественные операции:

Имеем : R = {A,B,C}, M = {A,B,C} - множества кортежей с совпадающими атрибутами.

Тогда:

1) R  M - объединение множеств элементов (совпадающие кортежи включаются в результирующее множество только 1 раз)

2) R ∩ M - пересечение множеств элементов (включает кортежи, присутствующие в обоих множествах)

3) R - M - разность множеств элементов (включает кортежи, присутствующие в R , но отсутствующие в M)

Операции над атрибутами отношения:

Выбор ( Selection )

Оператор M = Selection ( R ) / C порождает множество кортежей M, являющихся подмножеством R и удовлетворяющих условию C. Условие отбора проверяется (вычисляется) “для каждого” (условно) кортежа отношения R.

Проекция ( Projection )

Оператор M = Projection ( R / {B1, B2,.., Bm} ) порождает множество различных кортежей, содержащих атрибуты {B1, B2,.., Bm}

Операции сочетания кортежей:

Декартово произведение ( х )

Оператор M = R х S порождает множество кортежей, содержащих атрибуты (возможно – переименованные) обоих отношений.

B

C

D

2

5

6

4

7

8

9

10

11


A

B

1

2

3

4


M = R x S

A

R.B

S.B

C

D

1

2

2

5

6

1

2

4

7

8

1

2

9

10

11

3

4

2

5

6

3

4

4

7

8

3

4

9

10

11

Операции переименования ( Renaming ):

Renaming ( S ) [ A , B , C , …] – исходное отношение S в результате выполнения операции содержит набор атрибутов с именами A , B , C , …. в указанной последовательности.

Соединение ( Join )

Оператор M = Join ( R, S ) / B - “соединение отношений R и S по атрибуту B” порождает кортежи результирующего отношения M, совпадающие в атрибуте B.

Пример операции M = Join ( R, S ) / B для отношений R и S

A

B

C

D

1

2

5

6

3

4

7

8


Примечание: M = Join ( R, S ) / B =

= Projection ( Renaming ( Selection ( R х S ) / R.B = S.B )

[ A , B , S.B , C , D ]

/ { A, B, C, D} )

Вывод: Множество независимых операций реляционной алгебры состоит из 6 элементов :

- объединение ( )

- разность ( - )

- выбор ( Selection )

- проекция ( Projection )

- декартово произведение ( x )

- переименование ( Renaming )

Для операций - соединение ( Join / & ), пересечение ( ∩ ) и объединение ( ) справедливы коммутативные и ассоциативные свойства:

R x S = S x R ; ( R x S ) x T = R x ( S x T )

R & S = S & R ; ( R & S ) & T = R & ( S & T )

R S = S R ; ( R S ) T = R ( S T )

R ∩ S = S ∩ R ; ( R ∩ S ) ∩ T = R ∩ ( S ∩ T )

  1. Обзор языков определения данных (DDL) и управления данными (DML). Язык SQL. Основные конструкции стандарта SQL-99.

Операторы языка определения данных (DDL)

Создание / удаление / переопределение таблиц (схем):

Пользовательские схемы и таблицы БД описываются в SQL с помощью предложений CREATE SCHEMA (создать схему) и CREATE TABLE (создать таблицу):

CREATE TABLE базовая_таблица (столбец тип_данных [NOT NULL]

[,столбец тип_данных [NOT NULL]] ...);

CREATE TABLE S

( Шифр CHAR (80) NOT NULL,

Дата DATATIME NOT NULL,

Стоимость MONEY,

Подрядчик CHAR (255)

);

В результате создается пустая таблица S, а в системный каталог помещается строка, описывающая эту таблицу. В профессиональных СУБД имя таблицы дополняется именем пользователя, который издал предложение CREATE TABLE. Конструкция NOT NULL запрещает использование неопределенного значения, т.е. специального значения, которое вводится для представления "неизвестного значения" или "неприменимого значения".

DROP TABLE <имя таблицы>; - уничтожить таблицу, при этом удаляется описание таблицы, ее данные, связанные с ней представления и индексы, построенные для столбцов таблицы.

ALTER TABLE (изменить таблицу), позволяет добавить справа к таблице новый столбец, т.е. модифицировать описание таблицы.

Операторы языка манипулирования данными (DМL)