на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка базы данных "Магазин товаров"
p align="left">База данных - это реализованная с помощью компьютера информационная структура (модель), отражающая состояние объектов и их отношения.

Следует учесть, что это определение не является единственно возможным. Информатика в отношении определений чаще всего не похожа на математику с ее полной однозначностью. Если подойти к понятию “база данных” с чисто пользовательской точки зрения, то возникает другое определение: база данных - совокупность хранимых операционных данных некоторого предприятия. Все дело в том, какой аспект доминирует в рассмотрении; в данной главе первое из определений более уместно.

Опыт использования баз данных позволяет выделить общий набор их рабочих характеристик:

* полнота - чем полнее база данных, тем вероятнее, что она содержит нужную информацию (однако, не должно быть избыточной информации);

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

* актуальность - любая база данных может быть точной и полной, если она постоянно обновляется, т.е. необходимо, чтобы база данных в каждый момент времени полностью соответствовала состоянию отображаемого ею объекта;

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

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

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;}

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.