SQLMemTable:
In-Memory SQL Database for Delphi
Description
Description
SQLMemTable is a simple and fast in-memory table and query for
Delphi and C++ Builder.
SQLMemTable includes three visual components:
TSQLMemTable which is a fast and easy in-memory TTable replacement;
TSQLMemQuery that provides a subset of SQL'92 operators;
TSQLMemBatchMove which is very close to TBatchMove and supports almost all of its functionality.
SQLMemTable does not require BDE and provides all the TTable functions such as master / detail relationship,
filtering, searching, sorting, blob fields, key and range methods, as well as some advanced features like
blob fields compression and Unicode support.
SQLMemTable provides the following services:
Multiple memory databases support;
SQL (DML & DDL) commands support;
Export to SQL;
Referential Integrity support (foreign keys)
BatchMove component;
Master / detail relationship;
Database Designer - design-time editor for TSQLMemDatabase
creating, renaming, emptying, deleting and restructuring tables;
creating, editing, deleting, browsing and searching for records;
creating and deleting multiple indexes;
calculated and lookup fields;
filtering support;
BLOB fields compression;
Multi-thread access;
importing from and exporting to any dataset in fast and easy way;
loading and saving tables with optional compression;
internationalization / localization and Unicode support.
SQLMemTable is a fully functional in-memory database system; it includes table, query and batch move components as well as
useful utility (with source code), demos and comprehensive help.
SQLMemTable does not require BDE or any external drivers and has small footprint.
Specification
Specification
Data types:
ftFixedChar, ftString, ftWideString, ftSmallint, ftInteger, ftLargeint, ftWord, ftAutoInc, ftFloat, ftBoolean, ftCurrency, ftDate, ftTime, ftDateTime, ftTimeStamp, ftBytes, ftVarBytes, ftDBaseOle, ftParadoxOle, ftTypedBinary, ftBlob, ftGraphic, ftMemo, ftFmtMemo
Advanced data types:
aftUnknown, aftChar, aftString, aftWideChar, aftWideString, aftShortint, aftSmallint, aftInteger, aftLargeint, aftByte, aftWord, aftCardinal, aftAutoInc, aftAutoIncShortint, aftAutoIncSmallint, aftAutoIncInteger, aftAutoIncLargeint, aftAutoIncByte, aftAutoIncWord, aftAutoIncCardinal, aftSingle, aftDouble, aftExtended, aftBoolean, aftCurrency, aftDate, aftTime, aftDateTime, aftTimeStamp, aftBytes, aftVarBytes, aftBlob, aftGraphic, aftMemo, aftFormattedMemo, aftWideMemo
Maximum records quantity: up to 231 (over 2 billions).
Maximum fields per table: 231 (over 2 billions).
Maximum indexes per table: 231 .
Maximum index fields per index: 231 .
Maximum index entry size: (PageSize - 128) / 2.
Default index page size: 4096 bytes (variable SQLMemDefaultMemoryPageSize in unit SQLMemConst).
Maximum field name's length: 255 characters.
Maximum index name's length: 255 characters.
BLOB compression: ZLib, BZip, PPM
Search operators: <,>,=,<>,<=,>=, like, not like,
is null, is not null, and, or, not, ().
Features and benefits
Features and benefits
Compactness
Short compiled code with approximate size 300 Kb, no external drivers (such as BDE) required.
Small memory consumption by SQLMemTable database engine.
Fast BLOB data compression . Your large data fields will need less memory.
SQLMemTable can compress data on the fly. The compression routines used in the SQLMemTable are
much faster than most of popular archivers like PKZip, WinRar, Arj.
High performance
Fast search by B-tree indexes. At the moment SQLMemTable is one of the
fastest existing in-memory tables for Delphi and C++ Builder.
High-speed in-memory performance is achieved by means of using specially optimized
memory manager and tuned algorithms.
Quick operations with strings. SQLMemTable compares strings up to 3 times faster than standard Delphi string routines.
High performance is achieved by using a special library written in Assembler and an advanced
sorting algorithm.
Advanced SQL optimizer often makes query execution significantly faster by choosing the
best execution plan.
Functionality
A subset of SQL'92 (DML & DDL) operators is supported by TSQLMemQuery component.
With SQLMemTable you can create SQL scripts for creating tables, inserting, editing and deleting records,
retrieving data by SELECT command. See full list of supported commands .
Advanced search engine . SQLMemTable supports 'LIKE' operator with wildcards '%' and '_', as well as
'IS NULL' and 'IS NOT NULL' in filters and queries.
Full multiple index support, i.e. numerous fields in a table may comprise an
index. SQLMemTable provides descending and ascending indexes, case-sensitive and
insensitive indexes for string fields.
Shareable in-memory tables .
SQLMemTable supports simultaneous access to a table by multiple TSQLMemTable components within a single application.
Default values support.
Record-level constraints , i.e. constraints that must be met when editing the data.
Compatibility
SQLMemTable supports most of TTable field data types, including BLOB fields,
moreover it allows to create string and wide string fields of any fixed length .
SQLMemTable is fully compatible with standard DB-aware visual controls
such as QuickReport, DBGrid, DBNavigator, DBImage, DBMemo, DBRichEdit, as well as with
third party products supporting TDataset descendant components - FastReport, DBFlyTreeView and others.
Calculated and lookup fields can be used in the same way as TTable.
Most of TTable functions are supported including Key and Range methods.
Convenience
Table restructuring is being performed in the easiest way keeping all the existing data.
Data importing from and exporting to any dataset is supported. SQLMemTable
provides you with the simplest way to import and export tables using ImportTable and ExportTable methods.
Internationalization / localization support. All text search
and sorting functions use current system locale, so localizing your
program with SQLMemTable is a very simple task.
Unicode support.
All the text operations work with multi-byte encoding using ftWideString.
Comprehensive help . SQLMemTable comes with full documentation
presented in SQLMemTable Developer's Guide and SQLMemTable Reference.
SQL support
SQL support
Here is a full list of supported SQL statements in current version of SQLMemTable:
SELECT [DISTINCT | ALL]
* | column [AS correlation_name | correlation_name], [column...]
[INTO destination_table]
FROM table_reference [AS correlation_name | correlation_name]
[[[[NATURAL][INNER | [LEFT | RIGHT | FULL] OUTER JOIN] table_reference [AS correlation_name | correlation_name]
[ON join_condition] | USING (join columns)]
[WHERE predicates]
[GROUP BY group_list]
[HAVING predicates]
[ORDER BY order_list]
[UNION [ALL] [CORRESPONDING [BY (column_list)]] SELECT...]
[EXCEPT | MINUS [ALL] [CORRESPONDING [BY (column_list)]] SELECT...]
[INTERSECT [ALL] [CORRESPONDING [BY (column_list)]] SELECT...]
CREATE TABLE, DROP TABLE, ALTER TABLE statements
CREATE INDEX, DROP INDEX statements
INSERT, UPDATE, DELETE statements
SQL scripts (multiple commands separated by ';')
BETWEEN, IN, LIKE, IS NULL operators
Aggregate functions COUNT,SUM,MIN,MAX,AVG
Most of all SQL'92 arithmetic, logical, datetime and string expressions, functions and operators
Data types conversion function CAST
Parameters in queries
If you have any questions or would like to tell us what SQL feature you need first of all,
please feel free to
contact
our Support Team.
Requirements
Requirements
SQLMemTable is available for Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 2005, Delphi 2006 and for C++Builder 4, C++Builder 5, C++Builder 6, C++Builder 2006.
As the Delphi Standard and Personal editions do not support TDataset class
SQLMemTable will not work there as most other BDE alternatives.
SQLMemTable Free and Com are not compatible with trial versions of Delphi (C++ Builder).
How to use
How to use
SQLMemTable is easy-to-use:
just run install.exe and it installs all the components to Delphi (C++ Builder).
The installation process is detailed in Installation chapter in readme.txt.
If you have any questions, please read it carefully.
This product comes with full documentation presented in SQLMemTable Developer's Guide and SQLMemTable Reference
(SQLMemTableGuide.hlp and SQLMemTableRef.hlp). Developer's Guide contains examples showing how to use all SQLMemTable's operations and
step-by-step instructions. Setup program automatically installs Reference into IDE.
Support
Support
If you have any problems or questions, please
contact
our Support Team.
We consider any ideas while developing further versions of our products.
Here you can read more about our Support Policy .
Purchasing and Registration
Purchasing and Registration
Custom Development
Custom Development for you -
Delphi and
C++ Builder !
Experts in Database, Networking, Data Compression and Encryption.
10+ years experience.
Contact Us!
讠믬/a>
讠믬