Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры к зачету.doc
Скачиваний:
38
Добавлен:
16.04.2019
Размер:
906.75 Кб
Скачать

16. Сложные элементы er-диаграмм, получение реляционной схемы из er-схемы.

Более сложные элементы ER-диаграммы.

1.Уточняемые степени связи («2» у сотрудников(макс.число родителе1)).

2. Каскадные удаления экземпляров сущностей (связь настолько сильная и существенная, что когда удаляется один экземпляр, удаляются каскадно и др.сущности). Тип связи «один-ко-многим». Например, увольняется сотрудник, следовательно, удаляем его детей из БД.

3. Домены – потенциальные множества, значения которые принимают сущности. Например, возможные должности сотрудников.

Получение реляционной схемы из ER-схемы.

1. Превратить каждую простую сущность в таблицу, имя сущности превращается в имя таблицы (англояз.).

2. Каждый атрибут сущности превращается в столбец соответствующей таблицы. При этом неключевые столбцы могут иметь пустые значения, ключевые столбцы должны содержать данные.

3. Компоненты уникального идентификатора превращаются в первичный ключ таблицы. Например, табельный номер.

4. Связи «многие-к-одному» или «один-к-одному» становятся внешними ключами. Связь «многие-ко-многим» устраняется путём введения дополнительной фиктивной сущности и двух связей по типу «один-ко-многим».

17. Разработать er-диаграмму (отличную от примера в лекциях, с количеством сущностей не менее пяти).

Пример, отличный от лекций.

Имеется оптовая фирма. Требования, предъявляемые к системе:

  1. Система должна хранить информацию о покупателях.

  2. Система должна печатать накладные на отпущенные товары.

  3. Система должна отслеживать наличие товара на складе.

Сущности: 1.Покупатель. 2. Накладная. 3.Товар. 4. Наличие. 5.Склад (если несколько).

18. Проектирование внутренней схемы базы данных (привести пример отличный от примера в лекциях с числом отношений не менее трех).

1) Выбор СУБД (Асsess MS).

2) Каждому столбцу задать тип данных.

3) Разработка интерфейса (рабочие окна, элементы управления, встроенные запросы, значения по умолчанию).

4) Вопросы безопасности. Базы данных в Асsess: *.mdb ставится по умолчанию (меняемая структура), *.mdl – неменяемая структура.

19. Параллельная обработка данных, понятия о конвейерности и параллелизме.

Примеры использования суперкомпьютеров можно найти в космических и геологических исследованиях, автомобилестроении, фармакологии, прогнозе погоды и моделировании изменения климата, сейсморазведке и т.д. Первый компьютер EDSAC (1949 год) со временем такта 2 микросекунды (мкс) мог выполнить в среднем 100 арифметических операций в секунду, а суперкомпьютер CRAY C90 имеет время такта около 4 наносекунд, с пиковой производительностью около 1 миллиарда арифметических операций в секунду. Производительность компьютеров за этот период выросла приблизительно в десять миллионов раз. Уменьшение времени такта является прямым способом увеличения производительности, однако рост этой составляющей (с 2 мкс до 4 наносек.) в общем объеме обеспечивает рост производительности лишь в 500 раз. Остальной рост производительности приходится на новые архитектурные решения, среди которых значительное место занимает принцип параллельной обработки данных. Данный принцип, воплощая идею одновременного выполнения нескольких действий, имеет две разновидности: конвейерность и собственно параллельность. Параллельная обработка: если некое устройство выполняет одну операцию за единицу времени, то тысячу операций оно выполнит за тысячу единиц. Если предположить, что есть пять таких же независимых устройств, способных работать одновременно, то ту же тысячу операций система из пяти устройств может выполнить уже не за тысячу, а за двести единиц времени. Аналогично система из N устройств ту же работу выполнит за 1000/N единиц времени. Подобные аналогии можно найти и в жизни: если один солдат вскопает огород за 10 часов, то рота солдат из пятидесяти человек с такими же способностями, работая одновременно, справятся с той же работой за 12 минут-принцип параллельности в действии!

Конвейерная обработка. Что необходимо для сложения двух вещественных чисел, представленных в форме с плавающей запятой? Целое множество мелких операций таких, как сравнение порядков, выравнивание порядков, сложение мантисс, нормализация и т.п. Процессоры первых компьютеров выполняли все эти "микрооперации" для каждой пары аргументов последовательно одна за одной до тех пор, пока не доходили до окончательного результата, и лишь после этого переходили к обработке следующей пары слагаемых. Идея конвейерной обработки заключается в выделении отдельных этапов выполнения общей операции, причем каждый этап, выполнив свою работу, передавал бы результат следующему, одновременно принимая новую порцию входных данных. Получаем очевидный выигрыш в скорости обработки за счет совмещения прежде разнесенных во времени операций. Предположим, что в операции можно выделить пять микроопераций, каждая из которых выполняется за одну единицу времени. Если есть одно неделимое последовательное устройство, то 100 пар аргументов оно обработает за 500 единиц. Если каждую микрооперацию выделить в отдельный этап (или иначе говорят - ступень) конвейерного устройства, то на пятой единице времени на разной стадии обработки такого устройства будут находится первые пять пар аргументов, а весь набор из ста пар будет обработан за 5+99=104 единицы времени - ускорение по сравнению с последовательным устройством почти в пять раз (по числу ступеней конвейера). Казалось бы конвейерную обработку можно с успехом заменить обычным параллелизмом, для чего продублировать основное устройство столько раз, сколько ступеней конвейера предполагается выделить. В самом деле, пять устройств предыдущего примера обработают 100 пар аргументов за 100 единиц времени, что быстрее времени работы конвейерного устройства! В чем же дело? Ответ прост, увеличив в пять раз число устройств, мы значительно увеличиваем как объем аппаратуры, так и ее стоимость. Представьте себе, что на автозаводе решили убрать конвейер, сохранив темпы выпуска автомобилей. Если раньше на конвейере одновременно находилась тысяча автомобилей, то действуя по аналогии с предыдущим примером надо набрать тысячу бригад, каждая из которых (1) в состоянии полностью собрать автомобиль от начала до конца, выполнив сотни разного рода операций, и (2) сделать это за то же время, что машина прежде находилась на конвейере.

Программа параллельного суммирования чисел от 1 до 100:

S:=0

S1:=0

S2:=0

i:=1;50

DO

S1:= S1+Ai

S2:= S2+A100-i

END DO

NEXT I

S=S1+S2

Закон Андала: S1/(f+(1-f)/p), где f-число последовательных операций в программе; р-число процессоров; S-ускорение программы в разах. Это ускорение в первую очередь зависит от f, только потом от р. Закон Андала регламентирует максимальное ускорение программы.