Cargando

Por Alfonso Ricaño Bringas En la primera parte nos quedamos en que se creó la base de datos en esta ruta: c:\mis documentos\mi_base_ib.gdb

Bueno, pues si todo va bien, ya podemos empezar a crear los elementos de la base de datos. En este punto me gustaría hablar sobre qué elementos puede contener una base de datos de InterBase. Si venimos de un entorno de base de datos como Paradox, sabemos que tenemos tablas (donde se guardan los datos), índices (que permiten ordenar los datos, y tambien evitar duplicados), integridad referencial (para relacionar las tablas y mantener los datos consistentes), contraseñas (para darle seguridad al acceso a los datos) y otros más que no recuerdo en este momento. En InterBase tenemos estos elementos básicos: Tablas.- Es la parte "principal" de la base de datos, pues en tablas es donde se guardan los datos. Las tablas tienen columnas (tambien llamados campos) y renglones (tambien llamados registros). Aquí quiero aclarar que las tablas deben de tener (aunque no es un requisito forzoso) una llave primaria para poder trabajar adecuadamente en el sistema. índices.- Los índices en InterBase, a diferencia de formatos como Paradox, no son indispensables para ordenar las tablas, es más, pueden no utilizarse, aunque se recomienda que se creen índices sobre las columnas que más se utilicen en ordenamientos de registros. InterBase crea índices automáticamente para las llaves primarias y para las llaves foráneas. Triggers.- Tambien llamados "disparadores", permiten realizar acciones automáticas cuando se agregan/modifican/borran registros de una tabla. Procedimientos.- También llamados Procedimientos Almacenados, o Stored Procedures, son conjuntos de instrucciones que pueden ejecutar acciones sobre los datos y también regresar resultados, y que pueden ser llamados desde un Trigger, o desde cualquier programa cliente. Generadores.- Un generador nos va dando un número consecutivo cada vez que se le solicite mediante una función. Son muy útiles para crear valores consecutivos únicos para alguna columna de tabla. Restricciones.- Las restricciones (ó constraints) sirven para mantener la integridad de los datos, ya sea como llaves foráneas o como verificadores (checks) de valores permitidos en una columna. Dominios.- Los dominios son tipos de datos definidos por el administrador de base de datos. Por ejemplo, InterBase no tiene un tipo de dato "MONEDA", pero lo podemos definir a partir de otro tipo de dato, por ejemplo DOUBLE PRECISION. Más adelante veremos esto a detalle. Hay otros conceptos, pero para no adentrarnos mucho, con estos empezaremos a trabajar. Vamos a revisar la creación de las tablas en InterBase. Creación de Tablas Como ya sabemos, InterBase utiliza el lenguaje SQL para la definición de estructuras de datos y para la manipulación de los datos. Por eso las instrucciones SQL se dividen en dos grandes categorías: Definición de estructuras de datos y manipulación de datos. La definición de estructuras de datos es la creación/modificación de tablas, índices, y demás elementos de una base de datos de InterBase. La manipulación de datos es la inserción/modificación/borrado/consulta de los datos almacenados en las tablas. En el caso de la creación/modificación/eliminación de tablas, estamos manejando la parte de definición de estructuras de datos, pero vayamos al grano: Para crear una tabla, utilizamos la instrucción CREATE TABLE. En la ayuda de InterBase viene la sintáxis completa. Aquí voy a explicarlo de manera más sencilla. CREATE TABLE ( , , ..., ) Esta es una definición de tabla muy básica, hay que sustituir por el nombre real de nuestra tabla, y por el nombre de cada una de las columnas que tenga nuestra tabla. en la parte de podemos poner el tipo de dato directo o el dominio (que es un tipo de dato definido por el administrador de la base de datos). Para hacer esto más explícito, definiremos en nuestra base de datos una tabla llamada PERSONAS, con datos de nuestros amigos: CREATE TABLE PERSONAS( NOMBRE VARCHAR(40), APELLIDOS VARCHAR(40), TELEFONO VARCHAR(40), EMAIL VARCHAR(100) ) Si ejecutamos esta instrucción, la tabla PERSONAS será creada, pero le falta algo muy básico y que no debe faltar: una llave primaria. La llave primaria sirve para identificar cada registro de la tabla, ya que el lenguaje SQL trabaja con conjuntos de datos, y para acceder a un registro debemos de especificar la columna o columnas que permiten identificarlo únicamente dentro del conjunto. La llave primaria se especifica después de la definición de las columnas, y se hace de la siguiente manera: PRIMARY KEY() Es decir, dentro de los paréntesis se pone la columna (o las columnas, si la llave primaria está compuesta de varias) que tiene los valores que identifican a cada registro de la tabla. Las columnas que se utilicen en una llave primaria deben de tener por fuerza algún valor. Esto se especifica agregando la instrucción NOT NULL después de la definición del tipo de datos de la columna. Entonces vamos a agregar una columna llamada CLAVEPERSONA de tipo integer a nuestra tabla y que será la llave primaria. Entonces nuestra definición cambia a: CREATE TABLE PERSONAS( CLAVEPERSONA INTEGER NOT NULL, NOMBRE VARCHAR(40), APELLIDOS VARCHAR(40), TELEFONO VARCHAR(40), EMAIL VARCHAR(100), PRIMARY KEY(CLAVEPERSONA) ) Ahora sí vamos a ejecutar esta instrucción desde el WISQL, una vez que estemos conectados a la base de datos (o inmediatamente después de haberla creado). Para ejecutar esta instrucción nos vamos a la sección Cursor de la ventana principal del WISQL. Ahi escribimos la instrucción. Para ejecutarla, oprimimos el segundo botón de izquierda a derecha, en la parte superior de la ventana. El botón tiene este icono: Si todo va bien, ya habremos creado nuestra tabla, pero para actualizar nuestra base de datos, tenemos que confirmar la transacción. Esto se hace pasándonos a la sección Transaction y oprimiendo cualquiera de estos botones: Las transacciones son una parte muy importante en la utilización de bases de datos relacionales. Este tema será tratado en la próxima entrega del artículo. Por el momento podemos verificar que nuestra tabla ha sido creada, oprimiendo el botón Browse que se encuentra en la sección Connection. Este botón debe llamar a la ventana Browse, que se muestra a continuación. Para ver los datos de la tabla, hay que seleccionarla haciendo click sobre su nombre en la lista: Bueno, aquí termina esta segunda parte.