- •Web программирование
- •231000.62 – “Программная инженерия”
- •Содержание
- •Введение
- •Дисциплина web программирование имеет целью обучить студентов разработке web - приложений, дать студентам теоретические знания и практические навыки в проектировании и реализации web-сайтов.
- •1. Протоколы и модели Internet-взаимодействия
- •1.1. Протоколы
- •1.2. Модель клиент-сервер
- •1.3. Формат описания адреса
- •2. Статическое web – программирование
- •2.1. Структура html-документа
- •2.2. Работа с текстом
- •2.3. Работа с таблицами
- •2.4. Работа с формами
- •2.5. Работа с фреймами
- •3. Каскадные таблицы стилей (css)
- •3.1. Синтаксис css
- •3.2. Использование css
- •3.3. Свойства css
- •4. Язык xml
- •4.1. Структура xml-документа
- •4.2. Правила создания xml-документа
- •4.3. Конструкции языка xml
- •4.3.1. Элементы данных
- •4.3.2. Комментарии
- •4.3.3. Атрибуты
- •4.3.4. Cпециальные символы
- •4.3.5. Директивы анализатора
- •4.3.6. Cdata
- •5. JavaScript сценарии
- •5.1. Клиентские и серверные сценарии
- •5.2. Операторы и функции JavaScript
- •5.3. Встроенные объекты JavaScript
- •5.4. Динамический html
- •5.5. Ajax технология
- •6. Работа с субд MySql
- •6.1. Особенности
- •6.2. Основные команды
- •7. Php. Динамическое web-программирование
- •7.1. Особенности
- •7.2. Php и объектно-ориентированное программирование
- •8. Проектирование полнофункциональных web-сайтов
- •8.1. Виды сайтов
- •8.2. Этапы проектирования web-сайтов
- •9. Задания для выполнения лабораторных работ
- •Последовательность выполнения задания
- •9.2. Задания для выполнения лабораторной работы №2 «Разработка сайта, содержащего карту-изображение с заданными активными зонами»
- •Варианты
- •Последовательность выполнения задания
- •9.3. Задания для выполнения лабораторной работы №3 «Разработка сайта, содержащего таблицы»
- •Варианты
- •9.4. Задания для выполнения лабораторной работы №4 «Разработка сайта “Электронный тест проверки знаний студентов изучаемых дисциплин”»
- •Варианты
- •Последовательность выполнения задания
- •9.5. Задания для выполнения лабораторной работы №5 «Разработка сайта с динамическими эффектами»
- •Варианты
- •Последовательность выполнения задания
- •9.6. Задания для выполнения лабораторной работы №6 «JavaScript. Горизонтальное и вертикальное меню»
- •Варианты
- •Последовательность выполнения задания
- •2.1 Горизонтальное меню
- •2.2 Вертикальное выпадающее меню
- •2.3 Вертикальное раскрывающееся меню
- •9.7. Задания для выполнения лабораторной работы №7
- •2. Ход работы
- •9.8. Задания для выполнения лабораторной работы №8 «Динамическая поддержка выбора значений из предлагаемого списка»
- •Варианты
- •Последовательность выполнения задания
- •9.9. Задания для выполнения лабораторной работы№9 «MySql. Проектирование базы данных и обеспечение прав доступа»
- •Варианты
- •Последовательность выполнения задания
- •9.10. Задания для выполнения лабораторной работы№10 «Разработка интернет-магазина»
- •Варианты
- •Последовательность выполнения задания
- •10. Контрольная работа
- •10.1. Назначение, цели и задачи контрольной работы
- •10.2. Требования к контрольной работе
- •10.3. Варианты заданий курсовой работы
- •11. Пример программы «Создание динамического эффекта» к выполнению лабораторной работы №5 «Разработка сайта с динамическими эффектами»
- •11.1. Плавное появление и исчезновение текста
- •11.2. Текст, движущийся на наблюдателя
- •11.3. Создание бегущих строк
- •11.4. Волнообразнодвижущийся текст
- •10.5. Текст, прилетающий по частям
- •10.6. Имитация движения текста по кругу в 3 d пространстве
- •10.7. Движение фонового рисунка страницы («летящие звезды», «эффект фейерверка», «падающий снег», «часы со стрелками»)
- •Заключение
- •Список литературных первоисточников
- •231000.62 – «Программная инженерия»
6. Работа с субд MySql
MySQL разработал Михаэль Видениус (Michael Widenius, monty@analytikerna.se). MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL) /12/.
Последнюю версию MySQL можно скачать с www.tcx.se.
6.1. Особенности
СУБД MySQLхарактеризуется свойствами:
1. Многопоточность. Поддержка нескольких одновременных запросов.
2. Оптимизация связей с присоединением многих данных за один проход.
3. Записи фиксированной и переменной длины.
4. ODBC драйвер в комплекте с исходником
5. Гибкая система привилегий и паролей.
6. До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.
7. Поддержка ключевых полей и специальных полей в операторе CREATE.
8. Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.
9. Интерфейс с языками C и perl.
10. Основанная на потоках, быстрая система памяти.
11. Утилита проверки и ремонта таблицы ( isamchk).
12. Все данные хранятся в формате ISO8859_1.
13. Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.
14. Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.
15. Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.
16. Легкость управления таблицей, включая добавление и удаление ключей и полей
6.2. Основные команды
Технология реляционных баз данных предполагает структурирование данных в таблицах, приведенных к нормальной форме. При этом связь между таблицами осуществляется с помощью ключевых полей. Структура таблиц с указанием типов данных в столбцах совместно со связями между таблицами образует структуру базы данных.
Для создания баз данных и таблиц в них, для настройки прав доступа к данным и манипулирования ими в СУБД MySQL применяется программа-монитор mysql. Запустив ее из командной строки, вы подключаетесь к СУБД с именем текущего пользователя операционной системы, если он имеет право на подключение. Для выбора базы данных применяется команда use dbname, где dbname - имя базы данных. Можно указать базу данных, имя пользователя и пароль при вызове монитора:
Mysql dbname -h hostname -u username -p password
Собственно пароль в командной строке лучше не вводить, а оставить ключ -p, тогда пароль будет запрошен дополнительно. Для выхода из монитора применяется команда exit или quit.
Для создания базы данных применяется команда create database dbname, а для создания таблиц - create table tablename (columns), где в скобках перечисляются названия, типы данных и другие атрибуты полей, например:
Create table books (id int unsigned not null auto_increment primary key,
author char(30), title char(60), price float(5,2));
Для устранения ошибок при вводе длинных команд рекомендуется записывать их в текстовые файлы, запускаемые из командной строки:
Mysql dbname -u user -p < create.sql
Для просмотра списка созданных таблиц применяют команду show tables, а для просмотра структуры таблицы - команду describe tablename.
Для ввода, извлечения, изменения и удаления данных из таблиц применяют операторы структурированного языка запросов SQL: insert, select, update и delete. Для отбора данных по условию, уточнения изменяемых и удаляемых записей применяется конструкция where, для группирования - group by, для упорядочивания - order by. Для удаления таблиц служит команда drop table tablename.
Для обеспечения безопасности хранения данных и контроля прав доступа к ним в СУБД MySQL существует специальная база данных mysql, в которой имеется пять таблиц: user, host, db, tables_priv и columns_priv. Таблица user предназначена для определения, может ли пользователь подключаться к серверу MySQL и обладает ли он привилегиями администратора. В ней хранится имя хоста, с которого можно подключаться, имя пользователя и пароль, а также какие привилегии он имеет. Таблица db определяет, какие пользователи к каким таблицам и с каких хостов могут получить доступ. Таблица host дополняет таблицу db. Если пользователь должен подключаться к базе данных с нескольких хостов, то в таблице db для него не будет указано ни одного хоста - все они будут перечислены в таблице host. Таблицы tables_priv и columns_priv предназначены для хранения привилегий на уровне таблиц и уровне столбцов. Они работают подобно таблице db, но обеспечивают привилегии для таблиц в конкретной базе данных и столбцов в конкретной таблице. Основных привилегий 10, дающих право на выполнение операций select, insert, update, delete, create, drop, grant, references, index и alter. В таблице user их на 4 больше: reload, shutdown, process и file, которые нужны для администрирования СУБД.
Для установки прав доступа применяется команда grant:
Grant select, insert, delete, update on user.* to user@host identified by 'password';
Для шифрования пароля применяется функция password:
identified by password('mypass')
Чтобы отобрать привилегии, применяют команду revoke:
Revoke all on dbname.* from user;
Для сохранения в текстовых файлах структуры и содержимого базы данных применяют утилиту mysqldump:
Mysqldump -u user -p dbname >file.type /13, 14/.