Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Системы управления БД и их состав




Работа с БД сводится к выполнению следующих операций:

1) запись (заполнение базы);

2) просмотр;

3) редактирование (добавление, удаление, исправления);

4) выборка (запросы, отчеты).

Эти операции накопления и манипулирования данными выполняет специальная программа – система управления БД (СУБД). СУБД – совокупность программных и языковых средств.

1) Языковые средства обеспечивают взаимодействие пользователя с БД. К ним относят:

a) языки определения данных (ЯОД) – языки, предназначенные для создания схемы БД (описание типов данных, структуры базы, взаимодействия и связей элементов;

b) языки манипулирования данными (ЯМД) – языки запросов к БД. Представляют собой систему команд (выборка, запрос, вставка, удаление и т. д.).

2) Программные средства обеспечивают организацию ввода, обработки и хранения данных и взаимодействие всех частей системы при ее функционировании (настройка, тестирование и т. д.).

Современные СУБД включают в свой состав прикладные программы, позволяющие работать с БД неквалифицированному пользователю, который использует при взаимодействии с БД свой (человеческий) язык.

44)Схема взаимодействия пользователя с БД:

СУБД (например, access)
БД
Пользователь (неквалифицированный)
1) 2)

 

1) Общение на естественном языке

2) Общение на ЯОД и ЯМД

Некоторые приемы программирования

Приемы будут рассмотрены на примерах обработки одномерных числовых массивов в ЯП Pascal. Дан массив А[N]

1) Накопление суммы и произведения:

S:=0;

P:=0;

FOR I:=1 TO N DO

BEGIN

S:=S+A[I];

P:=P*A[I];

END;

2) Нахождение MAX (MIN):

IMAX:=1;

FOR I:=2 TO N DO IF A[I]>A[IMAX]

THEN

IMAX:=I;

WRITELN(‘MAX=’,A[IMAX],’его номер’,IMAX);

3) Удаление из массива К-го элемента:

FOR I:=K TO N-1 DO

A[I]:=A[I+1];

N:=N-1;

4) Вставка в массив нового элемента В на К-е место:

N:=N+1;

FOR I:=1 DOWNTO K+1 DO

A[I]:=A[I-1];

A[K]:=B;

5) Метод сортировки:

a) Метод пузырька:

FOR I:=1 TO N-1 DO

FOR J:=1 TO N-1 DO

IF A[J]>A[J+1]

THEN

BEGIN

BUF:=A[J];

A[J]:=A[J+1];

A[J+1]:=BUF;

END;

b) 46)Ускоренный метод пузырька:

· уменьшение количества сравнивания соседей на каждом последующем проходе по массиву:

FOR I:=1 TO N-1 DO

FOR J:=1 TO N-I DO

IF A[J]>A[J+1]

THEN

BEGIN

BUF:=A[J];

A[J]:=A[J+1];

A[J+1]:=BUF;

END;

что равносильно другой записи:

FOR J:=N-1 TO 1 DO

FOR I:=1 TO J DO

IF A[J]>A[J+1]

THEN

BEGIN

BUF:=A[J];

A[J]:=A[J+1];

A[J+1]:=BUF;

END;

· прекращение проходов по массиву при окончательном упорядочивании:

K:=N;

REPEAT

PORYADOK:=TRUE;

K:=K+1;

FOR J:=1 TO K DO

BUF:=A[J];

A[J]:=A[J+1];

A[J+1]:=BUF;

PORYADOK:=FALSE;

END;

UNTIL PORYADOK;

c) 47)Метод сортировки выбором (метод выбора). Суть : при сортировке по возрастанию находится min элемент в диапазоне от 1-го до последнего и меняется местами с первым, затем находится min элемент в диапазоне от 2-го до последнего и меняется местами со вторым и т. д.

FOR I:=1 TO N-1 DO

BEGIN

MIN:=A[I];

IMIN:=I;

FOR J:=I+1 TO N DO

IF A[J]<MIN

THEN

BEGIN

MIN:=A[J];

IMIN:=J;

END;

A[IMIN]:=A[I];

A[I]:=MIN;

END;

d) 48)Метод вставки. Суть: считается, что массив разделен на две части: отсортированную (в начале массива) и не отсортированную (в оставшейся части массива). (В самом начале отсортированная часть состоит из одного элемента.) Из не отсортированной части выбирается 1-й элемент (его номер I) и вставляется в отсортированную часть без изменения порядка возрастания (в позицию J).

FOR I:=2 TO N DO

BEGIN

BUF:=A[I];

J:=1;

WHILE BUF>A[J] DO

J:=J+1;

FOR K:=I DOWNTO J+1 DO

A[K]:=A[K-1];

A[J]:=BUF;

END;

 

 

6) Поиск в массиве искомого элемента:

a) 49)Метод перебора. Суть метода: элемента массива, начиная с первого,

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

NAIDENO:=FALSE;

I:=0;

REPEAT

I:=I+1;

IF A[I]=ISKOMOE

THEN

NAIDENO:=TRUE;

UNTIL NAIDENO OR (I=N);

IF NAIDENO

THEN

WRITELN(‘Элемент найден, его номер:’,I)

ELSE

WRITELN(‘Элемент не найден’);

b) 50)Метод бинарного поиска (деления пополам). Примечание: используется только для упорядоченных массивов. Суть метода: находится центральный (серединный) элемент массива. Искомое сравнивается с этим элементом; если они равны, поиск прекращается. В противном случае, если центральный элемент меньше искомого (при сортировке по возрастанию), то из рассмотрения исключаются элементы массива, начиная с первого до центрального. Иначе из рассмотрения исключаются элементы массива, начиная с центрального до последнего. В оставшейся половине массива находится центральный элемент и сравнивается с искомым и так далее до тех пор, пока не произойдет совпадение, или область поиска не сузится до 0.

NA:=1; //номер первого элемента в рассмотренном диапазоне

KO:=N;

NAIDENO:=FALSE;

REPEAT

SR:=NA+(KO-N) DIV 2;

IF A[SR]=ISKOMOE

THEN

NAIDENO:=TRUE

ELSE

IF A[SR]<ISKOMOE

THEN

NA:=SR+1

ELSE

KO:=SR-1

UNTIL NAIDENO OR (NA>KO);

IF NAIDENO

THEN

WRITELN(‘Элемент найден, его номер:’,SR)

ELSE

WRITELN(‘Элемент не найден’);

 


Поделиться:

Дата добавления: 2015-01-29; просмотров: 308; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты