48648 (Разработка программы запросов), страница 4

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка программы запросов", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48648"

Текст 4 страницы из документа "48648"

Программа «Обучающая программа построению запросов в процедурном виде» требует для своего функционирования компьютер типа IBM PC под управлением операционной системы Windows 2000 и выше.

Минимальный состав технических средств:

  • процессор с оперативным запоминающим устройством емкостью не менее 512 Мб;

  • накопитель на магнитных дисках типа «винчестер» емкостью не менее 30 Гб;

  • CD-ROM для чтения информации с компакт-диска;

  • монитор;

  • принтер.

Программа «Обучающая программа построению запросов в процедурном виде» реализована в виде исполняемого файла и множества БД (внутренняя и учебные).

Язык программирования – Visual Basic 6.0.

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

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

Контрольный пример должен охватить все варианты решения, предусмотренные функциональным описанием и алгоритмами, отражать все этапы решения, демонстрировать возможности программы.


2.4 Требования к программной документации

Состав программной документации программы «Обучающая программа построению запросов в процедурном виде» должен быть следующим:

  • описание программы;

  • руководство пользователя;

  • функциональное описание.

Состав документов может уточняться в процессе разработки.

2.5 Стадии и этапы разработки

Стадии и этапы разработки, содержание работ и сроки выполнения приведены в таблице 2.1.

2.6 Порядок контроля и приемки

В процессе разработки программы «Обучающая программа построению запросов в процедурном виде» должны проводиться: 1) проектирование и отладка программы; 2) предварительные испытания; 3) опытная эксплуатация; 4) ввод в действие.

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

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

Продолжительность опытной эксплуатации составляет 2 недели.

Таблица 2.1 Стадии и этапы разработки

Стадии разработки

Этапы работ

Содержание работ

Сроки выполнения

Изучение предметной области

Изучение особенностей реляционных операций

Исследование основных составляющих запросов и способов их реализации в виде последовательности реляционных операций

31.01.10

Техническое задание

Разработка технического задания

Разработка технического задания, экономическое обоснование

01.03.10

Эскизный проект

Эскизное проектирование

Разработка функционального описания

15.03.10

Рабочий проект

Разработка прикладных программ

Реализация и отладка программ

Разработка программной документации

15.04.10

Испытания программы

Проведение предварительных испытаний

07.05.10

Проведение опытной эксплуатации

21.05.10



3 Проектирование программы обучения реляционной алгебре



3.1 Анализ предметной области

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

Первые четыре операции взяты из математической теории множеств и практически совпадают с операциями теории множеств. Что понятно, так как реляционные таблицы являются множествами. Следующие четыре – новые операции, относящиеся только к реляционной модели данных. Последняя – присвоение – стандартная операция компьютерного языка, дающая имя величине. В данном случае производится присвоение имени новой таблице, созданной из существующих таблиц.

При выполнении операций объединения, пересечения и разности участвующие в них отношения должны удовлетворять свойству совместимости по объединению. Два отношения совместимы по объединению (или просто совместимы), если они имеют одну и ту же степень (т.е. одно и то же число атрибутов) и совпадающие атрибуты, причем значения атрибутов в каждой паре одинаковых атрибутов из обоих отношений должны быть элементами одного и того же домена.

Объединением двух совместимых таблиц R1 и R2 называется таблица R, состоящая из всех строк, принадлежащих хотя бы одной из таблиц R1, R2.

Пересечением двух совместимых таблиц R1 и R2 называется таблица R, состоящая из всех строк, являющихся общими для таблиц R1, R2.

Разностью двух совместимых таблиц R1 и R2 называется таблица R, состоящая только из тех строк таблицы R1, которые отсутствуют в таблице R2.

Декартовым произведением двух таблиц R1 и R2 (необязательно совместимых) называется таблица R, состоящая из всех таких строк, каждая из которых есть конкатенация двух строк, по одной из таблиц R1 и R2, причем на первом месте должна быть строка из R1.

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

Выборка - это операция реляционной алгебры, производящая отбор строк из таблицы на основании некоторого условия.

Создание проекций - операция реляционной алгебры, создающая новую таблицу путем исключения столбцов из существующей таблицы.

Проекция - реляционная таблица, полученная в результате создания проекций.

Соединение - операция реляционной алгебры, связывающая таблицы. У нее есть несколько версий:

Естественное соединение - операция соединения, связывающая таблицы, когда общие столбцы имеют равные значения.

Тета-соединение - это соединение с определенным условием, в котором участвуют столбцы из каждой таблицы. Оператор сравнения может быть любой:

JOIN (A,B: X Y), где обозначает операцию сравнения.

Если используется операция «=», то соединение также называется эквисоединением.

Внешнее соединение – расширяет естественное соединение, гарантируя, что каждая запись из обеих исходных таблиц будет представлена в результирующей таблице хотя бы один раз. Внешнее соединение выполняется в два этапа. Сначала выполняется обычное соединение. Затем, если какая-либо строка одной из исходных таблиц не подходит ни к какой строке второй таблицы, она включается в таблицу соединения, а все дополнительные столбцы заполняются пустыми значениями. Обозначение: OUTER JOIN (A,B). Возможно также левое и правое соединения, при которых в результирующую таблицу включаются только строки из одной таблицы.

Деление – операция реляционной алгебры, создающая новую таблицу путем выбора строк одной таблицы, соответствующих каждой строке другой таблицы.

Программа может работать в двух режимах: обучающем и контролирующем.

В обоих режимах необходимо наличие множества вопросов. Таким образом, необходим еще один компонент программы – формирования вопросов.

Каждый вопрос представляет собой текст запроса к учебной БД. Пользователю для ввода ответа на вопрос необходимо представить текст запроса и информацию о БД, к которой направляется запрос. Удобно представлять информацию о БД в виде графической схемы данных.

Ответ на вопрос должен вводиться в виде последовательности операций реляционной алгебры.

Особенностью данной предметной области является то, что один и тот же результат запроса может быть получен различными способами. Это могут быть последовательности различных операций реляционной алгебры. Либо это могут быть различные последовательности одних и тех же операций.

Например, пусть БД состоит из таблиц Товар (Идентификатор, Название) и Продажа (Дата, Идентификатор товара, Количество, Цена).

Необходимо получить результат запроса «Какой товар продавали в количестве более 100». Ответ можно представить в виде следующих последовательностей.

Первая последовательность:

R1=JOIN (Товар, Продажа, Идентификатор товара=Товар)

R2= (R1, Количество>100)

R3= (R2, Название)

Вторая последовательность:

R1= (Продажа, Количество>100)

R2=JOIN (Товар, R1, Идентификатор товара=Товар)

R3= (R2, Название)

Необходимо получить результат запроса «Какой товар ни разу не продавали». Ответ можно представить в виде следующих последовательностей.

Первая последовательность:

R1= LEFT JOIN (Товар, Продажа, Идентификатор товара=Товар)

R2= (R1, Идентификатор товара=NULL)

R3= (R2, Название)

Вторая последовательность:

R1= (Продажа, Идентификатор товара)

R2= (Товар, Идентификатор)

R3=R2-R1

R4=JOIN (Товар, R3, Товар.Идентификатор = R3.Идентификатор)

R5= (R4, Название)

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

Проверка правильности введенного ответа может выполняться двумя способами.

Первый способ предполагает сравнение ответа с эталонным множеством ответов. При этом важное значениек5 имеет полнота введенных ответов, то есть качество заполнения внутренней БД.

Вторым способом проверки является выполнение введенного ответа и эталонного запроса. Здесь также важным является качество заполнения учебной БД, так как некоторые запросы могут давать верный результат при одном наборе данных, но оказываться неверными при других данных. Поэтому в этом случае также важным является качество заполнения исходных данных.

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

Должна быть учебная БД с заполненными таблицами. Таблицы должны быть заполнены такими данными, чтобы можно было проверить правильность выполнения запроса в любом случае.

Для выполнения запроса к БД должна быть возможность соединения с учебной БД.

Учебных БД может быть несколько.

К каждой БД может быть составлено множество запросов, на каждый запрос может быть множество ответов.

Пользователь должен иметь удобный интерфейс для ввода последовательности операций.

Ему должна быть предоставлена возможность выбрать требуемую операцию. В зависимости от выбранной операции должен быть предусмотрен ввод одного или двух операндов, а также дополнительной информации.

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

При вводе условий необходимо предоставить возможность выбора операции сравнения и множества стандартных констант типа TRUE, FALSE, NULL.

При проверке правильности ответа необходимо учесть зависимость и независимость порядка операндов.

Например, для операции объединения порядок операндов несущественен, для операции внутреннего соединения тоже, но при выполнении операции левого соединения порядок существенен. При этом эквивалентны операции:

R1= LEFT JOIN (A, B, условие соединения)

и

R1= RIGHT JOIN (B, A, условие соединения).

Таким образом, проверка правильности введенного ответа не может выполняться простым сравнением эталона и введенного текста.

Необходимы алгоритмы интеллектуального сравнения с учетом особенностей предметной области.

При вводе очередной n-й операции последовательности ее результату присваивается стандартное имя Rn. Это имя добавляется в список возможных операндов следующей операции.

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4125
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее