- •Язык php
- •Динамические сайты
- •Преимущества обработки страниц на стороне сервера
- •Современные технологии обработки страниц на стороне сервера
- •Active Server Pages (asp)
- •Java Servlets и jsp
- •Контрольные вопросы
- •Возможности языкаPhp ОбработкаHtmLформ
- •ГенерированиеHtmLстраниц
- •Взаимодействие с субд
- •Поддержка большого количества библиотек
- •Контрольные вопросы
- •Создание динамических страниц Создание простейшегоPhp-скрипта
- •Рнр и код, выполняемый на стороне клиента
- •Взаимодействие с пользователем
- •Контрольные вопросы
- •Синтаксис языкаPhp Типы данных
- •Константы
- •Объявление и инициализация переменных
- •Преобразование типов
- •Арифметические операторы
- •Унарный оператор
- •Оператор конкатенации строк
- •Сокращенная запись для присвоениязначений переменным
- •Операторы сравнения
- •Условные операторы
- •Функции пользователя
- •Массивы
- •Работа с файлами
- •Контрольные вопросы
- •Рнр иMySql Обработка и хранение структурированных данных
- •Динамические сайты, использующие базу данных
- •Построение реляционной базы данных
- •Продавцы
- •Заказчики
- •SqLзапросы к реляционной базе данных
- •Insert into salespeople values(1001,'Иванов','Москва',0.12);
- •Insert into customers values(2001,'Белкин','Москва',100,1001);
- •Insert into orders values(3008,4723.00,'2002-10-05',2006,1001);
- •Особенности реализацииMySql
- •ВзаимодействиеPhp иMySql
- •Контрольные вопросы
- •Разработка системы "Прайс-лист"
- •Постановка задачи
- •Принципы функционирования программного комплекса
- •Разработка структуры базы данных
- •Проектирование системы администрирования
- •Проектирование генератора прайс-листа
- •Контрольные вопросы
Построение реляционной базы данных
Реляционная база данных – набор связанных данных, сохраняемых в двумерных таблицах. В качестве простейшей базы данных можно рассмотреть, например, телефонно-адресную книгу. Телефонно-адресная книга представляет собой таблицу, состоящую из определенного количества строк и столбцов. Каждая строка таблицы содержит контактную информацию одного человека. Каждый столбец таблицы содержит данные одного типа, присущие каждому человеку, представленному в таблице. Фактически, количество строк в таблице будет соответствовать количеству людей, а количество столбцов – количеству атрибутов, присущих каждому человеку. Телефонно-адресная книга могла бы выглядеть следующим образом:
Имя |
Телефон |
Адрес |
Иван Иванов |
123-45-67 |
Москва, Ленинский проспект д.10, кв.34 |
Петр Петров |
975-34-45 |
Москва, Улица строителей, д.24, кв.106 |
Сидор Сидоров |
345-87-09 |
Москва, Цветной бульвар, д.15, кв.8 |
Получившаяся книга является двумерной таблицей, на основе которой можно построить реляционную базу данных. Однако, реляционные базы данных редко состоят из одной таблицы. Как правило, реляционная база данных содержит в своем составе несколько таблиц с взаимосвязанными данными. Предположим, что телефонно-адресная книга является частью информации, хранящейся в отделе кадров организации. Логично предположить, что помимо контактной информации, в отделе кадров должны быть данные относительно распределения сотрудников по отделам с указанием их должностей. Построим таблицу, связанную с телефонно-адресным справочником, содержащую данные о сотрудниках.
Имя |
Отдел |
Должность |
Иван Иванов |
Бухгалтерия |
Главный бухгалтер |
Петр Петров |
Плановый |
Экономист |
Сидор Сидоров |
Технический |
Инженер |
Как видно на основе приведенного выше примера, данные двух таблиц связаны между собой при помощи поля "Имя". Можно предположить, что формирование базы данных кадрового отдела не ограничивается двумя таблицами. Например, можно завести таблицы, в которых будет содержаться информация о предыдущих местах работы сотрудников, образовании, профессиональных навыках и многом другом.
Сформированная структура дает возможность руководителю отдела кадров осуществлять разнообразные выборки данных в зависимости от текущих потребностей. Например, можно осуществить выборку всех сотрудников планового отдела, проживающих на улице Строителей. В приведенном примере осуществление такой выборки представляется довольно простым делом, поскольку количество данных минимально, да и критерии запроса не являются самыми сложными. Однако если предположить, что речь идет о большом предприятии, на котором могут одновременно трудиться несколько сотен человек, задача усложнится. В добавок к этому могут измениться критерии запроса. Допустим, что необходимо получить список сотрудников, окончивших МГУ в период с 1980 по 1990 год и имеющих двух и более детей (гипотетическая база данных отдела кадров обладает всей необходимой информацией о сотрудниках). Выполнение такой задачи вручную может потребовать больших временных затрат (в зависимости от сложности запроса и количества анализируемых данных). Вместе с тем, всегда остается вероятность ошибки, связанной с человеческим фактором.
Для решения подобных проблем предназначен структурированный язык запросов SQL. Возможности языка SQL позволяют:
Создавать базу данных (БД)
Организовывать/модифицировать внутреннюю структуру БД
Вводить/модифицировать данные в БД
Организовывать выборку данных из БД
Системы управления базами данных (СУБД) анализируют запросы, написанные на языке SQL и производят операции над БД в соответствии с полученными запросами.
Прежде чем приступить к описанию возможностей SQL и особенностей его реализации в СУБД MySQL, рассмотрим структуру базы данных, на основе которой будут продемонстрированы SQL-запросы.
Таблицы "Продавцы", "Заказчики" и "Заказы" составляют небольшую реляционную базу данных, достаточную для демонстрации основных возможностей языка SQL.