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 OFF
SET DATE GERMAN
CLEAR ALL
SET DELETED ON
SET ESCAPE OFF
SET HELP OFF
SET BELL OFF
CLEAR MACROS
ON KEY
*DO Titul
CLOSE DATABASES
DELETE FILE video. idx
DELETE FILE nosit. idx
DELETE FILE post. idx
USE video
INDEX ON tip_nosit TO video COMPACT
USE nosit
INDEX ON tip_nosit TO nosit COMPACT
USE post
INDEX ON kod_post TO post COMPACT
USE video IN A INDEX video
USE nosit IN B INDEX nosit
USE post IN C INDEX post
SELECT A
SET RELATION TO tip_nosit INTO B
SET RELATION TO kod_post INTO C
ON KEY LABEL Ctrl+PgUp GO TOP
ON KEY LABEL Ctrl+PgDn GO BOTTOM
ON KEY LABEL Ctrl+Q DO EndProc WITH 1
DEFINE WINDOW MainWindow FROM 0,0 TO 24,79 IN SCREEN;
TITLE Справочник "ВИДЕО КИОСК" ;
DOUBLE SHADOW FILL - COLOR GR+/N
DEFINE WINDOW ViewWindow FROM 0,0 TO 21,77;
IN WINDOW MainWindow;
DOUBLE CLOSE FLOAT GROW ZOOM
DEFINE WINDOW HintWindow FROM 22,0 TO 22,77 IN WINDOW MainWindow;
NONE COLOR GR+/GR
DEFINE WINDOW HelpWindow FROM 5,17 TO 16,63;
TITLE ПОМОЩЬ COLOR W+/G
DEFINE WINDOW PrintWindow FROM 5,8 TO 19,67;
TITLE Вывод на устройство PC;
DOUBLE SHADOW COLOR GR+/GR
DEFINE WINDOW AddWindow FROM 3,13 TO 18,67;
TITLE Дополнение базы данных ;
FLOAT SHADOW SYSTEM COLOR SCHEME 8
DEFINE WINDOW FindWindow FROM 5,13 TO 19,70;
TITLE Информация о фильме DOUBLE
SET MESSAGE WINDOW MainWindow
DEFINE MENU MainMenu BAR AT LINE 0 IN WINDOW MainWindow;
COLOR SCHEME 10
DEFINE 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 DataPopup
ON SELECTION PAD SearchMenu OF MainMenu ACTIVATE POPUP SearchPopup
ON SELECTION PAD FiltrMenu OF MainMenu ACTIVATE POPUP FiltrPopup
ON SELECTION PAD QuitMenu OF MainMenu ACTIVATE POPUP QuitPopup
DEFINE POPUP DataPopup FROM 1,0 IN WINDOW MainWindow COLOR SCHEME 10
DEFINE 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 10
DEFINE 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 Print
DEFINE POPUP SearchPopup FROM 1,8 IN WINDOW MainWindow COLOR SCHEME 10
DEFINE 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 SearchProc
DEFINE POPUP FiltrPopup FROM 1,15 IN WINDOW MainWindow COLOR SCHEME 10
DEFINE 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 FiltrProc
DEFINE POPUP QuitPopup FROM 1,27 IN WINDOW MainWindow COLOR SCHEME 10
DEFINE BAR 1 OF QuitPopup PROMPT <Выход в FoxPro
DEFINE BAR 2 OF QuitPopup PROMPT Выход в Ms-Dos
ON SELECTION POPUP QuitPopup DO EndProc WITH 2
ACTIVATE WINDOW MainWindow
ACTIVATE MENU MainMenu
DO EndProc WITH 1
PROCEDURE Titul
SET CURSOR OFF
DEFINE WINDOW TitleWindow FROM 0,0 TO 24,79 DOUBLE
ACTIVATE WINDOW TitleWindow
TEXT
ENDTEXT
Key=INKEY(20)
RELEASE WINDOW TitleWindow
RETURN
PROCEDURE 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
RETURN
PROCEDURE Print
SET CURSOR OFF
y=BAR()
ACTIVATE WINDOW PrintWindow
DO CASE
CASE y=1
SCAN
Do PrintRec
WAIT Любая клавиша - Продолжить, Esc - ОТКАЗ WINDOW
IF LASTKEY() =27
EXIT
ENDIF
ENDSCAN
CASE y=2
WAIT Данные записываются в файл INFO. DAT Любая клавиша - ЗАПИСЬ, Esc - ОТКАЗ WINDOW
IF LASTKEY() #27
SET PRINTER TO info. dat ADDITIVE
SET PRINTER ON
SCAN
Do PrintRec
ENDSCAN
SET PRINTER OFF
ENDIF
CASE y=3
SET PRINTER TO LPT1
IF PRINTSTATUS()
SET PRINTER ON
SCAN
Do PrintRec
ENDSCAN
SET PRINTER OFF
ELSE
WAIT Принтер не готов WINDOW NOWAIT
ENDIF
ENDCASE
DEACTIVATE WINDOW PrintWindow
DEACTIVATE POPUP
RETURN
PROCEDURE AddRec
PUSH KEY CLEAR
SET CURSOR ON
ACTIVATE WINDOW AddWindow
@ 1,1 TO 11,51
SCATTER 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,6
READ CYCLE MODAL
IF choice=1
APPEND BLANK
GATHER MEMVAR
ENDIF
DEACTIVATE WINDOW AddWindow
ENDIF
POP KEY
RETURN
FUNCTION Refresh
SHOW GETS OFF
RETURN
FUNCTION PopShow
@ 12,3 SAY VideoArray(FocKlub) SIZE 1,36
RETURN
PROCEDURE DelRec
WAIT Вы действительно хотите удалить запись? (ДА-любая клавиша, НЕТ-ESC) ? WINDOW
IF LASTKEY() #27
POP KEY
DELETE
PACK
DO BrowseData WITH 2
ENDIF
RETURN
PROCEDURE Help
PUSH KEY CLEAR
SET CURSOR OFF
ACTIVATE WINDOW HelpWindow
TEXT
^N - дополнение базы новой записью
^D - удаление текущей записи
^P - вывод/печать всех записей
--------------------------------------------
^PgUp - переход в начало базы
^PgDn - переход в конец базы
--------------------------------------------
^Q - выход из окна редактирования
(внесенная информация сохраняется)
Esc - то же, но информация не сохраняется
ENDTEXT
WAIT
DEACTIVATE WINDOW HelpWindow
SET CURSOR ON
POP KEY
RETURN
FUNCTION Hlp
SET CURSOR OFF
@ 0,0 FILL TO 0,77 COLOR GR/GR
Hint=
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 Hint
RETURN
PROCEDURE BrowseData
PARAMETER y
DO CASE
CASE BAR() =1. OR. y=1
TitleStr=БАЗА ДАННЫХ
STR1=NOAPPEND NODELETE NOMODIFY
CASE BAR() =2. OR. y=2
PUSH KEY
ON KEY LABEL Ctrl+N DO AddRec
ON KEY LABEL Ctrl+D DO DelRec
ON KEY LABEL Ctrl+P ACTIVATE POPUP PrintPopup
ON KEY LABEL F1 DO Help
TitleStr=F1 - Вызов окна помощи РЕДАКТИРОВАНИЕ
STR1=
ENDCASE
ACTIVATE WINDOW HintWindow
GO TOP
BROWSE 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+/N
DO CASE
CASE BAR() =1. OR. y=1
SET FILTER TO
CASE BAR() =1. OR. y=2
POP KEY
ENDCASE
DEACTIVATE WINDOW HintWindow
DEACTIVATE POPUP
RETURN
PROCEDURE SearchProc
SET CURSOR ON
y=BAR()
str=PROMPT()
DEFINE WINDOW SearchWindow FROM 7,20 TO 12,60;
TITLE Поиск + str
ACTIVATE WINDOW SearchWindow
@ 1,1 SAY Укажите ключ:
DO CASE
CASE 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 0
ENDCASE
@3,11 GET choice FUNCTION *th ! Поиск; ? Выход DEFAULT 2 SIZE 1,7,4
READ CYCLE
RELEASE WINDOW SearchWindow
SET CURSOR OFF
IF choice=1
ACTIVATE WINDOW FindWindow
IF y=1. OR. y=2
a=Zag(ALLTRIM(a),. f)
ENDIF
IsFind=. F.
Find=. F.
SCAN
DO CASE
CASE y=1
Find=Zag(ALLTRIM(A. nazv_f),. f) =a
CASE y=2
Find=A. tip_nosit=a
CASE y=3
Find=A. kod_post=a
ENDCASE
IF Find
IsFind=. 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) WINDOW
IF LASTKEY() =27
EXIT
ENDIF
ENDIF
ENDSCAN
IF! IsFind
WAIT ПОИСК НЕ УДАЧНЫЙ WINDOW
ENDIF
DEACTIVATE WINDOW FindWindow
ENDIF
DEACTIVATE POPUP SearchPopup
RETURN
PROCEDURE FiltrProc
SET CURSOR ON
y=BAR()
str=PROMPT()
DEFINE WINDOW FiltrWindow FROM 7,20 TO 12,60;
TITLE Фильтрация + str
ACTIVATE WINDOW FiltrWindow
@ 1,1 SAY Укажите ключ:
DO CASE
CASE 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 0
CASE y=4
@ 1,15 GET a DEFAULT SPACE(18)
ENDCASE
@3,11 GET choice FUNCTION *th ! Фильтр; ? Выход DEFAULT 2 SIZE 1,6,4
READ CYCLE
DEACTIVATE WINDOW FiltrWindow
SET CURSOR OFF
IF choice=1
DO CASE
CASE y=1
SET FILTER TO a. nazv_f=alltrim(a)
CASE y=2
SET FILTER TO a. tip_nosit=a
CASE y=3
SET FILTER TO a. kod_post=a
CASE y=4
SET FILTER TO a. kachestvo=alltrim(a)
ENDCASE
DO BrowseData WITH 1
ENDIF
RETURN
FUNCTION Zag
PARAMETER p,k
PUSH KEY clear
s=абвгдежзийклмнопрстуфхцчшщыьъэюя
z=АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЪЭЮЯ
IF k
REPLACE &p WITH CHRTRAN(&p,s,z)
ELSE
POP KEY
RETURN CHRTRAN(p,s,z)
ENDIF
POP KEY
RETURN
PROCEDURE EndProc
PARAMETER y
DO CASE
CASE BAR() =1. OR. y=1
ON KEY
SET HELP ON
SET RELATION TO
SET FILTER TO
DEACTIVATE WINDOW ALL
DEACTIVATE MENU
DEACTIVATE POPUP
CLEAR ALL
CANCEL
CASE BAR() =2. OR. y=2
QUIT
ENDCASE
POP KEY
CLOSE DATABASES
RETURN
! | Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ. |
! | Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу. |
! | Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться. |
! | План курсовой работы Нумерованным списком описывается порядок и структура будующей работы. |
! | Введение курсовой работы Что пишется в введении, какой объем вводной части? |
! | Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать. |
! | Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа. |
! | Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема. |
! | Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом. |
! | Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ. |
→ | Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия. |
→ | Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта. |
→ | Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты. |
→ | Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести. |
→ | Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя. |
→ | Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика. |
Курсовая работа | Деятельность Движения Харе Кришна в свете трансформационных процессов современности |
Курсовая работа | Маркетинговая деятельность предприятия (на примере ООО СФ "Контакт Плюс") |
Курсовая работа | Политический маркетинг |
Курсовая работа | Создание и внедрение мембранного аппарата |
Курсовая работа | Социальные услуги |
Курсовая работа | Педагогические условия нравственного воспитания младших школьников |
Курсовая работа | Деятельность социального педагога по решению проблемы злоупотребления алкоголем среди школьников |
Курсовая работа | Карибский кризис |
Курсовая работа | Сахарный диабет |
Курсовая работа | Разработка оптимизированных систем аспирации процессов переработки и дробления руд в цехе среднего и мелкого дробления Стойленского ГОКа |