Удобная работа с базой данных в PHP. презентация

Содержание

Реляционная база данных Двухмерная таблица Колонки – название полей Строки – уникальные записи Ключи для идентификации и связей между таблицами SQL – стандартный язык запросов, возвращает так же двухмерную таблицу

Слайд 1ПЛИСКО ВЯЧЕСЛАВ.
PLISKOVS@GMAIL.COM
HTTP://AMDY.SU/
Удобная работа с базой данных в PHP.


Слайд 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

Слайд 9Doctrine 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,

clob, 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(таблица, array('local' => поле в текущей таблице, 'foreign' => поле в связанной таблице, 'refClass' => таблица для связи * - *));

Слайд 13DQL
Выборка данных, связанные записи
Вставка-изменение данных
Удаление данных
Для чего нужны Accessors и Mutators
Слушатели

и обработка событий

Слайд 14DQL: примеры
$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/


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика