Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2011, 14:43   #1
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию Триггеры в базах данных

Встречались ли в открытом доступе (не enterprise) скрипты типа форумов и блогов, использующие сабж?

Хочу посмотреть в образовательных целях, для чего и как их применяют другие.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 01.03.2011, 17:30   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

игугл рулит.... недавно встречался с триггерами - на них была реализована одновременная регистрация пользователей в форуме и отдельном сайте
ADSoft вне форума Ответить с цитированием
Старый 01.03.2011, 18:32   #3
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Ага, ну а что–нибудь посложнее, что–нибудь более важное.

С одной стороны, в базе данные должны быть нормализованы. Ими легче управлять тогда. С другой стороны, если они нормализованы, запросы тормозить начинают. Триггеры должны решать эту проблему.

И не только эту.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 01.03.2011, 21:21   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

по мне - так тригеры с этим не связаны....ибо это типа храниых процедур, срабатывающих по определенным событиям (вставка, обновление, удаление) как до так и после операций....
думаю с их помощью можно транзакции реализовать, синхронизацию.... облегчать какие то запросы.... но чтобы нормализовать или денормализовать бд - вряд ли
ADSoft вне форума Ответить с цитированием
Старый 01.03.2011, 21:26   #5
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

На Хабре, кстати, неплохая статейка о триггерах.
SkyM@n вне форума Ответить с цитированием
Старый 02.03.2011, 01:47   #6
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
но чтобы нормализовать или денормализовать бд - вряд ли
Ну вот допустим, чтобы отобразить страницу раздела этого форума, нужна информация о последнем сообщении в каждой теме, об авторах этих сообщений — всё это для нормальной производительности должно выбираться не запросом сложным, а уже должно быть готово к моменту отображения страницы. В Google AppEngine так и вовсе нельзя JOIN делать.

Вот и напрашивается решение: первичные данные храним в нормализованном виде, но для быстродействия дублируем эти данные в дополнительных полях в денормализованном виде. И, сколько я видел, добавка вторичной информации и поддержание её в актуальном состоянии делается не триггерами, а скриптом, а хочется триггеры.

Вот, например, FlexViews — довесок к MySQL, который позволяет в MySQL держать материализованные виды и поддерживать их актуальность. Недостаток — требуется похимичить с MySQL сервером, ловля событий не через триггеры сделана, поэтому в скрипт на обобщённый хостинг не поставишь такое.

--

В статье описывается, как создавать триггеры, но не описывается, зачем люди делают это, каковы варианты использования.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Триггеры МартинИ SQL, базы данных 4 23.12.2010 20:12
Базы Данных. Триггеры. Pashkaaa БД в Delphi 1 09.09.2009 20:16
обмен данными из двух таблиц (одинаковой структуры) но в разных базах Tanuska___:) БД в Delphi 1 26.11.2008 19:41
Как хранить/изымать дату/время в базах данных mysql? Gorychev PHP 8 25.05.2008 14:35
запрос который бы подсчитывал количество полных лет начиная с того года который указан в данных мне базах PereCCC Помощь студентам 8 15.05.2008 16:24