Минобрнауки России

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

высшего профессионального образования

«Чувашский государственный университет имени И.Н. Ульянова»
Факультет дизайна и компьютерных технологий

Кафедра компьютерных технологий

КУРСОВОЙ ПРОЕКТ


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

Тема: Клиент-серверная база сайтов

Выполнил студент гр. ДиКТ 21-02 (подпись) Иванов И.И. ________
Руководитель, к.т.н., доцент (подпись)_______ Иванов И.И.

Чебоксары 2013

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

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

высшего профессионального образования

«Чувашский государственный университет имени И.Н. Ульянова»
Факультет дизайна и компьютерных технологий

Кафедра компьютерных технологий
УТВЕРЖДАЮ

«_______» __________________ 2013 г.

______________ Зав. кафедрой компьютерных технологий В.П. Желтов

ЗАДАНИЕ

на курсовое проектирование
студенту группы _ДиКТ-21-02 Иванову И.И.

1. Тема проекта (работы)

Клиент-серверная база сайтов_____________________________________________ __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

2. Срок сдачи студентом законченного проекта (работы)

01.06.2013 г.____________________________________________________________

3. Исходные данные к проекту (работе)

3.1. Сайты дикт.рф, www.chuvsu.ru

3.2. Turbo Delphi 2006

3.3. Операционная система Windows XP

3.4. mysql-connector-odbc-5.1.11-win32.msi – провайдер MySQL для ODBC

3.5. MySQL Query Browser 1.1.20

3.6. СУБД MySQL



4. Содержание расчетно-пояснительной записки (перечень подлежащих разработке вопросов)

4.1. Обзор и анализ технических решений

4.2. Проектно-конструкторская часть

4.3. Технологическая часть


5. Перечень графического материала (с точным указанием обязательных чертежей)

Блок-схема алгоритма
6. Консультанты по проекту (с указанием относящихся к ним разделов проекта)

__Научный руководитель - доцент Иванов И.И.______________________________________

_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
7. Дата выдачи задания

04.02.2013 г.

Руководитель_________________________________________

Задание принял к исполнению____________________________

(дата)

______________________________

(подпись студента)


Оглавление

Введение………………………………………………………………………………………...

5


ГЛАВА 1. Обзор и анализ технических решений …………………………………………..

Выводы…………………………………………………………………………………
ГЛАВА 2. Проектно-конструкторская часть…………………………………………………

  1. Функциональные подсистемы…………………………………………………

  2. Модели и алгоритмы решения задач………………………………………….

  3. Программное обеспечение……………………………………………………

  4. Информационное обеспечение………………………………………………..

  5. Техническое обеспечение и сетевое взаимодействие ……………………….

  6. Защита информации……………………………………………………………

Выводы…………………………………………………………………………………
ГЛАВА 3 Технологическая часть…………………………………………………………….

  1. Технологический процесс обработки информации для решения поставленных задач……………………………………………………………………

  2. Руководство пользователя и сведения о программе…………………………

  3. Руководство администратора………………………………………………….

  4. Руководство программиста…………………………………………………….

Выводы…………………………………………………………………………………
Заключение……………………………………………………………………………………..

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

Приложение A………………………………………………………………………………….

Приложение B………………………………………………………………………………….



6

8
9

9

9

10

10

10

11

11
12
12

12

12

13

20
21

22

23

26


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

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

Задачи, решаемые в проекте:

1. Установить и настроить необходимое программное обеспечение.

2. Разработать требуемое приложение, включая разработку алгоритма.

3. Заполнить базу соответствующими данными.

ГЛАВА 1. Обзор и анализ технических решений
Для решения поставленной перед проектантом задачи можно использовать разные способы. Это может в крайнем случае из вариантов быть какой-нибудь язык программирования высокого уровня (Си, Паскаль, Алгол или Фортран), но не ассемблер. Дело в том, что использование ассемблера потребовало бы от студента не только знания этого языка, но и огромного времени для ввода текста программы. Также как и знания системы прерываний, то есть, в сущности архитектуры компьютеров семейства х86. Необходимо иметь в виду, что одно другого не исключает. Нетрудно заметить, что объединяя воедино указанные факторы, получаем серьезное препятствие для нормального учебного труда студента; это очевидно и доказательства не требует.

Таким образом, если принимать во внимание сжатые сроки, как это характерно вообще для разработки программного обеспечения, от языка Ассемблера лучше отказаться сразу. Языки которые, были перечислены, за исключением уже упомянутого ассемблера, надо полагать, могут дать программисту больше возможностей однако, уже давно для работы с базами данных применяется специальное системное программное обеспечение – системы управления базами данных [1-2]. Достоверно известно, что общепринятая аббревиатура «СУБД». Они дают их пользователю еще больше возможностей, чем простые высокоуровневые языки программирования. Потому что там были их проектировщиками изначально заложены характерные инструменты по манипулированию базами данных.

С целью сокращения объема представляемого в курсовом проекте текста далее будет везде встречаться аббревиатура «БД», что означает «база данных», «базы данных», «базе данных» и пр. Авторы данной работы здесь включили в текст слова «данные», «система» и пр., вот почему важно дать читателю понять, что для будущего инженера эти понятия могут означать. Давайте не будем вдаваться в терминологию языков программирования, потому что это уровень первого курса. Остановимся во-первых, на том что, такое данные. Изучение дисциплины учебного плана «Информатика» преследовало своей целью попутно научить студента о том, что же это такое – информация. Определение информации было дано Н. Винером и на наш взгляд это достаточно популярно изложенное определение, чтобы его смог выучить даже первокурсник. Затем техники его переиначили примерно так: это использованные данные.

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

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

Да́нные (от англ. data) — представление фактов и идей в формализованном виде, пригодном для передачи и обработки в некотором информационном процессе. В информатике данные — это результат фиксации, отображения информации на каком-либо материальном носителе [8].

Теперь давайте оставим эту тему и перейдем к обзору СУБД. Это совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием БД [8]

По способу доступа к БД они делятся на файл-серверные, клиент-серверные и встраиваемые. Примеры клиент-серверных БД: PostgreSQL, Oracle одноименной компании, Informix, Firebird, Interbase, IBM DB2, Microsoft SQL Server от Майкрософта, Sybase Adaptive ServerEnterprise, MySQL тоже от Майкрософта, Caché от фирмы Intersystems, ЛИНТЕР. В настоящее время для малых предприятий популярным является MySQL, потому что он бесплатный. В нем используется язык структурированных запросов SQL [5, 6]. Недостаток - имеется ограничение по объему базы данных, вот почему он подходит лишь для малых предприятий. Достоинством является схожесть с Microsoft SQL Server, это полнофункциональная СУБД.

Следует заметить (для справедливости), что имеются системы программирования универсального назначения, включающие поддержку БД [1-2, 4]. Они представляют собой важную часть номенклатуры прикладного программного обеспечения, используемую тысячами программистов по всему миру. В их основе лежат вышеперечисленные языки высокого уровня, дополненные сотнями еще более высокоуровневых функций, иерархией классов и удобным пользовательским интерфейсом. С этой стороны там удобно заниматься программированием логики приложения. Например, Turbo Delphi 2006 основан на языке Object Pascal и является свободно распространяемым программным обеспечением.

Turbo Delphi позволяет работать с БД при помощи фундаментально различных подходов. Это Borland Database Engine (BDE), Interbase, ADO и др. BDE уже несколько лет не развивается и оставлено для совместимости со старыми программами. Это не значит, что оно совсем непригодно, напротив, иногда только оно помогает составить работающую программу. Interbase бесплатно только для пяти клиентов, хотя и является полнофункциональным сервером БД. ADO же позволяет использовать усилия разработчиков непосредственно СУБД, поэтому его и возьмем в качестве отправной точки.

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


Выводы
Для реализации программного обеспечения, которое надо разрабатывать в курсовом проекте, целесообразным является технология ADO (от англ. ActiveX Data Objects — «объекты данных ActiveX»).

Turbo Delphi – свободно распространяемое программное обеспечение, поэтому его можно выбрать для разработки приложения.

ГЛАВА 2. Проектно-конструкторская часть


  1. Функциональные подсистемы


Действующий комплекс программ может иметь в себе алгоритмическую часть и интерфейсную часть, а также базу данных. Алгоритмическая часть достаточно примитивна и состоит в использовании готовых методов для работы с наборами данных Turbo Delphi. Интерфейсная часть состоит из API (Application Programming Interface, прикладного программного интерфейса) и GUI. API основан на ADO и провайдере MySQL.

Графический пользовательский интерфейс GUI (Graphics User Interface) нужно проектировать как Windows-приложение, либо как Web-приложение. Выбираем первый вариант - Windows-приложение.


  1. Модели и алгоритмы решения задач


Модель БД может представляться в виде ER-диаграмм (рис. 2.1), что означает «Entity-Relationship Diagrams» («Диаграммы сущности-связи»). В нашем случае имеется одна таблица, содержащая все необходимые данные. Однако там данные не совсем доступны из Delphi – для строк только первые 10 символов, и BLOB-поля, где должны храниться рисунки, заполняются другим методом, соответственно недоступны, а это все надо иметь полностью. Требуется дополнительная таблица Tfull, для простоты разработаем ее в Microsoft Access. Она должна содержать полные наименования сайтов и полноценные рисунки, а не тот урезанный вариант, который дают предоставляемые провайдером MySQL 64 кбайта на рисунок. Ключевым элементом является поле f, содержащее 10-символьные сокращения названий сайтов, до которого урезает провайдер MySQL длинные строки из базы данных MySQL.


Рис. 2.1. ER-диаграмма
Теперь, когда мы имеем математическую модель, можно разработать алгоритм работы программы. Алгоритм несложный, логика его работы понятна и излишних пояснений не требует. Сам же алгоритм в виде соответствующей блок-схемы изображен в приложении В.


  1. Программное обеспечение


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

    • Turbo Delphi 2006;

    • Операционная система Windows XP;

    • mysql-connector-odbc-5.1.11-win32.msi – провайдер MySQL для ODBC  (от англ. Open Database Connectivity);

    • MySQL Query Browser 1.1.20;

    • СУБД MySQL.

Проектантом разрабатывается новый комплекс программ, листинг которого приводится в приложении А.


  1. Информационное обеспечение


Информационное обеспечение разрабатываемого комплекса программ – это сайт Федерального государственного бюджетного образовательного учреждения высшего профессионального образования (ФГБОУ ВПО) «Чувашский государственный университет имени И.Н. Ульянова» и сайт Факультета дизайна и компьютерных технологий этого вуза. Это в первую очередь связано с защитой авторских прав. Нельзя без согласия авторов сайтов использовать их изображения. Получать эти согласия – дело длительное и порой безнадежное. Для учебных целей этого не надо вообще. Во-первых, информация может устареть, став дезинформацией. При случайной ошибке будет искажение данных. Единственное достоинство – не надо заботиться о конфиденциальности этой информации. Следовательно, в учебных целях надо брать свои сайты.

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


  1. Техническое обеспечение и сетевое взаимодействие


Техническое обеспечение – это х86-совместимые компьютеры, причем не менее двух, потому что один из них клиент, а второй – сервер. Если компьютеров больше двух, то нужен концентратор или подобное устройство для организации локальной сети. В случае проводной сети необходима кабельная система. Для разработки достаточно двух компьютеров без концентратора, но так как в компьютерном классе их больше двух и есть коммутатор, то от них не отказываемся. Сетевое взаимодействие контролируется операционной системой, предоставляющей «Сетевое окружение» в виде одной из папок. Надо, чтобы была одинаковая рабочая группа у клиента с сервером, а если со стороны клиента не видно сервера в сетевом окружении, надо добавить новый элемент в сетевое окружение, а на компьютере со стороны сервера открыть доступ по сети к нужной папке и разрешить изменения по сети. Для этого нужны временно права администратора.


  1. Защита информации


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

ГЛАВА 3 Технологическая часть


  1. Технологический процесс обработки информации для решения поставленных задач


Так как тема связана с веб-сайтами, а они имеют в своем составе веб-страницы, информация, сохраняемая в БД, должна иметь URL web-сайта и вид его начальной страницы. БД нужно сделать достаточно объемной, а собственных сайтов мало, поэтому туда включим не только начальные страницы, но и некоторые другие в составе сайта. Сайты имеют следующие адреса в Интернета: http://дикт.рф, http://www.chuvsu.ru.


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


Пользователю предоставляется программа cl_1.exe объемом 863 кбайта, имя пользователя и пароль для MySQL. Пользователь может не только просматривать содержимое БД, но и по своему усмотрению изменять в ней информацию и даже добавлять новые записи, равно как и удалять их. Пользователь может искать в БД запись по URL страницы. Для этого он вводит в текстовое поле искомую строку и нажимает кнопку «Найти». Пользователь может перемещаться по БД вперед, назад, к первой или последней записи, используя набор кнопок, стандартный для DBNavigator.

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


  1. Руководство администратора


Для работы необходимо иметь на сервере установленный MySQL. Если этого нет, надо скачать его с сайта ЧГУ и установить (программа свободно распространяемя). Администратор БД должен создать учетную запись пользователя MySQL, например командой

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON bd1.* TO user@'%' IDENTIFIED BY 'useruser';

При входе в MySQL Query Browser нужно будет вводить имя базы данных (БД) (Default Schema = bd1). Если будет использоваться другая БД, надо вводить другое имя.

С сайта http://dev.mysql.com/downloads/connector/odbc/5.1.html загружаем mysql-connector-odbc-5.1.11-win32.msi – провайдер MySQL для ODBC. Устанавливаем (см. ниже), перезагружаем компьютер.

Работа выполняется в локальной сети, поэтому провайдер MySQL для ODBC надо установить на клиентском компьютере. Затем на нем перейти в Панель управления (с правами администратора), выбрать Администрирование, затем Источники данных (ODBC), в закладке «Пользовательский DSN» нажать кнопку «Добавить». В появившемся списке выбираем «MySQL ODBC 5.1 Driver» и нажимаем кнопку «Готово». Появляется окно настроек, где пишем имя источника данных, например, «MySQLlaba». Указываем IP-адрес сервера (определяется на серверном компьютере командой ipconfig), порт оставляем без изменения. Вводим значения User – «user», Password – «useruser». Выбираем базу данных из списка напротив Database, например, «bd1». Нажимаем кнопку «Test», должно появиться окно (см. рис. 3.4).


  1. Руководство программиста


3.4.1. Создаем базу данных в MySQL.

Для этого запускаем MySQL Query Browser, вводим имя пользователя «user» и пароль и «useruser» (рис. 3.1).



Рис. 3.1. Окно входа в MySQL Query Browser
В группе Schemata нажимаем ПКМ и в списке выбираем «Create New Schema» (создание новой базы). Вводим имя базы, например bd2. Нажимаем на bd2 с помощью ПКМ и выбираем в списке «Create New Table». Появляется окно, где вводится имя таблицы (например, t2), затем заполняем имена столбцов (Column), выбираем их тип: для fio – Varchar(20), для summa – Integer (рис. 3.2).



Рис. 3.2. Структура создаваемой таблицы
Нажимаем на кнопку «Apply Changes», в появившемся окне с текстом запроса – «Execute», затем «Close». Чтобы заполнить таблицу данными, в группе Schemata находим созданную таблицу, дважды нажимаем. Вверху можно прочитать текст запроса на выборку всех записей «SELECT * FROM bd2.t2 t;», нажимаем около него кнопку «Execute». Вначале таблица пуста, нажимаем внизу «Edit» и вводим данные. В конце нажимаем внизу «Apply Changes» для внесения изменений.

Для добавления столбцов выбираем «Edit Table» после нажатия ПКМ на таблицу, вводим, например, Column Name = Photo, Datatype = BLOB, убираем галочку «Not Null», нажимаем кнопку «Apply Changes».
3.4.2. Создаем приложение, работающее с БД

Запускаем Turbo Delphi, создаем новое Win32 приложение. На форму ставим две панели. Устанавливаем свойства (см. табл. 1). На нижнюю панель ставим кнопку Button1, текстовое поле Edit1 и DBNavigator1 из группы DataControls. На верхнюю панель ставим DBGrid1, DataSource1, а из группы DBGo - компоненты ADOConnection1 и ADOTable1.
Таблица 1.

Устанавливаемые свойства компонентов

Свойство

Компонента

Устанавливаем в

Для чего

Align

Panel1

AlBottom

Чтобы она была низом для Panel2

Align

Panel2

AlСlient

Чтобы занимала все оставшееся место

Caption

Panel2.Button1

«Найти»

Для поиска

Text

Panel2.Edit1

«Текст»

Вводимый текст

DataSet

DataSource1

ADOTable1




DataSource

DBGrid1 и DBNavigator1

DateSource1




Provider

ADOConnection1

MSDASQL.1





БД в СУБД MySQL может выглядеть следующим образом (рис. 3.3).



Рис. 3.3. БД в MySQL
Свойство TableName компонента ADOTable1 устанавливаем в t1. Напротив свойства ConnectionString нажимаем многоточие, в появившемся окне нажимаем кнопку Build. В закладке «Поставщик данных» выбираем «Microsoft OLE DB Provider for ODBC Drivers». В закладке «Подключение», если нет ранее созданного имени источника данных, выбираем «Использовать строку подключения» и нажимаем на кнопку «Сборка». В появившемся окне выбираем закладку «Источник данных компьютера» и нажимаем кнопку «Создать». Затем выбираем, пользовательский будет источник данных или системный (т.е. только для данного пользователя или для всех пользователей данного компьютера) и нажимаем кнопку «Далее». В появившемся списке выбираем «MySQL ODBC 5.1 Driver» и нажимаем кнопку «Готово». Появляется окно настроек, где пишем имя источника данных, например, «MySQLlaba». Вводим значения User – «user», Password – «useruser». Выбираем базу данных из списка напротив Database, а именно «bd1». Нажимаем кнопку «Test», появляется окно (рис. 3.4).



Рис. 3.4. Окно успешного соединения
Нажимаем ОК шесть раз (в разных окнах). Для компонента ADOTable1 свойство Active устанавливаем в True, в появившемся окне вводим имя и пароль пользователя MySQL. После этого DBGrig1 должен показывать значения данных.

Сохраняем проект, запускаем его. Проверяем работу компонента DBNavigator1 (перемещение по записям, их добавление и удаление). Вид программы (рис. 3.5):



Рис. 3.5. Скриншот программы
Закрываем программу и нажимаем дважды на кнопку «Найти». Вводим текст для процедуры обработчика нажатия кнопки (где стоит курсор):

var s:string; begin s:=Edit1.Text;Adotable1.Locate('Fio',s,[]) end;

Запускаем еще раз проект и проверяем, выполняется ли поиск введенного в поле Edit1 текста. Для размещения элементов слева от DBGrid1 изменяем его свойство Align на alCustom, оттягиваем вправо и помещаем слева от него еще одну панель Panel3 со свойством Align = alLeft. Возвращаем для DBGrid1 свойство Align в alClient.
3.4.3. Работа с рисунками
Помещаем на форму или панель диалоги открытия OpenDialog1 и сохранения SaveDialog1, и две кнопки, Button3 и Button2, дав им названия Save to DB и From DB (рис. 3.6).



Рис. 3.6. Диалоги и кнопки
Для диалогов устанавливаем фильтры (рис. 3.7)



Рис. 3.7. Установка фильтров
Дважды нажимаем на «Save to DB» и для появившейся процедуры вводим текст:

procedure TForm1.Button3Click(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

ADOTable1.Edit;

TBLOBField(ADOTable1.FieldByName('photo')).LoadFromFile( OpenDialog1.FileName);

AdoTAble1.Post;

end else

Exit;

end;
Дважды нажимаем на «From DB» и для появившейся процедуры вводим текст:

procedure TForm1.Button2Click(Sender: TObject);

begin

if SaveDialog1.Execute then

begin

// ADOTable1.Edit;

TBLOBField(ADOTable1.FieldByName('photo')).SaveToFile(SaveDialog1.FileName);

// AdoTAble1.Post;

end else

Exit;

end;
При вводе фотографий русские названия файлов могут не поддерживаться. MySQL может принимать в BLOB-поля фотографии размером не более 64 кбайт в формате BMP. MySQL Query Browser может не отображать русские буквы, введенные в БД из другой программы. Delphi может не показывать содержимое текстовых полей из БД MySQL длиннее 10 символов.

По умолчанию данные сохраняются в папке C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data. Вносим в БД рисунки и фотографии, сохраняем их обратно в файлы.

Поместим на панель компонент DBImage1 из набора DataControls. Свойство DataSource – DataSource1, DataField – photo. Картинка должна быть видна, если она имеется в БД (рис. 3.8).



Рис. 3.8. Окно с картинкой из БД.

3.5. Связь с БД в Microsoft Access
Ограничения по объему данных преодолеваются введением дополнительной таблицы Tfull в Microsoft Access, связанной с t2 в MySQL по полю fio. С этой целью помещаем на форму еще компоненты – DataSource2, ADOTable2, ADOConnection2, DBGrig2, DBNavigator2. Связываем их между собой аналогично предыдущему набору компонентов (с цифрой 1). В Microsoft Access создаем БД db6 с таблицей Tfull, содержащей поля f, SiteFull, PictFull (см. рис. 2.1). В качестве провайдера для ConnectionString вместо ODBC выбираем «Microsoft Jet 4.0 OLE DB Provider», базу данных – db6. Для компонента ADOTable2 устанавливаем свойство MasterTable в ADOTable2, выбираем MasterField (указываем оба связанных поля – f и fio, см. рис. 3.9). Затем его свойство Active устанавливаем в True. Запускаем программу, и при перемещении по БД в MySQL будут отображаться только те записи второй таблицы, для которые f=fio (рис. 3.10), их и заполняем длинными строками и большими рисунками.


Рис. 3.9. Создание связи по полям


Рис. 3.10. Таблица с длинными строками

Выводы
Требуемая программа разработана. Имеются ограничения по объему данных, с которыми она работает. Эти ограничения преодолеваются введением дополнительной таблицы Tfull в Microsoft Access.

Заключение
Для реализации программного обеспечения, которое надо было разрабатывать в курсовом проекте, целесообразным является технология ADO (от англ. ActiveX Data Objects — «объекты данных ActiveX»).

Turbo Delphi – свободно распространяемое программное обеспечение, поэтому его можно выбрать для разработки приложения.

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

Требуемая программа разработана. Имеются ограничения по объему данных, с которыми она работает. Эти ограничения преодолеваются введением дополнительной таблицы Tfull в Microsoft Access.

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


  1. Фаронов В. В. Delphi 2005. Разработка приложений для баз данных и Интернета. СПб.: Питер, 2006. 602 с.

  2. Фаронов В. В. Программирование баз данных в Delphi 7. СПб.: Питер, 2006. 458с.

  3. Желтов В.П., Михайлов А.Л., Димитриев А.П., Стаценко Е.Ф. Автоматизированные системы обработки информации и управления: Метод. указания по оформлению студенческих работ. Чебоксары, Чуваш. ун-т, 2005. 60 с.

  4. Федоров А., Елманова Н. ADO в Delphi. СПб. и др.: БХВ-Петербург, 2002. - 794с.

  5. Андон Ф., Резниченко В. Язык запросов SQL: учебный курс. СПб. и др.: Питер, 2006. – 415 с.

  6. Тоу Дэн, Е. Шикаревой. Настройка SQL для профессионалов. СПб.: Питер, 2004. 332 с.

  7. Димитриев А.П. Базы данных: метод. указания к лаб. работам. Чебоксары: Изд-во Чуваш. ун-та, 2012. 36 с.

  8. Данные // Википедия. Свободная энциклопедия. URL: http://ru.wikipedia.org/wiki [Дата обращения 07.02.2013 г.].



Приложение А

Исходный код программы
unit cl1;
interface
uses

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

Dialogs, DB, ADODB, DBCtrls, Grids, DBGrids, StdCtrls, ExtCtrls, Menus;
type

TForm8 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

Button1: TButton;

Edit1: TEdit;

DBNavigator1: TDBNavigator;

DataSource1: TDataSource;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

Panel3: TPanel;

ADOTable1Fio: TStringField;

ADOTable1summa: TIntegerField;

ADOTable1photo: TBlobField;

DBGrid1: TDBGrid;

PopupMenu1: TPopupMenu;

Show1: TMenuItem;

Exit1: TMenuItem;

Button2: TButton;

DBImage1: TDBImage;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Show1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

Form8: TForm8;buf:TBlobbyteData;St:TStream;
implementation
{$R *.dfm}
procedure TForm8.Button1Click(Sender: TObject);

var s:string;

begin

s:=Edit1.Text;

Adotable1.Locate('Fio',s,[])

end;
procedure TForm8.Button2Click(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

ADOTable1.Edit;

TBLOBField(ADOTable1.FieldByName('photo')).LoadFromFile( OpenDialog1.FileName);

AdoTAble1.Post;

end else

Exit;
end;
procedure TForm8.Button3Click(Sender: TObject);

begin

if SaveDialog1.Execute then

begin

// ADOTable1.Edit;

TBLOBField(ADOTable1.FieldByName('photo')).SaveToFile(SaveDialog1.FileName);

// AdoTAble1.Post;

end else

Exit;
end;
procedure TForm8.Show1Click(Sender: TObject);

begin

Showmessage('No');
end;
end.
Приложение В

МИНОБРНАУКИ РОССИИ

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

высшего профессионального образования

«Чувашский государственный университет имени И.Н.Ульянова»


ПОСЛЕДНИЙ ЛИСТ КУРСОВОГО ПРОЕКТА
Курсовой проект выполнен мной самостоятельно. Все использованные в работе материалы из опубликованной научной и технической литературы, а также из других источников отмечены в виде ссылок в курсовом проекте.

«_______»___________________2013 г.
____________________________ Иванов И.И. (подпись)



страница 1


скачать

Другие похожие работы: