loading..
Русский    English
02:01
листать

База данных «Окраска»

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

  1. utQ (Q_ID int, Q_NAME varchar(35));
  2. utV (V_ID int, V_NAME varchar(35), V_COLOR char(1));
  3. 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, а количество краски в баллончике не может быть меньше нуля;
  • время окраски B_DATETIME дано с точностью до секунды, т.е. не содержит миллисекунд.

База данных








Рис. Схема базы данных "Окраска"

Некоторые пояснения к схеме.

Идентификаторы черных квадратов отсутствуют в таблице utB. Это следует из того, что B_VOL не допускает NULL-значений и строго больше нуля. Таким образом, каждая запись в таблице utB описывает факт окраски одного квадрата одним баллоном, черный же квадрат (R=0,G=0,B=0) не подвергался окраске вовсе.

Ограничения схемы допускают одновременную окраску одного квадрата несколькими баллонами, как и одновременную окраску одним баллоном нескольких квадратов. Однако запрещена одновременная окраска одного квадрата одним и тем же баллоном.


Bookmark and Share
Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE Convert COUNT CROSS APPLY CTE DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INNER JOIN insert INTERSECT IS NOT NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker MAX MIN MONTH MySQL NOT Больше тэгов
Учебник обновлялся
месяц назад
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.
Rambler's Top100