Создание электронного учебника
Особенности создания электронного учебника. Важные тенденции в современной компьютерной промышленности. Учебное электронное издание и регламентирующие его материалы. Стандарты и язык веб-документов, разработка новых браузеров и компьютерных программ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.11.2011 |
Размер файла | 38,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
План
Введение
Глава I. Создание электронного учебника
1. Основные понятия
2. Регламентирующие материалы
3. Характеристика электронного учебника
Глава II. Язык разметки веб-документов XHTML
1. Определение XHTML
2. Правила использования
3. Значение XHTML
Глава III. Реализация SQL запросов к реляционной базе данных на сервере MYSQL посредством PHP скриптов
1. Определение инструментария PHP
2. MySQL
3. Язык SQL как стандартный язык баз данных
Заключение
Приложение
Введение
В современном образовании всё большее значение приобретает интерактивное взаимодействие преподавателя и студента, а также студента с объектом изучения. В этом плане развитие информационных технологий придает высокую динамику и форсирует применение этих технологий в современном образовательном процессе. В данных условиях преподаватель вынужден искать или разрабатывать новые методики обучения, которые соответствовали бы самым современным условиям и стандартам, применяемым в мировой практике высшего образования. Данные методики базируются на широком применении, прежде всего достижений компьютерной индустрии и глобальной сети Интернет. Самой распространенной методикой образования в сети Интернет, сегодня, стало дистанционное обучение. Данная методика базируется на так называемых электронных интерактивных пособиях или просто «электронных учебниках». Электронные учебники имеют массу достоинств по сравнению с печатными:
· облегчает понимание изучаемого материала за счет иных, нежели в печатной учебной литературе, способов подачи материала: индуктивный подход, воздействие на слуховую и эмоциональную память и т.п.;
· допускает адаптацию в соответствии с потребностями учащегося, уровнем его подготовки, интеллектуальными возможностями и амбициями;
· освобождает от громоздких вычислений и преобразований, позволяя сосредоточиться на сути предмета, рассмотреть большее количество примеров и решить больше задач;
· предоставляет широчайшие возможности для самопроверки на всех этапах работы;
· дает возможность красиво и аккуратно оформить работу и сдать ее преподавателю в виде файла или распечатки;
· выполняет роль бесконечно терпеливого наставника, предоставляя практически неограниченное количество разъяснений, повторений, подсказок и проч.
Кроме данных факторов подтверждающих актуальность создания электронных пособий необходимо указать на возможность использования для их создания различного рода языков программирования, таких как PHP, Java, Perl и т. д. Использование скриптов написанных на данных языках совместно с языком разметки веб-документов, составляющих электронный учебник, дает неограниченные возможности для создания поистине интерактивного учебного пособия в реальном времени взаимодействующего с учащимся.
Объектом исследования является процесс создания электронного учебного пособия с использованием PHP скриптов позволяющих отправлять SQL запросы к реляционной базе данных находящейся на сервере MySQL.
Предметом исследования являются содержательные и методические аспекты создания электронного интерактивного учебника на тему «Реляционные базы данных».
Перед данным исследованием поставлена следующая основная цель:
создать электронное учебное пособие на языке разметки XHTML1.1 с использованием PHP скриптов, позволяющих отправлять SQL запросы к реляционной базе данных, находящейся на сервере MySQL и выводить полученный результат в виде таблиц на веб-страницу.
Достижение поставленной цели осуществлялось через постановку и решение следующих задач:
1. Собрать и систематизировать учебный материал, связанный с реляционными базами данных.
2. Создать шаблон электронного пособия на языке разметки XHTML1.1.
3. Произвести постраничное распределение и форматирование учебного материала.
4. Создать PHP скрипт для взаимодействия с базой данных MySQL.
5. Создать форму для взаимодействия учебника со скриптом и для ввода запросов SQL.
Основные инструменты, используемые в данной работе: язык разметки XHTML1.1, PHP скрипт, MySQL, разработанная автором реляционная база данных «Платная поликлиника», а также набор запросов SQL.
Практическая ценность работы заключается в том, что данный электронный учебник, в совокупности с разработанной базой данных, можно использовать как полноценное учебное пособие на тему «Реляционные базы данных». Которое позволяет полностью изучить язык манипулирования данными SQL, посредством ввода этих запросов в форму учебника и непосредственного вывода результатов запроса в веб-документ виде таблицы с данными.
Краткое содержание последующих глав работы:
В первой главе дается характеристика методологии создания электронных учебников.
Вторая глава посвящена языку разметки веб-документов XHTML1.1.
В третьей главе описывается язык PHP, а также методология создания скриптов для взаимодействия с базой данных на сервере MySQL. Дана четкая характеристика серверу баз данных MySQL и стандартному языку запросов SQL.
В данной дипломной работе присутствует Приложение в котором дан исходный код PHP скрипта (с описанием) используемого в электронном учебнике для взаимодействия с сервером MySQL.
Глава I. Создание электронного учебника
1. Основные понятия
Многие понятия, связанные с электронным учебником, существенно изменялись в течение последних двадцати лет. Авторам данного документа неоднократно приходилось наблюдать, как в дискуссиях об ЭУ одни участники, исходя из устаревших представлений, выдвигали и отстаивали тезисы, давно ставшие очевидными для других. В практическом плане устаревшие концепции часто приводят к созданию электронных продуктов, выдаваемых за ЭУ, но на самом деле бесполезных ровно постольку, поскольку они ЭУ не являются. Поэтому представляется целесообразным начать изложение с уточнения основных понятий, относящихся к электронным учебником.
Электронное издание (ЭИ) -- это совокупность графической, текстовой, цифровой, речевой, музыкальной, видео-, фото- и другой информации, а также печатной документации пользователя. Электронное издание может быть исполнено на любом электронном носителе -- магнитном (магнитная лента, магнитный диск и др.), оптическом (CD-ROM, DVD, CD-R, CD-I, CD+ и др.), а также опубликовано в электронной компьютерной сети.
Учебное электронное издание (УЭИ) должно содержать систематизированный материал по соответствующей научно-практической области знаний, обеспечивать творческое и активное овладение студентами и учащимися знаниями, умениями и навыками в этой области. УЭИ должно отличаться высоким уровнем исполнения и художественного оформления, полнотой информации, качеством методического инструментария, качеством технического исполнения, наглядностью, логичностью и последовательностью изложения.
Учебник (У)-- учебное издание, содержащее систематическое изложение учебной дисциплины или ее раздела, части, соответствующее государственному стандарту и учебной программе и официально утвержденное в качестве данного вида издания.
Электронный учебник (ЭУ) -- основное УЭИ, созданное на высоком научном и методическом уровне, полностью соответствующее федеральной составляющей дисциплины
Государственного образовательного стандарта специальностей и направлений, определяемой дидактическими единицами стандарта и программой.
Учебное пособие (УП) -- это издание, частично или полностью заменяющее или дополняющее учебник и официально утвержденное в качестве данного вида издания.
Электронное учебное пособие (ЭУП) -- это электронное издание, частично или полностью заменяющее или дополняющее учебник и официально утвержденное в качестве данного вида издания.
Гипертекст -- это текст, представленный в электронной форме и снабженный разветвленной системой связей, позволяющей мгновенно переходить от одного его фрагмента к другому в соответствии с некоторой иерархией фрагментов.
Интеллектуальное ядро (ИЯ) -- специальный комплекс программ, реализующих математические операции в численной и символьной формах.
Компьютерное объяснение -- объяснение, использующее наглядность, индуктивные умозаключения и формирование понятий путем ответов на вопросы типа “да” и “нет”.
Компьютерное решение -- решение таким методом, который, являясь наиболее простым и естественным, требует столь громоздких вычислений и преобразований, что без компьютера не применяется.
Визуализация -- представление в наглядной форме с помощью рисунков, графиков и анимации.
2. Регламентирующие материалы
Закон РФ "Об авторском и смежных правах", Закон РФ "О правовой охране программ для ЭВМ и баз данных", ГОСТ 7.60-90 Система стандартов по информации, библиотечному и издательскому делу (СИБИД). Издания.
Основные виды. Термины и определения.
Приказ Минобразования РФ N1646 от 19.06.98 о создании Федерального экспертного совета по учебным электронным изданиям
Приложение 1. Положение о Федеральном экспертном совете по учебным электронным изданиям
Приложение 2. Инструкция о порядке рассмотрения и утверждения грифа Минобразования на учебные электронные издания
Проект государственного стандарта России "Электронные издания. Основные виды. Выходные сведения"
Пояснительная записка к проекту государственного стандарта России "Электронные издания. Основные виды. Выходные сведения"
3. Характеристика электронного учебника
Реформа современного образования может состояться лишь при условии создания таких компьютерных пакетов (электронных учебников, пособий, тренажеров, тестеров и проч.), наличие которых обеспечит одну и ту же компьютерную среду в специализированной аудитории на практических занятиях, в компьютерном классе учебного заведения или общежитии, оборудованном для самостоятельной работы учащихся, а также дома на персональном компьютере.
Основываясь на официальных определениях электронного издания (ЭИ), учебного электронного издания (УЭИ) и электронного учебника (ЭУ), необходимо расширить и конкретизировать понятие ЭУ.
Электронный учебник (даже самый лучший) не может и не должен заменять книгу. Так же как экранизация литературного произведения принадлежит к иному жанру, так и электронный учебник принадлежит к совершенно новому жанру произведений учебного назначения. И так же как просмотр фильма не заменяет чтения книги, по которой он был поставлен, так и наличие электронного учебника не только не должно заменять чтения и изучения обычного учебника (во всех случаях мы подразумеваем лучшие образцы любого жанра), а напротив, побуждать учащегося взяться за книгу.
Именно поэтому для создания электронного учебника недостаточно взять хороший учебник, снабдить его навигацией (создать гипертексты) и богатым иллюстративным материалом (включая мультимедийные средства) и воплотить на экране компьютера. Электронный учебник не должен превращаться ни в текст с картинками, ни в справочник, так как его функция принципиально иная.
Электронный учебник должен максимально облегчить понимание и запоминание (причем активное, а не пассивное) наиболее существенных понятий, утверждений и примеров, вовлекая в процесс обучения иные, нежели обычный учебник, возможности человеческого мозга, в частности, слуховую и эмоциональную память, а также используя компьютерные объяснения.
Текстовая составляющая должна быть ограничена -- ведь остаются обычный учебник, бумага и ручка для углубленного изучения уже освоенного на компьютере материала.
Глава II. Язык разметки веб-документов XHTML
1. Определение XHTML
XHTML -- это HTML, записанный в соответствии с синтаксическими правилами XML. Таким образом, для понимания XHTML мы должны понять XML. О нем уже написано много статей, так что ограничимся кратким описанием:
XML -- это обобщенный язык разметки. В отличие от HTML, XML позволяет создавать собственные теги и таким образом формировать собственную структуру документа. Вам нужен тег <color-of-hat>? Добавьте его в ваш документ, убедитесь что программа знает, что обозначает этот тег, и все готово.
Существует несколько простых правил для XML документа (они будут перечислены ниже). До тех пор, пока все теги написаны согласно этим правилам, XML без разницы, что эти теги обозначают. XML обобщенный язык разметки, так что вы можете его использовать как вам угодно.
В противоположность XML, HTML гораздо более строго определенный язык разметки с ограниченным набором тегов. В любом случае, общий характер XML позволяет рассматривать HTML-документы как XML-документы с набором тегов для отображения в веб-браузерах. Однако, старые стандарты HTML не до конца совместимы с XML. Например, в HTML необязательно закрывать тег <P>, то есть тег </P> можно опускать. Веб-браузеру на это плевать, так как он запрограммирован, но XML-парсер выдаст ошибку о том, что ваш HTML-документ не является "правильно сформированным" (well-formed).
Чтобы устранить разрыв между этими двумя языками разметки и был разработан XHTML. По существу это обычный HTML, в который добавили синтаксические правила XML для создания well-formed документов. Так что веб-страницы станут XML-совместимыми, а веб-разработчики познакомятся с синтаксисом XML.
2. Правила использования
На практике, в HTML надо добавить четыре правила, чтобы получился XHTML:
Все теги должны быть записаны в нижнем регистре, то есть нельзя писать <BODY>, а надо писать <body>
Все теги должны быть закрыты
2a. В случае, если элемент не имеет закрывающего тега (например, <IMG> или <BR>), надо добавлять слэш в конце тега <img /> и <br />
Вложенность тегов должна быть корректной. Например, нельзя писать <B><P>текст</B></P>, а надо писать <p><b>текст</b></p>
Все атрибуты должны быть заключены в кавычки. Например, нельзя писать <P ALIGN=center>, а надо писать <p align="center">.
Хорошая новость в том, что у браузеров практически нет проблем с XHTML. Вообще говоря, правила 1, 2 и 4 уже есть в HTML, но не являются обязательными, тогда как правило 3 является обязательным, хотя браузеры в большинстве случаев игнорируют ошибки вложенности. Единственное действительно новое правило -- это правило 2а. Однако, это правило приводит к проблемам со старыми браузерами только в том случае, когда вы записываете слэш без пробелов, вот так <br/>. Браузер думает, что это тег br/, а такого он знать не знает, так что никак на него не отреагирует. Если вставлять пробел, то проблема будет решена. Если вы напишите <br />, то браузер увидит тег br с неизвестным атрибутом /. Тег br будет отработан корректно, а неизвестный атрибут / тихо проигнорирован.
Плохая новость в том, что многим придется изменить свои привычки кодирования. Лично мне не нравится правило 1. Во-первых, я не могу понять, почему XML теги могут быть только в нижнем регистре, во вторых, я всегда пишу теги в верхнем регистре, потому что тогда они лучше выделяются в тексте. Почему я должен отказаться от этого, если это удобно? В любом случае, я не изменю своих привычек без веской на то причины.
3.Значение XHTML.
Итак, зачем использовать XHTML вместо старого доброго HTML? Консорциум W3C выделяет следующие причины:
"Разработчики документов и разработчики браузеров откроют новые пути выражения своих идей через новую разметку. В XML относительно легко вводить новые элементы или новые атрибуты. Язык XHTML разработан для согласования этого расширения посредством специальных XHTML-модулей, которые можно разрабатывать совершенно самостоятельно. Эти модули позволят комбинировать существующие и новые возможности при разработке новых документов и новых браузеров."
"Постоянно появляются новые альтернативные способы доступа в интернет. […] XHTML разрабатывался с учетом общей совместимости пользовательских браузеров (user agents). Так чтобы новые пользовательские браузеры, сервера и прокси могли достичь наилучшей трансформации контента. В конечном счете, можно будет разработать XHTML-конформный контент, который будет доступен из любого XHTML-конформного пользовательского браузера"
Короче говоря в будущем, которое пока неизвестно, улучшения XHTML будут позволять разработчикам использовать новейшие, пока не написанные, модули для расширения XHTML, чтобы включать новые, пока не определенные, вещи в свои веб-страницы. В добавок ко всему, W3C ожидает, что в будущие браузеры будут использовать XHTML вместо HTML.
электронный учебник язык компьютерная программа
Глава III. Реализация SQL запросов к реляционной базе данных на сервере MYSQL посредством PHP скриптов.
1.Определение инструментария PHP.
PHP - это скрипт-язык (scripting language), встраиваемый в HTML, который интерпретируется и выполняется на сервере. Проще всего это показать на примере:
<html>
<head>
<title>Example</title>
</head>
<body>
<?php echo "Hi, I'm a PHP script!"; ?>
</body>
</html>
После выполнения этого скрипта мы получим страничку, в которой будет написано:
Hi, I'm a PHP script!
Весьма просто и бесполезно.
Основное отличие от CGI-скриптов, написанных на других языках, типа Perl или C - это то, что в CGI-программах вы сами пишете выводимый HTML-код, а, используя PHP - вы встраиваете свою программу в готовую HTML-страницу, используя открывающий и закрывающий теги (в примере <?php и ?>).
Отличие PHP от JavaScript, состоит в том, что PHP-скрипт выполняется на сервере, а клиенту передается результат работы, тогда как в JavaScript-код полностью передается на клиентскую машину и только там выполняется.
Любители Internet Information Server найдут, что PHP очень похож на Active Server Pages (ASP), а энтузиасты Java скажут, что PHP похож на Java Server Pages (JSP). Все три языка позволяют размещать код, выполняемый на Web-сервере, внутри HTML страниц.
В нескольких словах - на PHP можно сделать все, что можно сделать с помощью CGI-программ. Например: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать куки (cookies).
Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание Web-приложений с использованием БД до невозможности простым.
Вот неполный перечень поддерживаемых БД:
Adabas D
InterBase
Solid
dBase
mSQL
Sybase
Empress
MySQL
Velocis
FilePro
Oracle
Unix dbm
Informix
PostgreSQL
Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет возможность работать с сокетами (sockets) и общаться по другим протоколам.
Началом PHP можно считать осень 1994 года, когда Rasmus Lerdorf решил расширить возможности своей Home-page и написать небольшой движок для выполнения простейших задач. Такой движок был готов к началу 1995 года и назывался Personal Home Page Tools. Умел он не очень много - понимал простейший язык и всего несколько макросов.
К середине 1995 года появилась вторая версия, которая называлась PHP/FI Version 2. Приставка FI - присоединилась из другого пакета Rasmusa, который умел обрабатывать формы (Form Interpritator). PHP/FI компилировался внутрь Apache и использовал стандартный API Apache. PHP скрипты оказались быстрее аналогичных CGI - скриптов, так как серверу не было необходимости порождать новый процесс. Язык PHP по возможностям приблизился к Perl, самому популярному языку для написания CGI-программ. Была добавлена поддержка множества известных баз данных (например, MySQL и Oracle). Интерфейс к GD - библиотеке, позволял генерировать картинки на лету. С этого момента началось широкое распространение PHP/FI.
В конце 1997 Zeev Suraski и Andi Gutmans решили переписать внутренний движок, с целью исправить ошибки интерпретатора и повысить скорость выполнения скриптов. Через полгода, 6 июня 1998 года вышла новая версия, которая была названа PHP 3.
К лету 1999 года PHP 3 был включен в несколько коммерческих продуктов. По данным NetCraft на ноябрь 1999 PHP использовался в более чем 1 млн. доменах.
Разработчикам Web-приложений нет необходимости говорить, что web-страницы - это не только текст и картинки. Достойный внимания сайт должен поддерживать некоторый уровень интерактивности с пользователем : поиск информации, продажа продуктов, конференции и т.п. Традиционно все это реализовалось CGI-скриптами, написанными на Perl. Но CGI- скрипты очень плохо масштабируемы. Каждый новый вызов CGI, требует от ядра порождения нового процесса, а это занимает процессорное время и тратит оперативную память. PHP предлагает другой вариант - он работает как часть Web-сервера, и этим самым похож на ASP от Microsoft.
Синтаксис PHP очень похож на синтаксис C или Perl. Люди, знакомые с программированием, очень быстро смогут начать писать программы на PHP. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти.
Программы, написанные на PHP, достаточно легко читаемы. Написанный PHP - код легко зрительно прочитать и понять, в отличие от Perl-программ.
PHP является интерпретируемым языком, и, вследствие этого, не может сравниться по скорости с компилируемым С. Однако при написании небольших программ, что, в общем-то, присуще проектам на PHP, когда весь проект состоит из многих небольших страниц с кодом, вступают в силу накладные расходы на загрузку в память и вызов CGI-программы, написанной на С.
Не такая большая база готовых модулей, как, например, СPAN у Perl. С этим ничего нельзя поделать - это дело времени. В PHP 4 разработчики предусмотрели специальный репозиторий PEAR, аналогичный CPAN, и я думаю, очень скоро будет написано достаточное количество модулей для его наполнения.
Примеры использования PHP
Работа с формами.
В этом примере показано как в PHP легко обрабатывать данные с HTML - форм.
Создадим простой HTML файл.
<HTML>
<HEAD>
<TITLE>Запрос информации</TITLE>
<BODY>
<CENTER>
Хотите больше знать о наших товарах?
<P>
<TABLE WIDTH = 400><TR><TD align = right>
<FORM ACTION="email.php" METHOD="POST">
Ваше имя:<BR> <INPUT TYPE="text" NAME="name" SIZE="20" MAXLENGTH="30">
<P>
Ваш email:<BR> <INPUT TYPE="text" NAME="email" SIZE="20" MAXLENGTH="30">
<P>
Меня интересуют:
<SELECT NAME="preference">
<OPTION value = "Яблоки">Яблоки
<OPTION value = "Апельсины">Апельсины
</SELECT>
<P>
<INPUT TYPE="submit" VALUE="Отправить запрос!">
</FORM>
</TD></TR></TABLE></CENTER>
</BODY>
</HTML>
Назовем этот файл request.html. В нем мы указали, что данные формы будут обрабатываться файлом email.php. Приведем его содержание:
<?
/* Этот скрипт получает переменные из request.html */
PRINT "<CENTER>";
PRINT "Привет, ".$_POST['name'];
PRINT "<BR><BR>";
PRINT "Спасибо за ваш интерес.<BR><BR>";
PRINT "Вас интересуют ".$_POST['preference'].",
информацию о них мы пошлем вам на email: ".$_POST['email'];
PRINT "</CENTER>";
?>
Теперь, если пользователь вызовет request.html и наберет в форме имя “Вася”, email: vasya@pupkin.com и скажет, что его интересуют “Яблоки”, а после этого нажмет "Отправить запрос!", то в ответ вызовется email.php, который выведет на экран примерно следующее:
Привет, Вася
Спасибо за ваш интерес.
Вас интересуют Яблоки. Информацию о них мы пошлем вам на email: vasya@pupkin.com
Теперь мы должны сдержать обещание и выслать email.
Для этого в PHP есть функция MAIL.
Синтаксис: void mail(string to, string subject, string message, string add_headers);
to - email адрес получателя.
subject - тема письма.
message - собственно текст сообщения.
add_headers - другие параметры заголовка письма (необязательный параметр).
Допишем в конец файла email.php следующий код
<?php
$subj = "Запрос на информацию";
$text = "Уважаемый ".$_POST['name']."!
Спасибо за ваш интерес!
Вас интересуют ".$_POST['preference']."
Мы их распространяем бесплатно.
Обратитесь в ближайший филиал нашей компании и получите ящик этого продукта.";
mail($_POST['email'], $subj, $text);
$subj = "Поступил запрос на информацию";
$text = $_POST['name']." интересовали ".$_POST['preference']." email-адрес: ".$_POST['email'];
mail($adminaddress, $subj, $text);
?>
Вот теперь пользователь будет получать письмо с более подробной информацией о наших товарах. Также письмо получит и администратор сайта.
Когда интересующихся нашими товарами станет очень много, мы захотим их как-то упорядочить и хранить информацию о них в базе данных. Об этом в следующем примере.
2. MySQL.
MySQL - компактный многопоточный сервер баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании.
MySQL был разработан компанией TcX для внутренних нужд, которые заключались в быстрой обработке очень больших баз данных. Компания утверждает, что использует MySQL с 1996 года на сервере с более чем 40 БД, которые содержат 10,000 таблиц, из которых более чем 500 имеют более 7 миллионов строк.
MySQL является идеальным решением для малых и средних приложений. Исходники сервера компилируются на множестве платформ. Наиболее полно возможности сервера проявляются на Unix-серверах, где есть поддержка многопоточности, что дает значительный прирост производительности.
На текущий момент MySQL все еще в стадии разработки, хотя версии 3.22 полностью работоспособны.
MySQL-сервер является бесплатным для некоммерческого использования. Иначе необходимо приобретение лицензии, стоимость которой составляет 190 EUR.
Возможности MySQL.
MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.
Поддерживается неограниченное количество пользователей, одновременно работающих с базой данных.
Количество строк в таблицах может достигать 50 млн.
Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих.
Простая и эффективная система безопасности.
MySQL действительно очень быстрый сервер, но для достижения этого разработчикам пришлось пожертвовать некоторыми требованиями к реляционным СУБД. В MySQL отсутствуют:
Поддержка вложенных запросов, типа SELECT * FROM table1 WHERE id IN (SELECT id FROM table2).
Не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLE.
Нет поддержки триггеров и хранимых процедур.
По словам создателей именно эти пункты дали возможность достичь высокого быстродействия. Их реализация существенно снижает скорость сервера. Эти возможности не являются критичными при создании Web-приложений, что в сочетании с высоким быстродействием и малой ценой позволило серверу приобрести большую популярность
Работа с MySQL (сохранение данных в базе данных).
Для начала создаем базу данных и таблицу. Входим в MySQL, и выполняем команды:
>CREATE DATABASE products;
>CREATE TABLE clients (name VARCHAR(25), email VARCHAR(25), choise VARCHAR(8));
Для общения с MySQL из PHP понадобятся следующие функции.
int mysql_connect(string hostname, string username, string password);
Создать соединение с MySQL.
Параметры:
Hostname - имя хоста, на котором находится база данных.
Username - имя пользователя.
Password - пароль пользователя.
Функция возвращает параметр типа int, который больше 0, если соединение прошло успешно, и равен 0 в противном случае.
int mysql_select_db(string database_name, int link_identifier);
Выбрать базу данных для работы.
Параметры:
Database_name - имя базы данных.
link_identifier - ID соединения, которое получено в функции mysql_connect. (параметр необязательный, если он не указывается, то используется ID от последнего вызова mysql_connect)
Функция возвращает значение true или false
int mysql_query(string query, int link_identifier);
Функция выполняет запрос к базе данных.
Параметры:
Query - строка, содержащая запрос
link_identifier - см. предыдущую функцию.
Функция возвращает ID результата или 0, если произошла ошибка.
int mysql_close(int link_identifier);
Функция закрывает соединение с MySQL.
Параметры:
link_identifier - см. выше.
Функция возвращает значение true или false
Теперь наш файл email.php будет иметь след. вид:
<?
/* Этот скрипт получает переменные из request.html */
/* Переменные для соединения с базой данных */
$hostname = "localhost";
$username = "myusername";
$password = "mypassword";
$dbName = "products";
/* Таблица MySQL, в которой хранятся данные */
$userstable = "clients";
/* email администратора */
$adminaddress = "administration@me.com";
/* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
echo "<CENTER>";
echo "Привет, ".$_POST['name'];
echo "<BR><BR>";
echo "Спасибо за ваш интерес.<BR><BR>";
echo "Вас интересуют ".$_POST['preference'].". Информацию о них мы пошлем вам на email: ".$_POST['email'];
echo "</CENTER>";
/* Отправляем email-ы */
$subj = "Запрос на информацию";
$text = "Уважаемый ".$_POST['name']."!
Спасибо за ваш интерес!
Вас интересуют ".$_POST['preference']."
Мы их распространяем бесплатно.
Обратитесь в ближайший филиал нашей компании и получите ящик этого продукта.";
mail($_POST['email'], $subj, $text);
$subj="Поступил запрос на информацию";
$text = $_POST['name']." интересовали ".$_POST['preference']." email-адрес: ".$_POST['email'];
mail($adminaddress, $subj, $text);
/* составить запрос для вставки информации о клиенте в таблицу */
$query = "INSERT INTO $userstable VALUES('$name','$email', '$preference')";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
echo "Информация о вас занесена в базу данных.";
/* Закрыть соединение */
mysql_close();
?>
Вот так легко можно работать с базой данных в PHP. Теперь кроме письменных уведомлений, информация о клиенте и его интересах будет заносится в таблицу MySQL.
Работа с MySQL (получение данных из базы данных).
После занесения данных, нас иногда будет интересовать вопрос так кого же из наших клиентов интересует товар “Яблоки
Напишем скрипт apple.php
<?
/* Скрипт показывает клиентов, которые яблоки любят больше чем апельсины */
/* Переменные для соединения с базой данных */
$hostname = "localhost";
$username = "myusername";
$password = "mypassword";
$dbName = "products";
/* Таблица MySQL, в которой хранятся данные */
$userstable = "clients";
/* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());
/* составить запрос, который выберет всех клиентов - яблочников */
$query = "SELECT * FROM $userstable WHERE choise = 'Яблоки'";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
/* Как много нашлось таких */
$number = mysql_num_rows($res);
/* Напечатать всех в красивом виде*/
if ($number == 0) {
echo "<CENTER><P>Любителей яблок нет</CENTER>";
} else {
echo "<CENTER><P>Количество любителей яблок: $number<BR><BR>";
/* Получать по одной строке из таблицы в массив $row, пока строки не кончатся */
while ($row=mysql_fetch_array($res)) {
echo "Клиент ".$row['name']." любит Яблоки.<BR>";
echo "Его Email: ".$row['email'];
echo "<BR><BR>";
}
echo "</CENTER>";
}
?>
3. Язык SQL как стандартный язык баз данных
Стремительный рост популярности SQL является одной из самых важных тенденций в современной компьютерной промышленности. За несколько последних лет SQL стал единственным языком баз данных. На сегодняшний день SQL поддерживают свыше ста СУБД, работающих как на персональных компьютерах, так и на больших ЭВМ. Был при-нят, а затем дополнен официальный международный стандарт на SQL. Язык SQL является важным звеном в архитектуре систем управления базами данных, выпускаемых всеми ведущими поставщиками программных продуктов, и служит стратегическим направлением разработок компании Microsoft в области баз данных. Зародившись в результате выполнения второстепенного исследовательского проекта компании IBM, SQL сегодня широко известен и в качестве мощного рыночного фактора.
Язык SQL
SQL является инструментом, предназначенным для обработки и чтения данных, со-держащихся в компьютерной базе данных. SQL - это сокращенное название структуриро-ванного языка запросов (Structured Query Language). Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия поль-зователя с базой данных. На самом деле SQL работает только с базами данных одного оп-ределенного типа, называемых реляционными. На рис. 2.1 изображена схема работы SQL. Согласно этой схеме, в вычислительной системе имеется база данных, в которой хранится важная информация. Если вычислительная система относится к сфере бизнеса, то в базе данных может храниться информация о материальных ценностях, выпускаемой продукции, объемах продаж и зарплате. В базе данных на персональном компьютере может храниться информация о выписанных чеках, телефонах и адресах или информация, извлеченная из более крупной вычислительной системы. Компьютерная программа, которая управляет базой данных, называется системой управления базой данных, или СУБД.
Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется за-просом к базе данных: отсюда и название -- структурированный язык запросов.
Однако это название не совсем соответствует действительности. Во-первых, сегодня SQL представляет собой нечто гораздо большее, чем простой инструмент создания за-просов, хотя именно для этого он и был первоначально предназначен. Несмотря на то, что чтение данных по-прежнему остается одной из наиболее важных функций SQL, сейчас этот язык используется для реализации всех функциональных возможностей, которые СУБД предоставляет пользователю, а именно:
* Организация данных. SQL дает пользователю возможность изменять структуру пред-ставления данных, а также устанавливать отношения между элементами базы данных.
* Чтение данных. SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими.
* Обработка ванных. SQL дает пользователю или приложению возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные.
* Управление доступом. С помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа.
* Совместное использование данных. SQL координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу.
* Целостность данных. SQL позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы.
Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД.
Во-вторых, SQL -- это не полноценный компьютерный язык типа COBOL, FORTRAN или С. В SQL нет оператора IF для проверки условий, нет оператора GOTO для организации переходов и нет операторов DO или FOR для создания циклов. SQL является подъязыком баз данных, в который входит около тридцати операторов, предназначенных для управления базами данных. Операторы SQL встраиваются в базовый язык, например COBOL, FORTRAN или С, и дают возможность получать доступ к базам данных. Кроме того, из такого языка, как С, операторы SQL можно посылать СУБД в явном виде, используя интерфейс вызовов функций.
Наконец, SQL -- это слабо структурированный язык, особенно по сравнению с такими сильно структурированными языками, как С или Pascal. Операторы SQL напоминают английские предложения и содержат "слова-пустышки", не влияющие на смысл оператора, но облегчающие его чтение. В SQL почти нет нелогичностей, к тому же имеется ряд спе-циальных правил, предотвращающих создание операторов SQL, которые выглядят как абсолютно правильные, но не имеют смысла.
Несмотря на не совсем точное название, SQL на сегодняшний день является единст-венным стандартным языком для работы с реляционными базами данных. SQL -- это достаточно мощный и в то же время относительно легкий для изучения язык.
Роль SQL
Сам по себе SQL не является ни системой управления базами данных, ни отдельным программным продуктом. Нельзя пойти в компьютерный магазин и "купить SQL". SQL -- это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с ней. На рис. 2.2. изображена структурная схема типичной СУБД, компо-ненты которой соединяются в единое целое с помощью SQL (своего рода "клея").
Ядро базы данных является сердцевиной СУБД; оно отвечает за физическое структу-рирование и запись данных на диск, а также за физическое чтение данных с диска. Кроме того, оно принимает SQL-запросы от других компонентов СУБД (таких как генератор форм, генератор отчетов или модуль формирования интерактивных запросов), от пользо-вательских приложений и даже от других вычислительных систем. Как видно из рисунка, SQL выполняет много различных функций:
* SQL -- интерактивный язык запросов. Пользователи вводят команды SQL в интерак-тивные программы, предназначенные для чтения данных и отображения их на экране. Это удобный способ выполнения специальных запросов.
* SQL -- язык программирования баз данных. Чтобы получить доступ к базе данных, программисты вставляют в свои программы команды SQL. Эта методика используется как в программах, написанных пользователями, так и в служебных программах баз данных (таких как генераторы отчетов и инструменты ввода данных).
* SQL -- язык администрирования баз данных. Администратор базы данных, находя-щейся на мини-компьютере или на большой ЭВМ, использует SQL для определения структуры базы данных и управления доступом к данным.
* SQL -- язык создания приложений клиент/сервер, и программах для персональных компьютеров SQL используется для организации связи через локальную сеть с сервером базы данных, в которой хранятся совместно используемые данные. В большинстве но-вых приложений используется архитектура клиент/сервер, которая позволяет свести к минимуму сетевой трафик и повысить быстродействие как персональных компьютеров, так и серверов баз данных.
* SQL -- язык распределенных баз данных. В системах управления распределенными ба-зами данных SQL помогает распределять данные среди нескольких взаимодействующих вычислительных систем. Программное обеспечение каждой системы посредством ис-пользования SQL связывается с другими системами, посылая им запросы на доступ к данным.
* SQL -- язык шлюзов базы данных. В вычислительных сетях с различными СУБД SQL часто используется в шлюзовой программе, которая позволяет СУБД одного типа свя-зываться с СУБД другого типа.
Таким образом, SQL превратился в полезный и мощный инструмент, обеспечивающий людям, программам и вычислительным системам доступ к информации, содержащейся в реляционных базах данных.
Достоинства SQL
SQL -- это легкий для понимания язык и в то же время универсальное программное средство управления данными.
Успех языку SQL принесли следующие его особенности:
* независимость от конкретных СУБД;
* переносимость с одной вычислительной системы на другую;
* наличие стандартов;
* одобрение компанией IBM (СУБД DB2);
* поддержка со стороны компании Microsoft (протокол ODBC);
* реляционная основа;
* высокоуровневая структура, напоминающая английский язык;
* возможность выполнения специальных интерактивных запросов:
* обеспечение программного доступа к базам данных;
* возможность различного представления данных;
* полноценность как языка, предназначенного для работы с базами данных;
* возможность динамического определения данных;
* поддержка архитектуры клиент/сервер.
Все перечисленные выше факторы явились причиной того, что SQL стал стандартным инструментом для управления данными на персональных компьютерах, мини-компьютерах и больших ЭВМ. Ниже эти факторы рассмотрены более подробно.
Заключение
В данной работе достигнуты следующие результаты:
· Собран и систематизирован учебный материал, связанный с реляционными базами данных.
· Создан шаблон электронного пособия на языке разметки XHTML1.1.
· Произведено постраничное распределение и форматирование учебного материала.
· Создан PHP скрипт для взаимодействия с базой данных MySQL.
· Создана форма для взаимодействия учебника со скриптом и для ввода запросов SQL.
Приложение
PHP скрипт для ввода и вывода SQL запросов из базы данных «Платная поликлиника».
<?php
/* Соединяемся, выбираем базу данных */
$link = mysql_connect("mysql_host", "mysql_user", "mysql_password")
or die("Could not connect : " . mysql_error());
print "Connected successfully";
mysql_select_db("my_database") or die("Could not select database");
/* Выполняем SQL-запрос */
$query = "SELECT * FROM my_table";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
/* Выводим результаты в html */
print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";
/* Освобождаем память от результата */
mysql_free_result($result);
/* Закрываем соединение */
mysql_close($link);
?>
Размещено на Allbest.ru
Подобные документы
Создание одной из форм обучения с использованием средств новых информационных технологий - электронного учебника. Администрирование электронного учебного пособия на тему "Линейное программирование". Проектирование структуры электронного учебника.
курсовая работа [1,7 M], добавлен 09.06.2010Структурные элементы электронного учебника. Основные этапы разработки электронного учебника. Варианты структуры электронного образовательного издания. Подготовка электронного издания к эксплуатации. Методическое обеспечение электронного учебника.
презентация [506,5 K], добавлен 28.12.2014Концептуальные основы разработки электронного учебника на основе гипертекстовых технологий. Архитектура учебного пособия. Этапы построения электронного учебника "Информатика" и его структура. Анализ практического использования электронного учебника.
дипломная работа [104,9 K], добавлен 02.05.2012Особенности электронных учебных пособий и основные принципы их создания. Сбор и подготовка исходного материала для электронного учебного пособия. Разработка структуры электронного пособия. Выбор программ и разработка интерфейса электронного учебника.
дипломная работа [738,5 K], добавлен 27.06.2012Электронный учебник как средство самообразования. Основные принципы самообразования. Этапы проектирования электронного учебника, построение интерфейса системы. Язык гипертекстовой разметки HTML. Структура электронного учебника по "Численным методам".
дипломная работа [5,9 M], добавлен 15.03.2012Электронный учебник как средство самообразования. Основные этапы проектирования электронного учебника. Методика использования электронных учебников. Язык гипертекстовой разметки HTML. Структура электронного учебника по дисциплине "Численные методы".
дипломная работа [4,9 M], добавлен 02.05.2012Объектно-ориентированное программирование. Особенности использования формата CHM, его преимущества. Создание электронного учебника на тему "Язык программирования C++" с помощью компиляции html-страниц. Правильное сочетание тегов, структура документа.
курсовая работа [1,0 M], добавлен 27.10.2012Использование программы Microsoft Word 2010 при создании электронного учебника. Структура учебника, навигация, полнотекстный поиск, защита информации от изменений. Алгоритм разработки программного продукта. Описание технологических средств учебника.
контрольная работа [196,9 K], добавлен 06.05.2014Создание электронного учебника, его предназначение, структура, логотип, начальная и главная страницы, разделы. Разработка стандартных фреймов, анимации с элементами мультимедиа и их внедрение в учебник. Руководство для пользователя электронным учебником.
курсовая работа [3,4 M], добавлен 15.01.2010Описание электронного учебника, требования к его внутренней структуре и элементам. Технические характеристики и основные программные средства, используемые в процессе разработки. Формирование руководства пользователя, информационный интерфейс учебника.
курсовая работа [1,5 M], добавлен 17.08.2015