MSFT SQL Server - Задачка

Ответить
Аватара пользователя
ValVlaGen

MSFT SQL Server - Задачка

Сообщение ValVlaGen »

Схема БД состоит из четырех таблиц:

Product(maker, model, type)

PC(code, model, speed, ram, hd, cd, price)

Laptop(code, model, speed, ram, hd, screen, price)

Printer(code, model, color, type, price)

Таблица Product представляет производителя (maker), номер модели (model) и тип ('PC' - ПК, 'Laptop' - ПК-блокнот или 'Printer' - принтер). Предполагается, что номера моделей в таблице Product уникальны для всех производителей и типов продуктов. В таблице PC для каждого ПК, однозначно определяемого уникальным кодом – code, указаны модель – model (внешний ключ к таблице Product), скорость - speed (процессора в мегагерцах), объем памяти - ram (в мегабайтах), размер диска - hd (в гигабайтах), скорость считывающего устройства - cd (например, '4x') и цена - price. Таблица Laptop аналогична таблице РС за исключением того, что вместо скорости CD содержит размер экрана -screen (в дюймах). В таблице Printer для каждой модели принтера указывается, является ли он цветным - color ('y', если цветной), тип принтера - type (лазерный – 'Laser', струйный – 'Jet' или матричный – 'Matrix') и цена - price.



Найти тех производителей ПК, все модели ПК которых имеются в таблице PC.



Какие будут предложения?
Аватара пользователя
Busla

Re: MSFT SQL Server - Задачка

Сообщение Busla »

Это же азы TSQL



Решение данной и еще одной темы было удалено, т.к., помимо нарушений правил прохождения сертификации sql-ex.ru, это еще и неэтично - просить других сдать за вас сертификат... Учите матчасть, "специалисты", намного интереснее самому решить проблему, чем списать и не понять, в чем суть...
Аватара пользователя
ValVlaGen

Re: MSFT SQL Server - Задачка

Сообщение ValVlaGen »

Изображение Большое спасибо за ответ



Изображение А вот еще задачка:





Схема базы данных состоит из трех отношений:



utQ (Q_ID int,Q_NAME varchar(35))

utV (V_ID int,V_NAME varchar(35),V_COLOR char(1))

utB (B_Q_ID int,B_V_ID int,B_VOL tinyint, B_DATETIME datetime)




Таблица utQ содержит идентификатор и название квадрата, цвет которого первоначально черный.

Таблица utV содержит идентификатор, название и цвет баллончика с краской.

Таблица utB содержит информацию об окраске квадрата баллончиком: идентификатор квадрата, идентификатор баллончика, количество краски и время окраски.

При этом следует иметь в виду, что:

- баллончики с краской могут быть трех цветов - красный V_COLOR='R', зеленый V_COLOR='G', голубой V_COLOR='B' (латинские буквы).

- объем баллончика равен 255 и первоначально он полный;

- цвет квадрата определяется по правилу RGB, т.е. R=0,G=0,B=0 - черный, R=255, G=255, B=255 - белый;

- запись в таблице закрасок utB уменьшает количество краски в баллончике на величину B_VOL и соответственно увеличивает количество краски в квадрате на эту же величину;

- значение 0 < B_VOL
Аватара пользователя
Busla

Re: MSFT SQL Server - Задачка

Сообщение Busla »

По-моему, простого полноценного решения в один запрос здесь не изобрести.
Аватара пользователя
Busla

Re: MSFT SQL Server - Задачка

Сообщение Busla »

Не не есть решение точно Изображение . Пока не знаю - сам думаю. Но как вымучаю - обязательно пропишу.
Аватара пользователя
ValVlaGen

Re: MSFT SQL Server - Задачка

Сообщение ValVlaGen »

Пока приходит на ум только так:Извлечь min и maxСоздать временную таблицу с инкрементом от min до maxИз соединения с изначальной получить все пропускиИз пропусков выбрать min и maxТолько вот выводить NULL - получается отдельной подзадачей.



Да и ради двух чисел строить огромную временную таблицу - не эффективно.
Аватара пользователя
Delirium

Re: MSFT SQL Server - Задачка

Сообщение Delirium »

Цитата Busla:



Только вот выводить NULL - получается отдельной подзадачей.
MSFT SQL Server - Задачка




Можно и сразу, типа такого:

Решение данной и еще одной темы было удалено, т.к., помимо нарушений правил прохождения сертификации sql-ex.ru, это еще и неэтично - просить других сдать за вас сертификат... Учите матчасть, "специалисты", намного интереснее самому решить проблему, чем списать и не понять, в чем суть...
Ответить

Вернуться в «Программирование и базы данных»