- •Технология организации баз данных и знаний
- •Методические указания к выполнению лабораторных работ
- •Методические указания к выполнению лабораторных работ
- •Предисловие
- •Библиографический список
- •Лабораторная работа № 1 Тема №1. ИнсталляцияMySqLи создание локального сервера
- •1. Цель работы
- •2. Основные технические возможности
- •3. Описание установки
- •4. Порядок выполнения работы
- •5. Содержание отчета
- •Лабораторная работа № 1
- •6. Содержание отчета
- •Лабораторная работа № 2 Тема №1. Создание баз и таблиц данных
- •1. Цель работы
- •2. Основные сведения
- •3. Программа работы
- •4. Указания к выполнению работы
- •3. Программа работы
- •00 Проверка моего домена с именем Moy.Loc
- •4. Указания к выполнению работы
- •5. Содержание отчета
- •3. Указания к выполнению работы
- •Задание 2: Разработать html-форму с методом Post
- •Тема №2. Передача значений переменным в сценариях php. Использование возможностей метода get без html-формы для передачи значений переменных в сценариях php
- •Тема №3. Создание формы и рнр-сценария в одном файле
- •Задание 1: Получение данных из текстового поля
- •I курсив
- •Тема №4. Использование чисел. Управляющие структуры
- •Тема №5. Использование управляющей структурыswitch
- •Тема № 6. Использование регулярных выражений в сценариях рнр
- •Проверка ошибок
- •Задание 1. Вывод информации о ошибочно заполненных полях формы
- •Задание 2. Использование функций пользователя для контроля полей формы
- •Задание 3. Проверка ограничений в текстовом поле.Lab6_0_2.Php
- •Задание 4. Специфика имени пользователя. Lab6_0_3.Php
- •Задание 5. Специфика имени пользователя с помощью JavaScript. Lab6_0_4.Php
- •Тема №7. Работа с массивами
- •Задание 1. Означивание массива и вывод на экран. Lab7_0.Php.
- •Задание 4. Сортировка массива.Lab7_3.Php.
- •Тема №8. Функции в сценариях рнр
- •Задание 1. Вложенные функции.Lab8_0_0.Php
- •Задание 2. Объявление функций внутри других функций.Lab8_0.Php
- •Задание 3. Возврат значений функцией.Lab8_1.Php
- •Задание 4. Возврат нескольких значений функцией.Lab8_2.Php
- •Задание 5. Возвращение функцией нескольких величин.Lab8_3.Php
- •Задание 6. Рекурсивные функции .Lab8_4.Php
- •Задание 7. Функции-переменные.Lab8_5.Php
- •Задание 8. Построение библиотек функций.Lab8_6_0.Php.
- •Задание 9. Построение шаблона сайта.Lab8_7_0.Php.
- •Тема №9. Использование файлов для хранения данных в сценариях рнр
- •Создание сценария загрузки.
- •Задание 3. Сохранение пользовательских данных в текстовом файлеLab9_5.Php
- •Задание 4. Сохранение пользовательских данных в текстовом файлеLab9_6_0.Php
- •Тема № 10. Работа с каталогами в сценариях рнр
- •Тема №11. Создание панели управления файлами
- •Задание 1. Разработать форму и сопутствующее ей приложение для панели управления файлами.
- •Тема № 12.Работа с базой через монтторMySql и PhpMyAdmin
- •Задание 1. Создать базу данных через командную строку
- •Задание 3. Вставка данных в базу данных
- •Задание 4. Создание командных файлов и файлов сценариев для вставки данных в базу данных.
- •Тема № 13. Извлечение данных из базы данных
- •Задание 1. Оператор выборки данныхSelect
- •Задание 2. Извлечение данных по определенному критерию
- •Задание 3. Извлечение данных из нескольких таблиц
- •Задание 4. Поиск несоответствующих строк
- •Задание 5. Использование псевдонимов имен таблиц (as)
- •Задание 6. Извлечение данных в определенном порядке
- •Задание 7. Группировка и агрегирование данных
- •Задание 8. Обновление записей в базе данных (update)
- •Задание 10. Удаление записей, таблиц и базы данных (delete)
- •Тема № 14.Php и MySql. Доступ к базе данных MySql из Web с помощью рнр
- •Задание 1. Изучение работы архитектуры Web-баз данных
- •Задание 2. Проверка и фильтрация данных, исходящих от пользователя. Использование объектно-ориентированного синтаксисаPhp
- •Задание 3. Внесение новой информации в базу данных. Проверка и фильтрация данных, исходящих от администратора
- •Задание 4. Создание и удаление баз данных
- •Содержание
6. Содержание отчета
1. Структурная схема взаимодействия утилит пакета с описанием назначения его основных элементов меню.
Рис. 1.38. Окно входа phpMyAdmin
Примечание. Обратите внимание на адрес входа. Он зависит от версии Denwer.
Если в поле “Создать новую базу”
указать имя новой базы данных, например My_Base, и нажать Enter или кнопку , то система сформирует пустую базу, не содержащую ни одной таблицы (рис. 1.39).
Если подобного окна Вы не получите, то проверьте, запущен ли Denwer. Формальным признаком его работы является наличие пиктограммы “пера” в правой нижней части окна OC
.
Рис. 1.39. Окно созданной новой базы в phpMyAdmin.
Литература: Официальный сайт phpMyAdmin http://phpmyadmin.sourceforge.net/
Лабораторная работа № 2 Тема №1. Создание баз и таблиц данных
1. Цель работы
Получение практических навыков работы в инструментальной среде СУБД.
2. Основные сведения
Указав в Internet Explorer адрес (рис. 2.1), мы попадаем в оболочку (рис. 2.2) (адрес зависит от версии Denwer), в которой в поле ввода необходимо указать имя создаваемой базы. Пусть для примера мы укажем имя базы My_base и введем его в Get поле, показанное на рис. 2.2 , тогда следующим окном будет рис. 2.3.
Рис. 2.1. Запуск phpMyadmin.
Примечание. Овалом здесь и далее указывается область, на которую надо обратить внимание.
Рис. 2.2. Состав окна утилиты PHPMYADMIN версия Denwer3
Программа PHPMYADMIN получив, на вход имя создаваемой базы, проверит по своему внутреннему справочнику отсутствие подобного имени и сформирует (зарезервирует) на диске место для будущих таблиц этой базы данных.
Если подобное имя в системной таблице СУБД MySQL существует, то Вы получите ошибку вида:
Если в базе данных не обнаружено таблиц, то удалите пустую базу (рис. 2.2(a)), для чего в окне, показанном на рис. 2.2, выберите пункт меню “Базы данных” и перейдите в этот режим. Будет показано окно (рис. 2.2(a)), в котором необходимо отметить удаляемую базу () и использовать кнопку.
Системой будет сгенерирована команда:
и Ваш ответ приведет к желаемому результату.
Рис. 2.2a. Состав окна утилиты PHPMYADMIN версия Denwer3
Если информация из базы данных Вам необходима, то укажите другое имя для вновь создаваемой базы.
В СУБД MySQL – база данных понимается как набор хранимых таблиц.
На рис. 2.3 показана команда CREATE DATABASE языка SQL использованная оболочкой для резервирования места на диске.
Пусть имя новой базы указанное в поле будет следующим:
Примечание. Использование закладок позволяет посмотреть предшествующие шаги Ваших действий.
На данный момент в базе данных с именем My_base нет таблиц. Поэтому необходимо определится с смысловой нагрузкой информации , которая будет храниться в таблице и указав ее имя и количество столбцов ее составляющих (рис. 2.3), т.е. сформировать состав таблицы.
Рис. 2.3. Окно PHPMYADMIN.
Пусть мы решили создать в базе данных таблицу с именем Lessons, состоящую из 3-х полей (столбцов). Указанные данные, вводятся в Get поля представленные на рис. 2.3 и показаны на рис. 2.4.
Рис. 2.4. Введение названия хранимой таблицы и числа ее столбцов.
Нажав клавишу “Пошел”, на экран будет выведено окно вида (рис. 2.5), в котором необходимо указать информацию о таблице Lessons. Пусть логически таблица предназначена для хранения информации о лекциях (их названиях) и авторах лекции. Каждый столбец должен получить набор свойств характеризующих как сам столбец, так и элементы, которые будут вводиться (означиваться) в этом столбце таблицы. Другими словами каждому столбцу необходимо присвоить осмысленное имя, указать его тип, длину и точность (если столбец предназначен для хранения числовых данных) и ограничения присущие элементам этого столбца.
Примечание. Рекомендуется имя первого поля (столбец) в таблице обозначать символами “Id” и присваивать ему тип INT (целое), длина этого поля прогнозируется максимальным числом строк, которое может содержаться в таблице. Тип поля INT использует 4 байта для хранения значения. Минимально значение -2147483648, максимальное 2147483647. Беззнаковый INT (unsigned) хранит значения от 0 до 4 294 967 295.
Имена всех следующих полей и их характеристики определяются из смысловых (семантических) особенностей информации, подлежащей хранению в таблице базы данных.
Пусть для нашего примера, второй столбец предназначен для хранения названия лекции (латинское имя titel) и тип его символьный. Третий столбец тоже пусть типа CHAR и предназначен для хранения автора (writer) лекции.
Длина этого поля может максимально занимать 100 символов.
Рис. 2.5. Состав формы для указания характеристик столбцов формы.
Количество столбцов для описания характеристик каждого поля таблицы базы данных достаточно велико и на рис. 2.5 они все не показаны, поэтому не поместившиеся на экране столбцы приведены на рис. 2.6.
Рис. 2.6. Продолжение состава формы для указания характеристик столбцов формы.
Рис. 2.6a. Продолжение состава формы в PhpMyAdmin для указания характеристик столбцов формы.
Примечание. Пиктограмма – рис. 2.6a соответствует на рис. 2.6 , - индекс и т. д.
Помимо обычных характеристик столбцов хранимой таблицы базы данных, каждая таблица должна иметь столбец (столбцы) для идентификации уникальности объектов, отображаемых в данной хранимой таблице. Такой столбец (столбцы) получают статус реляционного ключа и в форме описания состава хранимой таблицы (рис. 2.6) фиксируются в столбце с именем “Первичный”
Пусть Вы заполнили форму (рис. 2.5, 2.6) следующими данными (рис. 2.7) с учетом того, что в столбце с именем “Дополнительно” для первой строки таблицы (имя поля Id) указали служебное слово “auto_increment”, приказывающее СУБД MySQL формировать это поле автоматически, используя алгоритм счетчика. Т.е., если в хранимую таблицу (для нашего случая таблица с именем “lessons” в базе данных My_base) будет добавляться новая строка, то значение поля с именем “Id” будет формироваться из значения поля предыдущей строки плюс единица.
Рис. 2.7. Состав формы после указания характеристик столбцов формы.
Если при попытке сохранить форму таблицы “lessons” Вы не укажите, на каком поле (полях) формируется реляционный ключ (для нашего случая таким полем является поле с именем Id, и Вы не указали это явно в столбце “Первичный” (на рис. 2.7 точка стоит правильно)), то получите сообщение от MySQL об ошибке, если точка в столбце “Первичный” отсутствует, примерно следующего вида (рис. 2.8):
Рис. 2.8. Реакция MySQL на некорректное объявление таблицы Lessons.
CREATE TABLE ‘lessons’(
‘id’ INT(8) NOT NULL AUTO_INCREMENT,
‘titel’ VARCHAR(200) NOT NULL
‘writer’ VARCHAR(100) NOT NULL
)
Представленное предложение языка SQL (а точнее его часть, относящаяся к DDL) автоматически генерируется программой PHPMYADMIN, и указывает какая команда SQL была использована для генерации структуры хранимой таблицы с именем ‘lessons’ и каков набор столбцов и их характеристик в создаваемой таблице.
Ниже приводится описание ошибки, сгенерированное в СУБД MYSQL, объясняющее, почему таблица не может быть создана.
Incorrect table definition; There can only be one auto column and it mast be defined as a key
Если Вы правильно укажите характеристики для создаваемой таблицы, и нажмете кнопку “Сохранить” (рис. 2.5), то получите следующее окно (рис. 2.9).
Кнопки типа “Структура”, “Обзор”, “SQL” и т. д. показанные на рис. 9 позволяют модифицировать внутреннею структуру как самой созданной таблицы Lessons, так и введенных в нее данных.
Так, например, кликнув на кнопке “Структура” (рис. 2.9), мы получим окно следующего содержания (рис. 2.10).
Рис. 2.9. Реакция MySQL на корректное объявление таблицы Lessons.
Рис. 2.10. Реакция на кнопку “Структура” таблицы Lessons на рис. 2.9.
Рис. 2.10. Продолжение рисунка. Реакция на кнопку “Структура” таблицы Lessons на рис. 2.9.
Если возникает необходимость добавить новую запись (т. е. заполнить строку таблицы реальной информацией), то следует воспользоваться кнопкой (рис. 2.10 или рис. 2.11).
Рис. 2.11. Реакция на кнопку “Вставить” таблицы Lessons.