EJERCICIOS DDL
EJERCICIOS RESUELTOS
En ORACLE hay que cambiar los tipos INT y FLOAT de MySQL por NUMBER.
Definición de las tablas
Tabla COMPRADORES
CIF_comprador alfanumérico de 11 caracteres
Nombre_social alfanumérico de 30 caracteres
Domicilio_social alfanumérico de 30 caracteres
Localidad alfanumérico de 30 caracteres
C_postal alfanumérico de 5 caracteres
Teléfono alfanumérico de 9 caracteres
Tabla ARTICULOS
Referencia_articulo alfanumérico de 12 caracteres
Descripción_articulo alfanumérico de 30 caracteres
Precio_unidad numérico de 6 posiciones, con dos decimales
IVA numérico de 2 posiciones
Existencias_actuales numérico de 5 posiciones
Tabla FACTURAS
Factura_no numérico de 6 posiciones
Fecha_factura tipo fecha
CIF_cliente alfanumérico de 11 caracteres
Tabla LINEAS_FACTURA
Factura_no numérico de 6 posiciones
Referencia_articulo alfanumérico de 12 caracteres
Unidades numérico de 3 posiciones
1. Creación de tablas sin restricciones.
a. Crear una tabla COMPRADORES_1 sin ninguna restricción.
b. Crear una tabla ARTÍCULOS_1 sin ninguna restricción.
c. Crear una tabla FACTURAS_1 sin ninguna restricción.
d. Crear la tabla LINEAS_FACTURA_1 sin ninguna restricción
2. Creación de tablas con restricciones a nivel de columna
a. Crear la tabla COMPRADORES_2 con la columna cif_comprador como clave
primaria, la columna telefono obligatoria y la columna nombre_social única
b. Crear la tabla ARTICULOS_2, con referencia_articulo como clave primaria, la
columna IVA con valores entre 5 y 25 inclusive y la columna existencias_atuales con
valor por defecto 0.
c. Crear una tabla FACTURAS_2 con la columna factura_no como clave primaria y la
columna cif_cliente como clave ajena referenciando a la columna cif_comprador de la
tabla compradores_2.
3. Creación de tablas con restricciones a nivel de tabla y con nombre de constraint
a. Crear la tabla COMPRADORES_3 con la columna de columna cif_comprador como
clave primaria con nombre PK_COMPRADORES_3, y la columna nombre_social con
la restricción de ser única, con nombre UQ_COMPRADORES_NOMBRE_SOCIAL_3.
b. Crear la tabla FACTURAS_3 con la columna factura_no como clve primaria con el
nombre PK_FACTURAS_3, y la columna cif_cliente como clave ajena con nombre
FK_FACTURA_COMPRADORES_3 referenciando a la columna cif_comprador de la
tabla COMPRADORES_3.
4. Añadir en la tabla FACTURAS_1 la restricción de clave primaria con nombre
pk_factura_no_1 para la columna factura_no
5. Añadir en la tabla LÍNEAS_FACTURAS_1 la restricción de nombre
fk_lineas_factura-1 como clave ajena para la columna factura_no referenciando a la
columna factura_no de la tabla facturas_1
6. Añadir en la tabla ARTICULOS_1 la restricción de nombre
uq_articulos_descripcion_1 para poner la restricción de ser única a la columna
descripcion_articulo.
7. Cambiar en la tabla COMPRADORES_1 la definición del tipo de la columna
teléfono por numérico entero.
EJERCICIOS PROPUESTOS.
NOTA: No se pueden crear tablas con el mismo nombre que otras ya existentes en la
misma base de datos. Si estuviesen ya creadas con ese nombre, es necesario borrarlas
previamente. En ORACLE hay que cambiar los tipos INT y FLOAT por NUMBER.
Definición de las tablas
Tabla COMPRADORES
CIF_comprador alfanumérico de 11 caracteres
Nombre_social alfanumérico de 30 caracteres
Domicilio_social alfanumérico de 30 caracteres
Localidad alfanumérico de 30 caracteres
C_postal alfanumérico de 5 caracteres
Teléfono alfanumérico de 9 caracteres
Tabla ARTICULOS
Referencia_articulo alfanumérico de 12 caracteres
Descripción_articulo alfanumérico de 30 caracteres
Precio_unidad numérico de 6 posiciones, con dos decimales
IVA numérico de 2 posiciones
Existencias_actuales numérico de 5 posiciones
Tabla FACTURAS
Factura_no numérico de 6 posiciones
Fecha_factura tipo fecha
CIF_cliente alfanumérico de 11 caracteres
Tabla LINEAS_FACTURA
Factura_no numérico de 6 posiciones
Referencia_articulo alfanumérico de 12 caracteres
Unidades numérico de 3 posiciones
Enunciado
1. Creación de las tablas con las restricciones.
a. Crear la tabla COMPRADORES con la columna de columna cif_comprador como
clave primaria con nombre PK_COMPRADORES_CIF, y la columna nombre_social
única con nombre UQ_COMPRADORES_NOMBRE_SOCIAL. La columna teléfono
debe ser obligatoria.
b. Crear la tabla ARTICULOS, con referencia_articulo como PRIMARY KEY con el
nombre PK_ARTICULOS, la columna IVA con valores entre 5 y 25 inclusive y la
columna existecias_actuales con valor por defecto 0.
c. Crear la tabla FACTURAS con la columna factura_no como clave primaria con el
nombre PK_FACTURAS, y la columna fecha_factura tendrá como valor por defecto la
fecha 1 de enero de 2005.
d. Crear la tabla LINEAS_FACTURAS con las columnas factura_no y
referencia_articulo como PRIMARY KEY con nombre PK_LINEAS_FACTURA, la
columna factura_no como FOREIGN KEY con nombre FK_LINEAS_FACTURAS
referenciando la columna factura_no de la tabla facturas con borrado en cascada y la
columna referencia_articulo como FOREIGN KEY con nombre
FK_LINEAS_ARTICULOS referenciando la columna referencia_articulo de la tabla
articulos
2. Añadir a la tabla FACTURAS la columna cod_oficina de tipo numérico de 4
posiciones, con el número de oficina
3. Añadir en la tabla FACTURAS la columna cif_cliente como FORIEGN KEY con
nombre FK_FACTURA_COMPRADORES referenciando a la columna cif_comprador
de la tabla compradores
4. Cambiar en la tabla COMPRADORES el nombre de la columna c_postal por
texto_codigo_postal
5. Añadir a la columna cod_oficina de la tabla FACTURAS la comprobación de estar
entre 1 y 1000.
EJERCICIOS DML