This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
admin:basics:environments:create [2011/01/13 17:29] els |
admin:basics:environments:create [2016/06/28 22:38] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ~~NOTOC~~ | ||
+ | |||
{{page>:top_add&nofooter&noeditbtn}} | {{page>:top_add&nofooter&noeditbtn}} | ||
- | ====== Administration: Omnidex Basics ====== | + | ====== Administration: Omnidex Fundamentals ====== |
===== Omnidex Environments ===== | ===== Omnidex Environments ===== | ||
Line 13: | Line 15: | ||
---- | ---- | ||
- | ==== Creating Environments ==== | + | ==== Creating Environment Files ==== |
- | There are two methods to create Omnidex Environments. They can be created interactively using the [[programs:odxadmin:home|Omnidex Administrator]], or they can be created using SQL statements such as [[dev:sql:statements:create_environment:home|CREATE ENVIRONMENT]], [[dev:sql:statements:create_database:home|CREATE DATABASE]], [[dev:sql:statements:create_table:home|CREATE TABLE]] and [[dev:sql:statements:create_index:home|CREATE INDEX]]. | + | There are two methods to create Omnidex Environment Files. They can be created interactively using the [[programs:odxadmin:home|Omnidex Administrator]], or they can be created using SQL statements such as [[dev:sql:statements:create_environment:home|CREATE ENVIRONMENT]], [[dev:sql:statements:create_database:home|CREATE DATABASE]], [[dev:sql:statements:create_table:home|CREATE TABLE]] and [[dev:sql:statements:create_index:home|CREATE INDEX]]. Once created, a simple Omnidex Environment File will look like this: |
- | + | ||
- | Once created, a simple Omnidex Environment File will look like this: | + | |
<code> | <code> | ||
- | create environment | + | > create environment |
- | in "simple.xml" | + | >> in "simple.xml" |
- | with delete; | + | >> with delete; |
+ | Environment created in simple.xml | ||
+ | > | ||
+ | > | ||
+ | > create database "SIMPLE" | ||
+ | >> type FILE | ||
+ | >> index_directory "idx" | ||
+ | >> in "simple.xml"; | ||
+ | Database SIMPLE created in simple.xml | ||
+ | > | ||
+ | > create table "HOUSEHOLDS" | ||
+ | >> physical "dat/households.dat" | ||
+ | >> ( | ||
+ | >> "HOUSEHOLD" CHARACTER(12), | ||
+ | >> "ADDRESS" CHARACTER(50), | ||
+ | >> "CITY" CHARACTER(28), | ||
+ | >> "STATE" CHARACTER(2), | ||
+ | >> "ZIP" CHARACTER(5), | ||
+ | >> "COUNTRY" CHARACTER(2), | ||
+ | >> constraint HSHD_HOUSEHOLD_PK primary ("HOUSEHOLD") | ||
+ | >> ) | ||
+ | >> in "simple.xml"; | ||
+ | Table HOUSEHOLDS created in simple.xml | ||
+ | > | ||
+ | > | ||
+ | > create table "INDIVIDUALS" | ||
+ | >> physical "dat/individuals.dat" | ||
+ | >> ( | ||
+ | >> "INDIVIDUAL" CHARACTER(12), | ||
+ | >> "HOUSEHOLD" CHARACTER(12), | ||
+ | >> "NAME" CHARACTER(50), | ||
+ | >> "GENDER" CHARACTER(1), | ||
+ | >> "BIRTHDATE" ANSI DATE, | ||
+ | >> "PHONE" CHARACTER(14), | ||
+ | >> "EMAIL" CHARACTER(60), | ||
+ | >> constraint IND_INDIVIDUAL_PK primary ("INDIVIDUAL"), | ||
+ | >> constraint IND_HOUSEHOLD_FK foreign ("HOUSEHOLD") references "HOUSEHOLDS" | ||
+ | >> ) | ||
+ | >> in "simple.xml"; | ||
+ | Table INDIVIDUALS created in simple.xml | ||
+ | > | ||
+ | </code> | ||
+ | ==== Adding Omnidex Indexing ==== | ||
- | create database "SIMPLE" | + | The easiest way to add Omnidex Indexing is to add indexing information beside each column. This will not work in all situations, such as when multi-column indexes are being created; however, it will work in many simpler installations. More complex installations will require the more complex features described in [[dev:sql:statements:create_table:home|CREATE TABLE]] and [[dev:sql:statements:create_index:home|CREATE INDEX]]. The example below shows the basic addition of Omnidex indexing to the same database. |
- | type FLATFILE | + | |
- | index_directory "idx" | + | |
- | in "simple.xml"; | + | |
- | create table "HOUSEHOLDS" | + | <code> |
- | physical "dat\households.dat" | + | > create environment |
- | ( | + | >> in "simple.xml" |
- | "HOUSEHOLD" CHARACTER(12), | + | >> with delete; |
- | "ADDRESS" CHARACTER(50), | + | Environment created in simple.xml |
- | "CITY" CHARACTER(28), | + | > |
- | "STATE" CHARACTER(2), | + | > |
- | "ZIP" CHARACTER(5), | + | > create database "SIMPLE" |
- | "COUNTRY" CHARACTER(2), | + | >> type FILE |
- | constraint HSHD_HOUSEHOLD_PK primary ("HOUSEHOLD"), | + | >> index_directory "idx" |
- | constraint HSHD_STATE_FK foreign ("STATE") references "STATES", | + | >> in "simple.xml"; |
- | constraint HSHD_COUNTRY_FK foreign ("COUNTRY") references "COUNTRIES" | + | Database SIMPLE created in simple.xml |
- | ) | + | > |
- | in "simple.xml"; | + | > |
+ | > create table "HOUSEHOLDS" | ||
+ | >> physical "dat/households.dat" | ||
+ | >> ( | ||
+ | >> "HOUSEHOLD" CHARACTER(12) omnidex, | ||
+ | >> "ADDRESS" CHARACTER(50) quicktext, | ||
+ | >> "CITY" CHARACTER(28) quicktext, | ||
+ | >> "STATE" CHARACTER(2) omnidex, | ||
+ | >> "ZIP" CHARACTER(5) omnidex, | ||
+ | >> "COUNTRY" CHARACTER(2) omnidex, | ||
+ | >> constraint HOUSEHOLDS_HOUSEHOLD_PK primary ("HOUSEHOLD") | ||
+ | >> ) | ||
+ | >> in "simple.xml"; | ||
+ | Table HOUSEHOLDS created in simple.xml | ||
+ | > | ||
+ | > | ||
+ | > create table "INDIVIDUALS" | ||
+ | >> physical "dat/individuals.dat" | ||
+ | >> ( | ||
+ | >> "INDIVIDUAL" CHARACTER(12) omnidex, | ||
+ | >> "HOUSEHOLD" CHARACTER(12) omnidex, | ||
+ | >> "NAME" CHARACTER(50) quicktext, | ||
+ | >> "GENDER" CHARACTER(1) omnidex bitmap, | ||
+ | >> "BIRTHDATE" ANSI DATE omnidex, | ||
+ | >> "PHONE" CHARACTER(14) omnidex, | ||
+ | >> "EMAIL" CHARACTER(60) quicktext, | ||
+ | >> constraint INDIVIDUALS_INDIVIDUAL_PK primary ("INDIVIDUAL"), | ||
+ | >> constraint INDIVIDUALS_HOUSEHOLD_FK foreign ("HOUSEHOLD") references "HOUSEHOLDS" | ||
+ | >> ) | ||
+ | >> in "simple.xml"; | ||
+ | Table INDIVIDUALS created in simple.xml | ||
+ | </code> | ||
+ | ==== Updating Omnidex Indexes ==== | ||
- | create table "INDIVIDUALS" | + | When Omnidex indexing is added to an Omnidex Environment, only the metadata about each index is added to the environment. The indexes themselves are not built until an UPDATE INDEXES statement is issued. This is of great benefit since it allows multiple indexes to be built with one scan of the data. Omnidex applications frequently involve many Omnidex indexes, and building them individually would be prohibitively slow. The example below connects to the newly create environment and updates the indexes. |
- | physical "dat\individuals.dat" | + | |
- | ( | + | <code> |
- | "INDIVIDUAL" CHARACTER(12), | + | > connect simple |
- | "HOUSEHOLD" CHARACTER(12), | + | Connected to D:\class\lab1\simple.xml |
- | "NAME" CHARACTER(50), | + | > |
- | "GENDER" CHARACTER(1), | + | > update indexes |
- | "BIRTHDATE" ANSI DATE, | + | Database |
- | "PHONE" CHARACTER(14), | + | Table Rows CPU Elapsed |
- | "EMAIL" CHARACTER(60), | + | ---------------------------------------------------------------------------- |
- | constraint IND_INDIVIDUAL_PK primary ("INDIVIDUAL"), | + | SIMPLE |
- | constraint IND_HOUSEHOLD_FK foreign ("HOUSEHOLD") references "HOUSEHOLDS", | + | HOUSEHOLDS 1,909 0:00 0:00 |
- | constraint IND_GENDER_FK foreign ("GENDER") references "GENDERS", | + | INDIVIDUALS 5,000 0:00 0:00 |
- | ) | + | ---------------------------------------------------------------------------- |
- | in "simple.xml"; | + | Total 0:00 0:03 |
+ | Omnidex indexes updated | ||
+ | > | ||
</code> | </code> | ||