Вход

Проблемно-ориентированные программные комплексы.

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 106513
Дата создания 2012
Страниц 30
Источников 2
Мы сможем обработать ваш заказ (!) 4 июня в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
3 090руб.
КУПИТЬ

Содержание

Содержание
1. Техническое задание
2. Краткое описание предметной области
3. Логическая модель проектируемого хранилища данных
4. Даталогическая модель проектируемого хранилища данных
5. Физическая модель проектируемого хранилища данных
6. Проектирование программной оболочки хранилища данных
7. Результаты работы программной оболочки
8. Выводы по работе
Список использованной литературы
Приложение

Фрагмент работы для ознакомления

x:=parX;
dtCell[i].y:=parY;
ADOQuery1.Recordset.MoveNext;
end;
cols:=cols+1; // получаем количество столбцов
rows:=rows+1; // и количество строк
except
application.MessageBox( 'Не могу выполнить запрос', 'Ошибка',MB_OK);
exit;
end;
StringGrid1.RowCount:=rows+1; // устанавливаем размеры таблицы
StringGrid1.ColCount:=cols+1; // с учетом заголовков
//
for k:=0 to count-1 do // разворачиваем результат
begin; // в прямоугольную форму
for j:=0 to cols-1 do // находим координату по горизонтали
if dtCell[k].x = axeX[j] then
break;
for i:=0 to rows-1 do // находим координату по вертикали
if dtCell[k].y = axeY[i] then
break;
// вписываем данные в ячейку
StringGrid1.Cells[j+1,i+1]:=Format('%f',[dtCell[k].data]);
end;
//
for i:=0 to cols-1 do // формируем заголовки столбцов
begin;
header:='';
if RadioButton7.Checked then // по горизонтали выбран период
begin; // разбираем дату
month:=axeX[i] mod 100;
quorter:=(axeX[i] div 100) mod 100;
year:=axeX[i] div 10000;
for j:=0 to length(years)-1 do
if year = years[j].id then // находим год
begin;
if month <> 0 then // месяц задан
begin;
for l:=0 to length(months)-1 do
if month = months[l].id then // находим месяц
begin;
header:=header+months[l].name+' ';
break;
end;
end
else // месяц не задан
begin;
for k:=1 to length(quorters)-1 do
if quorter = quorters[k].id then // находим квартал
begin;
header:=header+quorters[k].name+' ';
break;
end;
end;
header:=header+years[j].name;
break;
end;
end
else if RadioButton8.Checked then // по горизонтали выбран адрес
begin;
if RadioButton4.Checked then // уровень детализации - улица
begin;
for j:=1 to length(streets)-1 do
if axeX[i] = streets[j].id then // находим улицу
begin;
header:=header+streets[j].name;
break;
end;
end
else if RadioButton5.Checked then // уровень детализации - дом
begin;
for j:=0 to length(allhouses)-1 do
if axeX[i] = allhouses[j].id then // находим дом
begin;
for k:=1 to length(streets)-1 do // находим улицу
if allhouses[j].parent_id = streets[k].id then
begin;
header:=header+streets[k].name;
break;
end;
header:=header+', д.'+allhouses[j].name;
break;
end;
end
else // уровень детализации - квартира
begin;
for l:=0 to length(allapps)-1 do
if axeX[i] = allapps[l].id then // находим квартиру
begin;
for j:=0 to length(allhouses)-1 do // находим дом
if allapps[l].parent_id = allhouses[j].id then
begin;
for k:=1 to length(streets)-1 do // находим улицу
if allhouses[j].parent_id = streets[k].id then
begin;
header:=header+streets[k].name;
break;
end;
header:=header+', д.'+allhouses[j].name;
break;
end;
header:=header+', кв.'+allapps[l].name;
break;
end;
end;
end
else if radioButton9.Checked then // по горизонтали выбран платежный агент
begin;
for j:=1 to length(agents)-1 do
if axeX[i] = agents[j].id then // находим агента
begin;
header:=agents[j].name;
break;
end;
end
else // по горизонтали выбран вид платежа
for j:=1 to length(categories)-1 do
if axeX[i] = categories[j].id then // находим вид платежа
begin;
header:=categories[j].name;
break;
end;
StringGrid1.Cells[i+1,0]:=header; // выводим сформированный заголовок
end;
//
for i:=0 to rows-1 do // формируем заголовки строк
begin;
header:='';
if RadioButton11.Checked then // по вертикали выбран период
begin;
month:=axeY[i] mod 100; // разбираем дату
quorter:=(axeY[i] div 100) mod 100;
year:=axeY[i] div 10000;
for j:=0 to length(years)-1 do
if year = years[j].id then // находим год
begin;
if month <> 0 then // месяц задан
begin;
for l:=0 to length(months)-1 do
if month = months[l].id then // находим месяц
begin;
header:=header+months[l].name+' ';
break;
end;
end
else // месяц не задан
begin;
for k:=1 to length(quorters)-1 do
if quorter = quorters[k].id then // находим квартал
begin;
header:=header+quorters[k].name+' ';
break;
end;
end;
header:=header+years[j].name;
break;
end;
end
else if RadioButton12.Checked then // по вертикали выбран период
begin;
if RadioButton4.Checked then // уровень детализации - улица
begin;
for j:=1 to length(streets)-1 do
if axeY[i] = streets[j].id then // находим улицу
begin;
header:=header+streets[j].name;
break;
end;
end
else if RadioButton5.Checked then // уровень детализации - дом
begin;
for j:=0 to length(allhouses)-1 do
if axeY[i] = allhouses[j].id then // находим дом
begin;
for k:=1 to length(streets)-1 do // находим улицу
if allhouses[j].parent_id = streets[k].id then
begin;
header:=header+streets[k].name;
break;
end;
header:=header+', д.'+allhouses[j].name;
break;
end;
end
else // уровень детализации - квартира
begin;
for l:=0 to length(allapps)-1 do
if axeY[i] = allapps[l].id then // находим квартиру
begin;
for j:=0 to length(allhouses)-1 do // находим дом
if allapps[l].parent_id = allhouses[j].id then
begin;
for k:=1 to length(streets)-1 do // находим улицу
if allhouses[j].parent_id = streets[k].id then
begin;
header:=header+streets[k].name;
break;
end;
header:=header+', д.'+allhouses[j].name;
break;
end;
header:=header+', кв.'+allapps[l].name;
break;
end;
end;
end
else if radioButton13.Checked then // по вертикали выбран платежный агент
begin;
for j:=1 to length(agents)-1 do
if axeY[i] = agents[j].id then // находим агента
begin;
header:=agents[j].name;
break;
end;
end
else // по вертикали выбран вид платежа
for j:=1 to length(categories)-1 do
if axeY[i] = categories[j].id then // находим вид платежа
begin;
header:=categories[j].name;
break;
end;
StringGrid1.Cells[0,i+1]:=header; // выводим заголовок в таблицу
end;
//
for i:=0 to StringGrid1.ColCount-1 do // регулируем ширину столбцов
begin // по содержимому
MaxWidth:=0;
for j:=0 to StringGrid1.RowCount-1 do
if Canvas.TextWidth(StringGrid1.Cells[i,j]) > MaxWidth then
MaxWidth:=Canvas.TextWidth(StringGrid1.Cells[i,j]);
StringGrid1.ColWidths[i]:=MaxWidth+5;
end;
end;
end.
29

Список литературы [ всего 2]

Список использованной литературы
1. Барсегян А.А., Куприянов М.С., Степаненко В.В., Холод И.И. Методы и модели анализа данных: OLAP и Data Mining. – СПб.: БХВ-Петербург, 2004. – 336 с., ил.
2. Конноли Т.М., Бегг К.Е. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание. : Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 1440 с., ил.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00498
© Рефератбанк, 2002 - 2024