Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчёт по лабароторным работам

.doc
Скачиваний:
4
Добавлен:
20.05.2014
Размер:
470.02 Кб
Скачать

Детали узла _______

Наименование устройства_______ Серийный номер_______

Шифр узла_______ Стоимость_______

Наименование детали

Код детали

Количество

Материал

Запросы

  1. Составить список деталей, содержащих драгоценные металлы.

  2. Составить список устройств, включающих узлы, содержащие болты и гайки.

  3. Определить узлы, среднее количество деталей, в которых больше 10.

  4. Определить устройства, содержащие драгоценные металлы, стоимость которых превосходит 3000 руб.*

  5. Удалить информацию о деталях содержащих титан.

  6. Добавить информацию о детали.

  7. Заменить стоимость в рублях на стоимость в долларах.

Выделение информационных элементов.

Выделим информационные элементы в документе «Список междугородних телефонных переговоров». Целесообразно имена элементов задавать латинскими буквами.

Стоимость –stoimost- является вычислимым полем.

Серийный номер устройства - sernomustr

Наименование устройства - naimenustr

Шифр узла - shifruzla

Наименование детали - naimendet

Код детали - koddetali

Количество деталей -kolvodet

Материал -material

Введем также элементы Наименование узла-naimuzla

Построение функциональных зависимостей.

Основной ключ:

  1. зависимости от основного ключа: (fd1) sernomustr, shifruzla, koddetali-> naimustr,ctoimost,naimendetali,kolvodet,material, naimuzla

  2. Частичные зависимости: (fd2) koddetali->naimendet, material;

(fd3)sernomustr->naimenustr,ctoimost;

(fd5)shifruzla-> kolvodet,koddetali, naimenuzla

  1. Транзитивные зависимости: (fd4)naimenustr->shifruzla.

Нормализация

Sermon

ustr

Naimen

det

Kod

detali

material

ctoimost

Naimen

ustr

Shifr

Uzla

Naimen

uzla

Kolvo

det

Fd1

Fd2

Fd3

Fd4

Fd 5

После нормализации схема данных получила следующий вид:

ER – диаграмма

Запросы:

  1. SELECT KodDetali.koddetali, KodDetali.naimendet, KodDetali.mater

FROM KodDetali

WHERE (((KodDetali.mater)="Золото" Or (KodDetali.mater)="Серебро" Or (KodDetali.mater)="Платина"));

2. SELECT SerNomUstr.sernomustr, SerNomUstr.naimustr, ShifrUzla.shifruzla, KodDetali.koddetali, KodDetali.naimendet

FROM SerNomUstr, KodDetali INNER JOIN ShifrUzla ON KodDetali.koddetali = ShifrUzla.koddetali

WHERE (((KodDetali.naimendet)="Болт" Or (KodDetali.naimendet)="Гайка"));

3. SELECT ShifrUzla.shifruzla, Avg(ShifrUzla.kolvodet) AS [Avg-kolvodet]

FROM ShifrUzla

GROUP BY ShifrUzla.shifruzla

HAVING (((Avg(ShifrUzla.kolvodet))>10));

4. SELECT SerNomUstr.sernomustr, NaimUstr.naimustr, KodDetali.mater, SerNomUstr.stoimost

FROM KodDetali INNER JOIN ((SerNomUstr INNER JOIN (NazvanieUzla INNER JOIN NaimUstr ON NazvanieUzla.shifruzla = NaimUstr.shifruzla) ON SerNomUstr.sernomustr = NaimUstr.naimustr) INNER JOIN ShifrUzla ON NazvanieUzla.shifruzla = ShifrUzla.shifruzla) ON KodDetali.koddetali = ShifrUzla.koddetali

WHERE (((KodDetali.mater)="Золото" Or (KodDetali.mater)="Серебро" Or (KodDetali.mater)="Платина") AND (([SerNomUstr]![stoimost])>3000));

5. DELETE KodDetali.mater, KodDetali.naimendet, KodDetali.koddetali

FROM KodDetali

WHERE (((KodDetali.mater)="Титан"));

6. Для полноценного добавления новой детали во все таблицы было создано два запроса:

INSERT INTO KodDetali ( koddetali, naimendet, mater )

SELECT NovaiaDetal.koddetli, NovaiaDetal.naimdet, NovaiaDetal.mater

FROM NovaiaDetal;

INSERT INTO ShifrUzla ( kolvodet, shifruzla, koddetali )

SELECT NovaiaDetal.kolvodet, NovaiaDetal.sifruzla, NovaiaDetal.koddetli

FROM NovaiaDetal;

7.UPDATE SerNomUstr SET SerNomUstr.stoimost = [SerNomUstr]![stoimost]*25;