Clever work with Databases with php

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Clever work with Databases with php - Presentation Transcript

    1. Удобная работа с базой данных в PHP. ПЛИСКО ВЯЧЕСЛАВ. PLISKOVS@GMAIL.COM HTTP://AMDY.SU/
    2. Реляционная база данных  Двухмерная таблица  Колонки – название полей  Строки – уникальные записи  Ключи для идентификации и связей между таблицами  SQL – стандартный язык запросов, возвращает так же двухмерную таблицу
    3. Шаблоны проектирования  ORM  Active Records  Data mapper  Query Object  Domain model
    4. Шаблоны проектирования ORM  ORM (Объектно-реляционная проекция) — запись объектов программы в реляционную базу данных, отображение объекта и его представления в виде набора таблиц.
    5. Шаблоны проектирования: Active Record  Active Record (Активная запись) – Объект, выполняющий роль оболочки для строки таблицы или представления базы данных. Он инкапсулирует доступ к базе данных и добавляет логику домена.
    6. Шаблоны проектирования: Query Object  Query Object (Объект запроса) – интерпретатор структуры объектов в SQL запросы.
    7. Шаблоны проектирования: Domain Model  Domain Model (Модель предметной области) — это объекты в объектно-ориентированных компьютерных программах, выражающие сущности из модели предметной области, относящейся к программе, и реализующие бизнес-логику программы.
    8. Реализации ORM  Hibernate в JAVA  Active Record в Ruby on Rails  Django ORM в Python  Doctrine в PHP
    9. Doctrine ORM: Структура  PDO  Doctrine DBAL  DQL  Doctrine ORM
    10. Компоненты  Manager  Connection  Table  Record  Collection  Validator  Profiler  Locking Manager  Views
    11. Описание модели  Типы данных: boolean, integer, float, decimal, string, array, object, blob, c lob, timestamp, date, enum, gzip  Связи: One to One, One to Many, Many to One, Tree Structure, Many to Many, Self Referencing (Nest Relations)  Индексы: первичный, уникальный, полнотекстовый  Проверки: больше, меньше, равно, e-mail  Опции таблицы: тип, кодировка, сравнение
    12. Описание модели: примеры кода  метод setTableDefinition() описание колонок $this->hasColumn(название, тип, размер, массив с параметрами); название таблицы $this->setTableName(название таблицы); ключи $this->index(название, array('fields' => array(поле), 'type' => тип)); опции таблицы: $this->option('charset', 'utf8');  Метод setUp() связb между таблицами $this->has<One|Many>(таблица, array('local' => поле в текущей таблице, 'foreign' => поле в связанной таблице, 'refClass' => таблица для связи * - *));
    13. DQL  Выборка данных, связанные записи  Вставка-изменение данных  Удаление данных  Для чего нужны Accessors и Mutators  Слушатели и обработка событий
    14. DQL: примеры  $users = Doctrine::getTable('User')->findAll(); $user = Doctrine::getTable('User')->find (1); echo $user->login, ' ', $user->Groups->Name; $users = Doctrine::getTable('User')->findByGroupsId (1); $users = Doctrine_Query::create()->from('User u')->leftJoin('u. Groups g')->where('g.id = ?', array(1))->fetchArray();  $user = new User(); $user->login = ‗root'; $user['groups_id'] = 1; $user->save();  $user->delete(); $result = Doctrine_Query::create()->delete()->from('User u')- >where('u.id = ?', array(1))->addWhere('groups_id = 1') ->execute();
    15. Шаблоны  Для чего это нужно и как работает  Geographical  I18n  NestedSet  Searchable  Sluggable  Softdelete  Timestamp  Versionalble
    16. Иерархические структуры  Adjacency list (Список смежностей)  Nested Set  Получение дерева  Получение ноды  Добавление, удаление, изменение ноды  Перенос ноды
    17. Проблемы  Синтаксический анализ запроса  Сложность построения оптимизированных запросов  Ограничение SQL  Связанные таблицы  Встроенные процедуры и функции БД
    18. Решения проблем  Профайлинг  Оптимизация  Кэширование  Сложные запросы  View  Транзакции
    19. Литература  М.Фаулер ―Архитектура корпоративных программных приложений‖  http://www.martinfowler.com/  http://wikipedia.org/  http://www.doctrine-project.org/  http://phpclub.ru/

    + art23art23, 6 months ago

    custom

    661 views, 0 favs, 2 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 661
      • 645 on SlideShare
      • 16 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 6
    Most viewed embeds
    • 11 views on http://www.bynet2.org
    • 5 views on http://it-job.by

    more

    All embeds
    • 11 views on http://www.bynet2.org
    • 5 views on http://it-job.by

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories