powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите создать запрос к БД. Выборка с двумя параметрами.
5 сообщений из 5, страница 1 из 1
Помогите создать запрос к БД. Выборка с двумя параметрами.
    #39114912
maks.portnyagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток. Очень нужна ваша помощь, дорогие форумчане. С SQL так плотно не работал, и задание вызвало кучу вопросов, с первым вроде разобрался. Вот собственно задание:
В бд сервера корпоративного антивируса содержится информация об обнаруженных вирусных заражениях, она включает название вируса, время обнаружения, путь до зараженного/вредоносного файла, статус ("вылечен", "удален", "перемещен в карантин"), а также имя ПК, на котором зафиксировано заражение. Введено понятие "вирусной эпидемии". Эпидемией считается ситуация, когда в течение времени T зафиксировано более N заражений определенным вирусом. Требуется:
а) описать структуру БД (при условии, что БД находится в 3-НФ);
б) написать запрос, выводящий следующие данные об эпидемии: название вируса, количество заражений, статус.

С первым вроде все понятно, 4 таблицы, вроде как 3НФ получилось?:
1. computers (id PRIMARY KEY, name)
2. viruses (id PRIMARY KEY, name)
3. statuses (id PRIMARY KEY, name)
4. detections (id, path, date, computer_id FOREIGN KEY computers(id), virus_id FOREIGN KEY viruses(id), status_id FOREIGN KEY status(id)

А вот запрос у меня не хватает знаний составить. Помогите пожалуйста.
...
Рейтинг: 0 / 0
Помогите создать запрос к БД. Выборка с двумя параметрами.
    #39114936
maks.portnyagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Загвоздка одна: как сделать выборку по кол-ву обнаружений определенного вируса > N. Если сделать перебор по всем известным вирусам то тут все понятно, а вот как сделать через базу чтоб она выдала только записи count(detection.virus_id) > N что-то я не понимаю.
...
Рейтинг: 0 / 0
Помогите создать запрос к БД. Выборка с двумя параметрами.
    #39114946
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте HAVING
...
Рейтинг: 0 / 0
Помогите создать запрос к БД. Выборка с двумя параметрами.
    #39115050
maks.portnyagin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сгруппировать по вирусам получилось, и указанию кол-ва заражений:

SELECT viruses.name, COUNT(detections.id)
FROM detections, viruses
WHERE detections.virus_id = viruses.id
GROUP BY detections.virus_id
HAVING COUNT(detections.id) > 2

А вот разбить их еще по статусу пока не сильно получается.
...
Рейтинг: 0 / 0
Помогите создать запрос к БД. Выборка с двумя параметрами.
    #39115432
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maks.portnyagin,

ну а если у компьютера разные статусы: 1 вылечен, 1 удален, 1 перемещен в крантин
и N=2
какой статус ставить?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите создать запрос к БД. Выборка с двумя параметрами.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]