2.3 Основные типы баз данных

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

2) Сетевые

3) Реляционные

Иерархические базы данных

Иерархические БД применялись в начале 60-х годов. Они построены в виде обычного дерева. Данные делятся на 2 категории: главные и подчинённые. Таким образом, один тип объекта является главным, а остальные, находящиеся на более низких ступенях иерархии, - подчинёнными.БД, организованные по такому принципу, удобно использовать в тех случаячх, когда информамция упорядочена соответствующим образом.

Сетевые базы данных

Сетевые БД начали применятся практически одновременно с иерархическими. В этих БД любой объект может быть как главным, так и подчинённым.

В использовании довольно сложно реализовать представление данных в таком виде, поэтому от этого типа тоже отказались.

Реляционные базы данных

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


3. Действие программы

3.1 Структура программы

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

 Функции отвечающие за интерфейс программы предназначены для придания программе более приятного вида и для упрощения работы с ней. Это функция вывода сообщения об ошибке ввода и функция создания рамки в окне программы.

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

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

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

3.2 Работа программы

 Программа начинается с ввода первоначальных данных.

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

 После ввода данных пользователю предлагается продолжить ввод данных или же завершить ввод.

В случае неправильного ввода программа выдает сообщение об ошибке:

Если пользователь вводит символ 'n' то программа переходит к окну ввода данных, Если же пользователь ввел символ 'q' то в окне появляется сообщение о завершении ввода.

Программа переходит к следующему окну

Далее пользователю предлагается выбрать дальнейшее действие.

 При выборе вывода данных на экране появляется окно с введенными данными

 При выборе добавления данных на экране появляется окно ввода данных. При выборе поиска на экране появляется окно выбора критерия поиска:

 Далее появляется окно в котором предлагается ввести определенные данные для поиска. После выполнения поиска при наличии данной записи она выводится на экран.

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

 Далее пользователю предлагается ввести новые данные.

 Далее выводится сообщение об изменении записи.

 При выборе выхода из программы программа завершает свое выполнение и заврывается.


Заключение

Данная работа выполнена на языке высокого уровня программирования в среде Borland С++, Первые версии языка программирования С++ (тогда он назывался "Си с классами") были разработаны в начале 80-х годов Бьярном Страуструпом, сотрудником знаменитой AT&T Bell Labs, где ранее были разработаны такие шедевры программирования, как операционная система UNIX и язык программирования Си. При написании и разработки программного обеспечения использовались различные возможности С++.

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

Также данные записываются в файл на жесткий диск, тем самым мы сохраняем их. Уже поиск совершается в самом файле.

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


Список литературы

1. Е Зуев, А Кротов "Новые возможности языка Си++", PC Magazine/Russian Edition, #7, 1994.

2. В.Шелест. Программирование. 2002.

3. Г. Шилдт «Самоучитель С++» - СПб.:БХВ-Петербург. 2001. — 670с.

4. Карпов Б., Баранов Т. «С++: специальный справочник» - СПб.: Питер, 2001. — 480 с.:ил.

5. Культин Н. «С/С++ в задачах и примерах» - СПб.:БХВ-Петербург, 2002. — 288 с.

6. А. Мешков, Ю. Тихомиров «Visual C++ и MFC» - СПб.:БХВ-Петербург. 2002 — 1017с.

7. Теллес, М. BORLAND C++ BUILDER: библиотека программиста .-- СПб : Питер, 1998 .-- 512с. 8. Архангельский, А.Я. Язык C++ в C++Builder : справочное и методическое пособие / А.Я. Архангельский .-- М. : Бином, 2008 .-- 942 с.

9. Роберт Седжвик, Фундаментальные алгоритмы на С++,

Санкт-Петербург, ООО "ДиаСофтЮП", 2002. Части 1-4 - 688 с., часть 5 - 496 с.

10. М. Эллис, Б. Строуструп. Справочное руководство по языку C++ с комментариями: Пер. с англ. - Москва: Мир, 1992. 445с.

11. Стенли Б. Липпман. C++ для начинающих: Пер. с англ. 2тт. - Москва: Унитех; Рязань: Гэлион, 1992, 304-345сс.

12. Бруно Бабэ. Просто и ясно о Borland C++: Пер. с англ. - Москва: БИНОМ, 1994. 400с.

13. В.В. Подбельский. Язык C++: Учебное пособие. - Москва: Финансы и статистика, 1995. 560с.

14. Ирэ Пол. Объектно-ориентированное программирование с использованием C++: Пер. с англ. - Киев: НИИПФ ДиаСофт Лтд, 1995. 480с.

15. Т. Фейсон. Объектно-ориентированное программирование на Borland C++ 4.5: Пер. с англ. - Киев: Диалектика, 1996. 544с.


Приложение

Листинг программы

#include <clx.h>

#include <stdlib.h>

#include <iostream.h>

#include <conio.h>

#include <stdio.h>

#include <math.h>

void ramka(),error();

void error()

{textcolor(4);

cprintf("Nepravil'nyi vybor");

textcolor(15);}

void ramka ()

{int xx1,yy1,xx2,yy2;

int xi;

xx1=2; yy1=1; xx2=78; yy2=24;

for (xi=xx1;xi<=xx2-1;xi++)

{textcolor(14);

gotoxy(xi,yy1);

cprintf("Н");

gotoxy(xi,yy2);

cprintf("Н");}

for (xi=yy1;xi<=yy2;xi++)

{gotoxy(xx1,xi);

cprintf("є");

gotoxy(xx2,xi);

cprintf("є");}

gotoxy(xx1,yy1);

cprintf("Й");

gotoxy(xx2,yy1);

cprintf("»");

gotoxy(xx1,yy2);

cprintf("И");

gotoxy(xx2,yy2);

cprintf("ј");

textcolor(15);}

void main()

{const int n=9999;

int m,i,j;

char l,k,x,y;

char vybor[25],vtip[25],vproizv[25],vmodel[25];

struct detal {int nomer; char naim[25]; char proizv[25]; char model[25];};

detal baza[n];

textmode(C80);

textbackground(1);

clrscr();

ramka();

gotoxy(25,5);

cprintf ("Vvedite dannye\n");

i=0;

metka2:

j=i;

gotoxy(25,7);

cprintf ("Tip produkta :");

cscanf ("%s",&baza[i].naim);

gotoxy(25,8);

cprintf ("Proizvoditel' :");

cscanf ("%s",&baza[i].proizv);

gotoxy(25,9);

cprintf ("Model' produkta :");

cscanf ("%s",&baza[i].model);

i++;

metka4:clrscr();

ramka();

gotoxy(8,9);

cprintf("Nazhmite 'n' dlya dobavleniya zapisi ili 'q' dlya zaversheniya vvoda\n");

gotoxy(33,10);

cscanf("%s",&x);

if (x=='n' || x=='q')

{if (x=='n')

{clrscr();

goto metka2;}

else {gotoxy(27,11);

cprintf ("zapisi dobavleny\n");}}

else

{gotoxy (27,11);

error();

getch(); getch();

goto metka4;}

getch(); getch();

metka1:clrscr();

ramka();

gotoxy(25,5);

cprintf("Vyberite deistvie");

gotoxy(25,7);

cprintf("1-Vyvesti spisok na ekran");

gotoxy(25,8);

cprintf("2-Dobavit' dannye v spisok");

gotoxy(25,9);

cprintf("3-Vypolnit' poisk");

gotoxy(25,10);

cprintf("4-Izmenit' zapis'");

gotoxy(25,11);

cprintf("0-vyhod");

gotoxy(25,13);

cprintf("Vash vybor : ");

cscanf("%s",&k);

if (k=='0' || k=='1' || k=='2' || k=='3' || k=='4')

{if (k=='1')

{clrscr();

ramka();

for (m=0;m<i;m++)

{gotoxy(20,m+2);

cprintf (baza[m].naim);

cprintf(" ");

cprintf (baza[m].proizv);

cprintf(" ");

cprintf (baza[m].model);

printf("\n");}

getch(); getch();

goto metka1;}

if (k=='2')

{clrscr();

gotoxy(25,5);

cprintf ("Vvedite dannye\n");

metka3:j=i;

ramka();

gotoxy(25,7);

cprintf ("Tip produkta :");

cscanf ("%s",&baza[i].naim);

gotoxy(25,8);

cprintf ("Proizvoditel' :");

cscanf ("%s",&baza[i].proizv);

gotoxy(25,9);

cprintf ("Model' produkta :");

cscanf ("%s",&baza[i].model);

i++;

metka6:clrscr();

ramka();

gotoxy(9,8);

cprintf("Nazhmite 'n' dlya dobavleniya zapisi ili 'q' dlya zaversheniya vvoda\n");

gotoxy(30,9);

cscanf("%s",&y);

if (y=='n' || y=='q')

{if (y=='n') {clrscr();

goto metka3;}

else {gotoxy(27,11);

cprintf ("Zapisi dobavleny");

getch(); getch();

goto metka1;}}

else

{gotoxy (27,11);

error();

getch(); getch();

goto metka6;}}

if (k=='3')

{metka5:clrscr();

ramka();

gotoxy(25,5);

cprintf("Kryterii poiska");

gotoxy(25,7);

cprintf("1-Tip");

gotoxy(25,8);

cprintf("2-Proizvoditel'");

gotoxy(25,9);

cprintf("3-model' produkta");

gotoxy(25,11);

cprintf("Vash vybor : ");

cscanf("%s",&l);

if (l=='1' || l=='2' || l=='3')

{if (l=='1')

{clrscr();

ramka();

gotoxy(25,5);

cprintf("Vvedite tip produkta");

gotoxy(30,7);

cscanf("%s",&vybor);

for (m=0;m<i;m++)

{if (!strcmp(baza[m].naim,vybor))

{gotoxy(20,m+9);

cprintf (baza[m].naim);

cprintf(" ");

cprintf (baza[m].proizv);

cprintf(" ");

cprintf (baza[m].model);

cprintf("\n");}}}

if (l=='2')

{clrscr();

ramka();

gotoxy(25,5);

cprintf("Vvedite proizvoditelya produkta");

gotoxy(30,7);

cscanf("%s",&vybor);

for (m=0;m<i;m++)

{if (!strcmp(baza[m].proizv,vybor))

{gotoxy(20,m+9);

cprintf (baza[m].naim);

cprintf(" ");

cprintf (baza[m].proizv);

cprintf(" ");

cprintf (baza[m].model);

cprintf("\n");}}}

if (l=='3')

{clrscr();

ramka();

gotoxy(25,5);

cprintf("Vvedite model' produkta");

gotoxy(30,7);

cscanf("%s",&vybor);

for (m=0;m<i;m++)

{if (!strcmp(baza[m].model,vybor))

{gotoxy(20,m+9);

cprintf (baza[m].naim);

cprintf(" ");

cprintf (baza[m].proizv);

cprintf(" ");

cprintf (baza[m].model);

cprintf("\n");}}}

getch(); getch();

goto metka1;}

else {gotoxy(27,12);

error();

getch(); getch();

goto metka5;}}

if(k=='4')

{clrscr();

ramka();

gotoxy (25,5);

cprintf("Vvedite zapis' kotoruyu hotite izmenit' :");

gotoxy (25,7);

cprintf("Tip - ");

cscanf("%s",&vtip);

gotoxy(25,8);

cprintf("Proizvoditel' - ");

cscanf("%s",&vproizv);

gotoxy(25,9);

cprintf("Model' - ");

cscanf("%s",&vmodel);

gotoxy(25,11);

cprintf("Vashi dannye prinyaty!");

getch(); getch();

for (m=0;m<i;m++)

{if (!strcmp(baza[m].naim,vtip) && !strcmp(baza[m].proizv,vproizv) && !strcmp(baza[m].model,vmodel))

{clrscr();

ramka();

gotoxy(25,5);

cprintf("Vvedite novye dannye: \n");

gotoxy(25,7);

cprintf("Tip - ");

cscanf("%s",&baza[m].naim);

gotoxy(25,8);

cprintf("Proizvoditel' - ");

cscanf("%s",&baza[m].proizv);

gotoxy(25,9);

cprintf("Model' - ");

cscanf("%s",&baza[m].model);

gotoxy(25,11);

cprintf("Zapis' izmenena");

getch(); getch();}}

goto metka1;}

if (k=='0') abort();}

else {gotoxy(27,12);

error();

getch(); getch();

goto metka1;}


Информация о работе «Разработка базы данных "Магазин товаров"»
Раздел: Информатика, программирование
Количество знаков с пробелами: 30615
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
24467
2
18

... , параметрам) объекта, события, явления. Создание базы данных Краткая характеристика СУБД MS ACCESS Система управления базами данных Microsoft Access является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют в своем арсенале средства, значительно упрощающие ввод и обработку данных, поиск данных и предоставление информации в виде таблиц, графиков и отчетов ...

Скачать
30673
2
17

... розробника бази. На цьому етапі завершується попереднє проектування бази даних, і на наступному етапі починається її безпосередня розробка. З цієї миті слід почати роботу з СУБД. 1. Розробити базу даних «Магазина побутової техніки «Електрон»», що дозволяє вести: - облік товару; - облік надходжень товару на склад; - облік продажів товару різним покупцям; - рахунки. 2. Основні вимоги до БД ...

Скачать
7390
0
13

... уровне непосредственно отображены связи между таблицами. В данной курсовой работе поставлены задачи: - Построение физической модели на компьютере (при помощи Erwin); - Определение связей, типов данных; - Разработка удобного пользовательского интерфейса; - Создание запросов, форм; - Создание отчетов (по заданию); - Построение главной кнопочной формы; В моей курсовой работе создан фрагмент ...

Скачать
44833
10
23

... учет оплаты должен осуществляться на основе данных документа ПТР. Эти данные также должны накапливаться и храниться в базе данных. На основе хранимых данных (об отгрузках и оплатах за отгруженную продукцию) по запросу пользователя должен производиться автоматизированный анализ оплаты для заданного изделия и выдача отчета. Отчет должен содержать сведения об оплаченной части отгруженных изделий ...

0 комментариев


Наверх