Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Самоуверенный молодой человек, давайте свою табличку, давайте данные. Можно мне на почту. Задача у вас для НИИ, никак не связанная с БД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 13:24 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
mzprog держись! междумордие отдыхает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 13:31 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Надо поставить такую задачу, чтобы напрячь сервера по полной программе... Пусть, для простоты у нас будет 1 таблица... Хм .. так мы сервер напрягать будем или у нас будет одна таблица? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 13:38 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Я до этого только и слышал, что реляционные базы это круто! Как дело дошло до конкретной задачи - пас.... сразу использовать ОЗУ!!! :) Точно - настоящим реляционным базам ОЗУ использовать западло. Гражданин - читайте книжки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 13:51 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Хочу тебя немного огорчить - такая СУБД уже существует более десяти лет. Называеться она Velocis. Уж не dbVista ли это? Тогда ей уже более 20-ти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 14:14 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
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!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 07:58 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Рыжий Кот Самоуверенный молодой человек, давайте свою табличку, давайте данные. Можно мне на почту. Задача у вас для НИИ, никак не связанная с БД... Мне тоже хотелось бы поучаствовать в эксперименте (может и ещё кому)... Позапускать у себя на компе... Что для этого нужно??? Программу со своей стороны я подготовлю на выходных...сейчас пока-что занят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 08:02 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Нащупывается её одно направление использования MzDbNet - это игры... Например, необходимо написать сервак для какой-нибудь сетевой игры, где будут храниться игровые карты боевых сражений, различные юниты и т.д... а также будет осуществляться расчёт всех взаимодействий игроков ... Представляю, если такую задачу решить на обычной СУБД (что в принципе даже очень возможно). При установки игры, она выдаст сообщение: "Установите SQL-сервер такой-то фирмы"... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 08:14 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Я аж цвет поменял Свою некомпетентность не нужно выставлять напоказ. В своем дистрибутиве запросто можно поставлять и субд. (для подсчета буказоидов в интерент клубе я так и делал. MySQL разворачивался в папку, mysqld --install если память не изменяет net start mysql и админ и не подозревал, что у него СУБД). Оффтоп, я вы где работаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 09:26 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Нащупывается её одно направление использования MzDbNet - это игры... Например, необходимо написать сервак для какой-нибудь сетевой игры, где будут храниться игровые карты боевых сражений, различные юниты и т.д... а также будет осуществляться расчёт всех взаимодействий игроков ... Представляю, если такую задачу решить на обычной СУБД (что в принципе даже очень возможно). При установки игры, она выдаст сообщение: "Установите SQL-сервер такой-то фирмы"... :) Маладой человек, пойдите до ближайшего магазина и купите Silent Storm И время с большей пользой проведете, и MSDE на компакте увидите :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 09:29 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Рыжий Кот Свою некомпетентность не нужно выставлять напоказ. В своем дистрибутиве запросто можно поставлять и субд. (для подсчета буказоидов в интерент клубе я так и делал. MySQL разворачивался в папку, mysqld --install если память не изменяет net start mysql и админ и не подозревал, что у него СУБД). Честно сказать с MySQL я не работал... Я имел в виду что-нибудь типа MS SQL (ну или Oracle)... Лох Позорный Microsoft SQL Server Desktop Engine (MSDE) - это СУБД для использования на локальной станции Сеть не поддерживается что-ли??? mzprog При установки игры, она выдаст сообщение: "Установите SQL-сервер такой-то фирмы"... :) Беру свои слова обратно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 09:45 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
mzprog, (серьезно) я не сомневаюсь, напротив даже уверен, что у вас блестящие способности к программингу. Просто на определенном этапе, человек освоив что-либо или достигнув чего-то, пытается на этом делать ВСЕ! К сожалению это ошибка. Если ты делаешь что-то новое (для себя), стоит сначала все-таки поинтересоваться (яндекс - найдется все (с)), может уже есть готовые технологии. Никто не спорит, что может быть для данной задачи хорошего решения еще не найдено, и Вы сделаете своего рода революцию, но (!), и еще раз НО: надо же понимать, что очень велика вероятность, что подобные задачи уже кто-то решал. Спокойно, сядьте, посмотрите, переберите варианты... И мне кажется, что изучать что-то хорошо при реализации проекта, имеющего прикладной характер. Пусть первый раз будет криво, перепишИте, и т.д. Проект начнет расти (и вы вместе с ним). Через пару лет вы посмОтрите на то, что делали, и поверьте, будете умиляться своей наивности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 10:06 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
2 mzprog Microsoft SQL Server Desktop Engine (MSDE) - это СУБД для использования на локальной станции Это ты кого то другого процитировал, а не меня. Сеть не поддерживается что-ли??? Твоя логика приводит меня в смущение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 10:27 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Рыжему Коту. Я считаю, что программист, работающий в серьезном офисе, например в банке, просто вынужден использовать один инструмент и именно делать с его помощью ВСЕ. На изучение чего-то еще просто не хватит времени. Да и по моему убеждению нельзя одинаково хорошо знать две, три и более систем. Другое дело, когда задачу просто НЕЛЬЗЯ решить имеющимися средствами, тут уж деваться некуда, можно просто лишиться работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 11:03 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
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. Во-первых это короче. Во-вторых наглядней - мы не делаем каких-то циклов, объявлений лишних переменных, а только говорим то, что нужно выбрать и по каким условиям В-третьих у нас точно не будет выхода за границы массива. В принципе мы даже можем поставить проверку чтобы не вводились операции с несуществующими товарами и не удалялись товары, по которым были операции(это всё делается вообще без писания кода, просто заданием свойств таблицы) В-четвёртых если есть индексы - они будут грамотно использованы. Ну про многопользовательскую работу я вообще не говорю. А есть ли хоть одно преимущество у Вашего решения, кроме того что это намного интересней ? Вот сейчас нащупывается её одно направление использования MzDbNet - это игры... . Но я думаю разработчики игр найдут свои аргументы. Ну и к тому же библиотек для примитивного чтения таблиц хватает и так. А насчет задачки Эйнштейна - несерьёзная отмазка, кто хотел тот понял правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 11:15 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Игра сапёр не содержит 3D-графики на базе OpenGL или DirectX, не снабнена навороченными звуковыми голосовыми эффектами, не позволяется играть по сети ... значит с твоим подходом это что не игра??? Очень странная (мягко говоря) логика. Ну хорошо, дайте ваше определение СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 11:21 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
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... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 13:18 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
авторДумаю, споры пора прекращать... Да споров и нет :) Есть просто большое удивление народа по поводу того, что Вам не лень всем доказывать, что не зная ничего, но имея настойчивость, желание и терпение можно построить современный автомобиль кустарными способами из проволочек и гвоздиков. Построить на самом деле можно, но вот автомобилем эта конструкция не станет и никто на ней никуда не поедет. Вы делаете примитивную курсорную обработку и всем доказываете, что это СУБД, даже не зная основных терминов и понятий работы таких систем. Кстати я вот еще чего не понимаю, в BCB есть компоненты TTable и TQuery, которые через BDE могут работать с dbf и db. Те же самые таблички. Можно строить индексы, лопатить записи в цикле, выполнять запросы и т.д. (кстати я так и не понял, что такое по Вашему индексные таблицы). Компоненты писаны на Delphi, то есть изначально при работе с ними из BCB вы получаете быстрый машинный код и кучу "интересных" возможностей. При желании их можно наследовать и дописать, более активно использовать API BDE, расширить функционал до необходимого Вам уровня. Иерархия классов продумана, поддержка типизированных полей и параметров есть, BDE может эффективно кэшировать работу с такими таблицами с целью уменьшения издержек. Если Вам хочеться подобие клиент-сервера, так для этого существует MIDAS, на нем достаточно красиво и просто можно организовать примитивный выделенный сервер. Так чем Вас решение Borland не угодило то ? Или опять только тем, что это написали не Вы, а Borland ? P.S. Или я чего то не понимаю или ... больше ничего на ум не приходит (C) Хрюндель ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 13:42 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
автор СВОЙ СЕРВЕР БАЗ ДАННЫХ!!! Затем, наслаждаемся этим.... А потом показываем начальнику - он сильно впечатляется и повышает зарплату!!! Хм .. а я бы уволил после этого в три секунды - поскольку ясно что человек от безделия мучается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 13:45 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
авторА потом показываем начальнику - он сильно впечатляется и повышает зарплату!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 13:46 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
возможно, добавлю оператор select... Точка. Приплыли. От чего убегал - к тому же и вернулся В большинстве СУБД (если не во всех) SQL - надстройка. И у тебя в итоге получится тоже самое (если, конечно, ты дойдешь до этого момента). eNose ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 13:51 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Классный топик. Десяток гуру в области баз данных пытаются спорить с человеком, который об этой области понятия не имеет, и не хочет иметь. И, что характерно - он-таки их почти переспоривает! Ну потому что действительно, программку типа "Hello world" написать - она С++ и меньше будет, и выполняться быстрее. И нагляднее (для кого-то). А эти базы данных - это проклятая MS бешенные бабки со всех гребет, на самом деле они нифига не могут! А тут бесплатно библиотека для "Hello world"! По функционалу скоро догонит крутейший Сервер Баз Данных Dbase! Nobody faults but mine... (LZ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 19:26 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 11:28 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
Вот так всегда Только человек начнет крылья распускать, как набегает толпа и выдергивает все перья. Руки прочь - пусть летит (как умеет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 15:41 |
|
||
|
Интересно подискусировать с профессионалами
|
|||
|---|---|---|---|
|
#18+
2 mzprog: Не отчаивайся. Лично я желаю успехов. От обсуждения возьми полезное. В частности, пожелание учиться. Когда-то все были дилетантами в своих вопросах. А еще раньше и читать-писать не умели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2004, 16:25 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32405526&tid=1554159]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 375ms |

| 0 / 0 |
