Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсовая docx100 / Kursovaya(45).docx
Скачиваний:
88
Добавлен:
07.08.2013
Размер:
500.32 Кб
Скачать

Министерство Образования и Науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«Национальный исследовательский ядерный университет «МИФИ»

Димитровградский инженерно-технологический институт — филиал НИЯУ МИФИ

Кафедра Информационные технологии

К защите допустить « » 2012 г.

Зав. кафедрой Ракова О. А.

(дата)

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

по дисциплине «Базы данных»

Тема: «Учет внутриофисных расходов»

Выполнил: студент гр. ВТ-31

Савельев А. А.

Руководитель: ст. преподаватель кафедры ИТ

Аленин В. А.

Нормоконтролер: ст. преподаватель кафедры ИТ

Аленин В. А.

Оценка:

Дата защиты:

Димитровград, 2012

Министерство Образования и Науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«Национальный исследовательский ядерный университет «МИФИ»

Димитровградский инженерно-технологический институт — филиал НИЯУ МИФИ

Задание

на курсовую работу

Дисциплина: базы данных.

Тема: учёт внутриофисных расходов.

Исполнитель: Савельев А. А.

Руководитель: Аленин В. А.

  1. Теоретическая часть:

Система управления базами данных MySQL. Структурированный язык программирования Delphi.

  1. Практическая часть:

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

Сроки выполнения работы по графику:

  1. Теоретическая часть – 30% к 8 неделе

  2. Практическая часть - 80% к 15 неделе

  3. Экспериментальный раздел - 90% к 16 неделе

  4. Защита – 100% к 18 неделе

Требования к оформлению:

  1. Расчетно-пояснительная записка курсовой работы должна быть представлена в электронной и твердой копиях;

  2. Объем отчета должен быть не менее 20 машинописных страниц без учета приложений;

  3. РПЗ подписывается у ответственного за нормоконтроль.

Руководитель работы: Аленин В. А.

Исполнитель: Савельев А. А.

Дата выдачи «1» Октября 2012 г.

РЕФЕРАТ

Савельев А. А. БАЗЫ ДАННЫХ. Курсовая работа / ДИТИ. 230105.65-Димитровград, 2012. - стр. 31, рис. 14, библ. назв. 5, приложений 2.

Ключевые слова: MYSQL, DELPHI, SQL, БАЗА ДАННЫХ.

Объект исследования – предметная область, база данных MySQL.

Цель работы – исследовать предметную область, создать базу данных, отображающую данную сферу, написать программу для представления этой базы данных, обладающую всеми необходимыми возможностями.

Выводы: была изучена предметная область, составлена база данных MySQL, представляющая все ключевые аспекты данной области. Разработанная программа качественно и систематизировано представляет вышеуказанную базу данных, а, благодаря удобному и продуманному пользовательскому интерфейсу, обеспечивается высокая эффективность и простота работы с ней.

Содержание

Содержание 4

Введение 5

1Теоретическая часть 6

1.1MySQL 6

1.2Delphi 10

2Практическая часть 14

2.1Создание таблиц 14

2.2Структура связей между таблицами 15

2.3Содержимое таблиц с данными 15

2.4Описание форм программы 17

2.5Соединение с Delphi 19

Заключение 20

Список использованных источников 21

Приложение А 22

Приложение Б 23

Введение

В данной работе будет рассмотрена база данных внутриофисных расходов, созданная с использованием MySQL, в связке с клиентом, написанным в среде разработки Borland Delphi 7. Рассматриваемая программа позволяет отслеживать расходы бухгалтерии частной фирмы, их дату, предельную сумму и некоторое описание, причем не только по отделам, но и по отдельным сотрудникам. С помощью удобного интерфейса можно легко добавлять, удалять или редактировать записи в таблицах, что значительно упростит работу с информацией пользователю. Также в данной работе будет создано несколько запросов к базе данных, позволяющих получить более наглядную информацию о внутриофисных расходах фирмы.

  1. Теоретическая часть

    1. MySQL

MySQL— свободная система управления базами данных. Разработку и поддержкуMySQLосуществляет корпорацияOracle, получившая права на торговую марку вместе с поглощённойSunMicrosystems, которая ранее приобрела шведскую компаниюMySQLAB. ОбычноMySQLиспользуется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включатьMySQLв автономные программы [1].

Гибкость СУБД MySQLобеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типаMyISAM, поддерживающие полнотекстовый поиск, так и таблицыInnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБДMySQLпоставляется со специальным типом таблицEXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре иGPL-лицензированию, в СУБДMySQLпостоянно появляются новые типы таблиц [2].

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

Почему веб-программисты отдают предпочтение СУБД MySQL? MySQL является очень быстрым, надежным и легким в использовании. Если вам требуются именно эти качества, попробуйте поработать с данным сервером. MySQL обладает также рядом удобных возможностей, разработанных в тесном контакте с пользователями. Первоначально сервер MySQL разрабатывался для управления большими базами данных с целью обеспечить более высокую скорость работы по сравнению с существующими на тот момент аналогами. И вот уже в течение нескольких лет данный сервер успешно используется в условиях промышленной эксплуатации с высокими требованиями. Несмотря на то что MySQL постоянно совершенствуется, он уже сегодня обеспечивает широкий спектр полезных функций. Благодаря своей доступности, скорости и безопасности MySQL очень хорошо подходит для доступа к базам данных по Internet.

MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API). Мы также поставляем сервер MySQL в виде многопоточной библиотеки, которую можно подключить к пользовательскому приложению и получить компактный, более быстрый и легкий в управлении продукт. Доступно также большое количество программного обеспечения для MySQL, в большей части - бесплатного.

SQL состоит из двух частей: серверной и клиентской. Сервер MySQL постоянно работает на компьютере. Клиентские программы (например, скрипты PHP) посылают серверу MySQL SQL-запросы через механизм сокетов (то есть при помощи сетевых средств), сервер их обрабатывает и запоминает результат. То есть скрипт (клиент) указывает, какую информации он хочет получить от сервера баз данных. Затем сервер баз данных посылает ответ (результат) клиенту (скрипту) [3].

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

Изначально, SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:

  • создание в базе данных новой таблицы;

  • добавление в таблицу новых записей;

  • изменение записей;

  • удаление записей;

  • выборка записей из одной или нескольких таблиц (в соответствии с заданным условием).

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

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

Каждое предложение SQL — это запрос или обращение к базе данных, которое приводит к изменению в базе данных. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:

  • запросы на создание или изменение в базе данных новых или существующих объектов (при этом в запросе описывается тип и структура создаваемого или изменяемого объекта);

  • запросы на получение данных;

  • запросы на добавление новых данных (записей)

  • запросы на удаление данных;

  • обращения к СУБД.

Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы — это операции над таблицами. В соответствии с этим, запросы делятся на:

  • запросы, оперирующие самими таблицами (создание и изменение таблиц);

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

Каждая таблица описывается в виде перечисления своих полей (столбцов таблицы) с указанием

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

  • связей между таблицами (задание первичных и вторичных ключей);

  • информации, необходимой для построения индексов.

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

  • вставка новой строки;

  • изменение значений полей строки или набора строк;

  • удаление строки или набора строк.

Самый главный вид запроса — это запрос, возвращающий (пользователю) некоторый набор строк, с которым можно осуществить одну из трёх операций:

  • просмотреть полученный набор;

  • изменить все записи набора;

  • удалить все записи набора.

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

Cтруктура MySQL трехуровневая: базы данных — таблицы — записи. Базы данных и таблицы MySQL физически представляются файлами с расширениями frm, MYD, MYI. Логически — таблица представляет собой совокупность записей. А записи - это совокупность полей разного типа. Имя базы данных MySQL уникально в пределах системы, а таблицы - в пределах базы данных, поля - в пределах таблицы. Один сервер MySQL может поддерживать сразу несколько баз данных, доступ к которым может разграничиваться логином и паролем. Зная эти логин и пароль, можно работать с конкретной базой данных. Например, можно создать или удалить в ней таблицу, добавить записи и т. д. Обычно имя-идентификатор и пароль назначаются хостинг провайдерами, которые и обеспечивают поддержку MySQL для своих пользователей.

    1. Delphi

Среда программирования «Borland Delphi 7» ­­— это универсальный язык общего назначения, который применяется во многих областях программирования. Delphi — это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal. В Delphi успешно проектируются многие приложения. Реализация Delphi осуществлена для машин в диапазоне от самых простых персональных компьютеров до самых мощных суперкомпьютеров и для всех операционных систем. В наше время в любой сфере деятельности применяются информационные технологии. Borland Delphi 7 позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, XML-документами, создание справочной системы, решение других задач. Отличительной особенностью седьмой версии является поддержка технологии .NET [4].

Для работы с базами в Delphi есть несколько наборов компонентов. Каждый набор очень хорошо подходит для решения определенного круга задач. Почему такое разнообразие компонентов? Все они используют разные технологии доступа к данным и отличаются по своим возможностям. Фирма Borland предоставила разнообразные средства, работающие через разные технологии, и не ограничивает программиста только своими разработками. Такое положение вещей дает громадные преимущества. Помимо этого, есть группы компонентов, которые могут использоваться в любом случае [5].

Рассматриваемые компоненты предназначены для построения пользовательского интерфейса приложений Delphi, работающих с базами дан­ных. Размещаются они на странице Data Controls Палитры компонентов. Многие из них наследуют свойства стандартных управляющих элементов, но есть и предназначенные исключительно для работы с базами данных. Их основная задача заключается в отображении данных наиболее удобным для пользователя способом, а также реализация возможностей по редактированию данных и их передаче для последующего обновления набора данных. Компо­ненты, рассматриваемые здесь, являются заключительным звеном в цепочке компонентов, реализующих механизм работы приложения с базами данных.

Компонент TDBGrid. TObject—>TPersistent—>TComponent->TControl->TWinControl—>TCustomControl->TCustomGrid->TCustoinDBGrid—>TDBGrid Модуль DBGRIDS Страница Палитры компонентов Data Controls. Предназначен для просмотра и редактирования всех записей связанного с ним набора данных в развернутом виде. Данные структурированы в табличном формате, представление полей и расположение колонок зависит от значений свойств компонентов типа TField набора данных.

Компонент TDBNavigator. Это Навигатор базы данных, предлагающий разработчику простой и эф­фективный механизм управления данными, представляемыми в компонентах отображения. Обычно он используется совместно с компонентом TDBGrid. Навигатор представляет собой панель, в которой содержится ряд кнопок. Каждая кнопка реализует определенную операцию перемещения по набору данных или редактирования данных. Назначение всех кнопок описывается в приведенной ниже таблице. Разработчик может по своему желанию изменять набор видимых в приложении кнопок Навигатора. Для этого используется свойство VisibleButtons, которое в Инспекторе объектов модифицируется ком­плексным редактором.

КомпонентTDBText. TObject—>TPersistent—>TComponent—>TControl->TGraphicControl->TCustomLabel->TDBText.Модуль DBCTRLS. Страница Палитры компонентов Data Controls. Позволяет отображать содержимое поля текущей записи связанного набора данных. Ближайший аналог в VCL — компонент TLabel, поэтому TDBText не предоставляет возможность изменять отображаемое поле. Все изменения данных в соответствующем поле текущей записи оперативно отражаются в компоненте. Компонент не имеет свойств или методов, которые бы не были рассмотрены выше.

Компонент TDBEdit. TObject—>TPersistent—>TComponent->TControl—>TWinControl—>TCustornEdit->TCustomMaskEdit->TDBEdit

Компонент TDBListBox. TObject—>TPersistent—>TComponent—>TControl—>TWinControl->TCustomListBox->TDBListBox. Модуль DBCTRLS. Страница Палитры компонентов Data Controls. Является модификацией для работы с базами данных компонента TListBox, у которого он позаимствовал все основные свойства и методы. Позволяет редактировать связанное поле текущей записи набора данных путем выбора возможного значения из списка. Список заполняется при помощи свойства Items. Компонент не имеет свойств или методов, которые бы не были рас­смотрены выше.

Компонент TDBComboBox. TObject—>TPersistent->TComponent—>TControl->TWinControl->TCustomComboBox->TDBComboBox. Модуль DBCTRLS. Страница Палитры компонентов Data Controls. Представляет из себя комбинацию компонентов TDBEdit и TDBListBox, объединяя поле редактирования и список выбора. Модификация значения свя­занного поля текущей записи набора данных осуществляется путем выбора существующего значения из списка или набором нового значения в поле ввода. Компонент не имеет свойств или методов, которые бы не были рассмотрены выше.

Компонент TDBLookupCombobox. TObject->TPersistent->TCornponent->TControl->TWinControl->TCustoniEdit->TDBLookupCombo. Модуль DBLOOKUP. Страница Палитры компонентов Data Controls. ИнтегрируетсвойствакомпонентовTDBComboBoxиTDBLookupUst,создаваякомбинированныйсписок.

Соседние файлы в папке курсовая docx100