Разработка телефонного справочника

 

Федеральное агентство по образованию

ГОУ ВПО

Дагестанский Государственный Технический Университет

Кафедра ВМ










Курсовая работа

По дисциплине: "База данных"

на тему:

"Разработка телефонного справочника"




Выполнил: студент 3го курса

Факультета ИиУ

Группы № У-531

Абдурагимов Т. Т.

Проверил: Джанмурзаев А.А.




Махачкала 2008 г.

Содержание


Аннотация

Введение

1. Разработка структуры программы

2. Инфологическая модель

3. Даталогическая модель

4. Разработка процедур

5. Листинг программы KURS. PRG

6. Прикладной пакет экранных форм программы KURS. PRG

Заключение

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


Аннотация


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

база даталогическая модель программа

Введение


Что такое базы данных и СУБД?

Данные и ЭВМ.

Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных, явлений. С давних времен люди пытались описать эти явления (даже тогда, когда не могли их понять). Такое описание называют данными.

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

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

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

Концепция баз данных.

Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых "Системы управления базами данных" (СУБД).

Основная особенность СУБД - это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банки данных, а затем "Базы данных" (БД).

Базы Данных, способы представления, модели данных.

Базы Данных (БД) представляют собой совокупность данных, структурированных определенным образом по определенной тематике, применяющихся в различных отраслях экономики, промышленности, бизнеса и науки. Скорость доступа к нужной информации, оперативность ее получения определяют, в конечном итоге, успешное ведение бизнеса и уменьшают затраты на соответствующие статьи доходов. Разработаны методы, которые облегчают работу с большим объемом данных: создание баз данных, выполнение поиска, редактирование, извлечение различных выборок, а также проведение анализа данных и оформления расчетов, которые содержат итоговые документы и данные в виде таблиц, диаграмм и графиков. Эти методы реализуются с помощью комплекса программных средств, обеспечивающих работу с БД - системой управления базой данных (СУБД).

Известно много программных продуктов, позволяющих создавать и работать с БД, например, Access, Clipper, Excel и другие. Среди большого разнообразия программ наибольшей популярностью пользуется СУБД FoxPro, которая по своим характеристикам удовлетворяет самым высоким требованиям, предъявляемым к такого типа системам как по уровню и объему, так и по скорости обработки информации.

На данный момент разработано и широко используется Visual FoxPro для Windows версий 3.0 и 5.0. Однако, работа с этими пакетами для непрограммистов представляет собой довольно сложную задачу. Поэтому для создания БД для пользователей, имеющих небольшой опыт в программировании, очень удачными являются версии 2.5 и 2.6 под Windows и 2.0 под DOS.

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

Сетевые модели также создавались для мало ресурсных ЭВМ. Это достаточно сложные структуры, состоящие из "наборов" - поименованных двухуровневых деревьев. "Наборы" соединяются с помощью "записей-связок", образуя цепочки и т.д. При разработке сетевых моделей было выдумано множество "маленьких хитростей", позволяющих увеличить производительность СУБД, но существенно усложнивших последние. Прикладной программист должен знать массу терминов, изучить несколько внутренних языков СУБД, детально представлять логическую структуру базы данных для осуществления навигации среди различных экземпляров, наборов, записей и т.п. Один из разработчиков операционной системы UNIX сказал "Сетевая база - это самый верный способ потерять данные". Сложность практического использования иерархических и и сетевых СУБД заставляла искать иные способы представления данных. В конце 60-х годов появились СУБД на основе инвертированных файлов, отличающиеся простотой организации и наличием весьма удобных языков манипулирования данными. Однако такие СУБД обладают рядом ограничений на количество файлов для хранения данных, количество связей между ними, длину записи и количество ее полей. Физическая организация данных оказывает основное влияние на эксплуатационные характеристики БД. Разработчики СУБД пытаются создать наиболее производительные физические модели данных, предлагая пользователям тот или иной инструментарий для поднастройки модели под конкретную БД. Разнообразие способов корректировки физических моделей современных промышленных СУБД не позволяет рассмотреть их в этом разделе.

Инфологическая модель данных. Сущность-связь. Основные понятия

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

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

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

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

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

Связь - ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных - это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей.

О построении инфологической модели.

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

1. Разработка структуры программы


Информация в программе KURS. PRG представляется в виде таблиц. Они, в свою очередь, подразделяются по определенным категориям. В программе было предусмотрено определенное количество операций (или действий) по работе с базой данной и ее обработки.

Основное меню программы (Рис.1) состоит из:

Система > Загрузить,

Сохранить,

Удалить >Удалить всю БД

Удалить по признаку >По телефону

База автомобилей >Корректировать,

Просмотреть,

Добавить,

Поиск >По телефону

Выход в DOS

При выборе пункта меню Система пункты Загрузить и Сохранить пользователь может загрузить основную базу данных TEL. DBF на экран и сохранить внесенные им изменения соответственно. В пункте меню Удалить следует уделить особое внимание пункту Удалить всю БД, при выборе которого ВСЯ база данных уничтожается. Пункт меню Удалить по признаку помечает выбранные записи на удаление соответственно по телефону.

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

И, соответственно, Выход в DOS осуществляет выход из программы.

2. Инфологическая модель



3. Даталогическая модель


R1 (система, База справочника, выход в DOS);

R2 (система, загрузить, сохранить, удалить, по телефону);

R3 (база справочника, корректировать, просмотреть, добавить, по телефону, телефон, Ф.И.О., семейное положение, год рождения, улица, дом, квартира);

Описание алгоритма программы KURS. PRG.



4. Разработка процедур


В программе были использованы 6 процедур.

.Процедура удаления записи из БД udal1.

При выборе процедуры udal1 на экране вырисовывается окно ok1 для удаления записи по признаку.

.Процедура коррекции БД korr.

При выборе процедуры korr на экране вырисовывается окно krok для коррекции одного или нескольких полей БД.

.Процедура просмотра БД procm.

При выборе процедуры procm на экран вырисовывается окно prosm для просмотра трех параметров записей БД.

.Процедура inf, выдающая в окне содержимое выбранной записи.

Процедура inf вызывается лишь в том случае, если была выбрана определенная запись в процедуре procm. При выполнении процедуры inf на экран вырисовывается окно inf, содержащее дополнительную информацию о выбранной записи.

.Процедура добавления новой записи в БД vvod.

При выборе данной процедуры vvod на экран вырисовывается окно ok_v. После внесения параметров новой записи она заносится в БД.

.Процедура поиска записи по признаку poisk1.

При выборе процедуры poisk1 на экране вырисовывается окно ok для поиска записи по признаку.


5. Листинг программы KURS. PRG


tel1=0

tel2=0

tel3=0

Fio1=''

uliza1=''

dom1=0

kvar1=0

god1=0

polo1=''

* POSTROENIE MENU

DEFINE WINDOW Spravochnik FROM 1,1 TO 24,79 fill;

'-' color b/WWINDOW SpravochnikTALK OFFtel In 1MENU SpravochnikPAD system OF Spravochnik PROMPT "system" AT 1,5 COLOR SCHEME 3PAD baza OF Spravochnik PROMPT "basa spravochnika" AT 1,25 COLOR SCHEME 3PAD vih OF Spravochnik PROMPT "exit in DOS" AT 1,55 COLOR SCHEME 3PAD system OF Spravochnik ACTIVATE POPUP systPAD baza OF Spravochnik ACTIVATE POPUP bazaSELECTION PAD vih OF Spravochnik DO _18b16pgbhPOPUP syst MARGIN RELATIVE SHADOW COLOR SCHEME 4BAR 1 OF syst PROMPT "LOAD"BAR 2 OF syst PROMPT "SAVE"BAR 3 OF syst PROMPT "DELETE"SELECTION BAR 1 OF syst BROWSESELECTION BAR 2 OF syst SAVE TO Telefonniy_spravochnikBAR 3 OF syst ACTIVATE POPUP udalenPOPUP udalen MARGIN RELATIVE SHADOW COLOR SCHEME 4BAR 1 OF udalen PROMPT "DELETE ALL BASA"BAR 2 OF udalen PROMPT "DELETE for call"SELECTION BAR 1 OF udalen ZAPBAR 2 OF udalen ACTIVATE POPUP udalpPOPUP udalp MARGIN RELATIVE SHADOW COLOR SCHEME 4BAR 1 OF udalp PROMPT "po telefonu"SELECTION BAR 1 OF udalp DO udal1POPUP baza MARGIN RELATIVE SHADOW COLOR SCHEME 4BAR 1 OF baza PROMPT "Correction"BAR 2 OF baza PROMPT "Prosmotret"BAR 3 OF baza PROMPT "Dobavit"BAR 4 OF baza PROMPT "Poisk"SELECTION BAR 1 OF baza DO korrSELECTION BAR 2 OF baza DO procmSELECTION BAR 3 OF baza DO vvodBAR 4 OF baza ACTIVATE POPUP poiskPOPUP poisk MARGIN RELATIVE SHADOW COLOR SCHEME 4BAR 1 OF poisk PROMPT "po telefonu"SELECTION BAR 1 OF poisk DO poisk1MENU SpravochnikMENUWINDOW Spravochnik

* PROCEDURA UDALENIA ZAPISIudal1WINDOW ok1 FROM 5,10 to 20,70 TITLE 'Udalenie zapisi iz BD' COLOR SCHEME 10WINDOW ok1=RECNO ()BAR () =1

@ 2,2 SAY 'Vedite Telefon'

@ 2,col () +2 GET tel1 DEFAULT SPACE (6)FOR tel. Telefon=tel1EOF ()'ne naydeno' WINDOWnDELETE ()'zapis udalena!!! ' WINDOW

@ 3,2 SAY IIF (DELETE (),'zapis udalena!!! ',' ')GETSWINDOW ok1

* Procedure Korreczii BDkorrtel IN 11WINDOW krok FROM 5,10 to 20, 70 TITLE 'Korreczia BD' COLOR SCHEME 10WINDOW krok

@ 2,2 SAY 'Nomer Telefona '

@ 2,col () +4 GET tel. telefon

@ 3,4 SAY 'FIO Abonenta'

@ 3,col () +6 GET Abonent

@ 4,6 SAY 'Nazvanie Ulizi'

@ 4,col () +10 GET Uliza

@ 5,6 SAY 'Nomer Domaя'

@ 5,col () +4 GET Dom

@ 6,4 SAY 'Nomer Kvartiri'

@ 6,col () +7 GET kvartira

@ 7,2 SAY 'God rojdenia '

@ 7,col () +4 GET god_rojd

@ 8,4 SAY 'Semeynoe polojenie (T-jenat; F-ne jenat) '

@ 8,col () +10 GET Polojenie=1

@ 10,12 say 'Prodoljit prosmotr bazi DA NET'

@ 10,col () - 7 get ch FUNCTION '*IHT; ' SIZE 1,3,1cyclch<>1WINDOW krok

* procedura prosmotra BDprocmtel IN 11

* SET RELATION TO regnomer INTO FIOWINDOW prosm FROM 5,10 to 20,70 TITLE 'INFO Abonenta' COLOR SCHEME 10POPUP pr FROM 1,1 to 12,57 PROMPT FIELD str (tel. telefon,6) +' '+tel. abonent+' '+;(tel. God_rojd,4) TITLE 'Telefon Abonenta FIO Abonenta God Rojdeniya ' footer;

'Viberite i najmite ENTER'SELECT POPUP pr DO infWINDOW prosmPOPUP prRELATION TOWINDOW prosm

RETURN

* Procedura, vidaushaya v okne soderjimoe vibrannoy zapisi

PROCEDURE infWINDOW inf FROM 9,45 TO 15,73 TITLE 'Telefon '+str (tel. telefon,6) COLOR SCHEME 7WINDOW inf=MEC ()

@1,1 SAY 'Uliza'

@1,col () +1 SAY tel. Uliza

@2,1 say 'Dom'

@2,col () +1 SAY tel. Dom

@3,1 say 'Kvartira'

@3,col () +1 SAY tel. Kvartira''WINDOW infmec=''=fio

SELECT 1fio1

* Procedura dobavleniya novoy zapisi

PROCEDURE vvodtel IN 1EXACT ONWINDOW ok_v FROM 5,10 to 20,70 TITLE 'Dobavlenie novoy zapisi v BD' COLOR SCHEME 10popup mesto from 1,1 to 6,16 prompt field polWHILE. t.10 TO tel3WINDOW ok_v

@ 2,2 SAY 'Vedite telefon'

@ 2,col () +6 GET tel1 size 1,15

@ 3,4 SAY 'Vedite FIO Abonenta'

@ 3,col () +5 GET FIO1 size 1,15

@ 4,6 SAY 'Vedite nazvanie ulizi'

@ 4,col () +8 GET Uliza1 size 1,15

@ 5,6 SAY 'Vedite nomer doma'

@ 5,col () +6 GET dom1 size 1,15

@ 6,4 SAY 'Vedite nomer kvartiri'

@ 6,col () +6 GET kvar1 size 1,15

@ 7,2 SAY 'Vedite god rojdeniya'

@ 7,col () +1 GET god1 size 1,15

@ 8,4 SAY 'Vedite semeynoe polojenie'

@ 8,col () +1 GET polo1 size 1,15

SELECT 1

@ 10,5 SAY 'Vi uvereni v pravilnosti vvoda? DA NET'

@ 10,col () - 7 GET ch FUNCTION '*IHT; ' SIZE 1,3,1 default 1cyclch=11BLANKtel. telefon WITH tel1tel. abonent WITH fio1tel. uliza WITH uliza1tel. dom WITH dom1tel. kvartira WITH kvar1tel. god_rojd WITH god1tel. polojenie WITH polo1

@ 10,1 TO 15,78 CLEAR

@ 10,5 SAY 'Prodoljit vvod? DA NET'

@ 10,col () - 7 get ch FUNCTION '*IHT; ' SIZE 1,3,1cyclch<>1WINDOW ok_vDATA ALLPOPUP kor

* procedura poiska zapisipoisk1WINDOW ok FROM 5,10 to 20,70 TITLE 'Poisk zapisi v bd' COLOR SCHEME 10WINDOW ok=RECNO ()BAR () =1

@ 2,2 SAY 'Vvedite Telefon abonenta'

@ 2,col () +2 GET tel2 DEFAULT SPACE (6)FOR tel. telefon=tel2EOF ()'NE NAYDENO' WINDOWn

@ 4,3 SAY 'Telefon abonenta: '

@ 4,col () +1 SAY tel. telefon

@ 5,3 SAY 'FIO abonenta: '

@ 5,col () +1 SAY tel. abonent

@ 6,3 SAY 'Uliza abonenta: '

@ 6,col () +1 SAY tel. uliza

@ 7,3 SAY 'Nomer doma abonenta: '

@ 7,col () +1 SAY tel. dom

@ 8,3 SAY 'Nomer kvartiri aboenta: '

@ 8,col () +1 SAY tel. kvartira

@ 9,3 SAY 'God rojdeniya abonentaя: '

@ 9,col () +1 SAY tel. god_rojd

@ 10,3 SAY 'Semeynoe polojenie abonentaя: '

@ 10,col () +1 SAY tel. polojenie''WINDOW ok_18b16pgbhWINDOW poiskALL


6. Прикладной пакет экранных форм программы KURS. PRG








Заключение


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

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


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


1.Курс лекций по дисциплине Базы Данных

2.Вейскас. Д., В26 Эффективная работа с Мicrosoft Access 97 - Спб: ЗАО "Издательство Питер", 1999. - 976 с.: ил

.Кауфельд. Дж., К45 FoxPro для "чайников". - К.: "Диалекика", 1995. - 264 с., ил

4.Microsoft Excel для Windows 95. Шаг за шагом: Практ. Пособ\Пер. с англ. - М: Издательство ЭКОМ, 1997. - 432с.: ил.

.Селиджтаун М., В26 "FoxPro 2.5 Практическое пособие" - М: изд. "Москва-Пресс", 1994. - 296 с.: ил.; 3-е Издание


Федеральное агентство по образованию ГОУ ВПО Дагестанский Государственный Технический Университет Кафедра ВМ Кур

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ