Задайте вопрос
Поиск по сайту

Содержание:

Глава1 - Основы.

  • Установка и настройка Denwer.
  • Знакомство с РНР.
  • Переменные.
  • Операторы.
  • Массивы и циклы
  • Функции.

  • Глава2 - Разработка web-сайтов и взаимодействие с MySql.
    Partner


    Многие начинающие сайтостроители часто задаются вопросом: "С чего начать - с дизайна, верстки или с php?". Правильный ответ, если Ваш сайт хоть немного сложнее чем две страницы: "Вот я, вот мои фотки" :-), начинать нужно с базы!

    Что такое

    база данных?





    Обычно в крупных компаниях всегда есть свой программист базы данных и от его работы многое зависит - скорость, качество и т.д.



    Давайте рассмотрим пример базы, после расскажу что там и где:



    Нормальные формы базы (определение есть в слайде) - это те требования предъявляемые к базе, при соблюдении которых база относится к той или иной форме: первая нормальная форма, вторая нормальная форма, третья нормальная форма и т.д. Чем дальше, тем жестче требования.




    Теперь мы видим, что вместо имен и названий курсов стоят числа - так называемые айдишники, которые здесь являются первыми ключами, которым теперь соответствуют записи из дополнительных таблиц. Теперь если, например сменится преподаватель по тому или иному курсу, то нам будет достаточно изменить его имя в доп. таблице а не лезть первичную. (Может чем то это похоже на многомерный массив).


    Для того, чтобы "общаться" с базой данных существует

    язык SQL.

    С помощью SQL все и делается, начиная от создания базы данных, заканчивая ее удалением. Ну и конечно включая все

    основы работы с базами данных.





    Рассмотрим основные запросы (ниже поясню):



    Оператор SELECT делает выборку из базы - в первом примере мы запрашиваем значения столбцов name, addr, sity и строки teachers, т.е. три сущности. Но несколько значений мы редко используем, т.к. обычно требуется что то одно, так что, что бы было понятнее можно записать
    SELECT name FROM teachers - выбрать значение из столбца name и teachers

    По умолчанию данные из базы приходят в том порядке, в каком были занесены в нее, но указав ORDER BY можно отсортировать в нужном нам порядке. В примере выше сортируем по name.

    Во втором примере сортируем с помощью оператора WHERE, т.е. выбрать из title значение таблицы courses где length >30, т.е. выбираем исходя из условия. Так же можно использовать операторы OR, AND, IF и т.д. как в третьем примере.
    Еще там мы делаем селект по * - в реальных условиях (когда пишете реальную базу) НИКОГДА не используйте * - это очень важно. Звездочка означает выборку по абсолютно всем значениям и мы будем ее использовать только в учебных целях, чтоб не писать лишнего.

    Оператор LIKE быбирает по условию. В примере у нас 'Web%' - т.е. будут выбраны любые значения где впереди есть 'Web', напрмер 'Webmaster', 'webprogrammer', 'Webdesign' и т.д. Знак процента можно поставить и в начале и в середине переменной - отфильтруется соответственно.

    Объединение таблиц

    Селект запросы, которые мы делали выше выбирали данные из одной таблицы, но часто необходимо соединить таблицы по какому-либо критерию.

    Например:

    Есть две таблицы teachers и lessons, где id первой соответствует tid второй



    Нам нужно из первой выбрать name и code, а из второй course. Перед именами колонок или строк через точку можно (а иногда очень полезно) писать имя самой таблицы, но сокращенное, например одну букву, как показано ниже



    Во второй и третьей строке кода мы через пробел записали сокращенные имена для таблиц - t и l. Исходя из этого смотрим что написано выше:

    Выбрать name и code из таблицы teachers, и course из таблицы lessons
    Где таблицу teachers объединить с таблицой lessons по критерию (ON) t.id = l.tid

    В итоге получим следующую таблицу:



    Есть еще присоединение слева, при котором получим немного другую таблицу:



    В этом случае произойдет все тоже самое, что и при просто JHOIN, но потом, т.к. стоит LEFT JOIN, мы заходим в левую таблицу (первую) и выбираем оттуда значения, которые не попали под условие выборки ON, а так как Петр не попал, он и выведется последним.

    С RIGHT JOIN все наоборот - после выборки по критерию, стоящему после ON, будут отображены поля не вошедшие в условие, но из правой (последней) таблицы.

    Немного еще про один параметр SELECT вообщем

    SELECT DISTINCT
    Это условие выборки означает, что будут выбраны только тепараметры которые еще не повторялись. Например есть таблица в столбце chislo которой:

    12
    24
    32
    24
    32
    12
    24
    24
    32

    запрос SELECT DISTINCT chislo (ну тут дальше....)

    вернет:
    12
    24
    32

    Т.е. если параметры будут повторятся они не выберутся.

    Следующий оператор - оператор записи INSERT



    Тут ничего сложного - это обычное добавление записи в таблицу - никаких условий, банально добавить туда-то, такие-то значения (параметр VALUE - это собственно сами значения. Добавляются через запятую, первое в первую колонку, второе во вторую и т.д.)



    - это удаление записи. Тоже ничего сложного: удаляем при условии WHERE, а если его убрать удалится lessons полностью



    - UPDATE обновляет запись. Опять же не забудьте про условие! Если его не задать обновится, в нашем случае, весь teachers.

    Наверх Предыдущая страница Следующая страница