|
Учет товаров в фирме по продаже аудиотехники
Учет товаров в фирме по продаже аудиотехники
2 Министерство общего и профессионального образования Российской Федерации Дагестанский государственный технический университет Кафедра информационных систем в экономике КУРСОВОЙ ПРОЕКТ По дисциплине БД На тему: "Учет товаров в фирме по продаже аудиотехники" Тема курсового проекта: СПРАВОЧНИК “АУДИО-КИОСК” Дата готовности проекта “ ” 2003г. Студент Курбанов Ш.М. группы 3164/ Руководитель проекта /Махулова Э.М. Защищен “ ” 2003г. с оценкой МАХАЧКАЛА 2003 г. Требования к программе: подобрать поля для БД: название фильма, тип носитель, продолжительность, качество, цена, код поставщика, жанр, главный артист, код фильма. Поиск по 3 полям БД,, фильтрацию по 4 полям БД, вывод списка на устройство РС. Краткие теоретические комментарии к объекту исследования. Слова “видео”, “аудиозал”, прочно вошли в жизнь современного человека с 70-х гг., отражая появление, по мнению искусствоведов, нового пласта современной культуры -видео культуры. Конечно, понятия и термины со словом “видео” использовались намного раньше в телевидении, например “видеосигнал”, “видеоусилитель” и другие, но тогда в “видео” вкладывался несколько иной смысл, нежели сейчас. Кроме видеозаписи (на магнитных лентах, дисках, на видеопластинках) в технику входит видеопоказ (на мониторах, с помощью видеопроекторов, видеопанелей), а также получение видеосигнала(“натурального” с помощью видеокамер или синтезированного электронными устройствами), его преобразование и обработка при монтаже, записи и воспроизведении и для достижения определенных эффектов. До настоящего времени в мире наблюдался количественный рост видео, хотя очень трудно его оценить из-за недостаточности данных. Инфологическая модель. Для проектирования структуры БД необходима исходная информация о предметной области. Информация требуемая для проектирования БД мало зависит от СУБД. Описание предметной области выполненная без ориентации на используемые в дальнейшем программные средства называются инфологической моделью предметной области. Инфологическая модель предметной области строится первой, после строится датологическая и физическая модели БД. В БД отображается какая-то часть реального мира, естественно, что полнота ее будет зависеть от целей создаваемой информационной системы. Для того, чтобы БД адекватно отображала предметную область, проектировщик должен хорошо представлять себе все компоненты присущей данной предметной области и уметь отобразить их в БД, необходимо тщательно изучить функционирование предметной области для которой строится БД. Инфологическая модель должна легко восприниматься различными категориями пользователей, желательно, чтобы инфологическую модель строил специалист данной области. Для описания инфологической используются языки описательного типа и языки, так и графические средства в настоящее время приобретают все большую популярность. Существует ряд средств автоматизации проектирования, для которых исходные данные представляются в виде совокупности графических схем. Графическое представление является наиболее простым для восприятия. При описании предметной области надо отразить связи между объектом и характеризующими его свойствоми. Построение инфологической модели. Рассмотрим полученные базы данных. БД1 "видео" (video. dbf) Название товара (nazvan_f) -character(40) Тип носителя (tip_nosit) - character(3) Продолжительность (prodol) -character(10) Название поставщика (nazv_post) - character (25) Качество (kachestvo) - character (18) Цена (zena) - numeric (3,0) Код поставщика (kod_post) - numeric (3,0) Жанр (janr) - character (15) Главный артист (gl_artist) - character (27) Код фильма (kod_f) - character(3) БД2 "Тип носителя" (nosit. dbf) Тип носителя (tip_nosit) - character(3) Назв-е носителя (nom) - character (15) БД3 "Код поставщика" (post. dbf) Код поставщика (kod_post) - numeric (3,0) Название Телефон поставщика (telefon_post) - character (20) Адрес поставщика (adres_post) - character (15) ДАТОЛОГИЧЕСКАЯ МОДЕЛЬ БД. Датологическая модель является моделью логического уровня и представляет собой отображение логических связей между элементами данных безотносительно к их содержанию и среде хранения. Эта модель строится в терминах информационных единиц, допустимых в той конкретной СУБД, в среде которой мы проектируем базу данных. Этап создания датологической модели называется датологическим проектированием. Описание логической структуры базы данных на языке СУБД называется схемой. ПРОГРАММЫSET TALK OFFSET DATE GERMANCLEAR ALLSET DELETED ONSET ESCAPE OFFSET HELP OFFSET BELL OFFCLEAR MACROSON KEY *DO TitulCLOSE DATABASESDELETE FILE video. idxDELETE FILE nosit. idxDELETE FILE post. idxUSE videoINDEX ON tip_nosit TO video COMPACTUSE nositINDEX ON tip_nosit TO nosit COMPACTUSE postINDEX ON kod_post TO post COMPACTUSE video IN A INDEX videoUSE nosit IN B INDEX nositUSE post IN C INDEX postSELECT ASET RELATION TO tip_nosit INTO BSET RELATION TO kod_post INTO CON KEY LABEL Ctrl+PgUp GO TOPON KEY LABEL Ctrl+PgDn GO BOTTOMON KEY LABEL Ctrl+Q DO EndProc WITH 1DEFINE WINDOW MainWindow FROM 0,0 TO 24,79 IN SCREEN; TITLE ' Справочник "ВИДЕО КИОСК" '; DOUBLE SHADOW FILL '-' COLOR GR+/NDEFINE WINDOW ViewWindow FROM 0,0 TO 21,77; IN WINDOW MainWindow; DOUBLE CLOSE FLOAT GROW ZOOMDEFINE WINDOW HintWindow FROM 22,0 TO 22,77 IN WINDOW MainWindow; NONE COLOR GR+/GRDEFINE WINDOW HelpWindow FROM 5,17 TO 16,63; TITLE ' ПОМОЩЬ ' COLOR W+/GDEFINE WINDOW PrintWindow FROM 5,8 TO 19,67; TITLE 'Вывод на устройство PC'; DOUBLE SHADOW COLOR GR+/GRDEFINE WINDOW AddWindow FROM 3,13 TO 18,67; TITLE ' Дополнение базы данных '; FLOAT SHADOW SYSTEM COLOR SCHEME 8DEFINE WINDOW FindWindow FROM 5,13 TO 19,70; TITLE 'Информация о фильме' DOUBLESET MESSAGE WINDOW MainWindowDEFINE MENU MainMenu BAR AT LINE 0 IN WINDOW MainWindow; COLOR SCHEME 10DEFINE PAD DataMenu OF MainMenu PROMPT 'ДАННЫЕ'; MESSAGE 'Работа с базами данных'DEFINE PAD SearchMenu OF MainMenu PROMPT 'ПОИСК'; MESSAGE 'Поиск данных по ключу'DEFINE PAD FiltrMenu OF MainMenu PROMPT 'ФИЛЬТРАЦИЯ'; MESSAGE 'Фильтр просмотра данных'DEFINE PAD QuitMenu OF MainMenu PROMPT 'ВЫХОД'; MESSAGE 'Выход из программы'ON SELECTION PAD DataMenu OF MainMenu ACTIVATE POPUP DataPopupON SELECTION PAD SearchMenu OF MainMenu ACTIVATE POPUP SearchPopupON SELECTION PAD FiltrMenu OF MainMenu ACTIVATE POPUP FiltrPopupON SELECTION PAD QuitMenu OF MainMenu ACTIVATE POPUP QuitPopupDEFINE POPUP DataPopup FROM 1,0 IN WINDOW MainWindow COLOR SCHEME 10DEFINE BAR 1 OF DataPopup PROMPT 'Просмотр данных'; MESSAGE 'Просмотр данных без внесения изменений'DEFINE BAR 2 OF DataPopup PROMPT 'Редактирование данных'; MESSAGE 'Просмотр данных с возможностью изменения данных'ON SELECTION POPUP DataPopup DO BrowseData WITH BAR() DEFINE POPUP PrintPopup FROM 8,32; TITLE 'Вывод данных' IN SCREEN COLOR SCHEME 10DEFINE BAR 1 OF PrintPopup PROMPT 'На экран'; MESSAGE 'Вывод данных на экран'DEFINE BAR 2 OF PrintPopup PROMPT 'В файл'; MESSAGE 'Вывод данных в файл'DEFINE BAR 3 OF PrintPopup PROMPT 'На принтер'; MESSAGE 'Вывод данных на принтер' ON SELECTION POPUP PrintPopup DO PrintDEFINE POPUP SearchPopup FROM 1,8 IN WINDOW MainWindow COLOR SCHEME 10DEFINE BAR 1 OF SearchPopup PROMPT 'по названию фильма'; MESSAGE 'Поиск данных по названию фильма'DEFINE BAR 2 OF SearchPopup PROMPT 'по типу'; MESSAGE 'Поиск данных по типу'DEFINE BAR 3 OF SearchPopup PROMPT 'по коду'; MESSAGE 'Поиск данных по коду' ON SELECTION POPUP SearchPopup DO SearchProcDEFINE POPUP FiltrPopup FROM 1,15 IN WINDOW MainWindow COLOR SCHEME 10DEFINE BAR 1 OF FiltrPopup PROMPT 'по названию фильма'; MESSAGE 'Фильтрация данных по названию фильма'DEFINE BAR 2 OF FiltrPopup PROMPT 'по типу'; MESSAGE 'Фильтрация данных по типу'DEFINE BAR 3 OF FiltrPopup PROMPT 'по коду'; MESSAGE 'Фильтрация данных по коду' DEFINE BAR 4 OF FiltrPopup PROMPT 'по качеству'; MESSAGE 'Фильтрация данных по качеству' ON SELECTION POPUP FiltrPopup DO FiltrProcDEFINE POPUP QuitPopup FROM 1,27 IN WINDOW MainWindow COLOR SCHEME 10DEFINE BAR 1 OF QuitPopup PROMPT '\<Выход в FoxPro'DEFINE BAR 2 OF QuitPopup PROMPT 'Выход в Ms-Dos'ON SELECTION POPUP QuitPopup DO EndProc WITH 2ACTIVATE WINDOW MainWindowACTIVATE MENU MainMenuDO EndProc WITH 1PROCEDURE TitulSET CURSOR OFFDEFINE WINDOW TitleWindow FROM 0,0 TO 24,79 DOUBLEACTIVATE WINDOW TitleWindowTEXTENDTEXTKey=INKEY(20) RELEASE WINDOW TitleWindowRETURNPROCEDURE PrintRec? ' '? 'Название фильма: ',A. nazv_f? 'Тип носителя: ',A. tip_nosit ? 'Название носителя: ',B. nazv_nosit ? 'Продолжительность: ',A. prodol ? 'Качество: ',A. kachestvo ? 'Цена: ',A. zena ? 'Код поставщика: ',A. kod_post? 'Название поставщика: ',C. nazv_post ? 'Адрес поставщика: ',C. adres_post? 'Телефон поставщика: ',C. telef_post ? 'Жанр: ',A. janr ? 'Главный артист: ',A. gl_artist ? 'Код фильма: ',A. kod_f RETURNPROCEDURE PrintSET CURSOR OFFy=BAR() ACTIVATE WINDOW PrintWindowDO CASECASE y=1SCANDo PrintRecWAIT 'Любая клавиша - Продолжить, Esc - ОТКАЗ' WINDOWIF LASTKEY() =27 EXITENDIFENDSCAN CASE y=2WAIT 'Данные записываются в файл INFO. DAT Любая клавиша - ЗАПИСЬ, Esc - ОТКАЗ' WINDOWIF LASTKEY() #27 SET PRINTER TO info. dat ADDITIVESET PRINTER ONSCANDo PrintRecENDSCAN SET PRINTER OFFENDIFCASE y=3SET PRINTER TO LPT1 IF PRINTSTATUS() SET PRINTER ON SCANDo PrintRecENDSCAN SET PRINTER OFFELSEWAIT 'Принтер не готов' WINDOW NOWAITENDIFENDCASEDEACTIVATE WINDOW PrintWindowDEACTIVATE POPUPRETURNPROCEDURE AddRecPUSH KEY CLEARSET CURSOR ONACTIVATE WINDOW AddWindow@ 1,1 TO 11,51SCATTER MEMVAR BLANK@2,2 SAY 'НАЗВАНИЕ ФИЛЬМА: ' GET m. nazv_f DEFAULT SPACE(20) @3,2 SAY 'ТИП НОСИТЕЛЯ: ' GET m. tip_nosit PICTURE '999'@4,2 SAY 'ПРОДОЛЖИТЕЛЬНОСТЬ: ' GET m. prodol DEFAULT SPACE(12) @5,2 SAY 'КАЧЕСТВО: ' GET m. kachestvo DEFAULT SPACE(18) @6,2 SAY 'ЦЕНА: ' GET m. zena@7,2 SAY 'КОД ПОСТАВЩИКА: ' GET m. kod_post PICTURE '999'@8,2 SAY 'ЖАНР: ' GET m. janr DEFAULT SPACE(15) @9,2 SAY 'ГЛАВНЫЙ АРТИСТ: ' GET m. gl_artist DEFAULT SPACE(17) @10,2 SAY 'КОД ФИЛЬМА: ' GET m. kod_f PICTURE '999'@12,14 GET choice FUNCTION '*th \! Добавить; \? Выход' DEFAULT 2 SIZE 1,10,6READ CYCLE MODALIF choice=1APPEND BLANKGATHER MEMVAR ENDIF DEACTIVATE WINDOW AddWindow ENDIF POP KEYRETURNFUNCTION RefreshSHOW GETS OFFRETURNFUNCTION PopShow@ 12,3 SAY VideoArray(FocKlub) SIZE 1,36RETURNPROCEDURE DelRecWAIT 'Вы действительно хотите удалить запись? (ДА-любая клавиша, НЕТ-ESC) ? ' WINDOWIF LASTKEY() #27POP KEYDELETEPACKDO BrowseData WITH 2ENDIFRETURNPROCEDURE HelpPUSH KEY CLEARSET CURSOR OFFACTIVATE WINDOW HelpWindowTEXT^N - дополнение базы новой записью^D - удаление текущей записи ^P - вывод/печать всех записей--------------------------------------------^PgUp - переход в начало базы^PgDn - переход в конец базы--------------------------------------------^Q - выход из окна редактирования (внесенная информация сохраняется) Esc - то же, но информация не сохраняетсяENDTEXTWAIT ''DEACTIVATE WINDOW HelpWindowSET CURSOR ON POP KEYRETURNFUNCTION HlpSET CURSOR OFF@ 0,0 FILL TO 0,77 COLOR GR/GRHint=''DO CASE CASE VARREAD() ='Nazvan_f'Hint='Название фильма'CASE VARREAD() ='Tip_nosit'Hint='Тип носитель'CASE VARREAD() ='Prodol'Hint='Продолжительность'CASE VARREAD() ='Kachestvo'Hint='Качество'CASE VARREAD() ='Zena'Hint='Цена'CASE VARREAD() ='Kod_post'Hint='Код поставщика'CASE VARREAD() ='Janr'Hint='Жанр'CASE VARREAD() ='Gl_artist'Hint='Главный артист' CASE VARREAD() ='Kod_f'Hint='Код фильма'ENDCASE@0,(78-LEN(Hint)) /2 SAY HintRETURNPROCEDURE BrowseDataPARAMETER yDO CASECASE BAR() =1. OR. y=1TitleStr='БАЗА ДАННЫХ'STR1='NOAPPEND NODELETE NOMODIFY'CASE BAR() =2. OR. y=2PUSH KEYON KEY LABEL Ctrl+N DO AddRecON KEY LABEL Ctrl+D DO DelRecON KEY LABEL Ctrl+P ACTIVATE POPUP PrintPopup ON KEY LABEL F1 DO HelpTitleStr='F1 - Вызов окна помощи РЕДАКТИРОВАНИЕ 'STR1=''ENDCASE ACTIVATE WINDOW HintWindowGO TOPBROWSE TITLE TitleStr; FIELDS A. nazv_f: H='Название фильма': W=Hlp(),; A. tip_nosit: H='Тип носителя': W=Hlp(),; B. nazv_nosit: H='Название носителя': R: W=Hlp(),; A. prodol: H='Продолжительность': W=Hlp(),; A. kachestvo: H='Качество': W=Hlp(),; A. zena: H='Цена': W=Hlp(),; A. kod_post: H='Код поставщика': W=Hlp(),; C. nazv_post: H='Название поставщика': R: W=Hlp(),; C. adres_post: H='Адрес поставщика': R: W=Hlp(),; C. telef_post: H='Телефон поставщика': R: W=Hlp(),; A. janr: H='Жанр': W=Hlp(),; A. gl_artist: H='Главный артист': W=Hlp(),; A. kod_f: H='Код фильма': W=Hlp(); WINDOW ViewWindow &STR1 COLOR GR+/NDO CASECASE BAR() =1. OR. y=1SET FILTER TOCASE BAR() =1. OR. y=2POP KEYENDCASE DEACTIVATE WINDOW HintWindow DEACTIVATE POPUPRETURNPROCEDURE SearchProcSET CURSOR ONy=BAR() str=PROMPT() DEFINE WINDOW SearchWindow FROM 7,20 TO 12,60; TITLE 'Поиск '+ strACTIVATE WINDOW SearchWindow@ 1,1 SAY 'Укажите ключ: 'DO CASECASE y=1@ 1,15 GET a DEFAULT SPACE(20) CASE y=2@ 1,15 GET a DEFAULT SPACE(3) CASE y=3@ 1,15 GET a PICTURE '999' DEFAULT 0ENDCASE@3,11 GET choice FUNCTION '*th \! Поиск; \? Выход' DEFAULT 2 SIZE 1,7,4READ CYCLERELEASE WINDOW SearchWindowSET CURSOR OFFIF choice=1ACTIVATE WINDOW FindWindowIF y=1. OR. y=2 a=Zag(ALLTRIM(a),. f) ENDIF IsFind=. F. Find=. F. SCANDO CASECASE y=1Find=Zag(ALLTRIM(A. nazv_f),. f) =a CASE y=2Find=A. tip_nosit=aCASE y=3Find=A. kod_post=aENDCASEIF FindIsFind=. T. ? 'Название фильма: ',A. nazv_f? 'Тип носителя: ',A. tip_nosit ? 'Название носителя: ',B. nazv_nosit ? 'Продолжительность: ',A. prodol ? 'Качество: ',A. kachestvo ? 'Цена: ',A. zena ? 'Код поставщика: ',A. kod_post? 'Название поставщика: ',C. nazv_post ? 'Адрес поставщика: ',C. adres_post? 'Телефон поставщика: ',C. telef_post ? 'Жанр: ',A. janr ? 'Главный артист: ',A. gl_artist ? 'Код фильма: ',A. kod_f WAIT 'Продолжить поиск? (ДА - любая клавища, НЕТ - ESC) ' WINDOWIF LASTKEY() =27EXITENDIF ENDIFENDSCANIF! IsFindWAIT 'ПОИСК НЕ УДАЧНЫЙ' WINDOWENDIFDEACTIVATE WINDOW FindWindowENDIFDEACTIVATE POPUP SearchPopupRETURNPROCEDURE FiltrProcSET CURSOR ONy=BAR() str=PROMPT() DEFINE WINDOW FiltrWindow FROM 7,20 TO 12,60; TITLE 'Фильтрация '+ strACTIVATE WINDOW FiltrWindow@ 1,1 SAY 'Укажите ключ: 'DO CASECASE y=1@ 1,15 GET a DEFAULT SPACE(20) CASE y=2@ 1,15 GET a DEFAULT SPACE(3) CASE y=3@ 1,15 GET a PICTURE '999' DEFAULT 0CASE y=4@ 1,15 GET a DEFAULT SPACE(18) ENDCASE@3,11 GET choice FUNCTION '*th \! Фильтр; \? Выход' DEFAULT 2 SIZE 1,6,4READ CYCLEDEACTIVATE WINDOW FiltrWindowSET CURSOR OFFIF choice=1DO CASECASE y=1SET FILTER TO a. nazv_f=alltrim(a) CASE y=2SET FILTER TO a. tip_nosit=aCASE y=3SET FILTER TO a. kod_post=aCASE y=4SET FILTER TO a. kachestvo=alltrim(a) ENDCASEDO BrowseData WITH 1 ENDIF RETURNFUNCTION ZagPARAMETER p,kPUSH KEY clears='абвгдежзийклмнопрстуфхцчшщыьъэюя'z='АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЪЭЮЯ'IF kREPLACE &p WITH CHRTRAN(&p,s,z) ELSEPOP KEYRETURN CHRTRAN(p,s,z) ENDIFPOP KEYRETURNPROCEDURE EndProcPARAMETER yDO CASECASE BAR() =1. OR. y=1ON KEYSET HELP ONSET RELATION TOSET FILTER TO DEACTIVATE WINDOW ALLDEACTIVATE MENUDEACTIVATE POPUPCLEAR ALLCANCELCASE BAR() =2. OR. y=2QUITENDCASEPOP KEYCLOSE DATABASESRETURNСписок использованной литературы1. Четвериков В.Н, Ревунков Г.И., Самохволов Э.Н. Базы и банки данных.
|
|