Главная » Просмотр файлов » 22.Анализ адекватности моделирования

22.Анализ адекватности моделирования (1034746), страница 2

Файл №1034746 22.Анализ адекватности моделирования (Документация по КСАМ (КИСП)) 2 страница22.Анализ адекватности моделирования (1034746) страница 22017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

(H_C_W_ID, H_C_D_ID, H_C_ID) внешний ключ, ссылающийся на

C_W_ID, C_D_ID, C_ID).

(H_W_ID, H_D_ID) внешний ключ, ссылающийся на(D_W_ID, D_ID).

5. Таблица NEW-ORDER - на каждую запись DISTRICT 900 строк NEW-ORDER связаны с последними 900 строками таблицы ORDER (то есть NO_O_ID лежит между 2101 и 3000)

Имя атрибута

Тип

Длина

Значение атрибута

NO_O_ID

3000 уникальных значений, равно O_ID

NO_D_ID

10 уникальных значений IDs, равно D_ID

NO_W_ID

W уникальных значений IDs, равно W_ID

Первичный ключ: (NO_W_ID, NO_D_ID, NO_O_ID)

(NO_W_ID, NO_D_ID, NO_O_ID) - внешний ключ, ссылающийся на

(O_W_ID, O_D_ID, O_ID)

6. Таблица ORDER - 3000 строк для каждой строки DISTRICT

Имя атрибута

Тип

Длина

Значение атрибута

O_ID

3000 уникальных значений

O_D_ID

10 уникальных значений, равно D_ID

O_W_ID

W уникальных значений, равно W_ID

O_C_ID

Последовательность номеров [1,3000] в случайном порядке

O_ENTRY_D

date and time

Текущая дата и время ОС

O_CARRIER_ID

10 уникальных значений или NULL; если O_ID < 2101, то случайное число в интервале [1,10], NULL - в противном случае

O_OL_CNT

Случайное целое число в интервале [5,15]

O_ALL_LOCAL

numeric

1 digit

Равно 1

Первичный ключ: (O_W_ID, O_D_ID, O_ID)

(O_W_ID, O_D_ID, O_C_ID) внешний ключ, ссылающийся на

(C_W_ID, C_D_ID, C_ID)

7. Таблица ORDER-LINE - число строк в ORDER-LINE равно O_OL_CNT, сгенерированному при создании записи ORDER

Имя атрибута

Тип

Длина

Значение атрибута

OL_O_ID

3000 уникальных значений, равно O_ID

OL_D_ID

10 уникальных значений, равно D_ID

OL_W_ID

W уникальных значений, равно W_ID

OL_NUMBER

Уникально в интервале [0,O_OL_CNT]

OL_I_ID

Случайное целое число в [1,100000]

OL_SUPPLY_W_ID

W уникальных значений, равно W_ID

OL_DELIVERY_D

date and time

Если OL_O_ID <2101, то равно O_ENTRY_D, иначе NULL

OL_QUANTITY

numeric

2 digits

Равно 5

OL_AMOUNT

numeric

6 digits

Если OL_O_ID<2101, то равно 0.00, иначе - это случайное число из интервала [0.01, 9999.99]

OL_DIST_INFO

text

24

Случайная строка длиной 24

Первичный ключ: (OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER).

(OL_W_ID, OL_D_ID, OL_O_ID) - внешний ключ, ссылающийся на

(O_W_ID, O_D_ID, O_ID).

(OL_SUPPLY_W_ID, OL_I_ID) - внешний ключ, ссылающийся на

(S_W_ID, S_I_ID).

8. Таблица ITEM

Имя атрибута

Тип

Длина

Значение атрибута

I_ID

100000 уникальных значений

I_IM_ID

Случайная величина в [1,10000]

I_NAME

text

24

Случайная строка со случайной длиной в интервале [14,24]

I_PRICE

numeric

5 digits

случайное число в интервале [1.00,100.00]

I_DATA

text

50

Случайная строка со случайной длиной в интервале [26,50]

Первичный ключ: I_ID

9. Таблица STOCK - 100000 строк на каждую запись WAREHOUSE

Имя атрибута

Тип

Длина

Значение атрибута

S_I_ID

100000

S_W_ID

W уникальных значений, равно W_ID

S_QUANTITY

numeric

4 digits

Случайное число в интервале [10,100]

S_DIST_01

text

24

Случайная строка длиной 24

S_DIST_02

text

24

Случайная строка длиной 24

S_DIST_03

text

24

Случайная строка длиной 24

S_DIST_04

text

24

Случайная строка длиной 24

S_DIST_05

text

24

Случайная строка длиной 24

S_DIST_06

text

24

Случайная строка длиной 24

S_DIST_07

text

24

Случайная строка длиной 24

S_DIST_08

text

24

Случайная строка длиной 24

S_DIST_09

text

24

Случайная строка длиной 24

S_DIST_10

text

24

Случайная строка длиной 24

S_YTD

numeric

8 digits

Равно 0

S_ORDER_CNT

numeric

4 digits

Равно 0

S_REMOTE_CNT

numeric

4 digits

Равно 0

S_DATA

text

50

Случайная строка со случайной длиной в интервале [26,50]

Первичный ключ: (S_W_ID, S_I_ID).

S_W_ID внешний ключ, ссылающийся на W_ID.

S_I_ID внешний ключ, ссылающийся на I_ID.

В ТРС-С определены пять транзакций.

Транзакция New-Order (Новый-Заказ) обрабатывает поступивший на склад заказ, состоящий в среднем из 10 позиций, размещает информацию о заказе в базе данных и соответствующим образом обновляет уровень товарных запасов.

Транзакция Payment (Платёж) обрабатывает платёж покупателя, обновляет его баланс и другие данные в отношениях Warehouse, District и Customer. Покупатель может быть идентифицирован либо уникальным идентификатором, либо по имени.

Транзакция Order-Status (Статус-Заказа) возвращает статус последнего заказа покупателя. Так же как и в транзакции Payment, покупатель может быть идентифицирован либо уникальным идентификатором, либо по имени.

Транзакция Delivery (Выполнение, Доставка) обрабатывает 10 невыполненных заказов (по одному на каждый район), включающих в среднем 10 позиций. Соответствующие заказы удаляются из таблицы New-Order.

И наконец, транзакция Stock-Level (Уровень-Запасов) определяет количество товаров (пунктов), заказанных в последних 20 заказах в конкретном районе.

Ниже приведены описания этих транзакций на уровне операторов обращений к базе данных.

1. Транзакция New-Order

Запрос (SQL-оператор )

Число повторов

SELECT c_discount, c_last, c_credit, w_tax INTO :c_discount, :c_last, :c_credit, :w_tax

FROM customer, warehouse

WHERE w_id = :w_id AND c_w_id = w_id AND c_d_id = :d_id AND c_id = :c_id;

1

SELECT d_next_o_id, d_tax INTO :d_next_o_id, :d_tax

FROM district

WHERE d_id = :d_id AND d_w_id = :w_id;

1

UPDATE district SET d_next_o_id = :d_next_o_id + 1

WHERE d_id = :d_id AND d_w_id = :w_id;

1

INSERT INTO ORDERS (o_id, o_d_id, o_w_id, o_c_id,o_entry_d, o_ol_cnt, o_all_local)

VALUES (:o_id, :d_id, :w_id, :c_id,:datetime, :o_ol_cnt, :o_all_local);

1

INSERT INTO NEW_ORDER (no_o_id, no_d_id, no_w_id)

VALUES (:o_id, :d_id, :w_id);

1

SELECT i_price, i_name , i_data INTO :i_price, :i_name, :i_data

FROM item

WHERE i_id = :ol_i_id;

10

SELECT s_quantity, s_data,

s_dist_01, s_dist_02, s_dist_03, s_dist_04, s_dist_05

s_dist_06, s_dist_07, s_dist_08, s_dist_09, s_dist_10

INTO :s_quantity, :s_data,

:s_dist_01, :s_dist_02, :s_dist_03, :s_dist_04, :s_dist_05

:s_dist_06, :s_dist_07, :s_dist_08, :s_dist_09, :s_dist_10

FROM stock

WHERE s_i_id = :ol_i_id AND s_w_id = :ol_supply_w_id;

10

UPDATE stock SET s_quantity = :s_quantity

WHERE s_i_id = :ol_i_id AND s_w_id = :ol_supply_w_id;

10

INSERT INTO order_line (ol_o_id, ol_d_id, ol_w_id, ol_number,ol_i_id, ol_supply_w_id,

ol_quantity, ol_amount, ol_dist_info)

VALUES (:o_id, :d_id, :w_id, :ol_number,:ol_i_id, :ol_supply_w_id,

:ol_quantity, :ol_amount, :ol_dist_info);

10

2. Транзакция Payment

Запрос (SQL-оператор )

Число повторов

UPDATE warehouse SET w_ytd = w_ytd + :h_amount

WHERE w_id=:w_id;

1

SELECT w_street_1, w_street_2, w_city, w_state, w_zip, w_name

INTO :w_street_1, :w_street_2, :w_city, :w_state, :w_zip, :w_name

FROM warehouse

WHERE w_id=:w_id;

1

UPDATE district SET d_ytd = d_ytd + :h_amount

WHERE d_w_id=:w_id AND d_id=:d_id;

1

SELECT d_street_1, d_street_2, d_city, d_state, d_zip, d_name

INTO :d_street_1, :d_street_2, :d_city, :d_state, :d_zip, :d_name

FROM district

WHERE d_w_id=:w_id AND d_id=:d_id;

1

SELECT count(c_id) INTO :namecnt

FROM customer

WHERE c_last=:c_last AND c_d_id=:c_d_id AND c_w_id=:c_w_id;

0.6

Открыть курсор для запроса (найдены 3 записи):

SELECT c_first, c_middle, c_id,c_street_1, c_street_2, c_city, c_state, c_zip,c_phone, c_credit, c_credit_lim,c_discount, c_balance, c_since

FROM customer

WHERE c_w_id=:c_w_id AND c_d_id=:c_d_id AND c_last=:c_last

ORDER BY c_first;

0.6

SELECT c_first, c_middle, c_last,c_street_1, c_street_2, c_city, c_state, c_zip,c_phone, c_credit, c_credit_lim,c_discount, c_balance, c_since

INTO :c_first, :c_middle, :c_last,:c_street_1, :c_street_2, :c_city, :c_state, :c_zip,

:c_phone, :c_credit, :c_credit_lim,:c_discount, :c_balance, :c_since

FROM customer

WHERE c_w_id=:c_w_id AND c_d_id=:c_d_id AND c_id=:c_id;

0.4

SELECT c_data INTO :c_data

FROM customer

WHERE c_w_id=:c_w_id AND c_d_id=:c_d_id AND c_id=:c_id;

0.1

UPDATE customer SET c_balance = :c_balance, c_data = :c_new_data

WHERE c_w_id = :c_w_id AND c_d_id = :c_d_id AND c_id = :c_id;

0.1

UPDATE customer SET c_balance = :c_balance

WHERE c_w_id = :c_w_id AND c_d_id = :c_d_id AND c_id = :c_id;

0.9

INSERT INTO history (h_c_d_id, h_c_w_id, h_c_id, h_d_id,h_w_id, h_date, h_amount, h_data)

VALUES (:c_d_id, :c_w_id, :c_id, :d_id,:w_id, :datetime, :h_amount, :h_data);

1

3. Транзакция Order-Status.

Запрос (SQL-оператор )

Число повторов

SELECT count(c_id) INTO :namecnt

FROM customer

WHERE c_last=:c_last AND c_d_id=:d_id AND c_w_id=:w_id;

0.6

Открыть курсор для запроса (найдены 3 записи):

SELECT c_balance, c_first, c_middle, c_id

FROM customer

WHERE c_last=:c_last AND c_d_id=:d_id AND c_w_id=:w_id

ORDER BY c_first;

0.6

SELECT c_balance, c_first, c_middle, c_last

INTO :c_balance, :c_first, :c_middle, :c_last

FROM customer

WHERE c_id=:c_id AND c_d_id=:d_id AND c_w_id=:w_id;

0.4

SELECT o_id, o_carrier_id, o_entry_d INTO :o_id, :o_carrier_id, :entdate

FROM orders

WHERE o_c_id=:c_id AND o_d_id=:d_id AND o_w_id=:w_id;

1

Открыть курсор для запроса (найдены 10 записей):

SELECT ol_i_id, ol_supply_w_id, ol_quantity,ol_amount, ol_delivery_d

FROM order_line

WHERE ol_o_id=:o_id AND ol_d_id=:d_id AND ol_w_id=:w_id;

1

4. Транзакция Delivery

Запрос (SQL-оператор )

Число повторов

Открыть курсор (c_no) для запроса (найдена 1 запись):

SELECT no_o_id

FROM new_order

WHERE no_d_id = :d_id AND no_w_id = :w_id AND no_o_id

ORDER BY no_o_id ASC;

10

DELETE FROM new_order WHERE CURRENT OF c_no;

10

SELECT o_c_id INTO :c_id

FROM orders

WHERE o_id = :no_o_id AND o_d_id = :d_id AND o_w_id = :w_id;

10

UPDATE orders SET o_carrier_id = :o_carrier_id

WHERE o_id = :no_o_id AND o_d_id = :d_id AND o_w_id = :w_id;

10

UPDATE order_line SET ol_delivery_d = :datetime

WHERE ol_o_id = :no_o_id AND ol_d_id = :d_id AND ol_w_id = :w_id;

10

SELECT SUM(ol_amount) INTO :ol_total

FROM order_line

WHERE ol_o_id = :no_o_id AND ol_d_id = :d_id AND ol_w_id = :w_id;

10

UPDATE customer SET c_balance = c_balance + :ol_total

WHERE c_id = :c_id AND c_d_id = :d_id AND c_w_id = :w_id;

10

5. Транзакция Stock-Level.

Запрос (SQL-оператор )

Число повторов

SELECT d_next_o_id INTO :o_id

FROM district

WHERE d_w_id=:w_id AND d_id=:d_id;

1

SELECT COUNT(DISTINCT (s_i_id)) INTO :stock_count

FROM order_line, stock

WHERE ol_w_id=:w_id AND ol_d_id=:d_id AND ol_o_id<:o_id AND

ol_o_id>=:o_id-20 AND s_w_id=:w_id AND s_i_id=ol_i_id AND s_quantity < :threshold;

1

Описания схемы базы данных и транзакций теста ТСР-С были введены в базу данных КИСП. Эти описания вместе с описаниями спецификаций узлов и сетей хранятся в базе данных, поставляемой с дистрибутивной дискетой КИСП (файл proj1.dmp).

Характеристики

Список файлов учебной работы

Документация по КСАМ (КИСП)
Документация
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее