Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как выбрать тип базы? [D7, Типизированная]


Strateg23 ©   (2003-11-20 17:54:00) 

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


Digitman   (2003-11-21 08:25:00) [1]


> Strateg23


ты приведи псевдокод кл.стороны ...
что конкретно нужно тебе хранить в БД, какие выборки делать, нужно ли модифицировать уже сохраненное и т.д. и т.п.
т.е., ТЗ хоть в каком-то виде ...
а мы уж тебе подскажем, что выбирать ...


Vlad   (2003-11-20 19:41:00) [2]


> Zacho © (20.11.03 19:23) [13]

Так это почти любая БД, не считая DBF и иже с ними "сжимает". А на самом деле хранит фактическое значение записи, т.е. реальные размеры
Я же имел ввиду что тип данныхтут не причем, не он отвечает за сжатие/не сжатие данных.


Zacho   (2003-11-20 19:23:00) [3]


> Vlad © (20.11.03 19:08) [12]

AFAIK это именно так. И imho это правильно. Но сами данные-то сжимает :)


Vlad   (2003-11-20 19:08:00) [4]


> Zacho © (20.11.03 19:01) [11]

Вот кстати насчет IB не уверен. По моему он заранее создает страницы фиксированного размера, а потом их просто заполняет.


Zacho   (2003-11-20 19:01:00) [5]


> Strateg23 © (20.11.03 18:58) [10]

Почитай книги. Одну из "must read" я уже привел. Правда, может оказаться, что для твоей задачи время на чтение и осмысление Дейта и не окупиться, но лишним все-равно не будет.


Strateg23   (2003-11-20 18:58:00) [6]

Спасибо всем за обстоятельные ответы. Честно говоря почти ничего не понял. Знаний мало. Но отвечать как "для тупых" нужны особые способности. Более понятно объяснял Reindeer Moss Eater, но в результате я так и не понял, как и что мне использовать. Жалко.


Zacho   (2003-11-20 18:53:00) [7]


> Vlad © (20.11.03 18:44) [7]

Смотря как понимать вышесказанное :) IB, например, сжимает записи по RLE :)


Reindeer Moss Eater   (2003-11-20 18:51:00) [8]

Тебе подойдет любая субд поддерживающая символьный тип данных переменной длины.

Берем твои записи (вернее их блобы - участки памяти ими занимаемые), переводим их в строки в HEX виде и записываем в поля таблицы.
В результате имеем:
1. Записи могут быть произвольной длины
2. Для их хранения выделяется примерно столько места сколько занимает сама запись (её строковое представление) а не столько, сколько требуется для записи максимального размера


Zacho   (2003-11-20 18:44:00) [9]


> Strateg23 © (20.11.03 18:30) [5]
> реляционный - я не слышал о таком. Что это?

Читай К.Дж.Дейт "Введение в системы баз данных". Одна из классических книг по теории РСУБД

> Я пробовал работать только с типизированной базой данных.
>

А что такое "типизированная база данных" ?


Vlad   (2003-11-20 18:44:00) [10]


> Strateg23 © (20.11.03 18:30) [5]

Вышесказанное не умеет делать ни один тип данных. У тебя неверное представление о хранении данных в БД.


Strateg23   (2003-11-20 18:30:00) [11]

2 Digitman
Я пробовал работать только с типизированной базой данных. Смею Вас уверить, что она не обраoftn внимания на то, сколько незаполненных символов в записях и как уменьшить размеры. Какой тип данных имеет смысл использовать, чтобы он умел делать вышесказанное? предполагаемое количество записей - не более 5000.
2 Reindeer Moss Eater
реляционный - я не слышал о таком. Что это?
2 Anatoly Podgoretsky - почему все говорят противоположные вещи?


Anatoly Podgoretsky   (2003-11-20 17:57:00) [12]

Условие выполняется если в базе только одна запись.


Reindeer Moss Eater   (2003-11-20 17:56:00) [13]

Выбери реляционный тип БД


stud   (2003-11-20 17:56:00) [14]

это как?


Digitman   (2003-11-20 17:56:00) [15]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо