- •Курсовой проект
- •Задание на курсовое проектирование
- •О главление
- •Техническое обеспечение и сетевое взаимодействие
- •Защита информации
- •Руководство администратора
- •3.4.2 Создаем приложение, работающее с бд
- •3.5 Связь с бд в Microsoft Access
- •Список литературы
- •Исходный код программы
- •Последний лист курсового проекта
Минобрнауки России
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Чувашский государственный университет имени И.Н. Ульянова»
Факультет информатики и вычислительной техники
Кафедра компьютерных технологий
Курсовой проект
Дисциплина: Базы данных
Тема: Клиент-серверная база сайтов
Выполнил студент гр. КТ-31-14 ________ Иванов И.И.
Руководитель, к.т.н., доцент _______ Иванов И.И.
Чебоксары 2016
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Чувашский государственный университет имени И.Н. Ульянова»
Факультет информатики и вычислительной техники
Кафедра компьютерных технологий
УТВЕРЖДАЮ
«_______» __________________ 2016 г.
______________ Зав. кафедрой компьютерных технологий В.П. Желтов
Задание на курсовое проектирование
студенту группы _КТ-31-14 Иванову И.И.
1. Тема проекта (работы)
Клиент-серверная база сайтов_____________________________________________ __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
2. Срок сдачи студентом законченного проекта (работы)
01.06.2016 г.____________________________________________________________
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. Дата выдачи задания
0
4.02.2016
г.
Руководитель_________________________________________
Задание принял к исполнению____________________________
(дата)
______________________________
(подпись студента)
О главление
Введение 5
1 Обзор и анализ технических решений 6
Выводы 8
2 Проектно-конструкторская часть 9
2.1 Функциональные подсистемы 9
2.2 Модели и алгоритмы решения задач 9
2.3 Программное обеспечение 10
2.4 Информационное обеспечение 10
2.5 Техническое обеспечение и сетевое взаимодействие 10
2.6 Защита информации 11
Выводы 11
3 Технологическая часть 12
3.1 Технологический процесс обработки информации для решения поставленных задач 12
3.2 Руководство пользователя и сведения о программе 12
3.3 Руководство администратора 12
3.4 Руководство программиста 12
Выводы 13
Заключение 20
Список литературы 21
Приложение A 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 Проектно-конструкторская часть
Функциональные подсистемы
Действующий комплекс программ может иметь в себе алгоритмическую часть и интерфейсную часть, а также базу данных. Алгоритмическая часть достаточно примитивна и состоит в использовании готовых методов для работы с наборами данных Turbo Delphi. Интерфейсная часть состоит из API (Application Programming Interface, прикладного программного интерфейса) и GUI. API основан на ADO и провайдере MySQL.
Графический пользовательский интерфейс GUI (Graphics User Interface) нужно проектировать как Windows-приложение, либо как Web-приложение. Выбираем первый вариант - Windows-приложение.
Модели и алгоритмы решения задач
Модель БД может представляться в виде ER-диаграмм (рис. 2.1), что означает «Entity-Relationship Diagrams» («Диаграммы сущности-связи»).
Рисунок 2.1 – ER-диаграмма
В нашем случае имеется одна таблица, содержащая все необходимые данные. Однако там данные не совсем доступны из Delphi – для строк только первые 10 символов, и BLOB-поля, где должны храниться рисунки, заполняются другим методом, соответственно недоступны, а это все надо иметь полностью. Требуется дополнительная таблица Tfull, для простоты разработаем ее в Microsoft Access. Она должна содержать полные наименования сайтов и полноценные рисунки, а не тот урезанный вариант, который дают предоставляемые провайдером MySQL 64 кбайта на рисунок. Ключевым элементом является поле f, содержащее 10-символьные сокращения названий сайтов, до которого урезает провайдер MySQL длинные строки из базы данных MySQL.
Теперь, когда мы имеем математическую модель, можно разработать алгоритм работы программы. Алгоритм несложный, логика его работы понятна и излишних пояснений не требует. Сам алгоритм в виде соответствующей блок-схемы изображен в приложении В.
Программное обеспечение
Программное обеспечение представлено следующими пакетами, имеющими образовательную лицензию либо свободно распространяемыми:
– 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.
Проектантом разрабатывается новый комплекс программ, листинг которого приводится в приложении А.
Информационное обеспечение
Информационное обеспечение разрабатываемого комплекса программ – это сайт Федерального государственного бюджетного образовательного учреждения высшего образования (ФГБОУ ВО) «Чувашский государственный университет имени И.Н. Ульянова» и сайт кафедры компьютерных технологий этого вуза. Это в первую очередь связано с защитой авторских прав. Нельзя без согласия авторов сайтов использовать их изображения. Получать эти согласия – дело длительное и порой безнадежное. Для учебных целей этого не надо вообще. Во-первых, информация может устареть, став дезинформацией. При случайной ошибке будет искажение данных. Единственное достоинство – не надо заботиться о конфиденциальности этой информации. Следовательно, в учебных целях надо брать свои сайты.
Кроме того, проектант заполняет собственную базу данных сайтов, что также может считаться информационным обеспечением.
