Разработка базы данных для учета и записи сотрудников

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Введение

Delphi или [борланддэлфи] -- это интегрированная среда разработки, в которой используется язык программирования ObjectPascal. Delphi является средой RAD (rapidapplicationdevelopment -- быстрая разработка приложений). Начиная со среды разработки Delphi 7. 0, в официальных документах Borland стала использовать название Delphi для обозначения языка ObjectPascal. Начиная с 2007 года уже язык Delphi (производный от ObjectPascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения связанные с современными тенденциями (например, с развитием платформы. net) развития языков программирования: появились classhelpers, перегрузки операторов и д.р.

1. Среда разработки программного обеспечения

Целевая платформа

Первоначально сфера применения языка была направлена исключительно на разработку приложений MicrosoftWindows, позже он был также реализован для платформ Linux (как Kylix). Тем не менее, после того, как в 2002 году был выпущен Kylix 3, его разработка была приостановлена. Вскоре после того, была заявлена о поддержка Microsoft. net.

Осуществление среды разработки на основе проекта Lazarus, дает возможность его употреблять с целью формирования приложений на базе Delphi для таких платформ, как Mac OS X, Linux, Windows CE. Lazarus представляет собой FreePascal, компиляцию, совместимую с Delphi. Кроме всего прочего разработчики предпринимали действия по написанию компилятора для GCC и использованию языка в проектах типа GNU (к примеру, Notepad_GNU).

Компиляторы

EmbarcaderoDelphi (BorlandDelphi и CodeGearDelphi) — скорее всего, самый известный компилятор, являющийся последователем TurboPascal и BorlandPascal. Используется Win32 (Delphi 2), Win16 (Delphi 1). Поддержка. NET, в дальнейшем выделена в отдельный продукт -- Oxygene.

FPC (FreePascal) является свободным компилятором ОbjectPascal. Он выполняет поддержку разных диалектов Паскаля, а также свои диалекты. На сегодняшний день, FPC может выполнить генерацию кода для SPARC, PowerPC, x86−64, x86, а также процессоров ARM и для разнообразных ОС. Существует определенные среды разработки ПО для FPC.

Oxygene является компилятором ObjectPascal, интегрированным в MicrosoftVisualStudio. Применяет. NET и моно платформы. Популярными являются движки чатов на ASP. NET. На сегодняшний день продается под названием EmbarcaderoDelphiPrism.

MIDletPascal представляет собой язык программирования, который имеет Delphi-подобный синтаксис, а также одноименный компилятор, преобразующий код в быстрый и компактный Java байт-код.

VirtualPascal является бесплатным компилятора для Линукса, OS/2, Win32. На тот момент довольно совместимый и весьма быстрый. VP остается весьма неплохим вариантом быстрой замены старых версий BorlandPascal для института/школы, учитывая превосходную работу в Win32, а также прекрасная работа с русскими кодировками.

Операторы

Списокоператоровчерезпробел: := + -- * / div mod not and or with xorshlshr ^ = < >>= <= < > @ in is as

Выражения

Выражения в ObjectPascal (Delphi) бывают арифметическими, логическими и строковыми.

Основные логические выражения:

Логические выражения в основном употребляются в условных операторах. К логическим выражениям относятся такие операции как:

not--«НЕ», отрицание логического выражения (NOT< логическое_выражение>)

and--«И», умножение (пересечение) логических выражений (< логическое_выражение1>AND<логическое_выражение2>)

or--«ИЛИ», объединение логических выражений (< логическое_выражение1>OR<логическое_выражение2>)

xor--«Исключающее ИЛИ», отрицание ИЛИ, все что не попадает под ИЛИ (< логическое_выражение1>XOR<логическое_выражение2>)

Типы данных

Обрабатываемые в программе данные подразделяются на переменные, константы и литералы. Константы представляют собой данные, значения которых установлены в разделе объявления констант и не изменяются в процессе выполнения программы.

Классы

Ключевое слово Class это центральная часть Объектно-ориентированного кода.

Это определение содержит так называемые 'члены' - данные и методы (подпрограммы). Когда объект класса создан, он становится автономным элементом — вы можете обратиться к данным и методам объекта независимо от любого другого объекта. Оно похоже на запись Delphi, но с активными компонентами методами.

Эти элементы определены в определении типов класса. Элементы метода осуществлены в разделе implementationмодуля.

Объявление класса имеет следующее типичное описание:

Type

className=class (BaseClass)

private

//Определения данных/методов локальные для этого модуля

Protected

//Определения данных/методов, локальных для этого класса + потомки

Public

//Определения данных/методов пригодных для использования всеми объектами этого класса

Published

//Внешне общественные определения

end;

Параметры можно передать при создании объектного образца класса. Они передаются методу Constructor класса. Слово Constructor используется вместо функции или метода. Вы можете иметь множество конструкторов для различных наборов параметра. Они снабжены ключевым словом overload; после конца определения конструктора.

Обычно, название метода конструктора — Create.

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

1. Определение класса базируется, по умолчанию на классе TObject. Все классы должны быть основаны на другом классе, с классом TObject, в самом верхнем уровне.

В пределах определений класса, Вы можете приставлять определения функции или процедуры с ключевым словом Class. Это позволяет подпрограмме быть вызванным из самого Класса в дополнение к объектному образцу класса. Поскольку класс — не реальный объект, он не имеет никакой памяти, распределенной для данных. Так что подпрограмма Класса должна работать бех ссылок на внутренние данные класса.

2. Определение класса базируются на указанном классе, но без местных добавлений или изменений. Вы имеете новый класс, который действует тождественно к классу BaseClass

3. Ускоренное объявление класса. Оно позволяет всем классам в модуле быть перечисленными в начале раздела type. Так что это вопрос удобства, а не чего-нибудь еще.

4. Определение класса базируется на указанном классе. Как 1-ый выше, но вы можете определить, на каком классе вы базируете ваш новый класс. Вашим классом будет смесь предка и местных объявлений.

5. Класс может содержать выполнение внешне предопределенных интерфейсов.

6. Ссылка metaclass позволяет переменной быть использованной для указания класса, а не объекта.

1.1 Объектно-ориентированные особенности языка

Инкапсуляция

Возможность сокрытия некоторых аспектов представления класса; при этом доступ к объектам осуществляется только посредством экспортируемых (exporting) операций.

Наследование

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

Полиморфизм

Один из четырёх важнейших механизмов объектно-ориентированного программирования (наряду с абстракцией, инкапсуляцией и наследованием)

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

· Внешняя общность проявляется как эквивалентный набор методов с одинаковыми именами или совпадающими сигнатурами (именами методов, типами аргументов, их количеством и последовательностью);

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

Расширения файлов

. pas -- исходный код модуля (pascal)

. dpr -- исходный код проекта (pascal)

. dproj -- исходный код проекта (xml)

. dproj. local -- исходный код проекта (xml)

. dfm -- исходный код формы

. dpk -- скомпилированный пакет

. dcu -- скомпилированный модуль

. exe -- скомпилированное приложение

. res -- ресурсы

. dsk -- привязки к файлам

. identcache -- кэшированные привязки к файлам.

2. Общая часть

2.1 База данных

База данных --представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).

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

Проектируемая БД должна обладать определенными свойствами. Назовем основные свойства БД.

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

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

3. Безопасность. Безопасность Б Д предполагает защиту данных от преднамеренного и непреднамеренного доступа модификации или разрушения. Применяется запрещение несанкционированного доступа, защита от копирования и криптографическая защита. Также необходимы и чисто административные меры, например ограничение доступа к носителям информации.

4. Эффективность. Свойство эффективности обычно понимается как:

— минимальное время реакции на запрос пользователя;

— минимальные потребности в памяти

— сочетание этих параметров.

1. Предельные размеры и эксплуатационные ограничения. Предельные размеры, а также другие ограничения" накладываемые эксплуатацией данной БД, могут существенно повлиять на проектное решение.

2.2 Проблемы определения

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

Определения из международных стандартов:

База данных -- совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.

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

2.3 Определения из авторитетных монографий

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

База данных -- некоторый набор перманентных (постоянно хранимых) данных, используемых прикладными программными системами какого-либо предприятия.

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

В определениях наиболее часто (явно или неявно) присутствуют следующие отличительные признаки:

БД хранится и обрабатывается в вычислительной системе.

Таким образом, любые внекомпьютерные хранилища информации (архивы, библиотеки, картотеки и т. п.) базами данных не являются.

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

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

БД включает схему, или метаданные, описывающие логическую структуру БД в формальном виде (в соответствии с некоторой метамоделью).

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

2.4 История возникновения и развития технологий баз данных

История развития баз данных уходит корнями в 1960-е годы. В те времена информация собиралась и хранилась в файлах. каждый файл содержал определенные сведения и для охвата всей предметной области требовалось несколько файлов. Например, сведения о товарах хранились в одном файле, а сведения о клиентах — в другом. Информация о приобретении определенных товаров определенными клиентами — в третьем. Такая организация данных вносила свои сложности:

· представление данных в каждом файле было различным;

· необходимо было согласовывать данные в разных файлах для обеспечения непротиворечивости информации;

· необходимо было выбрать какие данные и в каком виде будут фигурировать в таких файлах, как файл приобретений товаров в примере;

· сложность разработки приложений и их обновления при изменении данных.

Ситуация требовала улучшения и множество специалистов усердно работали над созданием чего-то более удобного в использовании. В начале 1970-х годов, спустя примерно 10 лет, ситуация начала улучшаться и появились первые базы данных.

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

В 1979 году небольшая компания Ashton-Tate выпустила продукт для микрокомпьютеров под названием dBase-II, назвав его реляционной СУБД. Благодаря успешной тактике, компании удалось распространить более 100 000 копий продукта среди пользователей компьютеров Osborne. Многие из пользователей компьютеров создавали программы для них и вскоре dBase стала очень популярной СУБД. В последствииAshton-Tate была приобретена фирмой Borland. На самом деле продукт dBase не являлся реляционной СУБД, а представлял из себя язык программирования с расширенными функциями для обработки файлов. Пока развивалась dBase, другие производители начали перенос на микрокомпьютеры своих коммерческих СУБД для больших ЭВМ. Примерами таких СУБД являются Oracle, Ingress и Focus. Перенос СУБД на микрокомпьютеры послужил причиной улучшения пользовательского интерфейса, что повлекло за собой увеличение числа микрокомпьютеров, работающих с базами данных.

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

В наши дни активно развиваются web-приложения баз данных, а так же базы данных с использованием Internet-технологий. Web-приложения баз данных делают данные доступными черезобозреватель пользователя, в то время как базы данных с использованием Internet-технологий просто используют клиентские обозреватели и технологии типа XML и DHTML для работы с базой данных, не публикуя данные через Internet.

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

2.5 Виды баз данных

Существует огромное количество разновидностей баз данных, отличающихся по различным критериям. Например, в «Энциклопедии технологий баз данных», по материалам которой написан данный раздел, определяются свыше 50 видов БД.

2.5.1 Классификация по модели данных

Иерархическая модель данных-- представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней.

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

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

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

Иерархическая модель представляет собой связный неориентированный граф древовидной структуры, объединяющий сегменты. Иерархическая Б Д состоит из упорядоченного набора деревьев.

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

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

Сетевая БД состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.

Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:

1)каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;

2)каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.

Примерный набор операций манипулирования данными:

1. Переставить в другую связь;

2. Найти конкретную запись в наборе однотипных записей;

3. Перейти от предка к первому потомку по некоторой связи;

4. Перейти к следующему потомку в некоторой связи;

5. Перейти от потомка к предку по некоторой связи;

6. Создать новую запись;

7. Уничтожить запись;

8. Модифицировать запись;

9. Включить в связь;

10. Исключить из связи;

Реляционная модель данных (РМД) — линейная структура, удовлетворяющая третьей нормальной форме;

-множество специальных операций над элементами реляционной структуры;

Основные понятия реляционной модели данных

— отношение;

— атрибут;

— домен;

— ключ;

— кортеж;

— операции реляционной алгебры;

— нормализация отношений;

— функциональная зависимость неключевых атрибутов от ключа;

— связь между отношениями вида m:1 или 1: 1с помощью операции соединения;

— степень отношения — число атрибутов;

— мощность отношения — число кортежей;

На реляционной модели данных строятся реляционные базы данных.

Реляционная модель данных включает следующие компоненты:

Структурный аспект (составляющая) -- данные в базе данных представляют собой набор отношений.

Аспект (составляющая) целостности -- отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных.

Аспект (составляющая) обработки (манипулирования) -- РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление).

Кроме того, в состав реляционной модели данных включают теорию нормализации.

Термин «реляционный» означает, что теория основана на математическом понятии отношение (relation). В качестве неформального синонима термину «отношение» часто встречается слово таблица. Необходимо помнить, что «таблица» есть понятие нестрогое и неформальное и часто означает не «отношение» как абстрактное понятие, а визуальное представление отношения на бумаге или экране. Некорректное и нестрогое использование термина «таблица» вместо термина «отношение» нередко приводит к недопониманию. Наиболее частая ошибка состоит в рассуждениях о том, что РМД имеет дело с «плоскими», или «двумерными» таблицами, тогда как таковыми могут быть только визуальные представления таблиц. Отношения же являются абстракциями, и не могут быть ни «плоскими», ни «неплоскими».

Для лучшего понимания РМД следует отметить три важных обстоятельства:

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

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

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

Принципы реляционной модели были сформулированы в 1969--1970 годах Э. Ф. Коддом (E. F. Codd). Идеи Кодда были впервые публично изложены в статье «A RelationalModelofDataforLargeSharedDataBanks», ставшей классической.

Строгое изложение теории реляционных баз данных (реляционной модели данных) в современном понимании можно найти в книге К. Дж. Дейта. «C. J. Date. An Introduction to Database Systems» («Дейт, К. Дж. Введение в системы баз данных»).

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

Объектные базы данных -- это модель работы с объектными данными.

Такая модель баз данных, несмотря на то, что она существует уже много лет, считается новой. И её создание открывает большие перспективы, в связи с тем, что использование объектной модели баз данных легко воспринимается пользователем, так как создается высокий уровень абстракции…

Объектная модель идеально подходит для трактовки такого рода объектных данных:

1. Изображение

2. Музыка

3. Видео

4. Разного вида текст

Jasmine (компания ComputerAssociates) -- Одна из известнейших объектных баз.

Versant (разработка VersantTechnologies) -- использовалась в основном для разработки телекоммуникаций.

POET (компания POETSoftware) -- компактная объектная база данных. Которая поддерживает программные интерфейсы C++, Java, VisualBasic.

ObjectStorePSE (разработка компании ObjectDesign) -- Модули объектов Java.

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

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

В манифесте ООБД предлагаются обязательные характеристики, которым должна отвечать любая ООБД. Их выбор основан на 2 критериях: система должна быть объектно-ориентированной и представлять собой базу данных.

Обязательные характеристики:

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

Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов.

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

Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием ее типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с ее типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции.

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

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

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

Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределенных системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.

Необязательные характеристики:

· Множественное наследование

· Проверка типов

· Распределение

· Проектные транзакции

· Открытые характеристики:

· Парадигмы программирования (процедурное, декларативное)

· Система представления

· Система типов

· Однородность. Реализация -- язык программирования -- интерфейс.

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

Некоторые объектно-ориентированные базы данных разработаны для плотного взаимодействия с такими объектно-ориентированными языками программирования как Python, Java, C#, VisualBasic. NET, C++, Objective-C и Smalltalk; другие имеют свои собственные языки программирования. ООСУБД используют точно такую же модель, что и объектно-ориентированные языки программирования.

2.5.2 Классификация по степени распределённости

Централизованная, или сосредоточенная (англ. centralizeddatabase): БД, полностью поддерживаемая на одном компьютере.

Распределённая (англ. distributeddatabase): БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием.

Неоднородная (англ. heterogeneousdistributeddatabase): фрагменты распределённой БД в разных узлах сети поддерживаются средствами более одной СУБД

Однородная (англ. homogeneousdistributeddatabase): фрагменты распределённой БД в разных узлах сети поддерживаются средствами одной и той же СУБД.

Фрагментированная, или секционированная (англ. partitioneddatabase): методом распределения данных является фрагментирование (партиционирование, секционирование), вертикальное или горизонтальное.

Тиражированная (англ. replicateddatabase): методом распределения данных является тиражирование (репликация).

2.6 Другие виды БД

база данные программный сверхбольшой

Пространственная (англ. spatialdatabase): БД, в которой поддерживаются пространственные свойства сущностей предметной области. Такие Б Д широко используются в геоинформационных системах.

Временная, или темпоральная (англ. temporaldatabase): БД, в которой поддерживается какой-либо аспект времени, не считая времени, определяемого пользователем.

Пространственно-временная (англ. spatial-temporaldatabase) БД: БД, в которой одновременно поддерживается одно или более измерений в аспектах как пространства, так и времени.

Циклическая (англ. round-robindatabase): БД, объём хранимых данных которой не меняется со временем, поскольку в процессе сохранения данных одни и те же записи используются циклически.

2.7 Сверхбольшие базы данных

Сверхбольшая база данных (англ. VeryLargeDatabase, VLDB) -- это база данных, которая занимает чрезвычайно большой объём на устройстве физического хранения. Термин подразумевает максимально возможные объёмы БД, которые определяются последними достижениями в технологиях физического хранения данных и в технологиях программного оперирования данными.

Количественное определение понятия «чрезвычайно большой объём» меняется во времени; в настоящее время считается, что это объём, измеряемый по меньшей мере петабайтами. Для сравнения, в 2005 г. самыми крупными в мире считались базы данных с объёмом хранилища порядка 100 терабайт.

Специалисты отмечают необходимость особых подходов к проектированию сверхбольших БД. Для их создания нередко выполняются специальные проекты с целью поиска таких системотехнических решений, которые позволили бы хоть как-то работать с такими большими объёмами данных. Как правило необходимы специальные решения для дисковой подсистемы, специальные версии операционной среды и специальные механизмы обращения СУБД к данным.

Исследования в области хранения и обработки сверхбольших баз данных VLDB всегда находятся на острие теории и практики баз данных. В частности, с 1975 года проходит ежегодная конференция InternationalConferenceonVeryLargeDataBases («Международная конференция по сверхбольшим базам данных»). Большинство исследований проводится под эгидой некоммерческой организации VLDB Endowment (Фонд целевого капитала «VLDB»), которая обеспечивает продвижение научных работ и обмен информацией в области сверхбольших БД и смежных областях.

3. Специальная часть

3.1 Общая постановка задачи

Тема: «Разработка базы данных для учёта и записи сотрудников»

Разработать программный комплекс обеспечивающий:

1. Список сотрудников, которые работают в компании;

2. Учёт и запись командировок;

3. Учёт отпусков предоставляемые сотрудникам компании;

4. Квалификация сотрудников и их высшее образование;

5. Семейное положение сотрудников;

6. Учёт трудовых достижений и увольнений сотрудников компании;

Так же обеспечить:

1. Возможность изменения, редактирования, удаления списка категорий;

2. Изменение данных в таблице;

a. Описание входных и выходных документов комплекса

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

Таблица Сотрудники (см. рис. 1) содержит поля:

1. Табельный номер;

2. Подразделение;

3. Оклад;

4. Надбавка;

5. Премия;

6. ИНН;

7. Страховое свидетельство;

8. Медицинский полис;

9. Характер работы;

10. Вид работы;

11. Режим труда;

12. Пол;

13. Фамилия;

14. Имя;

15. Отчество;

16. Дата рождения;

17. Место рождения;

18. Национальность;

19. Гражданство;

20. Семейное положение;

21. Профсоюз;

22. Телефон;

23. Паспорт;

24. Кем выдан;

25. Дата выдачи;

26. Индекс;

27. Адрес;

28. Дата регистрации;

Таблица Командировки (см. рис. 2) содержит поля:

1. Табельный номер;

2. Дата начала;

3. Дата окончания;

4. Место назначения;

Таблица Образование (см. рис. 3) содержит поля:

1. Табельный номер;

2. Дата поступления в у/з;

3. Дата окончания у/з;

4. Образование;

5. Название у/з;

6. Диплом;

7. Форма обучения;

8. Квалификация;

9. Специальность;

10. Ученая степень;

11. Ученое звание;

Таблица Отпуска (см. рис. 4) содержит поля:

1. Табельный номер;

2. Вид отпуска;

3. Приказ на отпуск;

4. За время с;

5. За время по;

6. Дата начала;

7. Дата окончания;

Таблица Семья (см. рис. 5) содержит поля:

1. Табельный номер

2. Степень родства

3. ФИО родственника

4. Дата рождения

Таблица Трудовая книжка (см. рис. 6) содержит поля:

1. Табельный номер;

2. Название учреждения;

3. Должность;

4. Дата постановки;

5. Приказ о приеме;

6. Дата увольнения;

7. Причина увольнения;

8. Приказ на выполнение;

Схема данных Б Д Конкурс красоты (см. рис. 4)

Рисунок 4 — схема данных

3.2 Описание процедур комплекса

Данный программный комплекс — включает в себя следующие подпрограммы:

1. Добавление информации — процедура добавления записи в базу данных. Во всплывающем окне необходимо заполнить все поля и нажать кнопку «ОК», тем самым подтвердив добавление записи, либо «Cancel» отменив добавление.

2. Функция изменения информации -процедура изменения предназначена для того чтобы, исправлять ошибки в данном контексте.

3. Удаление -процедура удаления предназначена для того чтобы очищать нашу таблицу от ненужной информации.

3.3 Руководство пользователя

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

Рисунок 5 — база данных конкурс красоты

Главное окно делится на три области и множество кнопок (см. рис. 5).

1. Рабочая область.

Отображается основной список информации оконкурсантках (см. рис. 6).

Рисунок 6 — таблица списка конкурсанток

2. Область сведений. В этой области отображается вся информация о конкурсах (конкурсы, оценки)(см. рис. 7).

Рисунок 7 — таблица конкурсов

3. Область заполнения информации о конкурсантках (см. рис. 8).

Рисунок 8 — форма добавления конкурсанток

4. Область изменения информации о конкурсантках (см. рис. 9).

Рисунок 9 — область изменения записи конкурсанток

5. Область заполнения информации о конкурсах (см. рис 10).

Рисунок 10 — форма добавления конкурсов

6. Область изменения информации о конкурсах (см. рис 11).

Рисунок 11 — форма изменения конкурсов

7. Область заполнения информации о жюри (см. рис. 12).

Рисунок 12 — форма добавления ФИО жюри

8. Область изменения информации о жюри (см. рис. 13).

Рисунок 13 — область изменения ФИО жюри

9. Область создания отчёта для списка конкурсанток и конкурсов (см. рис. 15).

Рисунок 14 — отчёт о конкурсе

10. Область создания отчёта для списка жюри (см. рис. 15).

Рисунок 15 — отчёт списка жюри

4. Организация производства

4.1 Назначение программы

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

4.2 Условия выполнения программы

4.2.1 Требования к квалификации и численности персонала

Минимальное количество персонала, требуемого для работы программы, должно составлять не менее 2 штатных единиц -- системный администратор и конечный пользователь программы (оператор). Системный администратор должен иметь высшее профильное образование и сертификаты компании-производителя операционной системы. В перечень задач, выполняемых системным администратором, должны входить:

1. Задача поддержания работоспособности технических средств;

2. Задачи установки (инсталляции) и поддержания работоспособности системных программных средств — операционной системы;

3. Задача установки (инсталляции) программы;

4. Задача создания резервных копий базы данных.

4.2.2 Состав технических средств

В состав технических средств должен входить IВМ-совместимый персональный компьютер (ПЭВМ), выполняющий роль сервера, включающий в себя:

1. Процессор Pentium-1.5 ГГц, не менее;

2. Оперативную память объемом, 1 Гигабайт, не менее;

3. HDD, 50 Гигабайт, не менее;

4. Операционнуюсистему WindowsXP, Windows 7.

4.2.3 Выполнение программы

Для начала работы с программным комплексом «Конкурс красоты» необходимо запустить на исполнение файл «Конкурс красоты. exe"(по умолчанию файл находится в C: ProgramfilesБаза ДанныхКонкурс красоты. exe).

После, того как мы откроем на нашем экране появится главная рабочая форма, на которой находятся все необходимые для работы компоненты.

В таблице отображаются все записи, имеющиеся в базе данных.

При необходимости добавления новой конкурсанткиследует выбрать в главном меню «Добавить», на открывшейся форме заполнить все поля и нажать кнопку «OK».

Для редактирования информации в полях необходимо использовать клавишу «Изменить», на открывшейся форме редактируем необходимую нам информацию и нажимаем «OK».

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

Заключение

За установленные сроки был разработан программный комплекс, выполняющий все поставленные задачи. Данный комплекс разработан в среде Delphi (ObjectPascal). Была разработана большая база, для хранения информации о конкурсантках проходших через кастинг. Данное П О облегчит работу управляющего конкурсом. Простой и понятный интерфейс поможет освоить основные приемы работы с программой в кротчайшие сроки. При увеличении сроков разработки ПО в программный комплекс будет добавлено:

1. Проверка вводимых данных, необходимая для нормализации базы данных.

2. Возможность изменения интерфейса.

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

1. Шупрута В. В. «Самоучитель Delphi 2005"г. Санкт-Петербург, издательство"Альфа-книга», 2007 г.

2. Кандзюба С. П., Громов В. Н. «Delphi 6/7. Базы данных и приложения. Лекции и упражнения», г. Москва, издательствоСПбГПУ, 2008 г.

3. Сорокин А. «Delphi Разработка баз данных. «, г. Москва, издательский центр «Академия», 2007 г.

Приложение

Листинг программы

Основной текст программы

unitUnit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, DB, Grids, DBGrids, ADODB;

type

TForm1 = class (TForm)

ADOTable1: TADOTable;

ADOConnection1: TADOConnection;

DBGrid1: TDBGrid;

DataSource1: TDataSource;

ADOTable1DSDesigner: TAutoIncField;

ADOTable1DSDesigner2: TWideStringField;

ADOTable1DSDesigner3: TWideStringField;

ADOTable1DSDesigner4: TDateTimeField;

ADOTable1DSDesigner5: TWideStringField;

ADOTable1DSDesigner6: TIntegerField;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

ADOTable2: TADOTable;

ADOConnection2: TADOConnection;

DataSource2: TDataSource;

DBGrid2: TDBGrid;

BitBtn4: TBitBtn;

BitBtn6: TBitBtn;

ADOTable3: TADOTable;

ADOConnection3: TADOConnection;

DataSource3: TDataSource;

DBGrid3: TDBGrid;

ADOTable3DSDesigner: TAutoIncField;

ADOTable3DSDesigner2: TWideStringField;

BitBtn5: TBitBtn;

BitBtn7: TBitBtn;

BitBtn9: TBitBtn;

BitBtn8: TBitBtn;

BitBtn10: TBitBtn;

BitBtn11: TBitBtn;

BitBtn12: TBitBtn;

ADOTable2DSDesigner: TAutoIncField;

ADOTable2DSDesigner2: TWideStringField;

ADOTable2DSDesigner3: TIntegerField;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

procedure BitBtn3Click (Sender: TObject);

procedure BitBtn6Click (Sender: TObject);

procedure BitBtn5Click (Sender: TObject);

procedure BitBtn7Click (Sender: TObject);

procedure BitBtn9Click (Sender: TObject);

procedure BitBtn1Click (Sender: TObject);

procedure BitBtn2Click (Sender: TObject);

procedure BitBtn8Click (Sender: TObject);

procedure BitBtn10Click (Sender: TObject);

procedure BitBtn11Click (Sender: TObject);

procedure BitBtn12Click (Sender: TObject);

procedure BitBtn4Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit4, Unit5, Unit6, Unit7, Unit3, Unit8, Unit10;

{$R *. dfm}

procedure TForm1. BitBtn3Click (Sender: TObject);

begin

ADOTable1. Delete;

end;

procedure TForm1. BitBtn6Click (Sender: TObject);

begin

Form4. QuickRep1. Preview;

end;

procedure TForm1. BitBtn5Click (Sender: TObject);

begin

Form5. showmodal;

end;

procedure TForm1. BitBtn7Click (Sender: TObject);

begin

form6. showmodal;

end;

procedure TForm1. BitBtn9Click (Sender: TObject);

begin

form7. QuickRep1. Preview;

end;

procedure TForm1. BitBtn1Click (Sender: TObject);

begin

form2. ShowModal;

end;

procedure TForm1. BitBtn2Click (Sender: TObject);

begin

form3. showmodal;

end;

procedure TForm1. BitBtn8Click (Sender: TObject);

begin

ADOtable3. Delete;

end;

procedure TForm1. BitBtn10Click (Sender: TObject);

begin

form8. showmodal;

end;

procedure TForm1. BitBtn11Click (Sender: TObject);

begin

form10. showmodal;

end;

procedure TForm1. BitBtn12Click (Sender: TObject);

begin

ADOTable2. Delete;

end;

procedure TForm1. BitBtn4Click (Sender: TObject);

begin

form1. close;

end;

ПоказатьСвернуть
Заполнить форму текущей работой