Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Организация Базы Данных


Автор: Kaskad 2.4.2005, 17:57
Значит, мне нужно создать динамическую БД. Ни разу подобное не делал. smile Массив- не катит. Динамические списки использовать? Обьясните мне структуру? В общих чертах. smile

Автор: Kaskad 2.4.2005, 18:16
Уточнение: Нужно представить реляционную базу данных на файлах Паскаля. (файл- нетексовый) Списки отменяются smile smile

Автор: Fedor 2.4.2005, 21:20
Насколько я понял вопрос, тебе можно например хранить базу в типизированных файлах. Потом осуществлять прямой доступ в эти файлы, считывать записи.
Типизированный файл знаешь как делать?

Например:
Код

type TRec=record
   a,b,c:integer;
   k:array[1..10] of word;
end;
var
  f:file of TRec;
  R:TRec;
begin
  {Ну а тут - собсна работа. Если именно это нужно, я напишу}
end.


Автор: Pakshin A. S. 2.4.2005, 21:51
А может еще по-приколу с нетипизированными поработать... smile

Дай пример базы данных и мы сможет тебе написать полную реализация на паскале... smile

Автор: Romtek 4.4.2005, 00:27
Советую посмотреть http://forum.sources.ru/index.php?showtopic=43464,
http://forum.sources.ru/index.php?showtopic=57459 (файлы и записи, в одном флаконе - Практикум)
Особенно, разделы "Pascal: Структуры данных" и "Pascal: Файлы и записи" ЧАВО.

Цитата(Kaskad @ 2.4.2005, 17:57)
Обьясните мне структуру
Смотря что ты хочешь хранить в БД. Типичный пример - телефонная книга. Состоит из 2-х строк: фамилии и номера.

Автор: ~FoX~ 6.4.2005, 08:17
Kaskad
Не понял, а чем нормальная БД не канает?
http://forum.vingrad.ru/index.php?showtopic=46824
Тут как раз про дбф вещают.

Автор: ~FoX~ 6.4.2005, 08:31
Че та меня на лирику проперло.
Можно вывернуться. Пишешь двигло (собственное).
Задачи двигла:
1. Хранение данных любого типа.
2. Сортировка
3. Фильтрование
4. Выборка
5. Индексирование

Все это храниться в нетепизированых фалах. Класс............ smile могу принять участие в разработке. smile

Автор: S.A.P. 6.4.2005, 09:14
Лучше сразу инетерпритатор языка SQL для нового движка написать. Тут же можно и драйвер для ODBC состряпать.



smile

Автор: ~FoX~ 6.4.2005, 09:29
Perchilla
[off]Нафиг ОДБЦ, собственную систему напишем.........Будет работать через собственную систему алиасов (храняться в тойже базе к которой конектищся smile ). эСКуэЛь тоже нафиг, напишем собственый интерпритируемый язык, а можно даже компилируемый smile [/off]
Ну, а если по существу, то боюсь, что собственную реляционную БД ты замучаешься писать. Возми лучше стандартную.

Автор: Kaskad 21.4.2005, 17:46
Есть массив записей. Нужно организовать квалифицированный поиск по ней: мини-интерпритатор запросов. Всё это я представляю как писать, это не вызовет особых сожностей. Но хочу уточнить понятия "ключь поиска", "двоичный поиск". smile

Автор: Fedor 22.4.2005, 06:48
Цитата(Kaskad @ 21.4.2005, 17:46)
"ключь поиска"
- скорее всего поле (поля), по которому идет поиск

Цитата(Kaskad @ 21.4.2005, 17:46)
"двоичный поиск"

если массив уже отсортирован, то можно и нужно искать двоичнымы поиском. Он заключается в том, что сначала берешь елемент посредине массива. Если значение поля, которому ты ищешь больше, чем тебе нужно, то берешь левый кусок массива иначе правый. И опять делшь пополам выбранный кусок. И т.д.

Автор: Kaskad 26.4.2005, 16:59
Допустим, ключ-это поле по которому нужно искать. Например, найти информацию о пользователе. Ключ-"ПЕТЯ"... значит выдать всё о Пете. Вот так я понимаю понятие "ключ".

В задании написано:
"Тип ключа:вещественный.
Длина ключа в байтах:8.
"

smile Либо задание дурацкое, либо я чего-то не догоняю smile

Просьба, разъеснить ситуацию. smile

Автор: Fedor 26.4.2005, 20:44
Цитата(Kaskad @ 26.4.2005, 16:59)
"Тип ключа:вещественный.
Длина ключа в байтах:8."

возможно, имелось в виду что поиск нужно вести по полю типа double.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)