Что нового

Как наиболее удобно создать базу данных (или при помощи какого ПО)?

Kalisnik

Эволюция
Сообщения
295
Репутация
63
Возникла необходимость создать небольшую базу данных (или файл с разделенными по ячейкам текстовыми данными). Заполнение БД будет реализовываться в автоматическом режими (планирую реализовать с помощью AutoIt). Но ранее с БД ни когда не сталкивался. Решил перед началом работы проконсультироваться здесь, что бы изначально выбрать правильное направление в своей работе. :smile: Отсюда, конкретные вопросы:

1. Допустим я решу реализовать БД на AutoIt. Если так, то как лучше информацию сохранять? Вижу два способа: в ini или текстовой файл. В ini удобна структурность и можно легко получить доступ к данным хранящимся в любой из ячеек, но достаточно ли быстро AutoIt будет работать с ini? Ведь ini, как я понимаю, скорее предназначен для хранения небольшого числа параметров, а не баз данных? С другой стороны текстовый файл - прописывать навигацию по файлу не очень удобно. Что вы думаете по этому поводу?

2. Если реализовывать БД не средствами AutoIt, то какое самое целесообразное ПО вы посоветуете для этих целей?

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

Спасибо.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Kalisnik
MySQL или SQLite однозначно.
Другие БД платные, но то, что они надёжнее это однозначно.
Лично я привык к MySQL, но пришёл к выводу, что для Autoit лучше использовать SQLite. Однако UDF, которая есть под SQLite лично для меня неудобна, видимо привычка работы с MySQL в PHP даёт о себе знать. :smile:
SQLite хороша тем, то это переносимая БД, использующая в качестве хранения данных txt файлы.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
а вообще БД средствами AutoIt звучит странно. Потому как БД - всего лишь файл. Но самое главное - это структура этого файла. *.ini *.xls - не самые удачные форматы для действительно больших баз, потому как у них плоская структура, и доступ к элементам базы осуществляется линейно. В то время как у БД структура на основе бинарного дерева, и соответственно доступ от корня дерева по веткам с соответствующим индексом. Разрабатывать самому подобную структуру можно, но лишено смысла с тех пор, как люди придумали понятие "велосипед" (ну или "колесо"). Поэтому лично мне видится целесообразным использование существующих БД предложенных выше.
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
Создал один проектик - он парсит и сохраняет определенные TCP пакеты с сервера, и уже оттуда выдает в GUI пользователя. Сделал на SQLite - хранится в одном файле, работает быстро. Только один минус - один модуль у меня ловит пакеты и пишет их в одну таблицу(сырые данные), а второй постоянно читает таблицу (с сырьем :D), преобразует и пишет в другую с большим количеством полей(и из сырья удаляет), и вот в этот момент часто бывает блокируется база(в SQLite происходит блок всей базы а не строки) и последнее действие не срабатывает. Обошел тупо выполнением операции пока она не пройдет без ошибки:
Код:
While _SQLite_Exec(-1, 'UPDATE tablice SET flag =1;') <> $SQLITE_OK
	Sleep(25)
WEnd
 
Автор
K

Kalisnik

Эволюция
Сообщения
295
Репутация
63
С учетом выше написанных советов решил воспользоваться SQLite. Отсюда следующие вопросы: имеются ли какие-либо нюансы по установке и настройке SQLite для последущего использования в AutoIt? Пологаю скачать SQLite лучше с официального сайта - это ведь просто DLL-библиотека? Тогда как она регистрируется в системе? Или ее нужно кидать в дерикторию AutoIt?... это не совсем понятно, по скольку с БД я еще не работал.

P.S. Или SQLite уже в комплекте? :blink:

Спасибо.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Kalisnik
sqlite.dll должна находиться в директории с вашим проектом.
Она (dll) содержит функции работы с DB.
 

Suppir

Продвинутый
Сообщения
967
Репутация
62
Kalisnik [?]
имеются ли какие-либо нюансы по установке и настройке SQLite для последущего использования в AutoIt? Пологаю скачать SQLite лучше с официального сайта - это ведь просто DLL-библиотека? Тогда как она регистрируется в системе? Или ее нужно кидать в дерикторию AutoIt?

Ничего качать и подкладывать не нужно. Просто в начале скрипта напиши:

Код:
#include <SQLite.au3>
#include <SQLite.dll.au3>
 
Верх