Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Запросы к базе данных (на языке SQL с результатами выполнения) ⇐ ПредыдущаяСтр 3 из 3
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.
|