The solidDB® database objects include catalogs, schemas, tables, views, indexes, stored procedures, triggers, and sequences. By default, database object names are qualified with the user name of the object creator and a system catalog name. You can also specify that database objects are qualified by a schema name.
You can use catalogs and schemas to organize your data. The use of schemas in solidDB® conforms to the SQL standard, but the use of catalogs is an extension to the SQL standard.
Catalogs and schemas allow you to group database objects (tables, sequences, and so on) in a hierarchical way. Typically you put related items into the same group. For example, all the tables related to the accounting system might be in one group (for example, a catalog), while all the tables related to the human resources system might be in another group. You can also group database objects by user. For example, all of the tables used by Jane Smith might be in a single schema.
Catalogs are the highest (broadest) level of the hierarchy. Schema names are the mid-level. Specific database objects, such as tables, are the lowest (narrowest) level of the hierarchy. Thus, a single catalog may contain multiple schemas, and each of those schemas may contain multiple tables.
Object names must be unique within a group, but do not have to be unique across groups. For example, the schemas named after the users Jane Smith and Robin Trower might each have a table named BILLS. These two tables have nothing to do with each other. They can have different structures and different data, even though they have the same name. Similarly, the catalog ACCOUNTING_CATALOG and the catalog HUMAN_RESOURCES_CATALOG might each have a schema named DAVID_JONES. Those schemas are unrelated to each other, even though they have the same name.
If you want to specify a particular table and the table name is not unique in the database, you can identify it by specifying the catalog, schema, and table name, for example, ACCOUNTING_CATALOG.DAVID_JONES.BILLS.
If you do not specify the complete name (that is, if you omit the schema, or the schema and the catalog), the server uses the current/default catalog and schema name to determine which table to use.
In general, a catalog can be thought of as a logical database. A schema typically corresponds to a user.
Size limitations on database objects
solidDB® supports a practically unlimited number of tables, rows, and indexes. Character strings and binary data are stored in variable length format. This feature saves disk space. It also makes programming easier on developers since the lengths of strings or binary fields do not have to be fixed. The maximum size for a single column value is 2G ‑ 1 bytes.
You can set the maximum size of LONG VARCHAR (or CLOB) columns that are used in string functions by using the Sql.MaxBlobExpressionSize parameter. By default, the size is 1 MB (1 megabyte).
For efficiency, the solidDB® server can store BLOB data outside the table. When BLOBs (Binary Large Objects), such as objects, images, video, graphics, or digitized sound are larger than a particular size, the server automatically detects the BLOBs and stores the objects to a special file area that has optimized block sizes for large files. Administrative actions are not required. For more information, see “BLOBs and CLOBs” in the solidDB® SQL Guide.