|
Программирование >> Программный интерфейс приложений
прямо в базу данных. Таким образом, при генерации вопросов Web-сервер делает запрос базы данных случайным образом. Отлично! С этого момента число пользователей базы данных позволит вам понять, что вы немного отклонились от предначертанной цели. После небольшого тайм-аута вернитесь с небес на землю и задайте себе пару вопросов, затрагивающих практические аспекты. Не слишком ли много амбиций? Не слишком ли много требуется проделать работы? Нет ничего проще, чем задумать что-либо и не сделать этого. Я совсем не хочу сказать, что все это просто реализовать. Тем не менее, к концу этой книги вы уже сможете проделать все то, что здесь было запланировано. Просто надо помнить, что ничего нельзя сделать сразу. Следует разделить работу на отдельные этапы. И постепенно, шаг за шагом, их осуществлять. Способна ли СУБД MySQL делать все это? Нет. Например, СУБД MySQL не обладает непосредственной способностью работать с Internet. Но если СУБД MySQL сама не обладает такими возможностями, для этого есть профаммное обеспечение, дополняющее и расширяющее возможности СУБД MySQL. Для написания сценариев доступа к базам данных СУБД MySQL мы воспользуемся языком написания сценариев Perl и модулем DBI (database interface - интерфейс базы данных). Язык Perl обладает отличными возможностями и позволяет производить вывод данных в различных форматах. Например, с помощью Perl список можно выдавать в формате Rich Text Format (RTF). Это формат, который воспринимается любым текстовым редактором. Мы также можем воспользоваться языком написания сценариев РНР. Язык РНР полностью адаптирован к написанию Web-приложений и позволяет работать с базами данных. Это позволит генерировать запросы СУБД MySQL прямо с Web-сфаниц и генерировать новые сфаницы, содержащие результаты запросов к базе данных. Этот язык хорошо адаптирован для работы с Web-сервером Apache (самый популярный Web-сервер), упрощающим выборку данных и отображение результатов выборки. СУБД MySQL хорошо интефируется с этим профаммным обеспечением и позволяет гибко комбинировать его по своему усмофению в соответствии с поставленными задачами. Это интефированный компонент, обладающий высокой степенью интефации все в одном . И наконец, самый больной вопрос - сколько все это стоит? Бюджет организации довольно офаничен. Но как ни удивительно, это не будет вам ничего стоить. Если вы знакомы с основными базами данных, имеющимися на рынке, то должны знать, что они достаточно дороги. В отличие от них, СУБД MySQL обычно распросфаняется бесплатно. При определенных условиях необходима лицензия, стоимость которой составляет 200 долларов за неофаниченное количество пользователей. (Для ознакомления с условиями лицензирования см. руководство по СУБД MySQL.) Бесплатно распространяется и другое профаммное обеспечение (Perl, DBI, РНР, -ЛфасЬе). Выбор операционной системы ложится целиком и полностью на вас. Все профаммное обеспечение работает под ОС UNIX, большинство под ОС Windows. Я могу порекомендовать вариант с ОС UNIX. Все профаммное обеспечение было разработано для среды UNIX и позже перенесено в Windows. Поэтому оно чаше используются в UNIX, чем под Windows. Со всей определенностью можно сказать, что версии под Windows менее отлажены и протестированы. Теперь давайте рассмотрим другой сценарий использования базы данных. Проект Учет успеваемости Отправным пунктом этого сценария является учитель, на которого возложены обязанности учета успеваемости учащихся. У вас существует намерение заменить ручной учет, который производился с помощью журнала, на электронное ведение дел с помощью СУБД MySQL. В этом случае вы хотите извлечь из базы данных то же, что и из вашего журнала успеваемости По результатам викторин и тестов записываются баллы, полученные учащимися. Баллы тестов имеют такое обозначение, чтобы с первого взгляда на них можно было определить оценку (А, В, С, D и F). В конце каждого учебного периода производится подсчет суммарного балла каждого учащегося. Затем они сортируются и на их основании проставляются оценки. Суммы могут содержать взвешенные коэффициенты, так как вы, вероятно, захотите акцентировать внимание на результатах тестов, а не на результатах викторин. По завершению учебного периода вы представляете оценку посещаемости школьному руководству. Целью этого проекта является попытка избежать сортировки и суммирования оценок успеваемости и посещаемости вручную. Другими словами, СУБД MySQL вам нужна для сортировки оценок и вычислений, необходимых для получения суммарных баллов учащихся и числа пропусков занятий по завершении учебного периода. Для этого необходимы список учащихся, баллы, полученные за каждую викторину или тест, даты пропуска занятий учащимися. Каким образом пример базы данных можно использовать в конкретном случае Вас не интересует ни пример с Исторической Лигой , ни пример учета успеваемости/посещаемости? Ответом может быть то, что эти примеры не могут являться самоцелью. Это только средство, с помощью ко- Toporo демонстрируются возможности СУБД MySQL и соответствующего профаммного обеспечения. Теперь рассмофим, как примеры запросов к базе данных применимы к конкретным задачам, которые вы собираетесь решать. Предположим, что вы работаете в стоматологическом кабинете. Автор уже ссылался на этот пример. В этой книге вы не найдете никаких примеров, связанных со стоматологией, но вы встретите много запросов, которые смогут вас заинтересовать. Например, поиск членов Исторической Лиги , которые должны возобновить свое членство, аналогичен определению пациентов, пропустивших свой очередной профилактический осмотр. И, действительно, оба запроса базируются на датах. Так, если вы знаете, как написать запрос на обновление членства, вы легко сможете создать запрос о неаккуратных пациентах. Основная терминология баз данных Вы, наверное, почувствовали, что, пролистав достаточно много сфа-ниц этого фолианта, все еще не окунулись в жаргон и техническую терминологию. Я не сказал ни слова о том, как в действительности выглядит база данных . Коротко были определены цели применения базы данных. Однако это возможно только на этапе проектирования базы данных. Этому вопросу и посвящен данный раздел. Тут описаны термины, встречающиеся в этой книге. К счастью, концепция реляционных баз данных достаточно проста. И действительно, многие преимущества реляционных баз данных заложены в простоте базовых концепций. Структурная терминология СУБД MySQL классифицируется как реляционная система управления базами данных (RDBMS - relational database management system). Эта аббревиатура разбивается на части следующим образом. База данных (БД) (DB в RDBMS) - это совокупность информации, разбитой простым способом, регулярным образом. Совокупность данных в базе данных объединена в таблицы. Таблица состоит из строк и столбцов. Строка таблицы является ее записью. Записи содержат несколько единиц информации, каждый столбец таблицы содержит одну такую единицу. Система управления (СУ) (MS) является профаммным обеспечением, позволяющим вставлять, выбирать, модифицировать и удалять записи. Слово реляционная обозначает популярную разновидность СУБД, в которых отслеживается соответствие записей в одной
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |