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

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

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

  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 CONSTRAINT Convert COUNT CROSS APPLY CTE DATEADD DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FOREIGN KEY FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INNER JOIN insert INTERSECT IS NOT NULL IS NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker MAX Больше тэгов
Учебник обновлялся
вчера
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.
Rambler's Top100