![]() |
Задачка
Схема БД состоит из четырех таблиц:
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. Какие будут предложения? |
Это же азы TSQL
Решение данной и еще одной темы было удалено, т.к., помимо нарушений правил прохождения сертификации sql-ex.ru, это еще и неэтично - просить других сдать за вас сертификат... Учите матчасть, "специалисты", намного интереснее самому решить проблему, чем списать и не понять, в чем суть... |
:ok: Большое спасибо за ответ
:help: А вот еще задачка: Схема базы данных состоит из трех отношений: 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 <= 255 - Количество краски одного цвета в квадрате не превышает 255, а количество краски в баллончике не может быть меньше нуля. Предполагая, что среди идентификаторов квадратов имеются пропуски, найти минимальный и максимальный "свободный" идентификатор в диапазоне между имеющимися максимальным и минимальным идентификаторами. Если пропусков нет, выводить NULL. Например, для последовательности идентификаторов квадратов 1,2,5,7 результат должен быть 3 и 6 |
По-моему, простого полноценного решения в один запрос здесь не изобрести.
|
Не не есть решение точно :buba: . Пока не знаю - сам думаю. Но как вымучаю - обязательно пропишу.
|
Пока приходит на ум только так:
Да и ради двух чисел строить огромную временную таблицу - не эффективно. |
Цитата:
Решение данной и еще одной темы было удалено, т.к., помимо нарушений правил прохождения сертификации sql-ex.ru, это еще и неэтично - просить других сдать за вас сертификат... Учите матчасть, "специалисты", намного интереснее самому решить проблему, чем списать и не понять, в чем суть... |
Время: 07:51. |
Время: 07:51.
© OSzone.net 2001-