Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Запросы к базе данных (на языке SQL с результатами выполнения)






 

1. Вывести список сотрудников (номер сотрудника, ФИО сотрудника) и названия проектов, в которых каждый сотрудник участвует, причем отсортировать список по ФИО сотрудников.

 

SELECT SOTRUDNIK.IDS, SOTRUDNIK.FIO, PROEKT.Name

FROM SOTRUDNIK CROSS JOIN

PROEKT

ORDER BY SOTRUDNIK.FIO

 

2. Вывести список сотрудников (номер сотрудника, ФИО сотрудника) и название, категорию, дату открытия и дату окончания проектов, в которых каждый сотрудник участвует, причем отсортировать список по столбцу категория (убывание) и по столбцу ФИО (возрастание).

 

SELECT SOTRUDNIK.IDS, SOTRUDNIK.FIO, PROEKT.Name, PROEKT.Category, PROEKT.Bdate, PROEKT.Edate

FROM SOTRUDNIK CROSS JOIN

PROEKT

ORDER BY PROEKT.Category DESC, SOTRUDNIK.FIO

 

3. Вывести список разнорабочих (номер сотрудника, ФИО сотрудника, должность) и название проектов, в которых сотрудник участвует, причем отсортировать список по столбцу ФИО.

 

SELECT SOTRUDNIK.IDS, SOTRUDNIK.FIO, SOTRUDNIK.Dol, PROEKT.Name

FROM SOTRUDNIK CROSS JOIN

PROEKT

WHERE (SOTRUDNIK.Dol = N'разнорабочий')

ORDER BY SOTRUDNIK.FIO

 

4. Вывести список сотрудниц (номер сотрудника, ФИО, пол), а также название открытых проектов, в которых сотрудник участвует, причем отсортировать список по номеру сотрудника в порядке убывания.

 

SELECT SOTRUDNIK.IDS, SOTRUDNIK.FIO, SOTRUDNIK.Pol,

PROEKT.Category, PROEKT.Name, PROEKT.Bdate, PROEKT.Edate

FROM SOTRUDNIK CROSS JOIN

PROEKT

WHERE (PROEKT.Category = N'о') AND (SOTRUDNIK.Pol = N'ж')

ORDER BY SOTRUDNIK.IDS DESC

 

 

5. Вывести список сотрудников (номер сотрудника, ФИО), а также название проектов и название работ, в которых сотрудник участвует по каждому проекту, причем отсортировать список по номеру сотрудника.

 

SELECT SOTRUDNIK.IDS, SOTRUDNIK.FIO, PROEKT.Name, [WORK].Rabota

FROM [WORK] INNER JOIN

PROEKT ON [WORK].IDP = PROEKT.IDP CROSS JOIN

SOTRUDNIK

ORDER BY SOTRUDNIK.IDS

 

 

6. Вывести список сотрудников-мужчин (номер сотрудника, ФИО, пол), название работ, в которых каждый сотрудник участвует, а также реальную оплату по каждой работе, причем отсортировать список по ФИО сотрудника.

 

SELECT SOTRUDNIK.IDS, SOTRUDNIK.FIO, [WORK].Rabota, SOTRUDNIK.Pol, [WORK].Money

FROM [WORK] CROSS JOIN

SOTRUDNIK

WHERE (SOTRUDNIK.Pol = N'м')

ORDER BY SOTRUDNIK.FIO

 

 

7. Вывести ФИО 1 и 3 сотрудника, название работ, в которых они участвуют, причем оплата за работу 1 должна быть > 18000, а также вывести налог и реальную оплату по каждой работе, причем сортировку провести по номеру сотрудника.

 

SELECT SOTRUDNIK.IDS, SOTRUDNIK.FIO, [WORK].Rabota, [WORK].Money, [WORK].Oplata, [WORK].Nalog

FROM [WORK] CROSS JOIN

SOTRUDNIK

WHERE ([WORK].Oplata > 18000) AND (SOTRUDNIK.IDS = 1) OR

(SOTRUDNIK.IDS = 3)

ORDER BY SOTRUDNIK.IDS

 

 

8. Вывести название проекта, а также количество работ в каждом проекте, причем отсортировать по столбцу название проекта.

 

SELECT PROEKT.Name, COUNT([WORK].Rabota) AS [кол-во работ]

FROM PROEKT INNER JOIN

[WORK] ON PROEKT.IDP = [WORK].IDP

GROUP BY PROEKT.Name

 

 

9. Вывести название проекта, а также количество работ в каждом проекте и оплату за все работы в каждом проекте, причем список отсортировать по названию проекта.

 

SELECT PROEKT.Name, COUNT([WORK].Rabota) AS [кол-во работ],

SUM([WORK].Oplata) AS оплата

FROM PROEKT INNER JOIN

[WORK] ON PROEKT.IDP = [WORK].IDP

GROUP BY PROEKT.Name

ORDER BY PROEKT.Name DESC

 

10. Вывести список сотрудников (номер, ФИО), название проектов, в которых каждый сотрудник участвует, а также количество работ, выполняемых отдельным сотрудником по каждому проекту, причем список отсортировать по ФИО сотрудника.

 

SELECT SOTRUDNIK.IDS, SOTRUDNIK.FIO, PROEKT.Name,

COUNT([WORK].Rabota) AS [кол-во работ в каждом проекте]

FROM SW INNER JOIN

SOTRUDNIK ON SW.IDS = SOTRUDNIK.IDS INNER JOIN

[WORK] ON SW.IDR = [WORK].IDR INNER JOIN

PROEKT ON [WORK].IDP = PROEKT.IDP

GROUP BY SOTRUDNIK.IDS, SOTRUDNIK.FIO, PROEKT.Name

ORDER BY SOTRUDNIK.FIO

 

 

11. Вывести список сотрудников (номер, ФИО), название проектов, в которых каждый сотрудник участвует, количество работ, выполняемых отдельным сотрудником по каждому проекту, а также общий доход по каждому проекту, причем список отсортировать по ФИО сотрудника.

 

SELECT SOTRUDNIK.IDS, SOTRUDNIK.FIO, PROEKT.Name,

COUNT([WORK].Rabota) AS [кол. работ в проекте],

SUM([WORK].Money) AS [оплата по каждому проекту]

FROM SW INNER JOIN

SOTRUDNIK ON SW.IDS = SOTRUDNIK.IDS INNER JOIN

[WORK] ON SW.IDR = [WORK].IDR INNER JOIN

PROEKT ON [WORK].IDP = PROEKT.IDP

GROUP BY SOTRUDNIK.IDS, SOTRUDNIK.FIO, PROEKT.Name

ORDER BY SOTRUDNIK.FIO

 

 

 

Заключение

 

При написании данной курсовой работы по дисциплине «Базы Данных» была спроектирована и создана База Данных для учета сотрудников и проектов, в разработке которых они участвуют. Также БД предусматривает хранение данных об оплате работ, выполненных отдельным сотрудником по каждому проекту, в котором он участвует.

В ходе проектирования БД были созданы инфологическая модель и даталогическая модель данных. Логическая модель представлена в программе ERWin с помощью IDEF1X.

При выполнении данной курсовой работы был изучен SQL-язык для написания запросов к данной базе данных, также были освоены такие программы, как Microsoft SQL Server 2008, ERWin.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.