- •Интерактивное программирование
- •Разработка веб-приложений с использованием php и MySql
- •Тема 1. Архитектура веб-приложений
- •Установка веб-сервера
- •Подготовительный этап
- •Создание файловой структуры веб-сервера
- •Установка Apache 2.4
- •Настройка php 7
- •Установка и настройка MySql 5.7
- •Установка и настройка php 7
- •Установка и настройка phpMyAdmin
- •Использование сервера и резервное копирование данных
- •Дополнительная настройка php
- •Установка почтовой заглушки
- •Тема 2. Использование php в веб-разработке Как работает php
- •Основы php Первая страница
- •Синтаксис языка
- •Переменные в php
- •Область видимости переменных
- •Типы данных
- •Тип данных boolean
- •Типы данных integer и float
- •Тип данных string
- •Тип данных null
- •Тип данных resource
- •Тип данных array
- •Константы
- •Автоматическое преобразование типов
- •Приведение типов
- •Преобразование в булев тип
- •Операторы
- •Арифметические операторы
- •Оператор присваивания
- •Операторы сравнения
- •Операторы инкремента и декремента
- •Логические операторы
- •Строковые операторы
- •Операторы, работающие с массивами
- •Приоритет оператора
- •Управляющие конструкции
- •Условный оператор if
- •Функции
- •Функции для проверки на существование переменных
- •Для работы с массивами
- •Сортировка массивов
- •Математические функции
- •Функции обработки строк
- •Функции для работы с датой и временем
- •Функции, определяемые пользователем
- •Тема 3. Взаимодействие с html Подключение файлов
- •Обработка форм
- •Тема 4. Работа с MySql Что такое MySql? Принципы проектирования бд
- •Основы языка sql и работа в phpMyAdmin
- •Типы данных
- •Создание базы данных
- •Удаление базы данных
- •Создание таблиц
- •Ограничения внешнего ключа
- •Изменение столбцов в таблице
- •Удаление таблиц
- •Добавление записей в таблицы
- •Удаление записей из таблиц
- •Обновление содержимого некоторых полей в одной либо нескольких записях в таблицах бд
- •Поиск одной или нескольких записей, удовлетворяющих заданному условию
- •Взаимодействие php и MySql
- •Подключение к MySql
- •Получение данных из бд
- •Запись данных в бд
- •Теоретические вопросы
- •Задания.
Ограничения внешнего ключа
Для контроля ссылочной целостности в базе данных, необходимо чтобы таблицы были связаны при помощи конструкции FOREIGN KEY, которая имеет вид:
FOREIGN KEY [index_name] (index_col_name, …) REFERENCES tbl_name (index_col_name,…) [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
FOREIGN KEY используется при создании/изменении таблиц-потомков таблицах. Данная конструкция позволяет задать в таблице-потомке внешний ключ с именем index_name на столбцах таблицы, которые перечисляются в круглых скобках. Можно использовать один или несколько столбцов.
Ключевое слово REFERENCES задаёт таблицу-предка tbl_name, на которую будет ссылаться внешний ключ. Один или несколько полей таблицы-предка задаются в круглых скобках.
Необязательные конструкции ON DELETE и ON UPDATE, определяют поведение MySQL при удалении/обновлении записей из таблицы-предка. Допустимые параметры для ключевых слов ON DELETE и ON UPDATE:
RESTRICT. Если в таблице-потомке существуют записи, ссылающиеся на первичный ключ таблицы-предка, то при удалении или обновлении записей с этим первичным ключом в таблице предке будет возвращена ошибка. Ошибка будет возвращаться до тех пор, пока не останется ни одной ссылки в таблице потомке. В MySQL данный параметр означает то же самое, что и NO ACTION.
CASCADE . При удалении/обновлении записей в таблице-предке будут также обновлены/удалены записи из таблицы-потомка с существующим первичным ключом.
SET NULL. При удалении/обновлении записей в таблице-предке записи из таблицы-потомка с существующим первичным ключом будут обновлены на NULL.
NO ACTION — При удалении/обновлении записей в таблице-предке записи из таблицы-потомка с существующим первичным ключом изменены не будут. В MySQL данный параметр означает то же самое что и RESTRICT.
SET DEFAULT. Это действие зарезервировано, но не обрабатывается в InnoDB.
В нашем примере FOREIGN KEY следует использовать в таблице content для того, чтобы связать ее с таблицей pages.
На рисунках 173-174 показан процесс добавления FOREIGN KEY в таблице content с помощью визуального интерфейса. Для этого на вкладке «Структура» следует выбрать ссылку «Связи».
Рисунок173 - Процесс добавления FOREIGN KEY
Рисунок 174 - FOREIGN KEY добавлен
После добавления мы можем перейти во вкладку «Дизайнер» нашей базы данных (см. рис. 175), где увидим, что между таблицами установилась связь.
Рисунок 175 – Связь между таблицами pages и content
Изменение столбцов в таблице
Для добавления столбцов используют следующую запись:
ALTER TABLE table_name
ADD column_name datatype
Для удаления столбцов используют следующую запись:
ALTER TABLE table_name
DROP COLUMN column_name
Для изменения типа данных столбцов используют запись:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype
При создании таблицы pages мы не создавали поле для хранения ссылок на разделы. Добавим его сейчас, используя запись:
ALTER TABLE `pages` ADD `link` VARCHAR(100) NOT NULL AFTER `name`;
