Футбольный клуб "Барселона"

Понятие базы данных и СУБД, способы представления. Аспекты построения инфологической и даталогической моделей. Создание базы данных футболистов футбольного клуба "Барселона". Особенности программы для выполнения основных операций с базой данных.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 11.07.2012
Размер файла 33,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

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

Кафедра ВТ

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

по дисциплине

“Базы Данных”

на тему:

"Футбольный клуб «Барселона»"

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

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

Специальности ПОВТиАС

Группы У441

Сунгуров И.М.

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

Махачкала * 2007 г.

Аннотация

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

Курсовая работа содержит :

22 листа

3 рисунка

4 таблицы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Размещено на http://www.allbest.ru/

Следует заметить, что между классами “Футбольный клуб” и “Футболист” установлена связь 1:М (то есть “один - ко - многим “)

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

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

О программе

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

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

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

База Данных

Атрибут

Тип

Длина

N

Numeric

3

NAME

Character

10

BIRTH_DATE

Date

8

AGE

Numeric

2

COUNTRY

Сhагасter

30

WEIGHT

Numeric

3

HEIGHT

Numeric

3

т.е. база данных состоит из: имени футболиста;
даты рождения;
возраста футболиста;
страны;
веса футболиста;
роста футболиста;
порядкового номера.

Каждый пункт сопровождается, внизу экрана, сообщением о каждом пункте, для чего он предназначен. При выборе пункта ввода, на экране появляется окно в которое заносятся личные данные о футболисте, оно выглядит следующим образом:

При завершении заполнения таблицы выходим из нее. Если при заполнении нажать клавишу ЕSC, то данные о работнике не сохранятся. При переходе к следующему пункту меню "Учета футболистов", которым является 'Вывод' можно наблюдать, что на экран выводятся все данные о футболистах клуба в виде таблицы, которая выглядит следующим образом:

Поиск осуществляется по каждому параметру отдельно. На условие поиска по имени, вводиться имя футболиста футбольного клуба и при его нахождении на экран появляется окно вида:

И так в виде этого окна показываются поиск по фамилии..

Пункт 'Фильтрация' состоит также из разделов:

Вывод Поиск Фильтрация Выход

по имени, стране, дате рождения, весу.

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

Еще есть такие пункты как :

не выходить

выход в FохPro

выход

Т.е.

'Не выходить ' означает остаться в программе "Учет футболистов",

'Выход FохРrо' - выход из курсовой программы в программу FохРго,

'Вых! выход вообще.

Описание команд

DEFINE WINDOW - создание окна

Формат: DEFINE WINDOW <имя>

FROM <cтpока1>,<cтолбецl> TO <cтрока2>,<cтолбец2>

[TITLE <BыражC>]

ROUBLE | PANEL | NONE | <строка_символов_контура>]

[CLOSE | NOCLOSE] [FLOAT | NOFLOAT]

[GROW | NOGROW] [SHADOW | NOSHADOW]

[ZOOM | NOZOOM]

[COLOR [<стандарт>],[,<yлyчшен>]

[,<контур>] | [COLOR SCHEME <BыражН>]]

Команда DEFINE WINDOW создает окно пользователя и задает его атрибуты. После определения окон они могут быть выведены на дисплей командами ACTIVATE WINDOW или SHOW WINDOW.

Активированные окна остаются на экране до тех пор, пока будут удалены оттуда командами DEACTIVATE WINDOW или HIDE WINDOW.

Предложение DEFINE WINDOW<имя> присваивает окну имя. Имена окон могут иметь длину до 10 символов. Они должны начинаться с буквы или знака подчеркивания и могут содержать любую комбинацию букв, цифр и знаков подчеркивания.

Положение на экране верхнего левого угла окна определяется экранными координатами FROM <строка1>,<столбец1>, а нижнего правого - координатами <строка2>,<стол6ец2>. Эти два набора координат определяют размер окна. Окно можно определить и с координатами лежащими за пределами экрана. Размер окна может максимум в два раза превышать по числу строк и столбцов размер текущего экрана. Окна также могут помещаться одно внутри другого.

Опция TITLE <выражС> позволяет назначить окну заголовок, атрибуты окна. По умолчанию окнам присваиваются цвета, определи цветовой схемой COLOR SCHEME 1. Опция COLOR позволяет определить цвета стандартного улучшенного текста в окне, а также границы окна.

DEFINE MENU * создание линейки меню

Формат: DEFINE MENU <имя> [MESSAGE <выражС>]

Команда DEFINE MENU создает линейку меню и назначает имя. После того, как линейка меню определена, вы можете при помощи DEFINE PAD определяете элементы линейки меню.

Прежде чем вы сможете вызвать линейку меню на экран команду ACTIVATE MENU, вы обязаны определить ее при помощи команды DEFINE MENU. Задайте <имя> для линейки меню и необходимости сообщение MESSAGE <выражС>.

DEFINE PAD * определение элемента линейки меню

Формат: DEFINE PAD <имя> OF <имя_меню>

PROMPT <выражС1> [АТ <строка>,<столбец>]

[MESSAGE <выражС2>]

Команда DEFINE PAD служит для помещения в линейку элементов меню. Эта команда используется совместно с командой DEFINE MENU, обычно при создании системы меню. Перемещения c элементами линейки меню выполняются при помощи клавиш управления курсором или мышью.

Сначала при помощи команды DEFINE MENU должна быть определена сама линейка меню. Для помещения в линейку каждого элемента требуется одна команда DEFINE PAD. Каждому элементу линейки присваивается <имя>. Предложение PROMPT <выражС1> определяет текст, который будет выводиться в данном элементе линейки экрана. <ВыражС1> может являться любой допустимой строкой символов или символьным выражением.

При помощи предложения MESSAGE <выражС2> каждому элементу линейки меню можно назначить необязательное сообщение. Сообщение появляется на экране или в окне в позиции, заданной командой SET MESSAGE TO.

PROMPT FIELD <поле> |

PROMPT FILES [LIKE <макет_спецификации>] |

PROMPT STRUCTURE]

[MESSAGE <выражС>]

[COLOR <стандарт>[,<улучшен>11 COLOR

SCHEME <выражМ>]

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

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

Назначение всплывающему меню имени выполняется при помощи предложения DEFINE POPUP <имя>. Верхний левый угол всплывающего меню будет располагаться в позиции с экранными координатами <строка1>, <столбец1>, задаваемыми предложением FROM. Можно включить необязательное предложение ТО <строка2>,<столбец2> задающее нижний правый угол всплывающего меню.

DEFINE BAR * определение опции сплывающего меню

Формат: DEFINE BAR <выражН> OF <имя>

PROMPT <выражС1> (MESSAGE <выражС2>]

[SKJPIFOR<выpaжL>l]

Команда DEFINE BAR добавляет опцию всплывающего меню. DEFINE BAR используется совместно с командами DEFINE POPUP, ACTIVATE POPUP для создания всплывающего меню и вывода на экран. Прежде чем можно будет пользоваться командой DEFINE BAR, необходимо определить само всплывающее меню командой DEFINE POPUP. Меню можно убрать с экрана командой DEACTIVATE POPUP либо и с экрана и из памяти командами CLEAR ALL, CLEAR POPUP RELEASE POPUPS.

Место, в котором будет появляться опция во всплывающем меню определяется <выражН>.

Также нужно задать <имя> всплывающего меню, в которое желаете включить данную опцию. <выражС1> - это текст опции, кот будет появляться во всплывающем меню.

Команда ON SELECTION PAD назначает подпрограмму на горизонтальном меню. Подпрограмма, которая будет выполняться при выборе поля меню, может быть командой, программой или процедурой.

ACTIVATE WINDOW - вывод на дисплей и активация окна

Формат: ACTIVATE WINDOW[[<имяl>l [,<имя2>][,...] | ALL

[BOTTOM | TOP | SAME][NOSHOW]

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

DEACTIVATE WINDOW * деактивация окон и удаление их с экрана

Формат: DEACTIVATE WINDOW <имя1>[<,имя2>] [,...1] | ALL

Команда DEACTIVATE WINDOW деактивирует активное окно или набор активных окон и удаляет их с экрана. Окно или окна при этом не удаляются из памяти и могут быть снова вызваны на дисплей при помощи команд ACTIVATE WINDOW.

APPEND - добавляет записи к выбранной базе данных

Формат: APPEND [BLANK]

Команда APPEND BLANK, добавляет в конец выбранной базы данных одну пустую запись. Окно редактирования при этом не открывается.

SCATTER - перемещение данных из отдельной записи базы данных в массив или множество переменных памяти

Формат: SCATTER [ FIELDS <список полей> ] [MEMO]

ТО <массив> | MEMVAR | BLANK

Команда SCATTER перемещает данные из текущей записи данных в массив переменных памяти или в множество переменных. Если необязательное предложение FIELDS задано вместе с <список полей>, то содержимое только специфицированных полей за перемещается в массив переменных памяти. Если необязательное предложение FIELDS опущено, то перемещается содержимое всех полей записи.

LOCATE * поиск записи базы данных

Формат: LOCATE FOR < выражение L1 >

[ < область видимости > ] [WHILE < выражение 2 > ]

Команда LOCATE последовательно ищет в текущей выбранной базе данных первую запись, соответствующую выражению L1. База данных не должна быть индексирована.

При данном представлении команды она может

SET FILTER - отображение или обеспечение доступа к записям, отвечающим определенным условиям

Форматы: SET FILTER TO [ <вырL > ]

Команда SET FILTER TO используется для определения записей внутри текущей базы данных, которые отвечают условию специфицированному с помощью <вырL>. Все команды, которые обращаются к базе данных, зависят от условия, сформулированного в команде SET FILTER TO . Выражение <вырL> должно быть правильным выражением. Оно обычно отсылает к некоторому полю в файле. Команда SET FILTER TO (без параметров) отключает фильтр активного файла базы данных.

Программа

set talk off

SET DATE GERMAN

clear

set curs on

set escape on

set century on

*** Формирование мену **APPEND*

define window mainmenu from 0,0 to 24,79 title ' *** БАРСЕЛОНА ***' color scheme 2

*** Горизонтальное меню ***

define menu gorizont

define pad wod of gorizont prompt 'Ввод' message 'Ввод нового футболиста' color scheme (7)

define pad vivod of gorizont prompt 'Вывод' message 'Вывод футболистов на экран' color scheme(7)

define pad poisk of gorizont prompt 'Поиск' message 'Поиск по ...' color scheme(7)

define pad filtr of gorizont prompt 'Фильтрация' message 'Фильтрация по ...' color scheme (7)

define pad exit of gorizont prompt 'Выход' message 'Выход из программы' color scheme (7)

on selection pad wod of gorizont do input

on selection pad vivod of gorizont do output

on selection pad poisk of gorizont activate popup searchPopup

on selection pad filtr of gorizont activate popup fltrPopup

on selection pad exit of gorizont activate popup exitPopup

define popup searchPopup from 1,15 color scheme (4)

define bar 1 of searchPopup prompt 'Поиск по имени' message 'Поиск по имени футболиста' color scheme(7)

define bar 2 of searchPopup prompt 'Поиск по дате рождения' message 'Поиск по дате рождения футболиста' color scheme (7)

define bar 3 of searchPopup prompt 'Поиск по возрасту' message 'Поиск по возрасту футболиста' color scheme(7)

on selection bar 1 of searchPopup do p_name

on selection bar 2 of searchPopup do p_birthdate

on selection bar 3 of searchPopup do p_age

define popup fltrPopup from 1,23 color scheme(4)

define bar 1 of fltrPopup prompt 'Фильтр по росту' message 'Фильтрация футболистов по росту' color scheme(7)

define bar 2 of fltrPopup prompt 'Фильтр по стране' message 'Фильтрация футболистов по стране' color scheme(7)

define bar 3 of fltrPopup prompt 'Фильтр по возрасту' message 'Фильтрация футболистов по возрасту' color scheme(7)

define bar 4 of fltrPopup prompt 'Фильтр по весу' message 'Фильтрация футболистов по весу' color scheme(7)

on selection bar 1 of fltrPopup do f_heigth

on selection bar 2 of fltrPopup do f_country

on selection bar 3 of fltrPopup do f_age

on selection bar 4 of fltrPopup do f_weigth

define popup exitPopup from 1,40 color scheme(4)

define bar 1 of exitPopup prompt 'Cancel' message 'Отмена' color scheme(7)

define bar 2 of exitPopup prompt 'Выход в FoxPro' message 'Выход из программы в FoxPro' color scheme(7)

define bar 3 of exitPopup prompt 'Выход' message 'Выход из программы' color scheme (7)

on selection bar 1 of exitPopup deactivate popup exitPopup

on selection bar 2 of exitPopup do exitToFox

on selection bar 3 of exitPopup quit

*** ПРОГРАММА ***

clear

activate window mainmenu

activate menu gorizont

if lastkey()=27

deactivate window mainmenu

deactivate menu gorizont

clear

else

endif

return

*** Процедура выхода в FoxPro ***

procedure exitToFox

deactivate window mainmenu

deactivate menu gorizont

clear

return

*** Процедура ввода ***

procedure input

use FCB

define window inputWindow from 1,1 to 17,68 color scheme(1)

define window sostoyanie from 24,8 to 26,87 title 'Окно сообщений' color scheme(1)

move window inputWindow to 4,6

move window sostoyanie to 22,0

set message window sostoyanie

activate window sostoyanie

activate window inputWindow

name_=' '

birthdate_=CTOD('00.00.0000')

country_=' '

age_=0

weigth_=0

heigth_=0

*@1,1 say 'Порядковый номер ' get atab message 'Уникальный табельный номер сотрудника'

@2,1 say 'Имя футболиста: ' get name_

*message 'Имя футболиста'

@3,1 say 'Дата рождения: ' get birthdate_

*message 'Дата рождения' FUNCTION

@4,1 say 'Страна: ' get country_

*message 'Гражданство'

@5,1 say 'Возраст: ' get age_

*message 'Возраст'

@6,1 say 'Рост: ' get heigth_

*message 'Рост'

@7,1 say 'Вес: ' get weigth_

*message 'Вес'

*@8,1 say 'Образование ' get aobraz message 'Образование'

*@9,1 say 'Семейное положение ' get asempol message 'Выбор клавишей ПРОБЕЛ' function 'M Холост,Женат,Разведен'

*@10,1 say 'Оклад ' get aoklad message 'Оклад' PICTURE '@RK #9999 руб.' RANGE 1000,99999

@12,5 say 'Save and Exit - Ctrl+End, without - ESC'

READ CYCLE

if lastkey()=27

deactivate window inputWindow

deactivate window sostoyanie

clear

else

* locate for b=atab

* if found()

* WAIT 'Сотрудник с данным табельным номером уже существует!' WINDOW NOWAIT

* deactivate window inputWindow

* deactivate window sostoyanie

* clear

* else

append blank

replace;

name with name_,;

birth_date with birthdate_,;

country with country_,;

age with age_,;

heigth with heigth_,;

weigth with weigth_,;

n with reccount()+1

*adress with aadress,;

*obraz with aobraz,;

*sempol with asempol,;

*oklad with aoklad

deactivate window inputWindow

deactivate window sostoyanie

endif

endif

return

*** Процедура вывода ***

procedure output

use FCB

set cursor off

define window spisok from 5,4 to 20,76 FLOAT GROW CLOSE DOUBLE

move window spisok to 3,3

browse title 'Просмотр списка футболистов' color scheme(1);

WINDOW spisok NOEDIT fields;

n :h='№' :3,;

name :h='Имя', ;

birth_date :h='Дата рождения', ;

age :h='Возраст' , ;

country :h='Страна' :15, ;

age :h='Возраст.',;

weigth :h='Вес', ;

heigth :h='Рост'

*obraz :h='Образование', ;

*sempol :h='Сем. положение', ;

*oklad :h='Оклад'

if lastkey()=27

deactivate window spisok

clear

else

endif

return

*** Процедура вывода на экран после поиска ***

procedure searchResult

set cursor off

DEFINE WINDOW res FROM 6,11 TO 18,67 TITLE 'Иформация о футболисте';

double shadow color w+/b FLOAT GROW CLOSE

move window res to 5,5

activate window res

?' Порядковый номер ',n

?' Имя футболиста ',name

?' Дата рождения ',birth_date

?' Возраст ',age

?' Страна ',country

?' Вес ',weigth

?' Рост ',heigth

*?' Образование ',obraz

*?' Семейное положение ',sempol

*?' Оклад ',oklad

WAIT 'Для продолжения нажмите любую клавишу' WINDOW

deactivate window res

clear

deactivate popup

return

*** Процедура поиска по имени футболиста ***

procedure p_name

clear

scatter fields name to temp blank

@10,10 say 'Введите имя футболиста: ' get temp color scheme(10)

read

locate for name=temp

if found()

do searchResult

else

wait 'Не найден' window

clear

endif

return

*** Процедура поиска по дате рождения ***

procedure p_birthdate

clear

scatter fields birth_date to temp blank

@10,10 say 'Введите дату рождения футболиста: ' get temp color scheme (10)

read

locate for birth_date=temp

if found()

do searchResult

else

wait 'Не найден' window

clear

endif

return

*** Процедура поиска по возрасту ***

procedure p_age

clear

scatter fields age to temp blank

@10,10 say 'Введите возраст: ' get temp color scheme (10)

read

locate for age=temp

if found()

do searchResult

else

wait 'Не найден' window

clear

endif

return

*********** ФИЛЬТРАЦИЯ ***********

*** Процедура фильтрации по росту ***

procedure f_heigth

use FCB

clear

scatter fields heigth to temp blank

@10,10 say 'Укажите рост:' get temp color scheme(10)

read

set filter to heigth=temp

BROWSE

return

*** Процедура фильтрации по стране ***

procedure f_country

use FCB

clear

scatter fields country to temp blank

@10,10 say 'Укажите страну:' get temp color scheme(10)

read

set filter to country=temp

BROWSE

return

*** Процедура фильтрации по дате воозрасту ***

procedure f_age

use FCB

clear

scatter fields age to temp blank

@10,10 say 'Укажите дату рождения:' get temp color scheme(10) message 'Выбор клавишей ПРОБЕЛ' function 'M Холост,Женат,Разведен'

read

set filter to age=temp

BROWSE

return

*** Процедура фильтрации по весу ***

procedure f_weigth

clear

scatter fields weigth to temp blank

@10,10 say 'Укажите вес:' get temp color scheme(10)

read

set filter to weigth=temp

BROWSE

return

Размещено на Allbest.ru


Подобные документы

  • Характеристика деятельности футбольного клуба "Челси", формулировка основных задач его информационно-управляющей системы и обоснование требований к его базе данных. Разработка базы данных в среде СУБД Access 2003. Создание запросов на языке QBE и SQL.

    курсовая работа [2,6 M], добавлен 21.02.2011

  • Деятельность футбольного клуба "Челси", задачи его информационно-управляющей системы и требования к базе данных. Наборы отношений с учетом степени связи и класса принадлежности экземпляров сущности. Разработка базы данных в среде СУБД Access 2003.

    курсовая работа [2,3 M], добавлен 21.02.2011

  • Создание программ, позволяющих создавать базы данных. Создание таблицы базы данных. Создание схемы данных. Создание форм, отчетов, запросов. Увеличение объема и структурной сложности хранимых данных. Характеристика системы управления базой данных Access.

    курсовая работа [2,1 M], добавлен 17.06.2013

  • Система управления базой данных (СУБД), централизованное обеспечение безопасности и целостности данных, защита от несанкционированного доступа. Построение концептуальной и реляционной моделей. Процесс нормализации. Проектирование базы данных в ACCESS.

    курсовая работа [1,8 M], добавлен 29.10.2008

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

    курсовая работа [2,1 M], добавлен 14.02.2011

  • СУБД - многопользовательские системы управления базой данных, специализирующиеся на управлении массивом информации. Запросы на выборку и изменение данных, формирование отчетов по запросам выборки. Схема базы данных. Программа по управлению базой данных.

    реферат [1,9 M], добавлен 27.12.2013

  • Разработка базы данных на основе MS Access, позволяющей регистратору стоматологической клиники записывать клиентов на прием, формировать отчетность. Построение инфологической и даталогической модели. Создание макросов для выполнения рутинных операций.

    курсовая работа [989,7 K], добавлен 09.12.2014

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

    курсовая работа [406,0 K], добавлен 24.12.2014

  • Описание предметной области разрабатываемой базы данных для теннисного клуба. Обоснование выбора CASE-средства Erwin 8 и MS Access для проектирования базы данных. Построение инфологической модели и логической структуры базы данных, разработка интерфейса.

    курсовая работа [3,8 M], добавлен 02.02.2014

  • Создание инфологической и даталогической модели базы данных, которые отображают сущности и атрибуты, отношения и поля. Разработка информационной системы учета пролеченных в дневном стационаре (DSP) с помощью СУБД MS Access и среды разработки Delphi 7.

    курсовая работа [1,5 M], добавлен 03.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.