Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное_пособие_заочное (брошюра)

.pdf
Скачиваний:
24
Добавлен:
21.03.2016
Размер:
1.92 Mб
Скачать

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

Задача 1.

Даны вещественные x, y, z. Вычислить min (x y z, x y z).

Решение.

a)Программа.

/* Задача 1*/ #include <stdio.h>

void main()

{float x, y, z, p, q, min;

printf(”\nВведите x, y, z ”);

scanf(”%f %f %f”, &x, &y , &z );

p = x+y+z; q = x*y*z;

if(p<q) min=p; else min=q;

printf(”\nmin = %f”, min);

}

b) Блок-схема.

112

функции ввода-вывода и др. Теперь мы обратимся к конструкциям языка, с помощью которых и создаются функции.

Определение функции содержит:

тип_функции имя_функции (спецификация_формальных параметров)

{определения_объектов; исполняемые_операторы;

}

При этом имеет место следующее:

1.Формальные параметры могут отсутствовать.

2.Тело функции – это составной оператор или блок.

3.Переменные, объявленные в теле функции, являются локальными; переменные, объявленные вне функций, являются глобальными.

4.Определения функций не могут быть вложенными.

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

6.Тип функции определяется типом, возвращаемого ею значения. Если функция не вырабатывает значения, то она должна быть объявлена типом void. Если тип функции не объявлен, то по умолчанию она имеет тип int.

7.Обращение к функции (иначе говоря вызов функции) имеет вид:

имя_функции (список фактических параметров)

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

41

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

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

8.Функция может иметь несколько операторов return. Например,

float min (float a, float b)

{ if (a<=b) return a; else return b; }

Пример 1.4.14.

Вычислить среднее значение функции y(x)=5x3 + x2 + x в

точках a, b, (a+b)/2, где a = 3, b = 4.

#include stdio.h

#include math.h

float y( float x )

{

return 5* pow( x, 3 ) + x * x + x ;

}

void main( )

{

float a = 3, b = 4, s = 0 ;

s = ( y(a) + y(b) + y((a+b)/2) ) / 3. ;

printf ( “среднее значение y(x) равно %f “, s ) ;

}

42

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x)

 

 

 

 

 

 

 

 

 

 

 

 

[a,b]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xsin

 

 

 

 

a=0,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b=0,8

 

 

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

1 2xcos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

2

 

f

 

 

1

ln

1 x

 

1

 

arctgx

a=0,1

 

 

 

 

 

 

 

 

 

 

b=0,8

 

 

 

 

 

 

4

 

 

 

 

 

 

1 x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

f

ecos

x cos(sin x)

a=0,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b=1,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

f

(1 2x2 )ex2

a=0,1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b=0,8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

f

1

 

ln(1 2xcos

 

x2)

a=0,1

 

 

 

 

 

 

 

b=0,8

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

3

 

 

6

 

f

 

 

cos2 x

 

x

 

e2x

a=0,1

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b=1,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

ex

e x

 

 

 

 

 

 

 

 

 

 

 

 

a=2,1

 

 

 

 

 

f

 

 

 

 

 

 

 

 

 

 

 

ln2x

b=3,1

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

f

 

e2x

sin2

x tgx

a=0,8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b=1,8

 

9

 

 

f arctg x ln2 x2

a=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b=3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

f

 

 

e

x

e

x

tg2x

a=3

 

 

 

 

 

 

 

 

 

 

 

b=5

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.3. ПРИМЕР ВЫПОЛНЕНИЯ ЗАДАНИЯ 1

Задание:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

111

 

 

 

 

 

 

 

Условия и

N

Массив

Задание

ограничени

 

 

 

я

 

 

 

 

3

Х[8]

Найти сумму целых

Xi - целые

 

 

положительных чисел, кратных 4.

числа

4

В[10]

Определить максимальный

Bi -

 

 

элемент массива В и его

действитель

 

 

порядковый номер

 

 

ные числа

 

 

 

5

С[11]

Вычислить минимальный элемент

Ci -

 

 

массива С и его порядковый номер

действитель

 

 

 

ные числа

6

D[8]

Найти максимальный и

Di - целые

 

 

минимальный элементы массива D

числа

 

 

и поменять их местами

 

 

 

 

 

7

Y[12]

Вычислить среднее геомет-

Yi - целые

 

 

рическое положительных

числа

 

 

элементов массива Y

 

8

Z[13]

Найти сумму четных чисел,

Zi -

 

 

меньших 10.

натуральны

 

 

 

е числа

 

 

 

 

9

N[15]

Определить сумму элементов

Ni -

 

 

массива N, кратных трем

натуральны

 

 

 

е числа

10

A[N]

Найти среднее геометрическое

Ai > 0;

 

 

элементов массива А

N=10

 

 

 

 

Задача 3.

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции.

110

Рис. 1.4.14. Блок-схема к примеру 1.4.14.

Пример 1.4.15.

(пример функции без параметров)

Напечатать следующую таблицу:

43

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

| Ф а м и л и я | Д о л ж н о с т ь | А д р е с |

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

void line ( void )

{

int i ;

for ( i=1; i<=40; i++ ) printf ( “ – “) ; printf ( “\n” ) ;

}

void main ( )

 

 

{

 

 

int i ;

 

 

line ( ) ;

 

 

printf ( “ | Ф а м и л и я | Д о л ж н о с т ь |

А д р е с

| \n”)

;

 

 

for ( i=1; i<=10; i++ ) line ( ) ;

 

 

}

 

 

Объявления библиотечных функций и средства связи с ними находятся в заголовочных файлах: math.h , stdio.h , conio.h , string.h , stdlib.h , dos.h ( см. приложение 5.1. )

44

N

Задание

 

на печать значение х, в противном случае напечатать

 

НЕТ.

5Определить полярные координаты точки, заданной координатами х, у в прямоугольных координатах по

формулам: arctg y x ,

r

x2 y2 .

При

вычислении угла необходимо учесть, что значение х может быть равно нулю.

6Вычислить площадь треугольника со сторонами a, b, c по формуле Герона, проверив условие корректности исходных данных (длины всех сторон положительны, сумма длин любых двух сторон больше длины третьей).

7Определить, в какой координатной четверти находится

точка, заданная координатами

(х, у).

8Определить, является ли значение целочисленной переменной х четным. Если является, то вывести на печать значение х, в противном случае напечатать НЕТ.

9Вычислить значение функции z x3y, где y=sin( x), где х-любое целое число. При вычислении необходимо учесть, что у может быть равен нулю.

10Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны.

Задача 2.

 

 

 

Условия и

N

Массив

Задание

ограничени

 

 

 

я

 

 

 

 

1

Х[10]

Вычислить сумму и количество

Xi -

 

 

положительных элементов

действитель

 

 

массива Х

ные числа

 

 

 

 

2

А[12]

Вычислить среднее арифме-

Аi -

 

 

тическое значение положительных

действитель

 

 

элементов массива А

ные числа

 

 

 

 

 

 

109

 

4. ДОМАШНИЕ ЗАДАНИЯ.

Перед выполнением домашних заданий следует изучить разделы 1 и 2. Выполнение первого домашнего задания предполагает знание основ алгоритмизации и программирования на языке Си. Выполнение второго домашнего задания основано на знании теории баз данных и практическом применении языка SQL.

4.1. ВЫБОР ВАРИАНТА ЗАДАНИЯ

Варианты заданий представлены в таблице и соответствуют последней цифре в зачетной книжке студента.

Цифра

1

2

3

4

5

6

7

8

9

0

 

 

 

 

 

 

 

 

 

 

 

№ варианта

1

2

3

4

5

6

7

8

9

10

 

 

 

 

 

 

 

 

 

 

 

4.2. ЗАДАНИЕ 1.

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

Задача 1.

N

 

 

Задание

 

 

 

 

 

 

1

Вычислить

корни

квадратного

уравнения

 

 

2

Найти квадрат наибольшего из двух чисел а и b и

 

отпечатать признак N=1, если наибольшим является а, и

 

признак N=2 – в противном случае.

 

3

Определить, попадает ли точка с координатами x, y в

 

круг радиуса r с центром в начале координат. Вывести

 

признак N=1, если точка находится внутри круга, и

 

признак N=0, если точка находится вне круга.

 

4

Определить, является ли значение целочисленной

 

переменной х кратным трем. Если является, то вывести

 

 

 

108

 

2. БАЗЫ ДАННЫХ.

2.1. Информационные системы и базы данных.

Информационная система (ИС) – это система, реализующая автоматизированный сбор, обработку, хранение и передачу данных.

Первые коммерческие системы обработки данных относятся к 50-ым годам. Эти системы использовали функции файловой системы ОС. Данные хранились в файлах, каждая запись которых описывала некоторый объект. Большинство файлов хранилось на лентах с последовательным доступом, и обработка их велась в пакетном режиме.

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

На смену системам управления данными, базирующимся на файловых системах, пришли системы управления базами данных.

В современном понимании ИС состоит:

ВС (вычислительные системы)

ПП (прикладные программы)

ИС

ОП (обслуживающий персонал)

БД (базы данных)

СУБД (системы управления базами данных)

45

База данных - это множество взаимосвязанных единиц данных, организованных по определенным правилам.

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

Создание информационной системы, как правило, сводится к следующим этапам:

проектированию БД;

созданию файла проекта;

созданию БД;

созданию запросов;

созданию меню, экранных форм, отчетов;

генерации приложения.

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

Приложения могут создаваться как в среде СУБД, так и вне СУБД ( с помощью систем программирования Delphi или C++ Builder, использующих средства доступа к БД).

2.2. Типы СУБД и архитектура клиент-сервер.

Все СУБД можно разделить на персональные и многопользовательские. Первые обеспечивают возможность создания персональных БД и дешевых приложений для работы с ними. Многопользовательские СУБД обеспечивают возможность создания распределенных БД в неоднородных сетях, когда в компьютерной сети используются разные типы ЭВМ (персональные компьютеры или ПК, мини-ЭВМ, супер-ЭВМ и др.) и разные ОС. Использование многопользовательских СУБД позволяет создать сложные информационные системы, например, системы управления предприятием.

В качестве многопользовательских СУБД часто используются такие СУБД, как Oracle, Informix, SQL Server, DB2

46

Атрибуты таблиц и задания

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

4.Выбрать коды и наименования оборудования с кодами от 5 до 9.

5.Выбрать все сведения об оборудовании, поступившем позже заданной даты.

6.Выбрать коды, наименования и цены оборудования, отпущенного в заданном месяце.

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

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

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

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

11.Определить общее количество отпущенного оборудования в разрезе кодов оборудования и складов.

12.Определить общую стоимость отпущенного оборудования в разрезе кодов оборудования и складов.

107

Атрибуты таблиц и задания

Дата_рождения

2.Номер_комнаты, Количество_человек, Наличие_удобств, Стоимость_проживания

3.Код_проживающего, Номер_комнаты, Дата_приезда, Сумма_оплаты, Дата_оплаты

Запросы:

1.Удалить из базы данных информацию по заданному проживающему (ФИО).

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

3.Создать новую таблицу данных, в которую занести проживающих, их адреса и суммы оплаты, превышающие заданное значение.

4.Выбрать номера комнат и наличие удобств в трехместных номерах.

5.Выбрать все сведения о проживающих, которые проживают

вномерах с удобствами.

6.Выбрать ФИО и номера комнат проживающих, приехавших

взаданном месяце.

7.Определить количество проживающих с датой оплаты, не позднее указанной даты.

8.Определить ФИО и место работы самого молодого проживающего.

9.Определить номер комнаты, код проживающего и его ФИО,

который раньше всех оплатил номер.

10.Определить общую сумму оплаты за проживание всех проживающих в двухместных номерах.

11.Определить общую сумму оплаты в разрезе номеров комнат и дат оплаты.

12.Определить среднюю стоимость проживания в разрезе количества человек и наличии удобств.

12

Таблицы

 

1.

Код_оборудования, Наименование, Стоимость,

 

2.

Дата_поступления

 

Код_склада, Название_склада

 

3.

Код_склада, Код_оборудования, Цена_отпускная, Расход,

 

 

Дата_отпуска

 

Запросы:

 

1. Удалить из базы данных информацию по заданному

 

 

наименованию оборудования.

 

2.Увеличить в два раза стоимость оборудования с заданной

 

 

датой поступления.

 

 

106

идр. К персональным СУБД относятся такие СУБД, как,

например, Access, FoxPro, Paradox, Clipper.

Наиболее распространенной архитектурой информационных систем является архитектура клиент-сервер, основой которой является компьютерная сеть и распределенная БД, включающая БДК (корпоративную) и несколько БДП (персональных).

Распределенная БД размещается на сервере или серверах сети

ирабочих станциях, как правило - ПК. Так как тип сервера определяется типом сетевого ресурса, которым он управляет, то в данном случае речь идет о серверах баз данных.

Структура распределенной БД, построенной по архитектуре клиент-сервер показана на рисунке 2.2.1

 

 

 

 

 

 

 

Сервер

 

 

 

БДК

 

 

 

 

 

 

 

 

 

 

 

 

БД

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сетевое ПО

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СУБД

 

 

 

СУБД

 

 

 

 

 

 

 

СУБД

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БДП1

 

 

 

БДП2

 

 

 

 

 

 

БДПn

 

ПК-1

 

 

 

ПК-2

 

. . . . . . .

 

ПК-n

 

 

 

 

 

 

 

 

Рис.2.2.1. Структура распределенной БД.

В качестве серверов БД используются многопользовательские СУБД, а клиентами обычно выступают персональные СУБД или приложения, разработанные с помощью СУБД.

ИС может иметь одну из следующих конфигураций:

компьютер-сервер, содержащий корпоративную и персональные БД;

47

компьютер-сервер и персональные компьютеры с БДП;

несколько компьютеров-серверов и несколько персональных компьютеров с БДП.

Преимущества организации ИС на основе архитектуры клиент-сервер:

1)возможность наращивания БД по мере роста предприятия;

2)уменьшение сложности проектирования.

2.3. Модели данных.

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

Первые базы данных использовали иерархическую модель. Отношения между данными выстраивались в виде иерархий. Пример иерархической модели приведен на рисунке 2.3.1.

ФИО

ДОЛЖНОСТЬ СТАЖ

РАЗРЯД

ОКЛАД

Рис.2.3.1. Пример иерархической модели.

В иерархической модели у каждого потомка может быть только один предок. Однако представим, что стаж влияет на величину оклада, тогда в нашей схеме появится еще одна связь ( пунктирная линия см. рис.2.3.2. )

48

Атрибуты таблиц и задания

9.Определить ФИО работника и его сумму начисления, являющуюся максимальной за весь период.

10.Определить общую сумму начислений в заданном месяце.

11.Определить общую сумму начислений в разрезе работников и кодов_начислений.

12.Определить среднюю сумму начислений в разрезе работников и месяцев начислений.

10

Таблицы

 

1.

Код_владельца, ФИО, Адрес, Телефон,

 

 

Номер_автомобиля

 

2.

Код_автомобиля, Номер_автомобиля, Марка_автомобиля,

 

 

Стоимость

 

3. Код_владельца, Код_автомобиля, Сумма_страхования,

 

 

Сумма_оплаты, Месяц_оплаты

Запросы:

1. Удалить из БД информацию по заданному номеру автомобиля и его владельцу.

2. Увеличить в два раза стоимость автомобиля с заданным номером.

3. Создать новую таблицу данных, в которую занести владельцев автомобилей, номера автомобилей и их стоимости, превышающие заданное значение.

4. Выбрать коды и номера автомобилей, их марки с кодами от

5 до 8.

5. Выбрать все сведения о владельцах автомобилей, проживающих в одном микрорайоне.

6. Выбрать владельцев автомобилей, марки автомобилей и суммы оплаты, поступившие в заданном месяце.

7. Определить количество автомобилей с ценой, не превышающей заданное значение.

8. Определить код и название автомобиля с наибольшей стоимостью.

9. Определить владельца автомобиля, его адрес и телефон, заплатившего наименьшую сумму за весь период.

10.Определить общую сумму оплаты, поступившую в заданном месяце.

11. Определить общую сумму страхования автомобилей в разрезе владельцев и месяцев оплаты.

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

11

Таблицы

 

1.Код_проживающего, ФИО, Адрес, Место_работы,

 

105

 

Атрибуты таблиц и задания

 

 

 

 

 

 

 

 

 

заданное значение.

 

 

 

 

4. Выбрать номера заявок и темы докладов с номерами

 

 

заявок от 2 до 8.

 

 

 

 

5. Выбрать все сведения об участниках, для которых

 

 

 

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

 

 

6. Выбрать ФИО и номера заявок участников, оформивших

 

 

заявку в заданном месяце.

 

 

 

 

7. Определить количество участников с датой приезда, не

 

 

меньшей заданной даты.

 

 

 

 

8. Определить ФИО и адрес участника с наибольшей суммой

 

 

оплаты.

 

 

 

 

 

9. Определить номер заявки, код участника и его ФИО,

 

 

 

который раньше всех подал заявку..

 

 

 

10.Определить общую сумму оплаты за проживание всех

 

 

участников, имеющих степень «кандидат наук».

 

 

11.Определить общую сумму оплаты в разрезе должностей

 

 

участников и дат оплаты.

 

 

 

 

12.Определить

среднюю стоимость проживания в

разрезе

 

 

должностей участников и дат оплаты.

 

 

 

 

 

 

 

9

Таблицы

ФИО,

Цех,

Должность,

Оклад,

 

1.

Код_работника,

 

 

Дата_рождения

 

 

 

 

2.

Код_начисления, Вид_начисления

 

 

 

3.Код_работника,

Код_начисления, Сумма_начисленная,

 

 

Месяц_начисления

 

 

 

 

Запросы:

 

 

 

 

 

1.

Удалить из базы данных информацию по заданному

 

 

работнику (задано ФИО).

 

 

 

 

2.

Увеличить в два раза оклад работникам с заданной

 

 

должностью.

 

 

 

 

 

3.

Создать новую таблицу данных, в которую занести

 

 

работников, их даты рождения и суммы окладов,

 

 

превышающие заданное значение.

 

 

 

4.

Выбрать коды и ФИО работников, их должности с кодами

 

 

работников от 5 до 10.

 

 

 

 

5.

Выбрать все сведения о начислениях, имеющих сумму

 

 

начисления более заданного значения.

 

 

6.

Выбрать ФИО, цех и должности работников, родившихся в

 

 

заданном месяце.

 

 

 

 

7.

Определить количество работников, родившихся в

 

 

 

заданном году.

 

 

 

 

8.

Определить ФИО, должность и цех самого молодого

 

 

 

работника.

 

 

 

 

 

 

 

104

 

 

 

ФИО

ДОЛЖНОСТЬ

СТАЖ

РАЗРЯД

ОКЛАД

Рис.2.3.2. Пример сетевой модели.

Такая модель данных уже является не иерархической, а

сетевой.

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

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

Итак, различают следующие модели данных (рис.2.3.3):

1)иерархические (древовидная структура)

2)сетевые (в виде произвольного графа)

3)реляционные (в виде таблицы)

4)объектно-ориентированные (соединение сетевых и реляционных).

49

1) иерархическая

2) сетевая

3) реляционная

Рис.2.3.3. Структуры моделей данных.

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

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

2.4. Реляционная модель данных.

Реляционная модель данных (РМД) - это набор таблиц или отношений (relation), изменяющихся во времени.

Элементы РМД:

1)сущность – объект любой природы, данные о котором хранятся в БД;

2)отношение ( таблица );

3)схема отношения – строка заголовков таблицы;

4)атрибут – столбец таблицы;

50

Атрибуты таблиц и задания

7

Таблицы

 

1.

Код_клиента, ФИО, Адрес, Номер_телефона.

 

2.

Код_книги, Автор_книги, Название книги, Дата_приемки

 

3. Код_книги, Код_клиента, Первичная_цена,

 

 

Комиссионная_цена, Дата_продажи

 

Запросы:

 

1.

Удалить из базы данных информацию по заданному коду

 

 

клиента.

 

2.

Уменьшить наполовину комиссионную цену книги с

 

 

указанными кодами клиента и книги.

 

3.

Создать новую таблицу данных, в которую занести

 

 

клиентов, их адреса и первичные цены книг, превышающие

 

 

заданное значение.

 

4.

Выбрать коды, названия и авторов книг с кодами от 7 до 10.

 

5.

Выбрать все сведения о клиентах, которые сдали книги в

 

 

указанном месяце.

 

6.

Выбрать ФИО и коды клиентов, названия книг, проданных в

 

 

указанном месяце.

 

7.

Определить количество книг с комиссионной ценой, не

 

 

более заданного значения.

 

8.

Определить ФИО, номер телефона и адрес клиента с самой

 

 

ранней датой продажи .

 

9.

Определить ФИО клиента, код книги и ее комиссионную

 

 

цену, являющуюся максимальной в заданном месяце.

 

10. Определить общую сумму продаж (комиссионная цена) в

 

 

заданном месяце.

 

11. Определить среднюю цену (первичная цена) в разрезе

 

 

клиентов и книг за весь период.

 

12. Определить общую сумму продаж (комиссионная цена) в

 

 

разрезе клиентов и книг за весь период.

 

 

8

Таблицы

 

1.

Код_участника, ФИО, Адрес, Место_работы, Должность,

 

 

Ученая_степень

 

2.

Номер_заявки, Дата_заявки, Тема_доклада

 

3.

Код_участника, Номер_заявки, Дата_приезда,

 

 

Стоимость_проживания, Сумма_оплаты, Дата_оплаты

 

Запросы:

1.Удалить из базы данных информацию по заданному участнику (ФИО).

2.Увеличить в два раза стоимость проживания участникам с заданной ученой степенью.

3.Создать новую таблицу данных, в которую занести участников, их адреса и суммы оплаты, превышающие

103