Поиск по блогу

четверг, 6 ноября 2008 г.

Автоматизация постинга в дневники на блогхостингах с WordPress. Часть III

Продолжу тему автоматизации постинга. Прежде чем описывать технологический процесс дальше, подробнее остановлюсь на работе с БД. Это будет не третья часть, а скорее вторая с половиной, так как я немного вернусь назад и расскажу, как я обычно работаю с базой.

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

Итак, Firebird. Работать с базой будет удобнее через специально разработанный инструмент. Например, IBExpert.

Там и многооконный режим, и дружественный интерфейс, и визуальный редактор. В Эксперте удобно отлаживать запросы.

Для начала создаются все таблицы. DDL полностью я здесь приводить не буду, в качестве примера приведу только создание двух таблиц: блогов и блогхостингов.

CREATE GENERATOR GEN_BLOG_N;

CREATE TABLE BLOG (
N INTEGER NOT NULL,
N_BLOGHOSTING INTEGER,
LOGIN VARCHAR(25),
PASS VARCHAR(25),
BLOGNAME VARCHAR(255),
TITLE VARCHAR(255),
DSC VARCHAR(500),
URL VARCHAR(255),
EMAIL VARCHAR(50),
CREATE_DATE DATE,
UPDATE_DATE DATE
);

ALTER TABLE BLOG ADD CONSTRAINT PK_BLOG PRIMARY KEY (N);

CREATE GENERATOR GEN_BLOGHOSTING_N;

CREATE TABLE BLOGHOSTING (
N INTEGER NOT NULL,
URL VARCHAR(255),
URL_LOGIN VARCHAR(255),
FORM_LOGIN VARCHAR(25),
FIELD_LOGIN VARCHAR(25),
FIELD_PASS VARCHAR(25),
BUTTON_LOGIN VARCHAR(25),
URL_UNLOGIN VARCHAR(255),
URL_NEW_MESS VARCHAR(255),
FIELD_TITLE VARCHAR(25),
FIELD_MESS VARCHAR(25),
FIELD_TAGS VARCHAR(25)
);

ALTER TABLE BLOGHOSTING ADD CONSTRAINT PK_BLOGHOSTING PRIMARY KEY (N);

Для каждой таблицы создаем ключ и генератор значения ключа (сиквенс). А также триггер BEFORE INSERT, который для каждой новой записи записывает в поле N значение сиквенса.

SET TERM ^ ;

CREATE TRIGGER BLOG_BI FOR BLOG
ACTIVE BEFORE INSERT POSITION 0
AS
begin
if (New.N is null) then
New.N = Gen_Id(gen_blog_n, 1);
end
^

SET TERM ; ^

(Я тут все привела в кодах, но в Эксперте все то же самое можно сделать через интерфейс, не заботясь о правильности синтаксиса.)

Проделав подобные шаги для всех таблиц, получим базу со структурой, напоминающей БД из первой части этой серии постов. После этого можно переходить к запросам.

Статьи схожей тематики:



Комментариев нет:

Отправить комментарий

Комментарии модерируются, вопросы не по теме удаляются, троллинг тоже.

К сожалению, у меня нет столько свободного времени, чтобы отвечать на все частные вопросы, так что, может, свой вопрос лучше задать на каком-нибудь форуме?

Поделиться