КаталогИндекс раздела
НазадОглавление


Приложение 2. База данных "Корпорация Кинга"

П2.1. Концептуальная схема базы данных

П2.2. Структура таблиц базы данных

Таблица EMPLOYEE - сотрудники фирмы

N
пп
Имя столбца Тип данных
Oracle
Тип данных
DB2
Комментарии
1 Employee_id NUMBER(4,0) SMALLINT Код сотрудника
2 Last_name VARCHAR2(15) VARCHAR(15) Фамилия
3 First_name VARCHAR2(15) VARCHAR(15) Имя
4 Middle_initial CHAR(1) CHAR(1) Средний инициал
5 Manager_id NUMBER(4,0) SMALLINT Код начальника
6 Job_id NUMBER(3,0) SMALLINT Код должности
7 Hire_date DATE DATE Дата поступления в фирму
8 Salary NUMBER(7,2) NUMERIC(7,2) Зарплата
9 Commission NUMBER(7,2) NUMERIC(7,2) Комиссионные
10 Department_id NUMBER(2,0) SMALLINT Код отдела
Примечания.
  1. Первичный ключ таблицы - employee_id.
  2. Столбцы job_id, department_id - внешние ключи, ссылающиеся на таблицы JOB и DEPARTMENT соответственно.
  3. Столбец manager_id - внешний ключ, ссылающий на эту же таблицу. Для каждого сотрудника в этом столбце содержится значение employee_id его непосредственного начальника. Для президента фирмы в этом столбце содержится NULL.
  4. Столбец commission содержит значение получаемых сотрудником комиссионных. Для тех сотрудников, которые комиссионных получать не могут в принципе, в этом столбце содержится NULL.
  5. В таблице имеются записи о 32 сотрудниках.

 

Таблица DEPARTMENT - отделы фирмы

N
пп
Имя столбца Тип данных
Oracle
Тип данных
DB2
Комментарии
1 Department_id NUMBER(2,0) SMALLINT Код отдела
2 Name VARCHAR2(14) VARCHAR(14) Название отдела
3 Location_id NUMBER(3,0) SMALLINT Код места размещения
Примечания.
  1. Первичный ключ таблицы - employee_id.
  2. location_id - внешний ключ, ссылающийся на таблицу LOCATION.
  3. Названия отделов могут повторяться: отделы с одинаковыми названиями есть в разных городах. Имеются следующие названия отделов: ACCOUNTING, RESEARCH, SALES, OPERATIONS.
  4. В таблице имеются записи об 11 отделах.

 

Таблица LOCATION - места размещения отделов

N
пп
Имя столбца Тип данных
Oracle
Тип данных
DB2
Комментарии
1 Location_id NUMBER(3,0) SMALLINT Код места размещения
2 Regional_group VARCHAR2(20) VARCHAR(20) Город
Примечания.
  1. Первичный ключ таблицы - location_id.
  2. Имеются записи о следующих городах: NEW YORK, DALLAS, CHICAGO, BOSTON.

 

Таблица JOB - должности в фирме

N
пп
Имя столбца Тип данных
Oracle
Тип данных
DB2
Комментарии
1 Job_id NUMBER(3,0) SMALLINT Код должности
2 Function VARCHAR2(30) VARCHAR(30) Название должности
Примечания.
  1. Первичный ключ таблицы - job_id.
  2. Имеются записи о следующие должностях: CLERK, STAFF, ANALYST, SALESPERSON, MANAGER, PRESIDENT.

 

Таблица CUSTOMER - фирмы-покупатели

N
пп
Имя столбца Тип данных
Oracle
Тип данных
DB2
Комментарии
1 customer_id NUMBER(6,0) INTEGER Код покупателя
2 Name VARCHAR2(45) VARCHAR(45) Название покупателя
3 Address VARCHAR2(40) VARCHAR(40) Адрес
4 City VARCHAR2(30) VARCHAR(30) Город
5 State VARCHAR2(2) VARCHAR(2) Штат
6 Zip_code VARCHAR2(9) VARCHAR(9) Почтовый код
7 Area_code NUMBER(3,0) SMALLINT Код региона
8 Phone_number NUMBER(7,0) INTEGER Телефон
9 Salesperson_id NUMBER(4,0) SMALLINT Код сотрудника-продавца, обслуживающего данного покупателя
10 Credit_limit NUMBER(9,2) NUMERIC(9,2) Кредит для покупателя
11 Comments VARCHAR2(500) VARCHAR(500) Примечания
Примечания.
  1. Первичный ключ таблицы - customer_id.
  2. salesperson_id - внешний ключ, ссылающийся на таблицу EMPLOYEE (столбец employee_id).
  3. Имеются следующие названия штатов: CA, MA, MN, NY, TX.
  4. В таблице имеются записи о 33 заказчиках.

 

Таблица SALES_ORDER - договоры о продаже

N
пп
Имя столбца Тип данных
Oracle
Тип данных
DB2
Комментарии
1 Order_id NUMBER(4,0) SMALLINT Код договора
2 Order_date DATE DATE Дата договора
3 Customer_id NUMBER(6,0) INTEGER Код покупателя
4 Ship_date DATE DATE Дата поставки
5 Total NUMBER(8,2) NUMERIC(8,2) Общая сумма договора
Примечания.
  1. Первичный ключ таблицы - order_id.
  2. customer_id - внешний ключ, ссылающийся на таблицу CUSTOMER.
  3. В таблице имеются записи о 100 заказах за период от 6.01.89 по 19.11.91.

 

Таблица ITEM - строки заказов

N
пп
Имя столбца Тип данных
Oracle
Тип данных
DB2
Комментарии
1 Order_id NUMBER(4,0) SMALLINT Код договора, в состав которого входит строка
2 Item_id NUMBER(4,0) SMALLINT Номер строки в договоре
3 Product_id NUMBER(6,0) INTEGER Код товара
4 Actual_price NUMBER(8,2) NUMERIC(8,2) Цена в данной продаже
5 Quantity NUMBER(8,0) INTEGER Количество
6 Total NUMBER(8,2) NUMERIC(8,2) Сумма в строке
Примечания.
  1. Первичный ключ таблицы - составной (order_id, item_id).
  2. order_id и product_id - внешние ключи, ссылающиеся на таблицы SALES_ORDER и PRODUCT соответственно.
  3. Цена actual_price должна находится в пределах между list_price и min_price соответствующей записи таблицы PRICE.
  4. Сумма total должна равняться произведению цены actual_price на количество quantity.
  5. Сумма значений total во всех строках таблицы ITEM, относящихся к определенному заказу, должная совпадать со значением в столбце total в строке таблицы SALES_ORDER, относящейся к этому заказу.
  6. Всего в таблице ITEM 271 записей.

 

Таблица PRODUCT - товары

N
пп
Имя столбца Тип данных
Oracle
Тип данных
DB2
Комментарии
1 Product_id NUMBER(6,0) INTEGER Код товара
2 Description VARCHAR(30) VARCHAR(30 Название товара
Примечания.
  1. Первичный ключ таблицы - product_id.
  2. В таблице имеются записи о 31 товаре.

 

Таблица PRICE - цены

N
пп
Имя столбца Тип данных
Oracle
Тип данных
DB2
Комментарии
1 Product_id NUMBER(6,0) INTEGER Код товара
2 List_price NUMBER(8,2) NUMERIC(8,2) Объявленная цена
3 Min_price NUMBER(8,2) NUMERIC(8,2) Минимально возможная цена
4 Start_date DATE DATE Дата установления цены
5 End_date DATE DATE Дата отмены цены
Примечания.
  1. Первичный ключ таблицы составной - (product_id, start_date).
  2. product_id - внешний ключ, ссылающийся на таблицу PRODUCT.
  3. В таблице хранятся данные как об актуальных, так и о старых ценах, поэтому одному товару могут соответствовать несколько записей в таблице. Признаком того, что цена является актуальной (действует в настоящее время) является значение NULL в столбце end_date. Для каждого товара может быть только одна актуальная цена.
  4. При заключении договора реальная цена продаже (actual_price в таблице PRICE) находится в пределах между min_price и list_price.

НазадОглавление
КаталогИндекс раздела