Опубликован: 24.12.2006 | Доступ: свободный | Студентов: 2671 / 212 | Оценка: 4.51 / 4.22 | Длительность: 23:31:00
Урок 8:

Базы данных в сети

Аннотация: Разбираются основные понятия и принципы работы базы данных; взаимодействие баз данных с веб-сайтами; настройка системы для подключения Dreamweaver к базе данных и динамическое отображение содержимого базы данных.

Внимание! Для работы с этим курсом необходимы учебные файлы, которые Вы можете загрузить здесь.

Разработка динамических веб-страниц гораздо сложнее, чем создание статических документов. При разработке статических страниц применяется небольшое количество технологий – XHTML, CSS и FTP. При динамической разработке, помимо них, используется множество других, в том числе, ASP, ColdFusion, PHP, базы данных, серверы, ODBC и SQL. Кроме того, при разработке динамических веб-страниц, как известно из предыдущих упражнений, требуется больше кода.

Уроки с 4 по 7 послужили введением для проведения работы по созданию сценариев, выполняемых на стороне сервера. В них говорилось о перемещении данных между страницами, об обработке данных, о применении встроенных функций, отображении динамических данных, управлении данными при помощи условных выражений, а также о проверке правильности заполнения формы и о многом другом. Это введение в четырех уроках получило логическое завершение в "Создание приложения для расчета стоимости путешествий" , где при интенсивном кодировании вручную было создано несколько сценариев, объединенных в одном простом приложении. Такое большое количество кода использовалось в упражнениях специально, чтобы вы могли преодолеть барьер при создании серверного кода, а также продемонстрировать принципы и синтаксис ASP, ColdFusion и PHP.

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

В базах данных информация хранится в таблицах, которые, на первый взгляд, напоминают электронные таблицы Excel

В базах данных информация хранится в таблицах, которые, на первый взгляд, напоминают электронные таблицы Excel

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

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

Что будет изучаться:

  • основные понятия и принципы работы базы данных;
  • взаимодействие баз данных с веб-сайтами;
  • установка и запуск сервера баз данных MySQL (только для PHP);
  • обзор базы данных сайта Newland Tours;
  • подключение сайта к базе данных;
  • отображение извлеченного из базы данных текста на главной странице сайта.

Время выполнения

На выполнение этого урока потребуется примерно 75 мин.

Файлы урока

Исходные файлы:

Lesson08/Start/newland_tours.mdb

Lesson08/Start/newland_tours.sql (только для пользователей PHP/MySql)

Lesson08/Start/newland/index.asp

Итоговые файлы:

Lesson08/Complete/newland/index.asp

Ускоренный курс по базам данных

При работе с книгой, целью которой является активное обучение на основе выполнения практических упражнений, требуется действовать достаточно оперативно, – поэтому длинных абстрактных рассуждений в уроке нет. Но без уверенного знания баз данных далеко в разработке динамических веб-сайтов продвинуться не получится (хотя и экспертом быть тоже не обязательно). В этом разделе описываются основные принципы и терминология баз данных. В качестве примера задействовано офисное приложение Microsoft Access. Компоновка данных в MySQL (включая и сами данные) не отличается от Access. Однако пользовательский интерфейс в Access несколько удобнее, – так что все примеры заимствованы из этой программы. Прежде чем приступить к разработке динамических веб-сайтов, настоятельно рекомендуется потратить время на приобретение ценного опыта работы с базами данных. Для начала будет достаточно этого раздела.

Хотя внешний вид MySQL заметно отличается от Access, основные принципы остаются прежними. Некоторые из указанных ниже возможностей доступны только в Access и не имеют аналогов в MySQL. Об этом будет сказано отдельно.

Введение в объекты баз данных

Проще говоря, база данных – это система для хранения данных. Но сегодня под понятием "база данных", как правило, подразумевается гораздо больше, разумеется, если речь идет о Microsoft Access, MySQL или более мощных системах промышленного уровня, таких как Microsoft SQL Server или Oracle. Каждая из них является системой управления реляционными базами данных или реляционной СУБД (Relational Database Management System – RDBMS). Модель реляционной СУБД была разработана в 70-80 годы XX века, чтобы администраторы баз данных могли хранить данные с учетом взаимосвязи различных типов данных. О принципе взаимосвязи еще будет рассказано, но прежде следует изучить объекты, из которых состоят базы данных.

Данные базы хранятся в таблицах (tables). На первый взгляд, эти таблицы подобны электронным таблицам Excel, поскольку они тоже состоят из строк и столбцов. Столбцы называются полями (fields) и содержат определенную категорию информации. Строки именуются записями (records). В одной строке хранится один набор информации, содержащий по одному элементу данных на каждое поле. Например, в таблице tbl_customers содержатся поля для имени, адреса, города, штата, почтового индекса, номера телефона и т.д. Для каждого клиента будет создана отдельная запись.

На приведенном рисунке представлена таблица из базы данных Newland Tours, открытая в программе Access. В таблице содержится основная информация о странах. В поле countryName перечислены названия стран. В остальных полях приведены другие данные для каждой страны, при этом каждое поле включает определенный тип данных. Для редактирования таблиц достаточно щелкнуть на нужной ячейке и изменить ее содержимое нужным образом, однако удобнее использовать интерфейс, например, формы в программе Access или веб-формы.

Таблицы –не единственный тип объектов, из которых состоят базы данных. Помимо таблиц, существуют формы, отчеты и запросы. Формы (forms) применяются для добавления новых данных и изменения уже существующих. Форма для создания таблицы с информацией о странах, показанной в предыдущем примере, приводится на следующем рисунке. Формы облегчают добавление и редактирование информации, а также позволяют изменять тип введенных данных, что помогает поддерживать их однородность. Внизу формы расположены кнопки навигации. Они используются для доступа к записи, в которую требуется внести изменения, или для создания новой записи с нуля.

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

Точно так же, как формы связаны с вводом данных в таблицы, отчеты (reports) связаны с их выводом. Ознакомиться со всей информацией, хранящейся в таблице, невозможно по той причине, что текст не умещается в полях целиком. Для отображения данных в удобном для чтения виде используются отчеты. Существует возможность включать в отчет не все данные, а только некоторые, что значительно повышает удобство использования отчетов (см. рис. вверху следующей страницы).


Для вывода в отчеты определенных данных применяются запросы (queries). Использование запросов похоже на процесс поиска, – задаются конкретные критерии отбора, на основе которых база данных формирует и возвращает отчет. Например, если отправить в базу данных Newland Tours запрос на страны, начинающиеся на букву "T", будет возвращен отчет о Тайване и Таиланде –Taiwan и Thailand. Запросы записываются на языке SQL (Structured Query Language — язык структурированных запросов). Начиная с этого урока, в упражнениях, в значительно мере, будет использован язык SQL, поскольку для извлечения данных из базы и их дальнейшей передачи на веб-страницы (в том числе, для ASP, ColdFusion или PHP) применяется именно этот язык. SQL является основным средством для взаимодействия разработчиков с базами данных. Визуальный SQL-редактор содержится в Access, но в Dreamweaver его использовать нельзя. В Dreamweaver есть собственный SQL-редактор, который также позволяет кодировать SQL-запросы вручную.

Знание SQL для разработчиков динамических веб-приложений является обязательным. О многом рассказывается в этой книге, но в качестве простого и исчерпывающего введения в SQL рекомендуется книга SQL: Visual Quick Start Guide (Peachpit Press) (SQL: визуальное руководство для быстрого старта).

Фрагмент SQL-кода, приведенный на рисунке, извлекает все записи из полей countryName (Название_страны), population (Численность населения), country_currency (Денежная единица_страны) и description (описание), содержащихся в таблице tbl_country.