Опубликован: 06.10.2006 | Доступ: свободный | Студентов: 4502 / 504 | Оценка: 3.94 / 3.86 | Длительность: 24:58:00
Лекция 3:

Базы данных

Связь с базой данных с помощью сценария

Чтобы установить связь с базой данных, большинство веб-страниц используют сценарии на веб-сервере. Эти сценарии отправляют запросы к базе данных в форме Структурированного Языка Запросов (Structured Query Language (SQL)). Если вы используете программу для дизайна страницы с особенностями баз данных, вам может не понадобиться писать сценарии или запросы SQL; программа напишет их за вас. Тем не менее, для повышения гибкости при работе с базой данных используют язык написания серверных сценариев.

Например, с помощью Активных Серверных Страниц (Active Server Pages, ASP) на веб-сервере Windows вы можете включить код VBScript в вашу страницу, чтобы установить связь с базой данных Access и запустить запрос:

<%
Set Conn =Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\data \moe.mdb"
Set RS =Conn.Execute("SELECT *FROM contacts WHERE city='Seattle'")
Response.Write "Contact Name:"&RS("name")
%>

Если на вашем сервере установлен Allaire ColdFusion, вы можете использовать его синтаксис для выполнения повторяющихся элементов (пример предполагает, что вы определили источник данных ColdFusion с названием "moe"):

<cfquery name="cq"datasource="moe">
	SELECT *FROM contacts WHERE city='Seattle'
</cfquery>
<cfoutput query="cq">
	Contact Name:#Name#
</cfoutput>

Если вы пользуетесь веб-сервером UNIX или Linux, вы можете использовать сценарий PHP, такой, как приведенный ниже, который связывается с базой данных MySQL: (3)

<?php
$db =mysql_connect("localhost","root","passwd");
mysql_select_db("moe",$db);
$result =mysql_query("SELECT *FROM contacts WHERE city='Seattle'",$db);
printf("Contact Name:%s \n",mysql_result($result,0,"name"));
?>

Другие конфигурации

У вас может появиться желание использовать особенности баз данных с другими конфигурациями веб-серверов – если, конечно, они поддерживают и ODBC и ASP. Если, например, ваш веб-сервер не может работать с FrontPage, вы не сможете создать страницы баз данных на сервере или опубликовать их на сервере – но вы вполне можете это обойти. Создайте и протестируйте страницы на своем компьютере или локальном веб-сервере, который может работать с FrontPage. Затем закройте сайт и с помощью программы File Transfer Protocol (FTP) скопируйте все файлы на не-FrontPage веб-сервер.

Некоторые не-Microsoft веб-серверы, вроде веб-сервера Apache, запускаемые на Solaris, Linux или HP_UX, могут запускать ASP с помощью приставки, называющейся Chili!ASP. Если на вашем сервере есть Chili!ASP, серверное дополнение для FrontPage и база данных SQL, доступ к которой вы хотите обеспечить, значит, все в порядке. Сначала создайте страницы базы данных в FrontPage на своем компьютере, или на веб-сервере Microsoft, вроде PWS. Затем опубликуйте страницы на веб-сервере. Чтобы избежать проблем с соединением, используйте источник данных ODBC (DSN) с таким же именем в своем локальном сервере, как и в Apache (или другом) веб-сервере. Обратите внимание, что вы не можете использовать базы данных Microsoft Access в этих серверах. Также помните, что в UNIX информация о связи и имена файлов чувствительны к регистру; обращайте внимание на заглавные и прописные буквы.

Использование баз данных с сайтом

Обычные страницы HTML являются статическими; каждый раз, когда посетитель просматривает вашу страницу, он видит одно и то же (кроме тех случаев, когда вы опубликовали новую страницу). Если вы хотите обеспечить динамичное содержание или отслеживать информацию, которую вводят посетители, вам необходимо установить связь с системой управления базами данных (DBMS). Например, если вы разрабатываете веб-магазин, вам нужно будет отобразить информацию о продукции и ценах, а также просмотреть информацию о заказах.

Когда веб-страница отображает данные или обновляет базу данных, работают некоторые компоненты. Во-первых, веб-страница содержит код сценария – вперемешку со стандартным HTML, который запускается на сервере и сообщает ему, как связаться с базой данных и отобразить данные. Затем веб-серверу требуется коннектор баз данных или драйвер, который отправляет запросы или инструкции DBMS. И, наконец, это сам DBMS, который сохраняет информацию на диске и исправляет ее. Это может быть или файловая база данных, наподобие Microsoft Access, или мощный сервер баз данных, типа Microsoft SQL Server или Oracle DBMS. Набор инструментов, который вы используете в первую очередь, зависит от выбранного вами веб-сервера.

  • Если вы используете веб-сервер Microsoft, типа Internet Information Server (IIS) или Personal Web Server, лучше всего будет использовать базы данных Access или – для перегруженных сайтов – базы данных SQL Server. Чтобы спроектировать динамические страницы, лучше всего использовать сценарии Active Server Pages (ASP), которые вы можете написать самостоятельно в редакторе типа HomeSite или можете создать динамические страницы без написания программы с помощью Database Results Wizard в FrontPage.
  • Если ваш веб-сервер расширен с помощью Allaire ColdFusion Server, вы можете использовать ColdFusion Markup Language для проектирования веб-страниц, которые будут работать почти с любой базой данных. Как HTML, ColdFusion основан на тэгах, написать его несложно даже дизайнерам, не знакомым с языками программирования.
  • Если вы используете веб-сервер Apache или операционную систему UNIX или Linux, вы можете использовать большинство опций DBMS, включая Sybase SQL Server, Oracle DBMS, PostgreSQL и MySQL. Для создания страниц со сценариями можно использовать язык PHP или напрямую интегрировать базу данных в Common Gateway Interface (CGI) программы, написанные на Perl или C++.
Большинство возможностей FrontPage будут работать и с не-Microsoft веб-серверами, вроде Apache. Однако те особенности программы, которые касаются баз данных, будут работать только с серверами, поддерживающими ASP, вроде Microsoft IIS. Более подробно об этом см. в разделе "Системные требования FrontPage для работы с базами данных".