PDF de programación - Firebird: lenguaje de definición de datos (DDL)

Imágen de pdf Firebird: lenguaje de definición de datos (DDL)

Firebird: lenguaje de definición de datos (DDL)gráfica de visualizaciones

Publicado el 8 de Enero del 2019
653 visualizaciones desde el 8 de Enero del 2019
51,4 KB
20 paginas
Creado hace 15a (04/09/2008)
DE

DEFINICIÓN
DE DATOS

FIREBIRD:
LENGUAJE



Firebird: Lenguaje de definición de datos (DDL) Tema 3

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS

1.- INTRODUCCIÓN..............................................................................................................................1
2.- BASE DE DATOS (DATABASE)....................................................................................................2
3.- DOMINIOS (DOMAIN)....................................................................................................................4
4.- TABLAS (TABLE)............................................................................................................................6
5.- INDICES (INDEX)..........................................................................................................................15
6.- VISTAS (VIEW)..............................................................................................................................16
7.- GENERADORES (GENERATORS)...............................................................................................18


Vicente Tejero Trueba Pag i IES Pedro Espinosa

Firebird: Lenguaje de definición de datos (DDL) Tema 3

1.- INTRODUCCIÓN.
Firebird es un sistema gestor de bases de datos relacional. Como tal, esta diseñado para
soportar la creación y mantenimiento de estructuras de datos abstractas, no sólo almacenar datos sino
también mantener las relaciones y optimizar la velocidad y consistencia cuando los datos pedidos son
enviados a los clientes.
En su conjunto, los objetos definidos en una base de datos son conocidos como
esquema. El proceso de creación y modificación de los metadatos es conocido como definición de
datos. En este tema definiremos los conceptos, terminología y lenguaje de definición de datos.

Todos los objetos del esquema son creados usando un subconjunto del lenguaje SQL conocido
como Lenguaje de Definición de Datos (DDL). Una sentencia
palabras CREATE, ALTER, RECREATE o DROP, permitiendo crear, modificar, reconstruir o
destruir respectivamente un objeto del esquema.

Como se indicó en el tema de características básicas, en Firebird se definen los siguientes tipos
de objetos básicos:

DDL comienza con alguna de las

metadatos o



- La propia base de datos.
- Los dominios.
- Las tablas
- Los índices.
- Las vistas.
- Los procedimientos almacenados y los triggers.
- Las excepciones.


Los procedimientos almacenados, los triggers y las excepciones se verán en el tema dedicado a
la programación en Firebird.

Vicente Tejero Trueba Pag 1 IES Pedro Espinosa

Firebird: Lenguaje de definición de datos (DDL) Tema 3

2.- BASE DE DATOS (DATABASE)
Una base de datos no es más que un fichero bajo control del sistema de I/O de la máquina en la
que se ejecuta el servidor. Esto hace que la base de datos deba situarse en ubicaciones que controle
directamente la máquina, como sus discos duros, y nunca en almacenamientos externos, como
unidades de red.

Una base de datos vacía ocupa entre 540 y 600K. Como se ve no está completamente vacía,
sino que incorpora una serie de tablas (más de 30), conocidas como tablas de sistema, que mantienen
información de los metadatos.

Para crear una base de datos tenemos la sentencia


CREATE {DATABASE | SCHEMA} ‘ruta fichero’
[USER ‘usuario’ [PASSWORD ‘contraseña’]]
[PAGE_SIZE [=] <entero>]
[LENGTH [=] <entero> [PAGE[S]]]
DEFAULT CHARACTER SET <conjunto caracteres> ]
[<fichero secundario>];

<fichero secundario> = FILE ‘ruta fichero’ [<fichero info>][<fichero secundario>]
<fichero info> = LENGTH [=] <entero> [PAGE[S]] |


STARTING [AT [PAGE]] <entero> [<fichero info>]


Se puede usar para referirse a una base de datos tanto DATABASE como SCHEMA.

‘ruta fichero’, es el único parámetro obligatorio al crear una nueva base de datos. Se pueden
crear bases de datos locales:


CREATE DATABASE ‘/opt/database/prueba.fdb’; -- En linux
CREATE DATABASE ‘c:\web\database\prueba.fdb’; -- en Windows.



PAGE_SIZE representa el tamaño de página en bytes. Si se omite este parámetro se usa el


o de forma remota, en las que se indicará el servidor y el protocolo a usar (por defecto TCP/IP):

CREATE DATABASE ‘servidor:ruta_local_en_servidor’.
CREATE DATABASE ‘127.0.0.1:c:\web\database\prueba.fdb’

Toda base de datos tiene un propietario que será el usuario con el que se ha realizado la
conexión o el usuario indicado en la cláusula USER.


valor por defecto de 4096. El tamaño de página puede ser de 1024, 2048, 4096, 8192 y 16384.
Cualquier otro valor se redondea al número, de entre los anteriores, más cercano con redondeo a la
baja.

DEFAULT CHARACTER SET ).
Se aconseja indicar el conjunto de caracteres por defecto (
En caso de no indicarse se usa NONE (ASCII US). Normalmente se indica el ISO8859_1, es decir, el
europeo occidental con codificación en un byte.

Se puede indicar opcionalmente la longitud inicial del fichero (
Si la base de datos necesita más espacio del indicado, Firebird se encargará de asignar el espacio en
colaboración con el sistema operativo y con los límites que éste establezca (2GB: FAT32 y ext2, 4GB

LENGTH) primario en páginas.

Vicente Tejero Trueba Pag 2 IES Pedro Espinosa

Firebird: Lenguaje de definición de datos (DDL) Tema 3
NTFS). Si llegamos a un punto en el que el fichero primario no puede crecer más, se pueden indicar
ficheros secundarios. Para crear ficheros secundarios se usa la cláusula FILE.


CREATE DATABASE ‘localhost:c:\web\prueba.fdb’
PAGE_SIZE 8192
DEFAULT CHAR SET ISO8859_1
LENGTH 250000 PAGES
FILE ‘d:\otros\prueba1.fd1’
STARTING AT 250001;


Una base de datos se modifica mediante el comando
se puede añadir ficheros secundarios. Su sintaxis es:

ALTER DATABASE. En este caso sólo


ALTER {DATABASE | SCHEMA}
ADD [<fichero secundario>];

<fichero secundario> = FILE ‘ruta fichero’ [<fichero info>][<fichero secundario>]
<fichero info> = LENGTH [=] <entero> [PAGE[S]] |


STARTING [AT [PAGE]] <entero> [<fichero info>]


Para borrar una base de datos se tiene el comando


DROP DATABASE base_de_datos

Vicente Tejero Trueba Pag 3 IES Pedro Espinosa

Firebird: Lenguaje de definición de datos (DDL) Tema 3

3.- DOMINIOS (DOMAIN)
Un dominio es una definición de columna a la que se asigna un nombre y que puede usarse
posteriormente al crear campos en una tabla.

En un dominio es posible definir los siguientes atributos:

- Tipo de dato (obligatorio)
- Valor por defecto en las inserciones.
- Estado NULL
- Restricciones CHECK
- Conjuto de caracteres (para columnas de tipo carácter o BLOB)
- Secuencia de ordenación (para columnas de tipo carácter).

Las columnas basadas en un dominio heredan todos los atributos y restricciones del mismo.

Posteriormente a nivel de columna es posible sobrescribir alguno.


Por ejemplo podríamos tener:
CREATE DOMAIN dcadsi AS CHAR(1) DEFAULT ‘N’ NOT NULL CHECK(VALUE=’S’ OR VALUE=’N’)
ALTER TABLE tabla ADD hacer dcadsi DEFAULT ‘S’


Un dominio se crea con la siguiente sintaxis
CREATE DOMAIN dominio [AS] tipo_dato



En donde tendremos que:

[DEFAULT valor_defecto | NULL | USER ]
[NOT NULL] [CHECK (condicion)]
[CHARSET conjunto | NONE]
[COLLATE orden]

- dominio es un identificador válido.
-

-

tipo_dato es cualquier tipo nativo de Firebird. Se indicará cualquier otro atributo necesario
del tipo indicado.
valor_defecto será el valor con el que se rellenará la columna en caso de no indicar ningún
valor para la misma en una instrucción INSERT, es decir, en la instrucción INSERT no ha
ha indicado la columna para la que se ha establecido valor por defecto. Puede ser un valor
constante (0, ‘S’, etc) o un valor predefinido (CURRENT_TIMESTAMP,
CURRENT_DATE, USER, CURRENT_USER, ETC).

- NOT NULL. Se indica cuando queremos forzar que la columna contenga siempre un valor.

Por defecto hay que tener en cuenta que las columnas se definen como NULL.

- CHECK condición. Permite indicar una condición que restringe el rango de valores que se
pueden almacenar en la columna. Para establecer la condición tenemos la siguiente sintaxis.
condicion := VALUE <operador> <valor>

Vicente Tejero Trueba Pag 4 IES Pedro Espinosa

Firebird: Lenguaje de definición de datos (DDL) Tema 3

| VALUE [NOT] BETWEEN <valor> and <valor>
| VALUE [NOT] LIKE <valor>
| VALUE [NOT] IN <valor>
| VALUE IS [NOT] NULL
| VALUE [NOT] CONTAINING <valor>
| VALUE [NOT] STARTING<valor>
| VALUE [ NOT ] SIMILAR TO <patrón similar> [ ESCAPE <carácter
escape> ]
| (condicion)
| NOT condicion
| condicion OR condicion
| condicion AND condicion
<operador> := {= | < | > | <= | >= | !< | !> | <> | != }

VALUE representa el valor almacenado en un momento determinado en una columna.
Por ejemplo podríamos tener
create domain Dcantidad int check((value is NOT NULL) and value >0 and value<1000)
create domain Dlista varchar(5) check (value not in (‘uno’,’dos’,’tres’))

conjunto será el conjunto de caracteres con el que guardarán los datos en una columna de
tipo carácter o BLOB SUB_TYPE 1

-

- orden será el criterio que se usará para ordenar la columna.



De entre todos los atributos indicados en un dominio sólo se podrán sobrescribir DEFAULT,

CHARACTER SET, COLLATE en la definición de la columna. Además se pueden añadir nuevas
restricciones (CHECK) a las indicadas en el dominio, nunca borrarlas cuando se define una columna.


Si posteriormente queremos modificar un atributo del dominio podemos utilizar la sintaxis:
ALTER DOMAIN {dominio |dominio TO nuevo_dominio}
{[SET DEFAULT {valor_defecto | NULL | USER} ]
| [DROP DEFAULT]
| [ADD [CONSTRAINT] CHECK (condicion)]
| [DROP CONSTRAINT]
| TYPE tipo_dato
};



Por último si necesitamos borrar un dominio podemos usar:
DROP
  • Links de descarga
http://lwp-l.com/pdf14795

Comentarios de: Firebird: lenguaje de definición de datos (DDL) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad