Para crear una base de datos en
Ingres, es necesario utilizar el comando
createdb.
La sintaxis más simple es:
createdb mabase
En este caso, la base de datos utilizará las localizaciones (locations) por defecto (II_DATABASE, II_WORK, II_CHECKPOINT, II_DUMP et II_JOURNAL).
Algunas opciones del comando (lista no exhaustiva):
- -dlocation: definir una localización de tipo DATA
- -wlocation: definir una localización de tipo WORK
- -clocation: definir una localización de tipo CHECKPOINT
- -blocation: definir una localización de tipo DUMP
- -jlocation: definir una localización de tipo JOURNAL
Lo que pasa exactamente
Ejemplo de createdb
$ createdb mabase
Creating database 'mabase' . . .
Creating DBMS System Catalogs . . .
Modifying DBMS System Catalogs . . .
Creating Standard Catalog Interface . . .
Creating Front-end System Catalogs . . .
Creation of database 'mabase' completed successfully.
Concretamente, realiza las operaciones siguientes (después de comprobar que tienes todos los derechos):
- En la base iidbdb (pour Ingres Installation DataBase of DataBase, comprende la base de las bases), agrega la información necesaria.
- Para la localización de tipo DATA, agrega un directorio con el nombre de la base.
- En este directorio, coloca el archivo aaaaaaaa.cnf. Es el archivo de configuración de la base. Si lo pierdes, estarás perdido.
- Luego, crea tantos archivos como tablas de sistema, de acuerdo a las opciones (el createdb puede también crear catálogos especiales para OpenROAD – el IDE grafico de Ingres- o ABF, o Star – bases de datos federadas, etc.)
Puedes ver donde se encuentran físicamente tus datos con el comando
infodb mabase
Ejemplo:
==================Wed Mar 14 22:21:38 2007 Database Information=================
Database : (mabase,jp) ID : 0x45F865BA Default collation : default
Unicode enabled : No
Extents : 5 Last Table Id : 237
Config File Version Id : 0x00060001 Database Version Id : 8
Mode : DDL ALLOWED, ONLINE CHECKPOINT ENABLED
Status : VALID
The Database is not Journaled.
Journals are not valid from any checkpoint.
----Journal information---------------------------------------------------------
Checkpoint sequence : 0 Journal sequence : 0
Current journal block : 0 Journal block size : 16384
Initial journal size : 4 Target journal size : 512
Last Log Address Journaled : <0:0:0>
----Dump information------------------------------------------------------------
Checkpoint sequence : 0 Dump sequence : 0
Current dump block : 0 Dump block size : 16384
Initial dump size : 4 Target dump size : 512
Last Log Address Dumped : <0:0:0>
----Checkpoint History for Journal----------------------------------------------
Date Ckp_sequence First_jnl Last_jnl valid mode
----------------------------------------------------------------------------
None.
----Checkpoint History for Dump-------------------------------------------------
Date Ckp_sequence First_dmp Last_dmp valid mode
----------------------------------------------------------------------------
None.
----Cluster Journal History-----------------------------------------------------
Node ID Current Journal Current Block Last Log Address
------------------------------------------------------------
None.
----Cluster Dump History-----------------------------------------------------
Node ID Current Dump Current Block Last Log Address
------------------------------------------------------------
None.
----Extent directory------------------------------------------------------------
Location Flags Physical_path
------------------------------------------------------------------
ii_database ROOT,DATA D:\Program Files\Ingres\Ingres
[II]\ingres\data\default\mabase
ii_journal JOURNAL D:\Program Files\Ingres\Ingres
[II]\ingres\jnl\default\mabase
ii_checkpoint CHECKPOINT D:\Program Files\Ingres\Ingres
[II]\ingres\ckp\default\mabase
ii_dump DUMP D:\Program Files\Ingres\Ingres
[II]\ingres\dmp\default\mabase
ii_work WORK D:\Program Files\Ingres\Ingres
[II]\ingres\work\default\mabase
===================================================================
Por ahora no entramos en el detalle, pero al final de este comando encontramos la lista de localizaciones utilizadas por la base. La localización (location) ROOT,DATA es la localización por defecto, donde se crearán todas las tablas si no especificas nada en particular al momento de crearlas (clause with location=(lista de localizaciones)).
PD: El
artículo original fue escrito por jpzuate, contribuidor de
CommentCaMarche