Добавление

Цель операции – добавить один кортеж с данными <d1,…,dn> в отношение r со схемой (A1,A2,…,An).

ADD(r; A 1= d1, …, A n= dn).

Когда фиксирован порядок имен атрибутов, допустима более короткая запись:

ADD(r; d1, …, dn).

Операция может быть не выполнена по следующим причинам:

1. Добавляемый кортеж не соответствует схеме отношения r.

2. Некоторые значения кортежа не принадлежат соответствующим доменам.

3. Добавляемый кортеж совпадает по ключу с кортежем, уже находящимся в отношении.

Примеры для отношения Студент, определенного в разделе 3.1:

a). ADD(Студент; Дубов, 1980, 1996, 134742, 2, 100.00).

b). ADD(Студент; Фамилия = Марков, Имя = Сергей, Отчество = Петрович, Курс_обучения = 2) – не будет выполнена по причине 1, в схеме отношения Студент нет атрибутов Фамилия, Имя, Отчество.

c). ADD(Студент; Колобков, 1976, 1996, 122454, 8, 90.00) – не будет выполнена по причинам 2 и 3. Ключом отношения Студент является атрибут { Номер_билета }. Отношение уже содержит кортеж с номером билета 122454 у студента Соколова (причина 3), и значением атрибута Курс_обучения не может быть число 8 (причина 2).

Удаление

Цель операции – удаление одного кортежа с данными <d1,…dn> из отношения r.

DEL(r; A 1=d1, …, A n=dn).

В действительности нет необходимости перечислять значения всех атрибутов удаляемого кортежа. Чтобы однозначно определить кортеж, который надо удалить, достаточно указать значение первичного ключа:

DEL(r; <ключ> = <d>),

<ключ> – содержит только те атрибуты, которые входят в ключ,

<d> – содержит только те значения удаляемого кортежа, которые соответствуют ключевым атрибутам.

Операция может быть не выполнена по следующим причинам:

1. Удаляемый кортеж не соответствует схеме отношения r.

2. Удаляемого кортежа нет в отношении r.

Примеры для отношения Студент, определенного в разделе 3.1:

a). DEL(Студент; 122454).

b). DEL(Студент; 555556) – не будет выполнена, так как такого кортежа в отношении Студент нет.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: