Обьектно Ориентированная БД

NEK

Guest
Re: Обьектно Ориентированная БД

Как раз пишу класс MYSQL для работы удобной работы с таблицами. Если подождешь 1-2 недели доделаю.
 

Anton

Just Programmer
Ух ты ... вопрос вполне терпит. С удовольствием ознакомился бы.
 

tony2001

TeaM PHPClub
>Как раз пишу класс MYSQL для работы удобной работы с таблицами.
а что значит "работы удобной работы" ?
 

NEK

Guest
Ну это значит, что тут-же можно вести поиск, сортировать, индексировать , создавать - удалять + добавлять (все что угодно оъекты , масивы , перемен, таблици, столбцы, строки).
И пользоваться как обычным масивом.
 

NEK

Guest
Да забыл сказать все это не требует никаких знаний структуры базы и запросов MySQL
 

Demiurg

Guest
Работать с базой не зная структуры базы - это глупо.
Сам sql уже является абстракцией.
 

tony2001

TeaM PHPClub
>Ну это значит, что тут-же можно вести поиск, сортировать,
>индексировать , создавать - удалять + добавлять (все что
>угодно оъекты , масивы , перемен, таблици, столбцы, строки).
у думаю, что вам стоит посмотреть на популярные абстрактные классы для работы с БД.
 

Anton

Just Programmer
ээээ ... NEK ... мы тут немного про другое разговор вели :)) Или просто мы не поняли, что делаешь ты или ты не понял о чем здесь речь. Объясни подробнее ... что за штуковину ты делаешь?
 

Said

Guest
Автор оригинала: NEK
Ну это значит, что тут-же можно вести поиск, сортировать, индексировать , создавать - удалять + добавлять (все что угодно оъекты , масивы , перемен, таблици, столбцы, строки).
И пользоваться как обычным масивом.
Обычно в отдельно взятом скрипте не требуются сразу все перечисленные функции, поэтому реализовывать их в одном классе считаю нецелесообразным. Тем более похожий велосипед уже есть в PEAR - DB_DataObject
 

Alexandre

PHPПенсионер
Антон, прочитал я ссылку http://www.compress.ru/Temp/2006/index.htm
статья на первый взгляд хорошая, но с объектным подходом в БД - это лишние прибамбасы, лишняя нагрузка на процессор....
а эффект того не стоит! (я могу ошибаться...)

тебе правильно посоветовали, что главное - это правильно организовать структуру данных. На сколько правильно ты ее организуешь, на столько эффективна будет твоя система.

навороченные системы типа ORACLE кушают слишком много ресурсов и требуют к себе особого подхода.

Да, они выиигрывают - если объемы превышают 100 000 записей в табл.

но и они требуют отдельного сервака, памяти как у двух серваков, да еще желательно двухпроцессорного ... и многое многое другое...

если стоимость самой системы превышает на порядок стоимость ее железа - то это оправдано. я как вижу- нет?

ну тогда - упрости себе жизнь сам!
 

NEK

Guest
Автор оригинала: Anton
ээээ ... NEK ... мы тут немного про другое разговор вели :)) Или просто мы не поняли, что делаешь ты или ты не понял о чем здесь речь. Объясни подробнее ... что за штуковину ты делаешь?
В общем довольно часто приходится пользоваться MySQL, что-то добавлять, менять и. т.д.
Мне просто надоело я хочу обращатся с базой как с масивом + некоторые дополнтьельные функции.
Т.е. ты никак не зависиш от структуры, цели, знания языка - за тебя все делает класс. От тебя требуется - задать строку и,или столбец, некоторые условия.
Надо можно и довавить - удалить столбцы,стороки, таблицы.
Т.е.
$z=MySQltable_X(array(z=>int,tx=>text);
// таблица не существовала создасться
$tab_info=$z->GEt_Info(); // вернет таблицу
$tab_info=$z->GEt_Info('t'); //столбец t
$tab_info=$z->GEt_Info('*',25);// стороку №25
//состоящую
//из данных всех столцов
$tab_info=$z->GEt_Info('t,t2',25);// стороку №25
// состоящую
//из данных столцов t,t2
$tab_info=$z->GEt_Info('t,t2',25,'t<30');// стороку №25
// состоящую
//из данных столцов t,t2
//для t<30
$tab_info=get_next('*'); //следующую стороку
$tab_info=get_next('*',25);// если есть следующий
// столбец для стороки 25
... // пользуетесь $tab_info как масивом

$z->Set_info($tab_info); // все изменения если есть в
//базу

ну что-то похожее ???
 

tony2001

TeaM PHPClub
>я хочу обращатся с базой как с масивом
м-да.

>Т.е. ты никак не зависиш от структуры, цели, знания языка - за тебя все делает класс.
а он откуда знает структуру и цели????

>От тебя требуется - задать строку и,или столбец, некоторые условия.
то есть, все-таки надо что-то знать.

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

NEK

Guest
Автор оригинала: Demiurg
Работать с базой не зная структуры базы - это глупо.
Сам sql уже является абстракцией.
Это не глупо, а удобно нет никакой нужды что-то долго писать , обрабатывать ошибки и исключительные ситуации - пусть этим занимается класс. Каждый раз писать одно и тоже надоедает.
 

NEK

Guest
Автор оригинала: Demiurg
Работать с базой не зная структуры базы - это глупо.
Сам sql уже является абстракцией.
Это не глупо, а удобно нет никакой нужды что-то долго писать , обрабатывать ошибки и исключительные ситуации - пусть этим занимается класс. Каждый раз писать одно и тоже надоедает.
 

NEK

Guest
Автор оригинала: Demiurg
Работать с базой не зная структуры базы - это глупо.
Сам sql уже является абстракцией.
Это не глупо, а удобно. Зачем каждый раз писать - преписывать и подстраивать один и тот же класс, обрабатывать какие-то ошибки, исключительные ситуации. Здесь нет ничего интерессного кроме "Вкеликого метода" COPY-PASTE
 

NEK

Guest
Автор оригинала: Demiurg
тебе нужно с csv работать а не с базой.
Оперрация
PHP:
  while ($d=fgetcsv(';',1024,$f)) {
     $d[0] ....
    
    $d[n] .... 
}
Работает медленно и не будешь же хранить что-либо серезное в таком виде. А ели потребуется обновить данные ???
Такая штука тоже не выход :
PHP:
  $f=file($file_name);
  for($i=0;$i<count($f)$i++)
    $d=exlode(';',$f[$i])
 

NEK

Guest
Автор оригинала: Said
нецелесообразным. Тем более похожий велосипед уже есть в PEAR - DB_DataObject
Большинство сриптов выглядят так:
$z=new data_base_class_connect($name,$host,$login,$pass);
Т.е. предоставляют вожможности по работе с базой, а через базу с таблицей. Моему классу все равно таблицы из одной базы из разных - не имеет значения. Мой класс - это класс для работы с таблицой, а не с базой.
 
Сверху