Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная 12 Ограничения.doc
Скачиваний:
1
Добавлен:
13.11.2019
Размер:
249.86 Кб
Скачать

Сравнение ограничений

Тип ограничения

Объявление

Условие проверки

Обязательность выполнения

Основанное на атрибуте CHECK

Вместе с атрибутом

При введении или при изменении атрибута

Не обязхательно, если имеются подзапросы

Основанное на кортеже CHECK

Как элемент реляционной схемы

При ведении или при изменении кортежа

Не обязхательно, если имеются подзапросы

Утверждение

Как элемент БД

При любом изменении любого из отношений

Обязательно

2. Порядок выполнения работы

Запишите на языке SQL следующие ограничения, применяемые к базе данных кораблей:

  1. Каждый класс, упомянутый в Ships, должен быть упомянут и в Classes.

  2. Каждое сражение, упомянутое в Outcomes, должно быть упомянуто и в Battles.

  3. Каждый корабль, упомянутый в Outcomes, должен быть упомянут и в Ships.

  4. Ни один класс не может иметь более двух кораблей.

  5. Ни одна из стран не может иметь и линкоры и крейсеры.

  6. Ни один корабль, имеющий более девяти орудий, не мог участвовать в одном сражении с кораблем, у которого меньше девяти орудий и который был потоплен в сражении.

  7. Ни один корабль не мог быть спущен на воду раньше корабля того же класса, носящего имя класса.

  8. Для каждого класса существует корабль с именем этого класса.

Запишите на языке SQL следующие ограничения, применяемые к базе данных компьютеров:

  1. Типами принтеров могут быть только Laser и Ink-jet.

  2. Типами продукта может быть только PC, laptop, printer.

  3. Объем RAM должен составлять не менее 1% от объема жесткого диска.

  4. Ни один производитель PC не может производить лаптопы.

  5. Производитель PC должен производить и лаптопы по меньшей мере с такой же скоростью процессора.

  6. Если объем RAM лаптопа превышает объем RAM PC, то его цена должна быть выше цены PC.

  7. Ни один номер модели не может появляться дважды в отношениях PC, Laptop, Printer.

  8. Если модель и ее тип упоминается в отношении Product, то эта модель должна появляться в отношении, подходящем для данного типа.

Приложение 1

База данных спектаклей

Performances

title

year

runningTime

type

theatre

composer

producerC#

Aida

1998

260

perform

Mariinsky

Diuseppe Verdy

123456

Don Carlos

1999

225

perform

La Scala

Diuseppe Verdy

234567

Don Pascuale

1997

125

concert

Mariinsky

Gaetano Donizetti

null

Macbeth

2001

180

perform

Mariinsky

Pyotr Tchaikovsky

456789

Swan lake

1950

175

perform

Mariinsky

Pyotr Tchaikovsky

567890

Giselle

1884

125

perform

Mariinsky

Adolphe Adam

789012

Salome

2000

90

perform

Mariinsky

Richard Strauss

890123

Carmen

1998

22

perform

Sarah Bernhart

George Bizet

901234

Apollo

1928

33

perform

Mariinsky

Igor Stravinsky

112345

Otello

1976

180

perform

La Scala

Diuseppe Verdy

223456

Romeo and Juliet

2001

180

perform

Covent Garden

Sergei Prokofiev

334567

Arabella

1997

180

perform

Covent Garden

Peter Mussbach

445678

ActsIn

perfTitle

theatreName

perfYear

actorName

Don Carlos

La Scala

1999

Olga Borodina

Carmen

La Canerenlola

1998

Olga Borodina

Aida

Mariinsky

1998

Olga Borodina

Aida

Mariinsky

1998

Irina Bogacheva

Rigoletto

Bolshoy Theatre

1980

Irina Bogacheva

Samson and Dalila

Mariinsky

2003

Irina Bogacheva

Carmen

Mariinsky

1998

Yury Marusin

La Traviata

Bolshoy Theatre

1980

Yury Marusin

Swan Lake

Mariinsky

1950

Ulyana Lopatkina

Giselle

Mariinsky

1884

Ulyana Lopatkina

Giselle

Mariinsky

1884

Farukh Ruzimatov

Apollo

Mariinsky

1928

Farukh Ruzimatov

Otello

La Scala

1976

Plassito Domingo

Otello

La Scala

1976

Frivotti Nuggi

Actors

name

address

ampoule

gender

bithdate

Olga Borodina

Saint Petersburg Garden st.10/10

Singer

F

1972-02-02

Irina Bogacheva

Saint Petersburg Nevsky st.15/15

Singer

F

1950-01-01

Yury Marusin

Saint Petersburg Grate Sea st.15/15

Singer

M

1945-05-05

Ulyana Lopatkina

Saint Petersburg Small Sea st.25/25

Principal dancer

F

1975-05-05

Farukh Ruzimatov

Saint Petersburg Nevsky st.150/15

Principal dancer

M

1973-03-03

Plassito Domingo

Milan

Singer

M

1966-06-06

Producers

name

address

cert#

networth

Alexei Stepaniuk

Saint Petersburg Garden st.10/10

123456

110000

Yury Alexandrov

Saint Petersburg Lime av.15/15

234567

210000

David McVicar

London Old st. 12/2

456789

1200000

Lev Ivanov

Saint Petersburg Palace quay 21

567890

400000

Jules Perrot

Paris Capuchin av.112

789012

550000

David Freeman

New York Fifth av.133

890123

630000

Rollan Petit

Paris Capuchin av.150

901234

920000

George Balanchine

Paris

012345

100000

Valery Gergiev

Saint Petersburg Theatre sq.1

001122

1000000

Karlo Fontana

Milan

223456

10000000

Kennet Macmillan

London Olg St 33

334567

20000000

Peter Mussbach

London Liverpool st 17

445678

22000000

Theatre

teatreName

artDirector

city

cert#

Mariinsky

Valery Gergiev

Saint Petersburg

001122

La Scala

Karlo Fontana

Milan

223456

Covent Garden

Russel Roberts

London

333444

Bolshoy Theatre

Valery Borisov

Moscow

444555

Grand Opera

Rudolf Nuriev

Paris

555666

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]