Смекни!
smekni.com

Проектирование системы управления базой данных (стр. 2 из 2)

2) Таблица Group_medikaments:

- добавление новой записи

insert into Group_medikaments (Name)

values(:Name);

- удаление существующей записи

delete from Group_medikaments where ID = value;

- изменение существующей записи

update Groups_medikaments set Name = “value1”

where ID = value2;

3) Таблица Medikamenty:

- добавление новой записи

insert into Medikamenty (Name_med, Group_ID, Edinica)

values (:Name_med, :Group_ID, :Edinica);

- удаление существующей записи

delete from Medikamenty where ID = value;

- изменение существующей записи

update Medikamenty set Name_med= “value1”, Edinica =” value2”,

where Group_ID = value4;

4) Таблица Receptures:

- добавление новой записи

insert into Receptures ( Preparat_ID, Name_ID, Kol_vo )

values( :Preparat_ID, :Name_ID, :Kol_vo );

- удаление существующей записи

delete from Receptures where Preparat_ID = value, Name_ID = value ;

- изменение существующей записи

update Receptures set Kol_vo= “value1”

where Preparat_ID = value2, Name_ID = value3;

5) Таблица Preparat:

- добавление новой записи

insert into Preparat ( Group_ID, Name_preparat )

values ( :Group_ID, :Name_preparat);

- удаление существующей записи

delete from Preparat where ID = value;

- изменение существующей записи

update Preparat set Name_preparat =” value1”,

where Group_ID = value3;

5. ВЫБОР ИНФОРМАЦИИ ИЗ БАЗЫ ДАННЫХ

Для выбора информации из базы данных используется оператор SELECT.

1) Вывести информацию о медикаменте, присутствующем в наибольшем количестве рецептур.

Для выполнения задания необходимо использовать запрос SELECT с подзапросом. Подзапрос должен возвращать список количества медикаментов в каждой рецептуре, а основной запрос будет использовать подзапрос в предложении HAVING для отбора только той группы рецептур, в которой количество медикаментов больше или равно всем значений подзапроса.

Обратимся к таблицам: Medikamenty, Receptures. Условие отбора строк - M.ID=R.Name_ID. Отобранные строки сортируем по M.Name_med. В подзапросе группируем по R.Name_ID. Искомые данные находятся в соответствии с условием, указанным в предложении HAVING.

SELECT M.Name_med, count(M.Name_med)

FROM Medikamenty AS M, Receptures AS R

WHERE M.ID=R.Name_ID

GROUP BY M.Name_med

HAVING count(R.Name_ID)>=all(select count(R.Name_ID)

FROM Receptures AS R Group by R.Name_ID);

2) Вывести информацию о рецептуре, использующей наибольшее количество медикаментов.

Для выполнения задания необходимо использовать запрос SELECT с подзапросом. Подзапрос должен возвращать список препаратов, в которых используется наибольшее количество медикаментов, а основной запрос будет использовать подзапрос в предложении HAVING для отбора только тех медикаментов, количество которых больше или равно всем значений подзапроса.

Обратимся к таблицам: Medikamenty, Receptures, Preparat. Условие отбора строк – (M.ID=R.Name_ID and R.Preparat_ID=P.ID). Отобранные строки сортируем по R.Preparat_ID. В подзапросе группируем по

R.Preparat_ID. Искомые данные находятся в соответствии с условием, указанным в предложении HAVING.

SELECT R.Preparat_ID, count(R.Name_ID)

FROM Receptures AS R, Preparat AS P, Medikamenty AS M

WHERE (R.Preparat_ID=P.ID and R.Name_ID=M.ID)

GROUP BY R.Preparat_ID

HAVING count(R.Name_ID)>=all(SELECT count(R.Name_ID)

FROM Receptures R GROUP BY R.Preparat_ID);

3) Вывести список рецептур, в которых используется конкретный медикамент.

Условие отбора строк указано в предложении WHERE. Оператор DISTINCT исключает одинаковые строки.

SELECT DISTINCT R.Preparat_ID

FROM Receptures AS R, Medikamenty AS M, Preparat AS P

WHERE (P.ID=R.Preparat_ID and M.ID=R.Name_ID and

M.Name_med='Метамизол натрия');

ЗАКЛЮЧЕНИЕ

В ходе курсовой работы был проведен анализ предметной области в соответствие с заданием и определены используемые сущности и их основные свойства. После анализа связей между сущностями и определения типа этих связей была разработана схема данных для реляционной базы данных. Разработка схемы включала в себя определение необходимых ключей таблиц и ограничений целостности. Построенная схема данных была реализована при помощи SQL в виде операторов создания таблиц базы данных. Для работы с базой данных - добавления, изменения или удаления информации - приведены типовые SQL-операторы для выполнения необходимых действий. В соответствие с заданием составлены операторы SQL для выполнения запросов на извлечение данных, которые выбирают из базы данных и представляют пользователю указанную в задании информацию.


СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1 Озкарахан Э. Машины баз данных и управление базами данных. – 1989.

2 Джеймс Р. Грофф, Пол Н. Вайнберью. SQL: полное руководство. – 1998.

3 Диго С.М. Проектирование и использование баз данных. – 1995.