powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Интересно подискусировать с профессионалами
25 сообщений из 103, страница 4 из 5
Интересно подискусировать с профессионалами
    #32405526
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самоуверенный молодой человек, давайте свою табличку, давайте данные.
Можно мне на почту.
Задача у вас для НИИ, никак не связанная с БД...

...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32405551
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mzprog держись!
междумордие отдыхает :)
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32405567
Alexander_Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо поставить такую задачу, чтобы напрячь сервера по полной программе...

Пусть, для простоты у нас будет 1 таблица...


Хм .. так мы сервер напрягать будем или у нас будет одна таблица?
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32405598
Alexander_Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я до этого только и слышал, что реляционные базы это круто!
Как дело дошло до конкретной задачи - пас.... сразу использовать ОЗУ!!! :)


Точно - настоящим реляционным базам ОЗУ использовать западло. Гражданин - читайте книжки.
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32405659
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу тебя немного огорчить - такая СУБД уже существует более десяти лет. Называеться она Velocis.
Уж не dbVista ли это? Тогда ей уже более 20-ти.
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406541
mzprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
feddвыбрать время вставки максимального значения
найти 10 минимальных
найти среднее, просуммировать 10 минимальных значений

Если мы заранее будем знать эти условия, то пожалуйста...
Time = 0;
Max = Value; //первое значение ...

Теперь во время добавления каждой записи:
if (Max < Value) // для последующих
{
Max = Value;
Time = i;
}

и т.д...

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

f_w_r
Я! По-моему уже доказано, что у вас вообще нет СУБД. Тем более РВ.

Игра сапёр не содержит 3D-графики на базе OpenGL или DirectX, не снабнена навороченными звуковыми голосовыми эффектами, не позволяется играть по сети ... значит с твоим подходом это что не игра???


SuperSerg
И я кстати так и не увидел решения на С++ своей задачи с двумя таблицами :)

Пусть в таблице tov храниться список товаров, а в таблице oper - список
всех операций (покупка/продажа товаров)...
Задача - получить весь список...
Тогда:
for (int i = 0; i < oper.Count; i++)
{
... = oper .DateTime; //дата/время операции
if (oper.Sum < 0) ... = "продажа"; else ... = "покупка";
... = tov[oper.ID]].Name; // имя товара
... = oper.Sum; // сумма сделки
... = "руб"; // сделка в рублях
}

Мы получим, например, такую таблицу:
...
01.02.2004 18:21 покупка Персональный компьютер 30000 руб.
...

Alexander_ChepackХм .. так мы сервер напрягать будем или у нас будет одна таблица?
Точно - настоящим реляционным базам ОЗУ использовать западло...

Да при этих условиях хотя бы с одной таблицей справиться...
... и что-то не припомню в базах, например, какой-нибудь команды напрямую
работающую с ОЗУ...

odyХочу тебя немного огорчить - такая СУБД уже существует более десяти лет. Называеться она Velocis... Кого заинтересовала данное СУБД - http://www.raima.com/ - пробуйте что нить добится у буржуев. Но идея тама в следующем - вы регистрируетесь. и америкосы пересылают ваши данные в Питерским дилерам, дальше незнаю. У меня была лицензионная версия 2. а их уже по моему 6. И не надо велик изобретать - лучше вы не сделаете (по крайней мере в ближайшие лет десять :))


Изобретать велик не надо, забашляй пару штук баксов за продукт, изучи его...
научись писать для него dll - ки........ и готовь бабки на upgrade!!!
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406545
mzprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рыжий Кот
Самоуверенный молодой человек, давайте свою табличку, давайте данные.
Можно мне на почту.
Задача у вас для НИИ, никак не связанная с БД...

Мне тоже хотелось бы поучаствовать в эксперименте (может и ещё кому)... Позапускать у себя на компе... Что для этого нужно??? Программу со своей стороны я подготовлю на выходных...сейчас пока-что занят...
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406552
mzprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нащупывается её одно направление использования MzDbNet - это игры...
Например, необходимо написать сервак для какой-нибудь сетевой игры, где будут храниться игровые карты боевых сражений, различные юниты и т.д...
а также будет осуществляться расчёт всех взаимодействий игроков ... Представляю, если такую задачу решить на обычной СУБД (что в принципе даже очень возможно). При установки игры, она выдаст сообщение: "Установите SQL-сервер такой-то фирмы"... :)
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406596
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я аж цвет поменял


Свою некомпетентность не нужно выставлять напоказ. В своем дистрибутиве запросто можно поставлять и субд. (для подсчета буказоидов в интерент клубе я так и делал. MySQL разворачивался в папку, mysqld --install если память не изменяет net start mysql и админ и не подозревал, что у него СУБД).

Оффтоп, я вы где работаете?
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406602
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нащупывается её одно направление использования MzDbNet - это игры... Например, необходимо написать сервак для какой-нибудь сетевой игры, где будут храниться игровые карты боевых сражений, различные юниты и т.д... а также будет осуществляться расчёт всех взаимодействий игроков ... Представляю, если такую задачу решить на обычной СУБД (что в принципе даже очень возможно). При установки игры, она выдаст сообщение: "Установите SQL-сервер такой-то фирмы"... :)

Маладой человек, пойдите до ближайшего магазина и купите Silent Storm
И время с большей пользой проведете, и MSDE на компакте увидите :)
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406623
mzprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рыжий Кот
Свою некомпетентность не нужно выставлять напоказ. В своем дистрибутиве запросто можно поставлять и субд. (для подсчета буказоидов в интерент клубе я так и делал. MySQL разворачивался в папку, mysqld --install если память не изменяет net start mysql и админ и не подозревал, что у него СУБД).

Честно сказать с MySQL я не работал... Я имел в виду что-нибудь типа MS SQL (ну или Oracle)...

Лох Позорный
Microsoft SQL Server Desktop Engine (MSDE) - это СУБД для использования на локальной станции

Сеть не поддерживается что-ли???

mzprog
При установки игры, она выдаст сообщение: "Установите SQL-сервер такой-то фирмы"... :)

Беру свои слова обратно...
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406655
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mzprog, (серьезно) я не сомневаюсь, напротив даже уверен, что у вас блестящие способности к программингу. Просто на определенном этапе, человек освоив что-либо или достигнув чего-то, пытается на этом делать ВСЕ!
К сожалению это ошибка. Если ты делаешь что-то новое (для себя), стоит сначала все-таки поинтересоваться (яндекс - найдется все (с)), может уже есть готовые технологии. Никто не спорит, что может быть для данной задачи хорошего решения еще не найдено, и Вы сделаете своего рода революцию, но (!), и еще раз НО: надо же понимать, что очень велика вероятность, что подобные задачи уже кто-то решал. Спокойно, сядьте, посмотрите, переберите варианты... И мне кажется, что изучать что-то хорошо при реализации проекта, имеющего прикладной характер. Пусть первый раз будет криво, перепишИте, и т.д. Проект начнет расти (и вы вместе с ним). Через пару лет вы посмОтрите на то, что делали, и поверьте, будете умиляться своей наивности...

...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406691
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mzprog
Microsoft SQL Server Desktop Engine (MSDE) - это СУБД для использования на локальной станции
Это ты кого то другого процитировал, а не меня.

Сеть не поддерживается что-ли???
Твоя логика приводит меня в смущение.
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406754
Юрий Р.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рыжему Коту.
Я считаю, что программист, работающий в серьезном офисе, например в банке, просто вынужден использовать один инструмент и именно делать с его помощью ВСЕ. На изучение чего-то еще просто не хватит времени. Да и по моему убеждению нельзя одинаково хорошо знать две, три и более систем. Другое дело, когда задачу просто НЕЛЬЗЯ решить имеющимися средствами, тут уж деваться некуда, можно просто лишиться работы.
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406774
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mzprog Пусть в таблице tov храниться список товаров, а в таблице oper - список
всех операций (покупка/продажа товаров)...
Задача - получить весь список...
Тогда:
for (int i = 0; i < oper.Count; i++)
{
... = oper.DateTime; //дата/время операции
if (oper.Sum < 0) ... = "продажа"; else ... = "покупка";
... = tov[oper.ID]].Name; // имя товара
... = oper.Sum; // сумма сделки
... = "руб"; // сделка в рублях
}

Как я понял индекс не используется, а идёт сканирование.
tov[oper.ID] - т.е. мы имеем массив со всеми вытекающими ограничениями и возможностью выхода за его пределы.

А для сравнения на SQL
Код: plaintext
1.
2.
select oper.DateTime, case when oper.Sum <  0  then  "продажа"  else  "покупка"  end,   tov.Name, oper.Summa
from oper, tov 
where tov.ID=oper.ID

Во-первых это короче.
Во-вторых наглядней - мы не делаем каких-то циклов, объявлений лишних переменных, а только говорим то, что нужно выбрать и по каким условиям
В-третьих у нас точно не будет выхода за границы массива. В принципе мы даже можем поставить проверку чтобы не вводились операции с несуществующими товарами и не удалялись товары, по которым были операции(это всё делается вообще без писания кода, просто заданием свойств таблицы)
В-четвёртых если есть индексы - они будут грамотно использованы.
Ну про многопользовательскую работу я вообще не говорю.
А есть ли хоть одно преимущество у Вашего решения, кроме того что это намного интересней ?

Вот сейчас нащупывается её одно направление использования MzDbNet - это игры... . Но я думаю разработчики игр найдут свои аргументы. Ну и к тому же библиотек для примитивного чтения таблиц хватает и так.

А насчет задачки Эйнштейна - несерьёзная отмазка, кто хотел тот понял правильно.
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32406785
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игра сапёр не содержит 3D-графики на базе OpenGL или DirectX, не снабнена навороченными звуковыми голосовыми эффектами, не позволяется играть по сети ... значит с твоим подходом это что не игра???
Очень странная (мягко говоря) логика. Ну хорошо, дайте ваше определение СУБД.
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32407033
mzprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SuperSerg
Как я понял индекс не используется, а идёт сканирование.

Ну естественно, а как же, мы же хотим вывести все операции...
SuperSerg
tov[oper.ID] - т.е. мы имеем массив со всеми вытекающими ограничениями и возможностью выхода за его пределы.

Да нет, я использовал массив для более понятного написания...

Если посмотреть в библиотеке модуль MzDbTable.h, то там можно
найти класс CMzDbTable. Данный класс содержит несколько атрибутов и операций, в том числе следующие:
void SeekAt(TMzInt AIndex); //переход по таблице на запись с определённым
// индексом
void SeekFirst(TMzInt AIndex); //переход на первую запись
void Read(void *&Buf); //чтение текущей записи...
TMzInt GetCount(); //кол-во записей в таблице...

Таким образом, код на самом деле будет на много ужаснее:
//Опишем структуру операций в h-файле...
struct TOperRecord
{
int32 ID; // int32 - нестандартный тип для С++, целое 32-х разрядное число
float32 Sum; // float32 - нестандартный тип для С++, вещественное
//32-х разрядное число
};

...

TOperRecord or;
//Открываем таблицы
tov = new CMzDbTable("tov.mz", 100); // 100 - размер
//длины строки единицы товара
oper = new CMzDbTable("oper.mz", sizeof(TOperRecord));
...
//TMzInt - класс - "число целого типа"
TMzInt Count = oper.GetCount();
oper.SeekFirst(); // переход на первую запись (на всякий случай)
for (TMzInt i = 0; i < Count; i++)
{
oper.Read(&or);
tov.SeekAt(or.ID);
char TovName[101];
tov.Read(&TovName);

... = or.DateTime; //дата/время операции
if (or.Sum < 0) ... = "продажа"; else ... = "покупка";
... = TovName; // имя товара
... = or.Sum; // сумма сделки
... = "руб"; // сделка в рублях
}

надеюсь неошибся...


select oper.DateTime, case when oper.Sum < 0 then "продажа" else "покупка" end, tov.Name, oper.Summa
from oper, tov
where tov.ID=oper.ID

Во-первых это короче.
Согласен.

Во-вторых наглядней - мы не делаем каких-то циклов, объявлений лишних переменных, а только говорим то, что нужно выбрать и по каким условиям
Кому как, но естественно, для 99,99% - нагляднее

В-четвёртых если есть индексы - они будут грамотно использованы.
Раз я могу создать просто таблицу, то могу обозвать индексной и
хранить в ней номера полей другой таблицы в любом упорядоченном порядке...
То есть, я тоже могу создать индексную таблицу...

Ну про многопользовательскую работу я вообще не говорю.
Если посмотреть исходник, то там видно что библиотека
предназначена к работе по сети (UDP-протокол) и она многопользовательская!!! Это точно!!!

А есть ли хоть одно преимущество у Вашего решения, кроме того что это намного интересней?

Я согласен, что мой проект работы с базой приметивен. Я не МОНСТР - я не могу соперничать как с толпой программистов, например, Microsoft, которые при этом получают бешенные бабки, так и их финансистами, которые раскручивают и продают их программные продукты...Я не смогу этого сделать - хоть может быть и пытаюсь...

Есть ли преимущество? Есть точно одно приемущество!

Заходим на сайт mzc.narod.ru , закачиваем
библиотеку MzLib, пример VpDbServ и создаём СВОЙ СЕРВЕР БАЗ ДАННЫХ!!!
Затем, наслаждаемся этим.... А потом показываем начальнику - он сильно впечатляется и повышает зарплату!!!

А насчет задачки Эйнштейна - несерьёзная отмазка, кто хотел тот понял правильно. просьба на меня не обижаться....извени

Думаю, споры пора прекращать... На них уходит столько времени...
Если кому интересно и будет время - заходите на сайт
mzc.narod.ru ... Надеюсь
проект удасться продолжить, в том числе и направление для работы с
базами данных... После написания библиотек MzGL и MzCtrl - процесс
создания таблиц должен стать визуальным, возможно, добавлю
оператор select...
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32407091
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДумаю, споры пора прекращать...
Да споров и нет :) Есть просто большое удивление народа по поводу того, что Вам не лень всем доказывать, что не зная ничего, но имея настойчивость, желание и терпение можно построить современный автомобиль кустарными способами из проволочек и гвоздиков. Построить на самом деле можно, но вот автомобилем эта конструкция не станет и никто на ней никуда не поедет.

Вы делаете примитивную курсорную обработку и всем доказываете, что это СУБД, даже не зная основных терминов и понятий работы таких систем.

Кстати я вот еще чего не понимаю, в BCB есть компоненты TTable и TQuery, которые через BDE могут работать с dbf и db. Те же самые таблички. Можно строить индексы, лопатить записи в цикле, выполнять запросы и т.д. (кстати я так и не понял, что такое по Вашему индексные таблицы). Компоненты писаны на Delphi, то есть изначально при работе с ними из BCB вы получаете быстрый машинный код и кучу "интересных" возможностей. При желании их можно наследовать и дописать, более активно использовать API BDE, расширить функционал до необходимого Вам уровня. Иерархия классов продумана, поддержка типизированных полей и параметров есть, BDE может эффективно кэшировать работу с такими таблицами с целью уменьшения издержек. Если Вам хочеться подобие клиент-сервера, так для этого существует MIDAS, на нем достаточно красиво и просто можно организовать примитивный выделенный сервер.

Так чем Вас решение Borland не угодило то ? Или опять только тем, что это написали не Вы, а Borland ?

P.S. Или я чего то не понимаю или ... больше ничего на ум не приходит (C) Хрюндель
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32407097
Alexander_Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
СВОЙ СЕРВЕР БАЗ ДАННЫХ!!!
Затем, наслаждаемся этим....
А потом показываем начальнику - он сильно впечатляется и повышает зарплату!!!



Хм .. а я бы уволил после этого в три секунды - поскольку ясно что человек от безделия мучается.
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32407101
Speaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА потом показываем начальнику - он сильно впечатляется и повышает зарплату!!!
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32407115
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
возможно, добавлю оператор select...
Точка. Приплыли.
От чего убегал - к тому же и вернулся

В большинстве СУБД (если не во всех) SQL - надстройка. И у тебя в итоге получится тоже самое (если, конечно, ты дойдешь до этого момента).



eNose
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32407735
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Классный топик.
Десяток гуру в области баз данных пытаются спорить с человеком, который об этой области понятия не имеет, и не хочет иметь. И, что характерно - он-таки их почти переспоривает! Ну потому что действительно, программку типа "Hello world" написать - она С++ и меньше будет, и выполняться быстрее. И нагляднее (для кого-то). А эти базы данных - это проклятая MS бешенные бабки со всех гребет, на самом деле они нифига не могут! А тут бесплатно библиотека для "Hello world"! По функционалу скоро догонит крутейший Сервер Баз Данных Dbase!

Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32408281
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не, никто не спорит - пытаемся наставить на путь истинный :)



-- Tygra's --
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32408927
---------------
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так всегда

Только человек начнет крылья распускать,
как набегает толпа и выдергивает все перья.

Руки прочь - пусть летит (как умеет)
...
Рейтинг: 0 / 0
Интересно подискусировать с профессионалами
    #32409040
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mzprog:
Не отчаивайся. Лично я желаю успехов. От обсуждения возьми полезное. В частности, пожелание учиться. Когда-то все были дилетантами в своих вопросах. А еще раньше и читать-писать не умели.
...
Рейтинг: 0 / 0
25 сообщений из 103, страница 4 из 5
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Интересно подискусировать с профессионалами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]