Реферат Разработка приложения по учету кадровой информации
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
КУРСОВАЯ РАБОТА
НА ТЕМУ:
«Разработка приложения
по учету кадровой информации
»
СОДЕРЖАНИЕ
Введение
Глава 1 Среда разработки приложения..........................................................4
1.1 Язык программирования Delphi.........................................................4
1.2 Работа с базами данных Access в Delphi с помощью ADO.........8
1.3 Компоненты доступа к данным....................................................12
Глава 2 Проектирование базы данных..............................................................16
2.1 Разработка базы данных....................................................................19
2.2 Задачи, возложенные на базу данных...............................................25
2.3 Логическое проектирование...........................................................26
2.4 Физическое проектирование.........................................................27
Заключение
Список использованной литературы
Потоки информации, циркулирующие в мире, который нас окружает, огромны. Во времени они имеют тенденцию к увеличению. Поэтому в любой организации, как большой, так и маленькой, возникает проблема такой организации управления данными, которая обеспечила бы наиболее эффективную работу. Некоторые организации используют для этого шкафы с папками, но большинство предпочитают компьютеризированные способы – базы данных, позволяющие эффективно хранить, структурировать и систематизировать большие объемы данных. Сегодня без баз данных невозможно представить работу финансовых, промышленных, торговых и прочих организаций.
Существует много веских причин перевода существующей информации на компьютерную основу. Сейчас стоимость хранения информации в файлах ЭВМ дешевле, чем на бумаге. Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом. Использование клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощают доступ и ведение, поскольку они основываются на комплексной обработке данных и централизации их хранения.
Целью данной работы являлось создание базы данных по делам студентов группы, рассчитанной на управление заранее определенной структурой информации и решения определенного круга задач.
Реализация данной задачи проводится в системе программирования Borland Delphi , располагающей широкими возможностями по созданию приложений баз данных, необходимым набором драйверов для доступа к самым известным форматам баз данных, удобными и развитыми средствами для доступа к информации.
Глава
1 СРЕДА РАЗРАБОТКИ ПРИЛОЖЕНИЯ
1.1 Язык программирования
Delphi
Для разработки программно продукта был выбран язык программирования Delphi.
Язык программирования Delphi - это комбинация нескольких важнейших технологий:
Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения. Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. В Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.
Основной упор в модели Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые можно создать.
В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, стоит просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами, количество этих фирм в настоящее время превышает число 250.
Среда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений, поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.[5,С.50]
В Delphi визуальные компоненты пишутся на объектном паскале, на том же паскале, на котором пишется алгоритмическая часть приложения. И визуальные компоненты Delphi получаются открытыми для надстройки и переписывания.
Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в офлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dBase или Clipper) или .db (Paradox). Если же он будет использовать локальный InterBase for Windows 4.0 (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.
Одно и то же приложение можно использовать как для локального, так и для более серьезного клиент-серверного вариантов.[10,С.148]
Выпущены две версии Delphi - одна (Delphi Client-Server) для разработчиков приложений в архитектуре “клиент-сервер”, а другая (Delphi for Windows) предназначена для остальных программистов. Она предназначена корпоративным разработчикам, желающим разрабатывать высокопроизводительные приложения для рабочих групп и корпоративного применения.
В первую очередь Delphi предназначен для профессионалов-разработчиков корпоративных информационных систем. Некоторые продукты, предназначенные для скоростной разработки приложений (RAD - rapid application development) прекрасно работают при изготовлении достаточно простых приложений, однако, разработчик сталкивается с непредвиденными сложностями, когда пытается сделать что-то действительно сложное.[10,С.160]
Delphi предназначен не только для программистов-профессионалов. Руководители предприятий, планирующие выделение средств на приобретение программных продуктов, должны быть уверены в том, что планируемые инвестиции окупятся. Программист на паскале способен практически сразу профессионально освоить Delphi. Специалисту, ранее использовавшему другие программные продукты, придется труднее. Открытая технология Delphi является мощным гарантом того, что инвестиции, сделанные в Delphi, будут сохранены в течение многих лет.[2,С.15]
Локальный сервер InterBase - это инструмент предназначен только для автономной отладки приложений. В действительности он представляет из себя сокращенный вариант обработчика SQL-запросов InterBase, в который не включены некоторые возможности настоящего сервера InterBase. Отсутствие этих возможностей с лихвой компенсируется преимуществом автономной отладки программ.
Team Development Support - средство поддержки разработки проекта в группе. Позволяет существенно облегчить управление крупными проектами. Это сделано в виде возможности подключения такого продукта как Intersolve PVCS 5.1 непосредственно к среде Delphi.
Высокопроизводительный компилятор в машинный код - в отличие от большинства Паскаль - компиляторов, транслирующих в p-код, в Delphi программный текст компилируется непосредственно в машинный код, в результате чего Delphi- приложения исполняются в 10-20 раз быстрее (особенно приложения, использующие математические функции). Готовое приложение может быть изготовлено либо в виде исполняемого модуля, либо в виде динамической библиотеки, которую можно использовать в приложениях, написанных на других языках программирования.
Благодаря такой архитектуре приложения, изготовленные при помощи Delphi, работают надежно и устойчиво. Delphi поддерживает использование уже существующих объектов, включая DLL, написанные на С и С++, OLE сервера, VBX, объекты, созданные при помощи Delphi. Delphi имеет полностью объектную ориентацию, разработчики могут создавать свои повторно используемые объекты для того, чтобы уменьшить затраты на разработку.
Delphi предлагает разработчикам - как в составе команды, так и индивидуальным - открытую архитектуру, позволяющую добавлять компоненты, где бы они ни были изготовлены, и оперировать этими вновь введенными компонентами в визуальном построителе. Разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help’ы, доступные через меню Delphi.
Two-way tools - однозначное соответствие между визуальным проектированием и классическим написанием текста программы. Это означает, что разработчик всегда может видеть код, соответствующий тому, что он построил при помощи визуальных инструментов и наоборот.
Визуальный построитель интерфейсов (Visual User-interface builder) дает возможность быстро создавать клиент-серверные приложения визуально, просто выбирая компоненты из соответствующей палитры.
Библиотека объектов включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.
Delphi использует структурный объектно-ориентированный язык (Object Pascal), который сочетает с выразительную мощь и простоту программирования, характерную для языков 4GL, и эффективность языка 3GL. Программисты немедленно могут начать производить работающие приложения. Delphi полностью поддерживает передовые программные концепции включая инкапсуляцию, наследование, полиморфизм и управление событиями.[5,С.213]
1.2 Работа с базами данных Access в Delphi с помощью ADO
В Delphi имеется ряд компонентов, которые предназначены только для работы с MS Access, эти компоненты находятся на вкладке ADO.
Чтобы обрабатывать некоторую структуру данных для неё должна быть написана программа, поставщик этих данных в соответствии с системными требованиями, такая программа называется OLE DB Provider. Такие поставщики сегодня реализованы для разных структур данных и разных СУБД. С помощью технологии OLE DB можно однотипным образом обрабатывать сложную и специфическую информацию. Однако работа с OLE DB достаточно сложна, поэтому фирма Microsoft разработала новую технологию ADO, представляющая собой набор простых компонентов. Если планируется создать новое приложение, ориентированную на работу с данными и независящая не от конкретной СУБД(система управления базами данных) и не от способа хранения информации, то лучше использовать технологию ADO.[7,С.48]
Технология Microsoft ActiveX Data Objects (ADO) обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.
Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов . Например, приложение, использующее ADO, может применять одинаково сложные операции и к данным, и к электронным таблицам, и локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.[7,С.137]
За серверы БД беспокоиться не стоит, обработка запросов SQL — это их основная обязанностью. OLE DB представляет собой набор специализированных объектов СОМ, стандартные функции обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами.
Согласно терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым при помощи провайдера данных взаимодействует приложение. Минимальный набор компонентов приложения может включать объект соединения, объект набора данных, объект процессора запросов. Технология ADO в целом включает в себя не только сами объекты OLE DB, но и механизмы, обеспечивающие взаимодействие объектов с данными и приложениями. На этом уровне важнейшую роль играют провайдеры ADO, координирующие работу приложений с хранилищами данных различных типов.
Провайдеры ADO обеспечивают соединение приложения, использующего данные через ADO, с источником данных (сервером SQL, локальной СУБД и файловой системой. Для каждого типа хранилища данных должен существовать провайдер ADO.
Провайдер «знает» о местоположении хранилища данных и его содержании, умеет обращаться к данным с запросами и интерпретировать возвращаемую служебную информацию и результаты запросов с целью их передачи приложению.
Механизм доступа к данным через ADO и многочисленные объекты, и интерфейсы реализованы в VCL Delphi в виде набора компонентов, расположенных на странице ADO.
Такая архитектура позволяет сделать набор объектов и интерфейсов открытым и расширяемым. Набор объектов и соответствующий провайдер может быть создан для любого хранилища данных без внесения изменений в исходную структуру ADO.
Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек.
На закладке ADO расположены компоненты:
1) Компоненты соединения:
- ADOConnection;
- ADOCommand;
2) Стандартные компоненты:
- ADODataSet - универсальный набор данных;
- ADOTable - таблица БД;
- ADOQuery - запрос SQL;
- ADOStoredProc - хранимая процедура.
На странице ADO Палитры компонентов Delphi, кроме компонентов соединения есть стандартные компоненты, обозначающие набор данных и адаптированные для работы с хранилищем данных ADO.
Компонент ADOConnection вобрал возможности перечислителя, источника данных и сессии с возможностями обслуживания транзакций. Текстовые команды ADO реализованы в компоненте ADOCommand. Наборы рядов можно получить при помощи компонентов ADOTable, ADOQuery, AOostoredProc.
Каждый из них реализует способ доступа к конкретному типу представления данных в хранилище. Применительно к компонентам Delphi, совокупность возвращаемых из хранилища данных строк будем называть набором записей. Набор свойств и методов компонентов ADO обеспечивает реализацию всех необходимых приложению БД функций. Способы использования компонентов ADO немногим отличаются от стандартных компонентов VCL доступа к данным. Однако при необходимости разработчик может использовать все возможности интерфейсов ADO, обращаясь к ним через соответствующие объекты ADO. Ссылки на объекты имеются в компонентах.[10,С.170]
Механизм соединения с хранилищем данных ADO.
Перед созданием соединения необходимо определить его параметры. Для этого, как уже говорилось, предназначено свойство ConnectionString.
Набор параметров изменяется в зависимости от типа используемого провайдера и может настраиваться как вручную, так и с помощью редактора. Для того чтобы вызывать редактор соединений, необходимо дважды щелкнуть на компоненте TADOConnection.
Для того чтобы настроить соединение с данным провайдером, необходимо нажать на кнопку Build.
Компонент TADOQuery TADOQuery позволяет выполнять SQL-запросы при работе с данными через ADO. Соединение с хранилищем данных осуществляется стандартным методом. Текст запроса содержится в свойстве SQL.
Свойство RowsAffected содержит число записей, которые затронул последний выполнявшийся запрос.
Компонент TADOTable используется для доступа к хранилищам данных ADO и представления информации из них в табличном виде. Компонент предоставляет прямой доступ к каждой записи и ее полям, наследуя свойства и методы класса TCustomADODataSet. Компонент связывается с базой данных через свойства Connection или ConnectionString. [10,С.179]
Технология ADO завоевала популярность у разработчиков, благодаря универсальности — базовый набор интерфейсов OLE DB имеется в каждой современной операционной системе Microsoft.
1.3 Компоненты доступа к данным
Компоненты доступа к данным являются невизуальными компонентами. Таблицы БД располагаются на диске и являются физическими объектами. Для операций с данными, содержащимися в таблицах, используются наборы данных. В терминах системы Delphi набор данных представляет собой совокупность записей, взятых из одной или нескольких таблиц БД. Записи, входящие в набор данных, отбираются по определенным правилам, при этом в частных случаях набор данных может включать в себя все записи из связанной с ним таблицы или не содержать ни одной записи. Набор данных является логической таблицей, с которой можно работать при выполнении приложения. Взаимодействие таблицы и набора данных напоминает взаимодействие физического файла и файловой переменной.[7,С.231]
В Delphi для работы с наборами данных служат компоненты DBTable и ADOTable, DBQuery и ADOQuery, DataAccess, DataControl, DecisionQuery и StoredProc.
Компонент StoredProc используется для вызова хранимых процедур при организации взаимодействия с удаленными БД, а компонент UpDateSQL обеспечивает работу с кэшированными изменениями в записях. Компонент DecisionQuery применяется при построении систем принятия решений. Наиболее универсальными и, соответственно, часто используемыми являются компоненты Table и Query, задающие наборы данных.
Базовые возможности доступа к БД обеспечивает класс DataSet, представляющий наборы данных в виде совокупности строк и столбцов (записей и полей). Этот класс предоставляет основные средства навигации и редактирования наборов данных.
Компонент DataSet предназначен для представления набора данных из хранилища данных ADO. Он прост в использовании, имея только несколько собственных свойств и методов.
Это единственный компонент ADO, инкапсулирующий набор данных, для которого опубликованы свойства, позволяющие управлять командой ADO. В результате компонент представляет собой гибкий инструмент, который позволяет (в зависимости от типа команды и ее текста) получать данные из таблиц, запросов SQL, хранимых процедур, файлов и т. д.[7,С.274]
Компоненты Table и Query являются производными от класса ADODataSet потомка класса DataSet. Они демонстрируют схожие с базовыми классами характеристики и поведение, но каждый них имеет и свои особенности.
Компонент АDOTаblе обеспечивает использование в приложениях Delphi таблиц БД, подключенных через провайдеры OLE DB. По своим функциональным возможностям и применению он подобен стандартному табличному компоненту. В основе компонента лежит использование команды ADO, но ее свойства настроены заранее и изменению не подлежат.
Другие свойства и методы компонента обеспечивают применение индексов. Компонент Table представляет собой набор данных, который в некоторый момент времени может быть связан только с одной таблицей БД. Этот набор данных формируется на базе навигационного способа доступа к данным, поэтому компонент Table рекомендуется использовать для локальных БД, таких как dBase и Paradox. При работе с удаленными БД следует использовать компонент Query. Связь между таблицей и компонентом Table устанавливается через его свойства TableName, которое задает имя таблицы.
При задании значения свойства TableName указывается имя файла и расширение имя файла. На этапе разработки приложения имена всех таблиц доступны в раскрывающемся списке Инспектора объектов. В этот список попадают таблицы, файлы которых расположены в каталоге, указанном в свойстве TableName.
Компонент ADOQuery обеспечивает применение запросов SQL при работе с данными через ADO. По своей функциональности он подобен стандартному компоненту запроса.[7,С.282]
Компоненты для работы с данными расположенные на странице DataControls палитры компонентов и предназначены для построения интерфейсной части приложения. Они используются для навигации по набору данных, а также для отображения и редактирования записей.
Одни визуальные компоненты для работы с данными предназначены для выполнения операций с полями отдельной записи, они отображают и позволяют редактировать значение поля текущей записи. К таким компонентам относятся, например, однострочный редактор Edit и графический обзор Image.
Другие компоненты служат для отображения и редактирования сразу нескольких записей. Примерами таких компонентов являются сетки DBGrid и DBCtrlGrid, выводящие записи набора данных в табличном виде.
Свойства позволяют управлять внешним видом и поведением компонентов при проектировании и при выполнении приложения. Обычно установка значений большинства свойств компонентов выполняется на этапе проектирования с помощью инспектора объектов.
Свойство Name указывает на имя компонента, которое используется для управления компонентов во время выполнения приложения. Каждый новый компонент, помещаемый на форму, получает имя по умолчанию, автоматически образуемое путем добавления к названию компонента его номера в порядке помещения на форму. На этапе разработки приложения мы можем изменять имя компонента на более осмысленное и соответствующее назначению компонента.
Свойство Caption содержит строку для надписи заголовка компонента. Отдельные символы в заголовке могут быть подчеркнуты, они означают комбинации клавиш быстрого доступа.
Глава 2 ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
Жизненный цикл любого программного продукта, в том числе и системы управления базой данных, состоит из стадий проектирования, реализации и эксплуатации.
Естественно, наиболее значительным фактором в жизненном цикле приложения, работающего с базой данных, является стадия проектирования. От того, насколько тщательно продумана структура базы, насколько четко определены связи между ее элементами, зависит производительность системы и ее информационная насыщенность, а значит - и время ее жизни.
Целью разработки любой базы данных является хранение и использование информации о какой-либо предметной области.
Для реализации этой цели имеются следующие инструменты:
При разработке базы данных обычно выделяется несколько уровней моделирования, при помощи которых происходит переход от предметной области к конкретной реализации базы данных средствами конкретной СУБД. Можно выделить следующие уровни:
- Сама предметная область;
- Модель предметной области;
- Логическая модель данных;
- Физическая модель данных;
- Собственно база данных и приложения.
Предметная область - это часть реального мира, данные о которой мы хотим отразить в базе данных. Например, в качестве предметной области можно выбрать бухгалтерию какого-либо предприятия, отдел кадров, банк, магазин и т.д. Предметная область бесконечна и содержит как существенно важные понятия и данные, так и малозначащие или вообще не значащие данные. Так, если в качестве предметной области выбрать учет товаров на складе, то понятия "накладная" и "счет-фактура" являются существенно важными понятиями, а то, что сотрудница, принимающая накладные, имеет двоих детей - это для учета товаров неважно. Однако, с точки зрения отдела кадров данные о наличии детей являются существенно важными. Таким образом, важность данных зависит от выбора предметной области.[5, С.56]
Модель предметной области. Модель предметной области - это наши знания о предметной области. Знания могут быть как в виде неформальных знаний в мозгу эксперта, так и выражены формально при помощи каких-либо средств. В качестве таких средств могут выступать текстовые описания предметной области, наборы должностных инструкций, правила ведения дел в компании и т.п. Опыт показывает, что текстовый способ представления модели предметной области крайне неэффективен. Гораздо более информативными и полезными при разработке баз данных являются описания предметной области, выполненные при помощи специализированных графических нотаций. Имеется большое количество методик описания предметной области. Модель предметной области описывает скорее процессы, происходящие в предметной области и данные, используемые этими процессами. От того, насколько правильно смоделирована предметная область, зависит успех дальнейшей разработки приложений.[7,С.68]
Логическая модель данных. На следующем, более низком уровне находится логическая модель данных предметной области. Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. Примеры понятий - "сотрудник", "отдел", "проект", "зарплата". Примеры взаимосвязей между понятиями - "сотрудник числится ровно в одном отделе", "сотрудник может выполнять несколько проектов", "над одним проектом может работать несколько сотрудников". Примеры ограничений - "возраст сотрудника не менее 16 и не более 60 лет".
Логическая модель данных является начальным прототипом будущей базы данных. Логическая модель строится в терминах информационных единиц, но без привязки к конкретной СУБД. Более того, логическая модель данных необязательно должна быть выражена средствами именно реляционной модели данных.
Решения, принятые на предыдущем уровне, при разработке модели предметной области, определяют некоторые границы, в пределах которых можно развивать логическую модель данных, в пределах же этих границ можно принимать различные решения. Например, модель предметной области складского учета содержит понятия "склад", "накладная", "товар". При разработке соответствующей реляционной модели эти термины обязательно должны быть использованы, но различных способов реализации тут много - можно создать одно отношение, в котором будут присутствовать в качестве атрибутов "склад", "накладная", "товар", а можно создать три отдельных отношения, по одному на каждое понятие.[7,С.95]
Физическая модель данных. На еще более низком уровне находится физическая модель данных. Физическая модель данных описывает данные средствами конкретной СУБД. Физическая модель данных реализована средствами именно реляционной СУБД. Отношения, разработанные на стадии формирования логической модели данных, преобразуются в таблицы, атрибуты становятся столбцами таблиц, для ключевых атрибутов создаются уникальные индексы, домены преображаются в типы данных, принятые в конкретной СУБД.
Ограничения, имеющиеся в логической модели данных, реализуются различными средствами СУБД, например, при помощи индексов, декларативных ограничений целостности, триггеров, хранимых процедур. При этом принятые на уровне логического моделирования определяют некоторые границы, в пределах которых можно развивать физическую модель данных. Точно также, в пределах этих границ можно принимать различные решения. Например, отношения, содержащиеся в логической модели данных, должны быть преобразованы в таблицы, но для каждой таблицы можно дополнительно объявить различные индексы, повышающие скорость обращения к данным. Многое тут зависит от конкретной СУБД.
Собственно база данных и приложения. Как результат предыдущих этапов появляется собственно сама база данных. База данных реализована на конкретной программно-аппаратной основе, и выбор этой основы позволяет существенно повысить скорость работы с базой данных. Например, можно выбирать различные типы компьютеров, менять количество процессоров, объем оперативной памяти, дисковые подсистемы и т.п. Очень большое значение имеет также настройка СУБД в пределах выбранной программно-аппаратной платформы.
Но решения, принятые на предыдущем уровне - уровне физического проектирования, определяют границы, в пределах которых можно принимать решения по выбору программно-аппаратной платформы и настройки СУБД.
Таким образом ясно, что решения, принятые на каждом этапе моделирования и разработки базы данных, будут сказываться на дальнейших этапах. Поэтому особую роль играет принятие правильных решений на ранних этапах моделирования.
2.1 Разработка базы данных
Для создания базы данных был использован Microsoft Access. Приложение Microsoft Access является мощной и высокопроизводительной системой управления базой данных(СУБД)
База данных – это совокупность структурированных и взаимосвязанных данных и методов, обеспечивающих добавление выборку и отображение данных.
Реляционная база данных. Практически все СУБД позволяют добавлять новые данные в таблицы. С этой точки зрения СУБД не отличаются от программ электронных таблиц (Excel), которые могут эмулировать некоторые функции баз данных.[1,С.163]
Access – мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows.
Как реляционная СУБД Access обеспечивает доступ ко всем типам данных и позволяет одновременно использовать несколько таблиц базы данных. Можно использовать таблицы, созданные в среде Paradox или dBase.
Access специально спроектирован для создания многопользовательских приложений, где файлы базы данных являются разделяемыми ресурсами в сети. В Access реализована надёжная система защиты от несанкционированного доступа к файлам.
База данных храниться в одном файле, но профессиональные пользователи предпочитают разделять базу данных на два файла: в одном хранятся объекты данных (таблицы, запросы), в другом объекты приложения (формы, отчёты, макросы, модули).
В последних версиях Access представлен новый формат файла (MDE) –библиотеки, с помощью которого можно создавать приложения, не включая VBA-код.[1,С.187]
Основные функции:
1) Организация данных. Создание таблиц и управление ими;
2) Связывание таблиц и обеспечение доступа к данным. Access позволяет связывать таблицы по совпадающим значениям полей, с целью последующего соединения нескольких таблиц в одну;
3) Добавление и изменение данных. Эта функция требует разработки и реализации представленных данных, отличных от табличных (формы);
4) Представление данных. Access позволяет создавать различные отчёты на основе данных таблиц и других объектов базы данных;
5) Макросы. Использование макросов позволяет автоматизировать повторяющиеся операции. В последних версиях Access макросы используют для совместимости;
6) Защита базы данных. Эти средства позволяют организовать работу приложения в многопользовательской среде и предотвратить несанкционированный доступ к базам данных;
7) Средства печати. С помощью этой функции Access позволяет распечатать практически всё, что можно увидеть в базе данных;
Access так же позволяет создавать дистрибутивные диски для распространения готового приложения (с помощью Office Developer Edition Tools). Распространение подразумевает поставку всех необходимых файлов на каком-либо носителе.
Пакет ODE Tools включает мастер установки, автоматизирующий создание средств распространения и программы установки. Он так же позволяет выполнение приложения на компьютерах, на которых не установлен Access.
Элементы базы данных:
1) Таблицы. В базе данных информация хранится в виде двумерных таблиц.
Можно так же импортировать и связывать таблицы из других СУБД или систем управления электронными таблицами. Одновременно могут быть открыты 1024 таблицы;
2) Запросы. При помощи запросов можно произвести выборку данных по какому-нибудь критерию из разных таблиц. В запрос можно включать до 255 полей;
3) Формы. Формы позволяют отображать данные из таблиц и запросов в более удобном для восприятия виде. С помощью форм можно добавлять и изменять данные, содержащиеся в таблицах. В формы позволяют включать модули;
4) Отчёты. Отчёты предназначены для печати данных, содержащихся в таблицах и запросах, в красиво оформленном виде. Отчёты так же позволяют включать модули;
5) Макросы
6) Модули. Модули содержат VBA-код, используемый для написания процедур обработки событий таких, как, например, нажатия кнопки в форме или отчёте, для создания функций настройки, для автоматического выполнения операций над объектами базы данных и программного управления операциями, т.е. добавление VBA-кода позволяет создать полную базу данных с настраиваемыми меню, панелями инструментов и другими возможностями. Модули снимают с пользователя приложения необходимость помнить последовательность выбора объектов базы данных для выполнения того или иного действия и повышают эффективность работы;
В состав Access входит множество мастеров, построителей и надстроек, которые позволяют упростить процесс создания объектов базы данных.
Процесс создания объекта базы данных при помощи мастера делится на несколько шагов, на каждом из которых можно установить требуемые характеристики создаваемого объекта. Мастер таблиц позволяет создать новую таблицу на основе 33 образцов таблиц делового применения и 20 образцов таблиц личного применения (для английской версии Access соответственно 77 и 44). Многие таблицы базы данных созданы на основе образцов Мастера таблиц.
Использование Мастера таблиц служит отличным примером, позволяющим понять общую процедуру работы с мастерами Access. Создание таблиц на основе образцов Мастера таблиц имеет ограниченные возможности в настоящих приложениях. В большинстве случаев для создания таблиц используется импорт или связывание данных с другими базами данных или электронными таблицами.
Если импортировать или связать данные нельзя, то чаще всего таблицы создаются в режиме конструктора, который позволяет определить требуемую структуру таблицы. В режиме конструктора таблиц можно увидеть названия, типы данных, описания назначения, а также некоторые дополнительные свойства полей таблицы. То, что появляется в верхней части окна таблицы, открытой в режиме конструктора, называется бланком структуры таблицы или просто бланком таблицы. В нижней части окна таблицы, открытой в режиме конструктора, выводятся свойства полей таблицы, а также краткое описание активного свойства таблицы.
Access дает возможность создания таблиц непосредственно в режиме таблицы. При этом Access создает пустую таблицу на основе таблицы, используемой по умолчанию, со структурой, имеющей 20 полей и 30 пустых записей. После этого можно вводить данные прямо в таблицу. При ее сохранении Access анализирует данные и выбирает тот тип для каждого поля, который больше всего соответствует введенным данным. Создание таблиц в режиме таблицы имеет ограниченное применение. Поля таблицы не имеют содержательных имен, так что почти всегда нужно будет редактировать структуру, чтобы переименовать поля.
Кроме того, из примера Access не всегда может правильно определить тип данных. Таблицы, которые созданы в режиме таблицы, не могут включать объекты OLE и мемо-поля. Если есть желание иметь такие поля, вам нужно изменить структуру таблицы. При создании таблицы в режиме таблицы не происходит экономии времени по сравнению с традиционным способом определения полей и установки их свойств в структуре пустой таблицы.
При разработке структуры таблицы необходимо указать, какую информацию она должна содержать. После того как определена информация, которая должна быть включена в таблицу, ее следует разбить по полям. Этот процесс включает в себя выбор имени поля, которое в таблице должно быть уникальным. Необходимо включать в имя поля как можно больше информации о его содержимом, но в то же время стараться избегать длинных имен. Обычно при разработке баз данных в различных таблицах могли содержаться поля с одинаковыми именами (чаще всего таблицы связывались по этим полям). Access также позволяет использовать одинаковые имена полей в различных таблицах, но по причине того, что Access использует имена полей при определении условий целостности данных, лучше не допускать повторения имен полей.[1,С.223]
Одним из основных принципов разработки реляционных баз данных является то, что все данные, содержащиеся в поле таблицы, должны иметь один и тот же тип. Для каждого поля таблицы необходимо задать тип данных. По умолчанию используется тип данных «Текстовый». При задании типа данных поля можно также указать размер, формат и другие параметры, влияющие на отображение значения поля и точность числовых данных.
Основные типы данных:
1) Текстовый. Текст или числа, не требующие проведения расчётов;
2) МЕМО. Поле этого типа предназначено для хранения небольших текстовых данных (до 64000 символов). Поле этого типа не может быть ключевым или проиндексированным;
3) Числовой. Этот тип данных содержит множество подтипов. От выбора подтипа (размера) зависит точность вычислений;
4) Счётчик. Уникальные, последовательно возрастающие числа, автоматически вводящиеся при добавлении новой записи в таблицу;
5) Логический. Логические значения, а так же поля, которые могут содержать одно из двух возможных значений;
6) Денежный. Денежные значения и числовые данные, используемые в математических вычислениях;
7) Дата/Время. Дата и время хранятся в специальном фиксированном формате;
8) Поле объекта OLE. Включает звукозапись, рисунок и прочие типы данных. Поле этого типа не может быть ключевым или проиндексированным.
2.2 Задачи, возложенные на базу данных
База данных предназначена для хранения данных о студентах, а также оценок успеваемости по списку изучаемых дисциплин (программе обучения). Подразумевается, что эта информация может изменятся в течении всего периода обучения и может быть затребована в любое время за период обучения студента. База данных несомненно носит характер фактографической информационной системы и должна выдавать однозначные сведения на поставленные запросы.. Более подробно все требования перечислены ниже:
2.3 Логическое проектирование
Между сущностями могут быть установлены связи – бинарные ассоциации, показывающие, каким образом сущности соотносятся или взаимодействуют между собой. Связь может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). Она показывает, как связаны экземпляры сущностей между собой. Если связь устанавливается между двумя сущностями, то она определяет взаимосвязь между экземплярами одной и другой сущности.
Кроме того, в ER-модели допускается принцип категоризации сущностей.
Представим предметную область «Учебный процесс» как взаимодействие следующих сущностей: каждый «Студент» сдает экзамен или зачет по некоторому «Предмету» согласно учебному плану. В учебном процессе участвует «Преподаватель», который осуществляет чтение учебного курса и контроль знаний «Студента». Обучение «Студента» ведется в «Группе» совместно с его одногруппниками.
Следует отметить, что для каждой сущности устанавливается свой код – ключевой атрибут, однозначно характеризующий сущность. Например, обычный номер студента в группе не может выполнять роль ключа, поскольку для каждой группы эти номера могут повторяться. Для преподавателя атрибут Табельный номер нежелательно брать в качестве ключевого, поскольку все-таки возможно изменение табельного номера.
Для реализации дополнительных функций базы может потребоваться введение дополнительных атрибутов, например, номера зачетной книжки и домашнего телефона студента, даты сдачи экзамена (зачета) и т.д.
2.4 Физическое проектирование
Физическая модель данных – модель, определяющая размещение данных на внешних носителях, методы доступа и технику индексирования. Она так же называется внутренней моделью системы.
Студенты Табл.1
Дисциплины Табл.2
Учебный план Табл.3
Успеваемость Табл.4
Физическая организация данных оказывает основное влияние на эксплуатационные характеристики БД. Разработчики СУБД пытаются создать наиболее производительные физические модели данных, предлагая пользователям тот или иной инструментарий для поднастройки модели под конкретную БД. Существует большое разнообразие способов реализации и корректировки физических моделей современных промышленных БД, что не позволяет рассмотреть их подробно.
Физическая модель данных является полностью компьютерно-ориентированной и конечные пользователи не имеют никакого представления о том, каким образом данные запоминаются и извлекаются или каким способом организуются индексы в таблицах для быстрого поиска или ссылочная целостность. Эти и множество других функций по методам доступа и поддержании баз данных на внешних носителях, а также способов поиска и доступа к данным в современных СУБД обеспечивается в основном ядром базы данных, что значительно облегчает задачу создания БД и их ведение.
Трехуровневая архитектура позволяет обеспечить независимость хранимых данных от использующих их программ. Архитектура БД может при необходимости переписать хранимые данные на другие носители информации и (или) реорганизовать их физическую структуру, изменив лишь физическую модель данных. Архитектура БД может подключить к системе любое число новых пользователей. Указанные изменения физической модели не будут замечены существующими пользователями системы, так же как не будут замечены и новые пользователи. Следовательно, независимость данных обеспечивает возможность развития системы баз данных без разрушения существующих приложений
Заключение
Задачей этого проекта являлась разработка приложения по учету информации о студентах. Для реализации этой задачи были выполнены следующие этапы:
- Спроектирована логическая модель базы данных
- Спроектирована физическая модель базы данных
- Предусмотрена возможность корректировки данных
Главным результатом проведенной работы является создание функционирующего приложения , которая выполняет требуемый круг задач по ведению дел студентов за период обучения.
Данный программный продукт был написан с использованием Microsoft Office Access для создания базы данных и среда разработки программных продуктов Delphi, имеющий большие возможности для работы с базами данных. Соединение с базой данных произведено при помощи технологии ADO.
Вся необходимая работа по осуществлению методов доступа к информации хранимой в базе данных, её модификации, поддержании базы данных в целостном виде скрыта внутри и пользователю нет необходимости знать о ней, чтобы успешно решать весь круг возникающих задач связанных с использованием информации хранимой базе данных.
Данный продукт без сомнения может конкурировать с существующей на данный момент базой данных и средствами её управления.
Программа интуитивно проста и понятна для любого пользователя, для ее использования не нужно специального обучения. Более того, обращение к базе данных со сложными запросами осуществляется в таком виде, что структура возвращаемых данных видна еще до его исполнения.
Он охватывает широкий спектр задач: личных дел студентов, выставление оценок успеваемости по составленному учебному плану, отчисление. Они решаются в рамках данного приложения, с максимальной простотой, удобством и скоростью.
CПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Книги:
1. Архангельский Л.Я. Delphi 2006. Справочное пособие: Язык Delphi, классы, функции Win32 и .NET/ Л.Я.Архангельский — М.: ООО «Бином-Пресс», 2006 г.—1 152с.
2. Боровский А.Н. Программирование в Delphi 2005/ А.Н. Боровский — СПб.: БХВ-Петербург, 2005. - 448 с.
3. Гончаров А.Ю. Аccess 2003: самоучитель с примерами /А.Ю.Гончаров– М.: КУДИЦ-ОБРАЗ, 2004.-273 с.
4. Гофман В. Э., Хомоненко А. Д. Delphi. Быстрый старт/В.Э.Гофман, А.Д.Хоменко — СПб.: БХВ-Петербург, 2003. — 288 с.
5. Гофман В. Э., Хомоненко А. Д. Работа с базами данных в Delphi/ В.Э.Гофман, А.Д.Хоменко — СПб.: БХВ-Петербург, 2001. — 656 с.
6. Дарахвелидзе П. Г., Марков Е. П. Delphi 2005 для Win32 /П.Г.Дарахвелидзе- СПб.: БХВ-Петербург, 2005. - 1136 с.
7. Сорокин А. В. Delphi. Разработка баз данных/А.В.Сорокин — СПб.: Питер, 2005. — 477 с.
8. Фленов М. Е. Программирование в Delphi глазами хакера/М.Е.Фленов — СПб.: БХВ-Петербург, 2003. - 368 с.
9. Фленов М. Е. Delphi в шутку и всерьез: что умеют хакеры/М.Е.Фленов — СПб.: Питер. 2006. — 271 с.
10. Фаронов В. В. Delphi 2005. Разработка приложений для баз данных и Интернета/В.В.Фаронов — СПб.: Питер, 2006. — 603 с.
Электронные ресурсы:
1. Delphi World 6.0. Электронный справочник.
2. Сервер Информационных Технологий http://www.citforum.ru/ основы современных баз данных
НА ТЕМУ:
«Разработка приложения
по учету кадровой информации
»
СОДЕРЖАНИЕ
Введение
Глава 1 Среда разработки приложения..........................................................4
1.1 Язык программирования Delphi.........................................................4
1.2 Работа с базами данных Access в Delphi с помощью ADO.........8
1.3 Компоненты доступа к данным....................................................12
Глава 2 Проектирование базы данных..............................................................16
2.1 Разработка базы данных....................................................................19
2.2 Задачи, возложенные на базу данных...............................................25
2.3 Логическое проектирование...........................................................26
2.4 Физическое проектирование.........................................................27
Заключение
Список использованной литературы
Введение
Потоки информации, циркулирующие в мире, который нас окружает, огромны. Во времени они имеют тенденцию к увеличению. Поэтому в любой организации, как большой, так и маленькой, возникает проблема такой организации управления данными, которая обеспечила бы наиболее эффективную работу. Некоторые организации используют для этого шкафы с папками, но большинство предпочитают компьютеризированные способы – базы данных, позволяющие эффективно хранить, структурировать и систематизировать большие объемы данных. Сегодня без баз данных невозможно представить работу финансовых, промышленных, торговых и прочих организаций.
Существует много веских причин перевода существующей информации на компьютерную основу. Сейчас стоимость хранения информации в файлах ЭВМ дешевле, чем на бумаге. Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом. Использование клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощают доступ и ведение, поскольку они основываются на комплексной обработке данных и централизации их хранения.
Целью данной работы являлось создание базы данных по делам студентов группы, рассчитанной на управление заранее определенной структурой информации и решения определенного круга задач.
Реализация данной задачи проводится в системе программирования Borland Delphi , располагающей широкими возможностями по созданию приложений баз данных, необходимым набором драйверов для доступа к самым известным форматам баз данных, удобными и развитыми средствами для доступа к информации.
Глава
1 СРЕДА РАЗРАБОТКИ ПРИЛОЖЕНИЯ
1.1 Язык программирования
Delphi
Для разработки программно продукта был выбран язык программирования Delphi.
Язык программирования Delphi - это комбинация нескольких важнейших технологий:
Высокопроизводительный компилятор в машинный код;
Объектно-ориентированная модель компонент;
Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;
Масштабируемые средства для построения баз данных.[5,С.15]
Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре “клиент-сервер”. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения. Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. В Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.
Основной упор в модели Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые можно создать.
В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, стоит просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами, количество этих фирм в настоящее время превышает число 250.
Среда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений, поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.[5,С.50]
В Delphi визуальные компоненты пишутся на объектном паскале, на том же паскале, на котором пишется алгоритмическая часть приложения. И визуальные компоненты Delphi получаются открытыми для надстройки и переписывания.
Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в офлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dBase или Clipper) или .db (Paradox). Если же он будет использовать локальный InterBase for Windows 4.0 (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.
Одно и то же приложение можно использовать как для локального, так и для более серьезного клиент-серверного вариантов.[10,С.148]
Выпущены две версии Delphi - одна (Delphi Client-Server) для разработчиков приложений в архитектуре “клиент-сервер”, а другая (Delphi for Windows) предназначена для остальных программистов. Она предназначена корпоративным разработчикам, желающим разрабатывать высокопроизводительные приложения для рабочих групп и корпоративного применения.
В первую очередь Delphi предназначен для профессионалов-разработчиков корпоративных информационных систем. Некоторые продукты, предназначенные для скоростной разработки приложений (RAD - rapid application development) прекрасно работают при изготовлении достаточно простых приложений, однако, разработчик сталкивается с непредвиденными сложностями, когда пытается сделать что-то действительно сложное.[10,С.160]
Delphi предназначен не только для программистов-профессионалов. Руководители предприятий, планирующие выделение средств на приобретение программных продуктов, должны быть уверены в том, что планируемые инвестиции окупятся. Программист на паскале способен практически сразу профессионально освоить Delphi. Специалисту, ранее использовавшему другие программные продукты, придется труднее. Открытая технология Delphi является мощным гарантом того, что инвестиции, сделанные в Delphi, будут сохранены в течение многих лет.[2,С.15]
Локальный сервер InterBase - это инструмент предназначен только для автономной отладки приложений. В действительности он представляет из себя сокращенный вариант обработчика SQL-запросов InterBase, в который не включены некоторые возможности настоящего сервера InterBase. Отсутствие этих возможностей с лихвой компенсируется преимуществом автономной отладки программ.
Team Development Support - средство поддержки разработки проекта в группе. Позволяет существенно облегчить управление крупными проектами. Это сделано в виде возможности подключения такого продукта как Intersolve PVCS 5.1 непосредственно к среде Delphi.
Высокопроизводительный компилятор в машинный код - в отличие от большинства Паскаль - компиляторов, транслирующих в p-код, в Delphi программный текст компилируется непосредственно в машинный код, в результате чего Delphi- приложения исполняются в 10-20 раз быстрее (особенно приложения, использующие математические функции). Готовое приложение может быть изготовлено либо в виде исполняемого модуля, либо в виде динамической библиотеки, которую можно использовать в приложениях, написанных на других языках программирования.
Благодаря такой архитектуре приложения, изготовленные при помощи Delphi, работают надежно и устойчиво. Delphi поддерживает использование уже существующих объектов, включая DLL, написанные на С и С++, OLE сервера, VBX, объекты, созданные при помощи Delphi. Delphi имеет полностью объектную ориентацию, разработчики могут создавать свои повторно используемые объекты для того, чтобы уменьшить затраты на разработку.
Delphi предлагает разработчикам - как в составе команды, так и индивидуальным - открытую архитектуру, позволяющую добавлять компоненты, где бы они ни были изготовлены, и оперировать этими вновь введенными компонентами в визуальном построителе. Разработчики могут добавлять CASE-инструменты, кодовые генераторы, а также авторские help’ы, доступные через меню Delphi.
Two-way tools - однозначное соответствие между визуальным проектированием и классическим написанием текста программы. Это означает, что разработчик всегда может видеть код, соответствующий тому, что он построил при помощи визуальных инструментов и наоборот.
Визуальный построитель интерфейсов (Visual User-interface builder) дает возможность быстро создавать клиент-серверные приложения визуально, просто выбирая компоненты из соответствующей палитры.
Библиотека объектов включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.
Delphi использует структурный объектно-ориентированный язык (Object Pascal), который сочетает с выразительную мощь и простоту программирования, характерную для языков 4GL, и эффективность языка 3GL. Программисты немедленно могут начать производить работающие приложения. Delphi полностью поддерживает передовые программные концепции включая инкапсуляцию, наследование, полиморфизм и управление событиями.[5,С.213]
1.2 Работа с базами данных Access в Delphi с помощью ADO
В Delphi имеется ряд компонентов, которые предназначены только для работы с MS Access, эти компоненты находятся на вкладке ADO.
Чтобы обрабатывать некоторую структуру данных для неё должна быть написана программа, поставщик этих данных в соответствии с системными требованиями, такая программа называется OLE DB Provider. Такие поставщики сегодня реализованы для разных структур данных и разных СУБД. С помощью технологии OLE DB можно однотипным образом обрабатывать сложную и специфическую информацию. Однако работа с OLE DB достаточно сложна, поэтому фирма Microsoft разработала новую технологию ADO, представляющая собой набор простых компонентов. Если планируется создать новое приложение, ориентированную на работу с данными и независящая не от конкретной СУБД(система управления базами данных) и не от способа хранения информации, то лучше использовать технологию ADO.[7,С.48]
Технология Microsoft ActiveX Data Objects (ADO) обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.
Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов . Например, приложение, использующее ADO, может применять одинаково сложные операции и к данным, и к электронным таблицам, и локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.[7,С.137]
За серверы БД беспокоиться не стоит, обработка запросов SQL — это их основная обязанностью. OLE DB представляет собой набор специализированных объектов СОМ, стандартные функции обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами.
Согласно терминологии ADO, любой источник данных (база данных, электронная таблица, файл) называется хранилищем данных, с которым при помощи провайдера данных взаимодействует приложение. Минимальный набор компонентов приложения может включать объект соединения, объект набора данных, объект процессора запросов. Технология ADO в целом включает в себя не только сами объекты OLE DB, но и механизмы, обеспечивающие взаимодействие объектов с данными и приложениями. На этом уровне важнейшую роль играют провайдеры ADO, координирующие работу приложений с хранилищами данных различных типов.
Провайдеры ADO обеспечивают соединение приложения, использующего данные через ADO, с источником данных (сервером SQL, локальной СУБД и файловой системой. Для каждого типа хранилища данных должен существовать провайдер ADO.
Провайдер «знает» о местоположении хранилища данных и его содержании, умеет обращаться к данным с запросами и интерпретировать возвращаемую служебную информацию и результаты запросов с целью их передачи приложению.
Механизм доступа к данным через ADO и многочисленные объекты, и интерфейсы реализованы в VCL Delphi в виде набора компонентов, расположенных на странице ADO.
Такая архитектура позволяет сделать набор объектов и интерфейсов открытым и расширяемым. Набор объектов и соответствующий провайдер может быть создан для любого хранилища данных без внесения изменений в исходную структуру ADO.
Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек.
На закладке ADO расположены компоненты:
1) Компоненты соединения:
- ADOConnection;
- ADOCommand;
2) Стандартные компоненты:
- ADODataSet - универсальный набор данных;
- ADOTable - таблица БД;
- ADOQuery - запрос SQL;
- ADOStoredProc - хранимая процедура.
На странице ADO Палитры компонентов Delphi, кроме компонентов соединения есть стандартные компоненты, обозначающие набор данных и адаптированные для работы с хранилищем данных ADO.
Компонент ADOConnection вобрал возможности перечислителя, источника данных и сессии с возможностями обслуживания транзакций. Текстовые команды ADO реализованы в компоненте ADOCommand. Наборы рядов можно получить при помощи компонентов ADOTable, ADOQuery, AOostoredProc.
Каждый из них реализует способ доступа к конкретному типу представления данных в хранилище. Применительно к компонентам Delphi, совокупность возвращаемых из хранилища данных строк будем называть набором записей. Набор свойств и методов компонентов ADO обеспечивает реализацию всех необходимых приложению БД функций. Способы использования компонентов ADO немногим отличаются от стандартных компонентов VCL доступа к данным. Однако при необходимости разработчик может использовать все возможности интерфейсов ADO, обращаясь к ним через соответствующие объекты ADO. Ссылки на объекты имеются в компонентах.[10,С.170]
Механизм соединения с хранилищем данных ADO.
Перед созданием соединения необходимо определить его параметры. Для этого, как уже говорилось, предназначено свойство ConnectionString.
Набор параметров изменяется в зависимости от типа используемого провайдера и может настраиваться как вручную, так и с помощью редактора. Для того чтобы вызывать редактор соединений, необходимо дважды щелкнуть на компоненте TADOConnection.
Для того чтобы настроить соединение с данным провайдером, необходимо нажать на кнопку Build.
Компонент TADOQuery TADOQuery позволяет выполнять SQL-запросы при работе с данными через ADO. Соединение с хранилищем данных осуществляется стандартным методом. Текст запроса содержится в свойстве SQL.
Свойство RowsAffected содержит число записей, которые затронул последний выполнявшийся запрос.
Компонент TADOTable используется для доступа к хранилищам данных ADO и представления информации из них в табличном виде. Компонент предоставляет прямой доступ к каждой записи и ее полям, наследуя свойства и методы класса TCustomADODataSet. Компонент связывается с базой данных через свойства Connection или ConnectionString. [10,С.179]
Технология ADO завоевала популярность у разработчиков, благодаря универсальности — базовый набор интерфейсов OLE DB имеется в каждой современной операционной системе Microsoft.
1.3 Компоненты доступа к данным
Компоненты доступа к данным являются невизуальными компонентами. Таблицы БД располагаются на диске и являются физическими объектами. Для операций с данными, содержащимися в таблицах, используются наборы данных. В терминах системы Delphi набор данных представляет собой совокупность записей, взятых из одной или нескольких таблиц БД. Записи, входящие в набор данных, отбираются по определенным правилам, при этом в частных случаях набор данных может включать в себя все записи из связанной с ним таблицы или не содержать ни одной записи. Набор данных является логической таблицей, с которой можно работать при выполнении приложения. Взаимодействие таблицы и набора данных напоминает взаимодействие физического файла и файловой переменной.[7,С.231]
В Delphi для работы с наборами данных служат компоненты DBTable и ADOTable, DBQuery и ADOQuery, DataAccess, DataControl, DecisionQuery и StoredProc.
Компонент StoredProc используется для вызова хранимых процедур при организации взаимодействия с удаленными БД, а компонент UpDateSQL обеспечивает работу с кэшированными изменениями в записях. Компонент DecisionQuery применяется при построении систем принятия решений. Наиболее универсальными и, соответственно, часто используемыми являются компоненты Table и Query, задающие наборы данных.
Базовые возможности доступа к БД обеспечивает класс DataSet, представляющий наборы данных в виде совокупности строк и столбцов (записей и полей). Этот класс предоставляет основные средства навигации и редактирования наборов данных.
Компонент DataSet предназначен для представления набора данных из хранилища данных ADO. Он прост в использовании, имея только несколько собственных свойств и методов.
Это единственный компонент ADO, инкапсулирующий набор данных, для которого опубликованы свойства, позволяющие управлять командой ADO. В результате компонент представляет собой гибкий инструмент, который позволяет (в зависимости от типа команды и ее текста) получать данные из таблиц, запросов SQL, хранимых процедур, файлов и т. д.[7,С.274]
Компоненты Table и Query являются производными от класса ADODataSet потомка класса DataSet. Они демонстрируют схожие с базовыми классами характеристики и поведение, но каждый них имеет и свои особенности.
Компонент АDOTаblе обеспечивает использование в приложениях Delphi таблиц БД, подключенных через провайдеры OLE DB. По своим функциональным возможностям и применению он подобен стандартному табличному компоненту. В основе компонента лежит использование команды ADO, но ее свойства настроены заранее и изменению не подлежат.
Другие свойства и методы компонента обеспечивают применение индексов. Компонент Table представляет собой набор данных, который в некоторый момент времени может быть связан только с одной таблицей БД. Этот набор данных формируется на базе навигационного способа доступа к данным, поэтому компонент Table рекомендуется использовать для локальных БД, таких как dBase и Paradox. При работе с удаленными БД следует использовать компонент Query. Связь между таблицей и компонентом Table устанавливается через его свойства TableName, которое задает имя таблицы.
При задании значения свойства TableName указывается имя файла и расширение имя файла. На этапе разработки приложения имена всех таблиц доступны в раскрывающемся списке Инспектора объектов. В этот список попадают таблицы, файлы которых расположены в каталоге, указанном в свойстве TableName.
Компонент ADOQuery обеспечивает применение запросов SQL при работе с данными через ADO. По своей функциональности он подобен стандартному компоненту запроса.[7,С.282]
Компоненты для работы с данными расположенные на странице DataControls палитры компонентов и предназначены для построения интерфейсной части приложения. Они используются для навигации по набору данных, а также для отображения и редактирования записей.
Одни визуальные компоненты для работы с данными предназначены для выполнения операций с полями отдельной записи, они отображают и позволяют редактировать значение поля текущей записи. К таким компонентам относятся, например, однострочный редактор Edit и графический обзор Image.
Другие компоненты служат для отображения и редактирования сразу нескольких записей. Примерами таких компонентов являются сетки DBGrid и DBCtrlGrid, выводящие записи набора данных в табличном виде.
Свойства позволяют управлять внешним видом и поведением компонентов при проектировании и при выполнении приложения. Обычно установка значений большинства свойств компонентов выполняется на этапе проектирования с помощью инспектора объектов.
Свойство Name указывает на имя компонента, которое используется для управления компонентов во время выполнения приложения. Каждый новый компонент, помещаемый на форму, получает имя по умолчанию, автоматически образуемое путем добавления к названию компонента его номера в порядке помещения на форму. На этапе разработки приложения мы можем изменять имя компонента на более осмысленное и соответствующее назначению компонента.
Свойство Caption содержит строку для надписи заголовка компонента. Отдельные символы в заголовке могут быть подчеркнуты, они означают комбинации клавиш быстрого доступа.
Глава 2 ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
Жизненный цикл любого программного продукта, в том числе и системы управления базой данных, состоит из стадий проектирования, реализации и эксплуатации.
Естественно, наиболее значительным фактором в жизненном цикле приложения, работающего с базой данных, является стадия проектирования. От того, насколько тщательно продумана структура базы, насколько четко определены связи между ее элементами, зависит производительность системы и ее информационная насыщенность, а значит - и время ее жизни.
Целью разработки любой базы данных является хранение и использование информации о какой-либо предметной области.
Для реализации этой цели имеются следующие инструменты:
При разработке базы данных обычно выделяется несколько уровней моделирования, при помощи которых происходит переход от предметной области к конкретной реализации базы данных средствами конкретной СУБД. Можно выделить следующие уровни:
- Сама предметная область;
- Модель предметной области;
- Логическая модель данных;
- Физическая модель данных;
- Собственно база данных и приложения.
Предметная область - это часть реального мира, данные о которой мы хотим отразить в базе данных. Например, в качестве предметной области можно выбрать бухгалтерию какого-либо предприятия, отдел кадров, банк, магазин и т.д. Предметная область бесконечна и содержит как существенно важные понятия и данные, так и малозначащие или вообще не значащие данные. Так, если в качестве предметной области выбрать учет товаров на складе, то понятия "накладная" и "счет-фактура" являются существенно важными понятиями, а то, что сотрудница, принимающая накладные, имеет двоих детей - это для учета товаров неважно. Однако, с точки зрения отдела кадров данные о наличии детей являются существенно важными. Таким образом, важность данных зависит от выбора предметной области.[5, С.56]
Модель предметной области. Модель предметной области - это наши знания о предметной области. Знания могут быть как в виде неформальных знаний в мозгу эксперта, так и выражены формально при помощи каких-либо средств. В качестве таких средств могут выступать текстовые описания предметной области, наборы должностных инструкций, правила ведения дел в компании и т.п. Опыт показывает, что текстовый способ представления модели предметной области крайне неэффективен. Гораздо более информативными и полезными при разработке баз данных являются описания предметной области, выполненные при помощи специализированных графических нотаций. Имеется большое количество методик описания предметной области. Модель предметной области описывает скорее процессы, происходящие в предметной области и данные, используемые этими процессами. От того, насколько правильно смоделирована предметная область, зависит успех дальнейшей разработки приложений.[7,С.68]
Логическая модель данных. На следующем, более низком уровне находится логическая модель данных предметной области. Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. Примеры понятий - "сотрудник", "отдел", "проект", "зарплата". Примеры взаимосвязей между понятиями - "сотрудник числится ровно в одном отделе", "сотрудник может выполнять несколько проектов", "над одним проектом может работать несколько сотрудников". Примеры ограничений - "возраст сотрудника не менее 16 и не более 60 лет".
Логическая модель данных является начальным прототипом будущей базы данных. Логическая модель строится в терминах информационных единиц, но без привязки к конкретной СУБД. Более того, логическая модель данных необязательно должна быть выражена средствами именно реляционной модели данных.
Решения, принятые на предыдущем уровне, при разработке модели предметной области, определяют некоторые границы, в пределах которых можно развивать логическую модель данных, в пределах же этих границ можно принимать различные решения. Например, модель предметной области складского учета содержит понятия "склад", "накладная", "товар". При разработке соответствующей реляционной модели эти термины обязательно должны быть использованы, но различных способов реализации тут много - можно создать одно отношение, в котором будут присутствовать в качестве атрибутов "склад", "накладная", "товар", а можно создать три отдельных отношения, по одному на каждое понятие.[7,С.95]
Физическая модель данных. На еще более низком уровне находится физическая модель данных. Физическая модель данных описывает данные средствами конкретной СУБД. Физическая модель данных реализована средствами именно реляционной СУБД. Отношения, разработанные на стадии формирования логической модели данных, преобразуются в таблицы, атрибуты становятся столбцами таблиц, для ключевых атрибутов создаются уникальные индексы, домены преображаются в типы данных, принятые в конкретной СУБД.
Ограничения, имеющиеся в логической модели данных, реализуются различными средствами СУБД, например, при помощи индексов, декларативных ограничений целостности, триггеров, хранимых процедур. При этом принятые на уровне логического моделирования определяют некоторые границы, в пределах которых можно развивать физическую модель данных. Точно также, в пределах этих границ можно принимать различные решения. Например, отношения, содержащиеся в логической модели данных, должны быть преобразованы в таблицы, но для каждой таблицы можно дополнительно объявить различные индексы, повышающие скорость обращения к данным. Многое тут зависит от конкретной СУБД.
Собственно база данных и приложения. Как результат предыдущих этапов появляется собственно сама база данных. База данных реализована на конкретной программно-аппаратной основе, и выбор этой основы позволяет существенно повысить скорость работы с базой данных. Например, можно выбирать различные типы компьютеров, менять количество процессоров, объем оперативной памяти, дисковые подсистемы и т.п. Очень большое значение имеет также настройка СУБД в пределах выбранной программно-аппаратной платформы.
Но решения, принятые на предыдущем уровне - уровне физического проектирования, определяют границы, в пределах которых можно принимать решения по выбору программно-аппаратной платформы и настройки СУБД.
Таким образом ясно, что решения, принятые на каждом этапе моделирования и разработки базы данных, будут сказываться на дальнейших этапах. Поэтому особую роль играет принятие правильных решений на ранних этапах моделирования.
2.1 Разработка базы данных
Для создания базы данных был использован Microsoft Access. Приложение Microsoft Access является мощной и высокопроизводительной системой управления базой данных(СУБД)
База данных – это совокупность структурированных и взаимосвязанных данных и методов, обеспечивающих добавление выборку и отображение данных.
Реляционная база данных. Практически все СУБД позволяют добавлять новые данные в таблицы. С этой точки зрения СУБД не отличаются от программ электронных таблиц (Excel), которые могут эмулировать некоторые функции баз данных.[1,С.163]
Access – мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows.
Как реляционная СУБД Access обеспечивает доступ ко всем типам данных и позволяет одновременно использовать несколько таблиц базы данных. Можно использовать таблицы, созданные в среде Paradox или dBase.
Access специально спроектирован для создания многопользовательских приложений, где файлы базы данных являются разделяемыми ресурсами в сети. В Access реализована надёжная система защиты от несанкционированного доступа к файлам.
База данных храниться в одном файле, но профессиональные пользователи предпочитают разделять базу данных на два файла: в одном хранятся объекты данных (таблицы, запросы), в другом объекты приложения (формы, отчёты, макросы, модули).
В последних версиях Access представлен новый формат файла (MDE) –библиотеки, с помощью которого можно создавать приложения, не включая VBA-код.[1,С.187]
Основные функции:
1) Организация данных. Создание таблиц и управление ими;
2) Связывание таблиц и обеспечение доступа к данным. Access позволяет связывать таблицы по совпадающим значениям полей, с целью последующего соединения нескольких таблиц в одну;
3) Добавление и изменение данных. Эта функция требует разработки и реализации представленных данных, отличных от табличных (формы);
4) Представление данных. Access позволяет создавать различные отчёты на основе данных таблиц и других объектов базы данных;
5) Макросы. Использование макросов позволяет автоматизировать повторяющиеся операции. В последних версиях Access макросы используют для совместимости;
6) Защита базы данных. Эти средства позволяют организовать работу приложения в многопользовательской среде и предотвратить несанкционированный доступ к базам данных;
7) Средства печати. С помощью этой функции Access позволяет распечатать практически всё, что можно увидеть в базе данных;
Access так же позволяет создавать дистрибутивные диски для распространения готового приложения (с помощью Office Developer Edition Tools). Распространение подразумевает поставку всех необходимых файлов на каком-либо носителе.
Пакет ODE Tools включает мастер установки, автоматизирующий создание средств распространения и программы установки. Он так же позволяет выполнение приложения на компьютерах, на которых не установлен Access.
Элементы базы данных:
1) Таблицы. В базе данных информация хранится в виде двумерных таблиц.
Можно так же импортировать и связывать таблицы из других СУБД или систем управления электронными таблицами. Одновременно могут быть открыты 1024 таблицы;
2) Запросы. При помощи запросов можно произвести выборку данных по какому-нибудь критерию из разных таблиц. В запрос можно включать до 255 полей;
3) Формы. Формы позволяют отображать данные из таблиц и запросов в более удобном для восприятия виде. С помощью форм можно добавлять и изменять данные, содержащиеся в таблицах. В формы позволяют включать модули;
4) Отчёты. Отчёты предназначены для печати данных, содержащихся в таблицах и запросах, в красиво оформленном виде. Отчёты так же позволяют включать модули;
5) Макросы
6) Модули. Модули содержат VBA-код, используемый для написания процедур обработки событий таких, как, например, нажатия кнопки в форме или отчёте, для создания функций настройки, для автоматического выполнения операций над объектами базы данных и программного управления операциями, т.е. добавление VBA-кода позволяет создать полную базу данных с настраиваемыми меню, панелями инструментов и другими возможностями. Модули снимают с пользователя приложения необходимость помнить последовательность выбора объектов базы данных для выполнения того или иного действия и повышают эффективность работы;
В состав Access входит множество мастеров, построителей и надстроек, которые позволяют упростить процесс создания объектов базы данных.
Процесс создания объекта базы данных при помощи мастера делится на несколько шагов, на каждом из которых можно установить требуемые характеристики создаваемого объекта. Мастер таблиц позволяет создать новую таблицу на основе 33 образцов таблиц делового применения и 20 образцов таблиц личного применения (для английской версии Access соответственно 77 и 44). Многие таблицы базы данных созданы на основе образцов Мастера таблиц.
Использование Мастера таблиц служит отличным примером, позволяющим понять общую процедуру работы с мастерами Access. Создание таблиц на основе образцов Мастера таблиц имеет ограниченные возможности в настоящих приложениях. В большинстве случаев для создания таблиц используется импорт или связывание данных с другими базами данных или электронными таблицами.
Если импортировать или связать данные нельзя, то чаще всего таблицы создаются в режиме конструктора, который позволяет определить требуемую структуру таблицы. В режиме конструктора таблиц можно увидеть названия, типы данных, описания назначения, а также некоторые дополнительные свойства полей таблицы. То, что появляется в верхней части окна таблицы, открытой в режиме конструктора, называется бланком структуры таблицы или просто бланком таблицы. В нижней части окна таблицы, открытой в режиме конструктора, выводятся свойства полей таблицы, а также краткое описание активного свойства таблицы.
Access дает возможность создания таблиц непосредственно в режиме таблицы. При этом Access создает пустую таблицу на основе таблицы, используемой по умолчанию, со структурой, имеющей 20 полей и 30 пустых записей. После этого можно вводить данные прямо в таблицу. При ее сохранении Access анализирует данные и выбирает тот тип для каждого поля, который больше всего соответствует введенным данным. Создание таблиц в режиме таблицы имеет ограниченное применение. Поля таблицы не имеют содержательных имен, так что почти всегда нужно будет редактировать структуру, чтобы переименовать поля.
Кроме того, из примера Access не всегда может правильно определить тип данных. Таблицы, которые созданы в режиме таблицы, не могут включать объекты OLE и мемо-поля. Если есть желание иметь такие поля, вам нужно изменить структуру таблицы. При создании таблицы в режиме таблицы не происходит экономии времени по сравнению с традиционным способом определения полей и установки их свойств в структуре пустой таблицы.
При разработке структуры таблицы необходимо указать, какую информацию она должна содержать. После того как определена информация, которая должна быть включена в таблицу, ее следует разбить по полям. Этот процесс включает в себя выбор имени поля, которое в таблице должно быть уникальным. Необходимо включать в имя поля как можно больше информации о его содержимом, но в то же время стараться избегать длинных имен. Обычно при разработке баз данных в различных таблицах могли содержаться поля с одинаковыми именами (чаще всего таблицы связывались по этим полям). Access также позволяет использовать одинаковые имена полей в различных таблицах, но по причине того, что Access использует имена полей при определении условий целостности данных, лучше не допускать повторения имен полей.[1,С.223]
Одним из основных принципов разработки реляционных баз данных является то, что все данные, содержащиеся в поле таблицы, должны иметь один и тот же тип. Для каждого поля таблицы необходимо задать тип данных. По умолчанию используется тип данных «Текстовый». При задании типа данных поля можно также указать размер, формат и другие параметры, влияющие на отображение значения поля и точность числовых данных.
Основные типы данных:
1) Текстовый. Текст или числа, не требующие проведения расчётов;
2) МЕМО. Поле этого типа предназначено для хранения небольших текстовых данных (до 64000 символов). Поле этого типа не может быть ключевым или проиндексированным;
3) Числовой. Этот тип данных содержит множество подтипов. От выбора подтипа (размера) зависит точность вычислений;
4) Счётчик. Уникальные, последовательно возрастающие числа, автоматически вводящиеся при добавлении новой записи в таблицу;
5) Логический. Логические значения, а так же поля, которые могут содержать одно из двух возможных значений;
6) Денежный. Денежные значения и числовые данные, используемые в математических вычислениях;
7) Дата/Время. Дата и время хранятся в специальном фиксированном формате;
8) Поле объекта OLE. Включает звукозапись, рисунок и прочие типы данных. Поле этого типа не может быть ключевым или проиндексированным.
2.2 Задачи, возложенные на базу данных
База данных предназначена для хранения данных о студентах, а также оценок успеваемости по списку изучаемых дисциплин (программе обучения). Подразумевается, что эта информация может изменятся в течении всего периода обучения и может быть затребована в любое время за период обучения студента. База данных несомненно носит характер фактографической информационной системы и должна выдавать однозначные сведения на поставленные запросы.. Более подробно все требования перечислены ниже:
Предоставление общей информации о студентах
. Это совокупность сведений о каждом студенте обучающегося в данный момент, включает в себя общую информацию такую как фамилия, имя, отчество, дата рождения, пол, адрес проживания, а также информацию учебного характера, такую как изучаемый язык и др. Подразумевается, что информация будет изменятся и пополнятся в течении срока обучения.
Предоставление информации об учебном плане
. Дисциплины по которым производится обучение в группах в общеобразовательный период и после выбора специализации должны быть точно представленны. По ним ведутся ведомости об итогах сессии для каждого студента.
Ведение информации об итогах сессии и проводимых аттестаций
. В период обучения каждый студент изучает дисциплины указанные в учебном плане и, следовательно должен проходить контроль знаний по ним в конце каждого семестра. Кроме того, в середине семестра производится дополнительный контроль знаний по системе отличающегося от экзаменационного.
2.3 Логическое проектирование
Между сущностями могут быть установлены связи – бинарные ассоциации, показывающие, каким образом сущности соотносятся или взаимодействуют между собой. Связь может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). Она показывает, как связаны экземпляры сущностей между собой. Если связь устанавливается между двумя сущностями, то она определяет взаимосвязь между экземплярами одной и другой сущности.
Кроме того, в ER-модели допускается принцип категоризации сущностей.
Представим предметную область «Учебный процесс» как взаимодействие следующих сущностей: каждый «Студент» сдает экзамен или зачет по некоторому «Предмету» согласно учебному плану. В учебном процессе участвует «Преподаватель», который осуществляет чтение учебного курса и контроль знаний «Студента». Обучение «Студента» ведется в «Группе» совместно с его одногруппниками.
Следует отметить, что для каждой сущности устанавливается свой код – ключевой атрибут, однозначно характеризующий сущность. Например, обычный номер студента в группе не может выполнять роль ключа, поскольку для каждой группы эти номера могут повторяться. Для преподавателя атрибут Табельный номер нежелательно брать в качестве ключевого, поскольку все-таки возможно изменение табельного номера.
Для реализации дополнительных функций базы может потребоваться введение дополнительных атрибутов, например, номера зачетной книжки и домашнего телефона студента, даты сдачи экзамена (зачета) и т.д.
2.4 Физическое проектирование
Физическая модель данных – модель, определяющая размещение данных на внешних носителях, методы доступа и технику индексирования. Она так же называется внутренней моделью системы.
Студенты Табл.1
Имя поля | Тип данных | Описание |
№ зачетной книжки | Числовой | Ключевое поле |
Фамилия | Текстовой | |
Имя | Текстовой | |
Отчество | Текстовой | |
Дата рождения | Дата/время | |
Пол | Текстовый | |
Язык изучения | Текстовый | |
Город проживания | Текстовой | |
Улица | Текстовой | |
Дом | Текстовый | |
Квартира | Текстовый | |
Фамилия родителя | Текстовый | |
Имя родителя | Текстовый | |
Отчество родителя | Текстовый | |
Адрес родителей | Текстовый |
Дисциплины Табл.2
Имя поля | Тип данных | Описание |
Код дисциплины | Числовой | Ключевое поле |
Наименование | Текстовой | |
Вид занятия | Текстовой |
Учебный план Табл.3
Имя поля | Тип данных | Описание |
Код дисциплины | Числовой | Ключевое поле |
Лаб. работа | Логический | |
Экзамен | Логический | |
Зачет | Логический |
Успеваемость Табл.4
Имя поля | Тип данных | Описание |
№ зачетной книжки | Числовой | Ключевое слово |
Дисциплина | Текстовой | Ключевое слово |
Зачет | Логический | |
Экзамен | Числовой | |
Итого | Числовой |
Физическая организация данных оказывает основное влияние на эксплуатационные характеристики БД. Разработчики СУБД пытаются создать наиболее производительные физические модели данных, предлагая пользователям тот или иной инструментарий для поднастройки модели под конкретную БД. Существует большое разнообразие способов реализации и корректировки физических моделей современных промышленных БД, что не позволяет рассмотреть их подробно.
Физическая модель данных является полностью компьютерно-ориентированной и конечные пользователи не имеют никакого представления о том, каким образом данные запоминаются и извлекаются или каким способом организуются индексы в таблицах для быстрого поиска или ссылочная целостность. Эти и множество других функций по методам доступа и поддержании баз данных на внешних носителях, а также способов поиска и доступа к данным в современных СУБД обеспечивается в основном ядром базы данных, что значительно облегчает задачу создания БД и их ведение.
Трехуровневая архитектура позволяет обеспечить независимость хранимых данных от использующих их программ. Архитектура БД может при необходимости переписать хранимые данные на другие носители информации и (или) реорганизовать их физическую структуру, изменив лишь физическую модель данных. Архитектура БД может подключить к системе любое число новых пользователей. Указанные изменения физической модели не будут замечены существующими пользователями системы, так же как не будут замечены и новые пользователи. Следовательно, независимость данных обеспечивает возможность развития системы баз данных без разрушения существующих приложений
Заключение
Задачей этого проекта являлась разработка приложения по учету информации о студентах. Для реализации этой задачи были выполнены следующие этапы:
- Спроектирована логическая модель базы данных
- Спроектирована физическая модель базы данных
- Предусмотрена возможность корректировки данных
Главным результатом проведенной работы является создание функционирующего приложения , которая выполняет требуемый круг задач по ведению дел студентов за период обучения.
Данный программный продукт был написан с использованием Microsoft Office Access для создания базы данных и среда разработки программных продуктов Delphi, имеющий большие возможности для работы с базами данных. Соединение с базой данных произведено при помощи технологии ADO.
Вся необходимая работа по осуществлению методов доступа к информации хранимой в базе данных, её модификации, поддержании базы данных в целостном виде скрыта внутри и пользователю нет необходимости знать о ней, чтобы успешно решать весь круг возникающих задач связанных с использованием информации хранимой базе данных.
Данный продукт без сомнения может конкурировать с существующей на данный момент базой данных и средствами её управления.
Программа интуитивно проста и понятна для любого пользователя, для ее использования не нужно специального обучения. Более того, обращение к базе данных со сложными запросами осуществляется в таком виде, что структура возвращаемых данных видна еще до его исполнения.
Он охватывает широкий спектр задач: личных дел студентов, выставление оценок успеваемости по составленному учебному плану, отчисление. Они решаются в рамках данного приложения, с максимальной простотой, удобством и скоростью.
CПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Книги:
1. Архангельский Л.Я. Delphi 2006. Справочное пособие: Язык Delphi, классы, функции Win32 и .NET/ Л.Я.Архангельский — М.: ООО «Бином-Пресс», 2006 г.—1 152с.
2. Боровский А.Н. Программирование в Delphi 2005/ А.Н. Боровский — СПб.: БХВ-Петербург, 2005. - 448 с.
3. Гончаров А.Ю. Аccess 2003: самоучитель с примерами /А.Ю.Гончаров– М.: КУДИЦ-ОБРАЗ, 2004.-273 с.
4. Гофман В. Э., Хомоненко А. Д. Delphi. Быстрый старт/В.Э.Гофман, А.Д.Хоменко — СПб.: БХВ-Петербург, 2003. — 288 с.
5. Гофман В. Э., Хомоненко А. Д. Работа с базами данных в Delphi/ В.Э.Гофман, А.Д.Хоменко — СПб.: БХВ-Петербург, 2001. — 656 с.
6. Дарахвелидзе П. Г., Марков Е. П. Delphi 2005 для Win32 /П.Г.Дарахвелидзе- СПб.: БХВ-Петербург, 2005. - 1136 с.
7. Сорокин А. В. Delphi. Разработка баз данных/А.В.Сорокин — СПб.: Питер, 2005. — 477 с.
8. Фленов М. Е. Программирование в Delphi глазами хакера/М.Е.Фленов — СПб.: БХВ-Петербург, 2003. - 368 с.
9. Фленов М. Е. Delphi в шутку и всерьез: что умеют хакеры/М.Е.Фленов — СПб.: Питер. 2006. — 271 с.
10. Фаронов В. В. Delphi 2005. Разработка приложений для баз данных и Интернета/В.В.Фаронов — СПб.: Питер, 2006. — 603 с.
Электронные ресурсы:
1. Delphi World 6.0. Электронный справочник.
2. Сервер Информационных Технологий http://www.citforum.ru/ основы современных баз данных