Sei sulla pagina 1di 10

Creación base de datos

Bases de Datos Espaciales


SQL

Camilo Alexander León Sánchez


cleon@unal.edu.co

Universidad Nacional de Colombia


Maestrı́a en Geomática

2018

Camilo León UN - BDE - Diapositiva 1/ 10


Creación base de datos

Índice

Creación base de datos

Camilo León UN - BDE - Diapositiva 2/ 10


Creación base de datos

Esquemas I

Los comandos SQL para crear y borrar esquemas son: create schema y drop schema
Básicamente, un esquema es un espacio de nombres. De forma breve se puede
considerar que es un directorio dentro de la base de datos de forma que permite
organizar las tablas, funciones, etc.
Una base de datos puede tener muchos esquemas pero no puede haber un esquema
dentro de otro.
Al crear una tabla y no especificar el esquema, esta se almmacena en el esquema
actual, en PostgreSQL será public.
CREATE TABLE ejemplo (campo INTEGER);
CREATE TABLE public.ejemplo (campo INTEGER);

Camilo León UN - BDE - Diapositiva 3/ 10


Creación base de datos

Esquemas II
Ambas sentencias producirán el mismo resultado. En la segunda sentencia se especifica
el esquema donde se almacenará la tabla.
La forma de indicar el esquema donde se almacenará el objeto dentro de la base de
datos es el nombre del esquema seguido de un · (punto).

CREATE SCHEMA nombre esquema

CREATE SCHEMA prueba;


Creación de la tabla mitabla dentro del esquema prueba:
CREATE TABLE prueba.mitabla (campo INTEGER);

DROP SCHEMA nombre esquema [RESTRICT — CASCADE]

DROP SCHEMA prueba CASCADE;


Borra el esquema prueba y la tabla prueba.mitabla
Camilo León UN - BDE - Diapositiva 4/ 10
Creación base de datos

ejercicio orientado I

1. Todos los objetos de la base de datos se almacenarán en el esquema video


2. Tabla peliculas con las siguientes columnas:
I titulo (tipo texto): tı́tulo de la pelı́cula
I ano (tipo entero): año de lanzamiento de la pelı́cula
I anoCol (tipo entero): año de lanzamiento de la pelı́cula en Colombia
I pais (tipo texto): paı́s donde se ha producido la pelı́cula
I pais (tipo texto): paı́s donde se produjo la pelı́cula
I protagonista (tipo texto): nombre del protagonista de la pelı́cula
I descripcion (tipo texto): descripción breve de la pelı́cula
Algunos de los campos tendrán valores por defecto:
I Pais: Tendrá el valor por defecto ’Desconocido’ (Para indicar que se desconoce el
paı́s productor de la pelı́cula).
I ano, anoCol: Tendrán el valor por defecto -1 (indicando que se desconoce el año de
lanzamiento o que la pelicula no ha sido lanzada en el paı́s)

Camilo León UN - BDE - Diapositiva 5/ 10


Creación base de datos

ejercicio orientado II

Se crearán los dominios dentro del esquema video para que sean empleados en la
creación de las tablas:
I d ano almacenará enteros entre 1920 y 2018 (¡no hay que ignorar el valor por
defecto del campo!)
I d pais Almacenará unos valores especı́ficos de paı́s: ’EEUU’, ’México’, ’Italia’,
’Francia’, ’Colombia’, ’España’. (¡Los valores de texto son literales de texto, son
sensibles a las mayúsculas!)
La tabla debe incluir las siguientes restricciones:
I Restricción general donde sólo admita tuplas que cumplan con la condición
ano <= anoCol aunque no debe ser validada para el valor por defecto.
I Clave primaria compuesta: año y tı́tulo
I Sólo se permiten valores nulos en el campo descripcion
3. Visualice los objetos creados
I cliente psql
I pgadmin3

Camilo León UN - BDE - Diapositiva 6/ 10


Creación base de datos

ejercicio orientado III


4.Inserte algunas tuplas dentro de la tabla peliculas
5.Inserte algunas tuplas que incumplan algunas de las restricciones introducidas
6.¿es posible insertar tuplas sin especificar todos los campos?
7.¿se puede cambiar el orden de la inserción de los campos?
8.Modifique las filas que contienen el campo pais=’EEUU’ a pais=’Estados Unidos
de América’
9. Adicione un nuevo campo difLanzamiento de tipo entero que contenga la
diferencia entre las diferencias de los atributos anoCol y ano. Si alguno de los
atributos contiene en valor -1, el nuevo atributo deberá tener el valor -1
10. Usando el entorno gráfico de el software pgadmin3 adicione una tupla en la tabla
peliculas
I Intente modificar algún campo de forma que se viole alguna restricción, ¿Cuál es el
resultado?
11. Borre las tuplas que cumplan con alguna condición
12. ¿cómo se puede estabalecer la condición de los años sin crear un dominio?
Camilo León UN - BDE - Diapositiva 7/ 10
Creación base de datos

ejercicio atributo secuencial

En esta práctica se manejan atributos secuenciales automáticos creados desde el


PostgreSQL:
I Crear una tabla con varios campos incluyendo uno tipo serial.
Como el tipo de atributo serial será secuencial y actualizado automáticamente por
el sistema gestor, al momento de insertar los valores este atributo no deberı́a ser
especificado puesto que podrı́a causar errores de restricción de valor único (error
en el caso que dicho atributo se define como llave primaria).
CREATE TABLE nuevatabla (campo1 serial, campo2 varchar,
campo3 varchar, campo4 integer);
I Insertar varias tuplas en la nueva tabla sin especificar campo1
I Borre una fila y posteriormente inserte otra

Camilo León UN - BDE - Diapositiva 8/ 10


Creación base de datos

Integridad referencial I

Este ejercicio se desarrollará sobre el esquema video


1. Crear la tabla actores con los siguientes atributos:
I nombre (tipo texto): Nombre del actor
I numoscars (tipo entero): número de premios Óscar que el actor/actriz ha recibido
I pais (tipo texto): Paı́s de nacimiento del actor/actriz.
Restricciones de la tabla:
I nombre: Restricción llave primaria
I numOscars: Valor por defecto 0, no se aceptan valores negativos, no se acepta
valores nulos
I pais: Valor por defecto ’Desconocido’ y se empleará el dominio video.d pais, no se
acepta valores nulos
2. Insertar valores en la tabla actores
3. ¿en cuál de las dos tablas del esquema video se puede insertar la integridad
referencial?

Camilo León UN - BDE - Diapositiva 9/ 10


Creación base de datos

Integridad referencial II

4. Al adicional la integridad referencial se debe especificar la directriz en el caso de


actualizaciones (ON UPDATE )y borrado (ON DELETE). Se considerará el
siguiente comportamiento:
I Al borrar una fila de la tabla actores se actualiza el valor correspondiente en la tabla
peliculas a nulo
I Al actualizar el nombre en la tabla actores se actualiza el valor correspondiente en la
tabla peliculas
5. ¿Cómo se podrı́a mejorar el diseño actual de las tablas?

Camilo León UN - BDE - Diapositiva 10/ 10

Potrebbero piacerti anche