You are on page 1of 5

Escuela de Informtica y

Telecomunicaciones
GUA DE SQL N1 SQL
CREANDO TABLAS EN LA BASE DE DATOS
INSTRUCCIONES
A PARTIR DE LOS REQUERIMIENTOS PLANTEADOS EN CADA CASO (1 al 4), SE SOLICITA
CONSTRUIR LAS SENTENCIAS SQL QUE PERMITAN CREAR LAS TABLAS Y SUS CONSTRAINTS
ASOCIADAS EN LA BASE DE DATOS.
TIEMPO DE DURACIN
2 horas 45 minutos
OBJETIVOS
EL ALUMNO CONSTRUYE SENTENCIAS EN LENGUAJE SQL, CONSIDERANDO CONSTRAINTS Y
TIPOS DE DATOS VLIDOS PARA LAS COLUMNAS PARA CONSTRUIR LAS TABLAS EN LA BASE DE
DATOS DE ACUERDO A LOS REQUERIMIENTOS PLANTEADOS EN CADA CASO.
DESCRIPCIN
EL ALUMNO, UTILIZANDO HERRAMIENTA DE DESARROLLO ORACLE SQLDEVELOPER, DEBER
CONSTRUIR SENTENCIAS EN LEGUAJE SQL PARA CREAR LAS TABLAS EN LA BASE DE DATOS
SEGN CADA CASO PLANTEADO CONSIDERANDO: CONSTRAINTS (NOT NULL, PRIMARY KEY y
FOREIGN KEY), TIPOS DE DATOS ADECUADOS PARA LAS COLUMNAS DE LAS TABLAS, NOMBRES
REPRESENTATIVOS PARA LAS TABLAS, NOMBRES REPRESENTATIVOS PARA LAS CONSTRAINTS DE
PRIMARY KEY y FOREIGN KEY.

Escuela de Informtica y
Telecomunicaciones
CASOS
1.- Por error, un usuario de la empresa elimin desde la Base de Datos la tabla que almacena la informacin de los
empleados. Dado esta situacin, los Sistemas de Personal y de Remuneraciones no pueden funcionar. Se le solicita
a Ud. crear esta tabla en la Base de Datos considerando constraints, tipos de datos adecuados para las columnas de
las tablas, nombre representativos para la tabla y nombre representativo para la constraint de Clave Primaria
La tabla debe tener las siguientes columnas:
NOMBRE
COLUMNA
id_emp
apell_pat
primer_nombre
salario
cod_depto

TIPO DE DATO
Numrico de largo 7 que almacenar el cdigo que identifica al empleado.
Caracter de largo variable que almacenar el apellido del empleado con un largo mximo
de 25 caracteres.
Caracter de largo variable que almacenar el primer nombre del empleado con un largo
mximo de 20 caracteres
Numrico de largo 8 que almacenar el salario que percibe el empleado
Numrico de largo 7 que almacenar el cdigo del departamento en el que trabaja el
empleado

create table guia.empleado(


id_emp number(7) not null,
apell_pat varchar2(25) not null,
primer_nombre varchar2(20) not null,
salario number(8) not null,
cod_depto number(7) not null,
constraint pk_empleado primary key(id_emp)
);
2.- Usted se encuentra realizando su prctica profesional en la empresa de retail DUMBO. El Administrador de
Base de Datos se encuentra con licencia mdica y ha llegado un requerimiento urgente de crear una tabla en la Base
de Datos. Ud. es la nica persona que posee los conocimientos para poder dar solucin a esta solicitud. Por lo tanto,
considere lo siguiente para satisfacer esta necesidad:

create table guia.suscursal(


codigo number(3) not null,
nombre varchar2(25) not null,
direccion varchar2(30) not null,
telefono varchar2(10) not null,
constraint pk_suscursal primary key(codigo)
);
3.- El colegio HAPPY STUDENT ha informatizado el Sistema de Notas de los alumnos. En los dos meses de
marcha blanca del sistema se lleg a la conclusin que la estructura de la tabla que almacenar las notas de los
alumnos deber ser modifica de acuerdo a la estructura que se presenta. Por esta razn se le solicita a Ud. que
genere el script para crear esta tabla segn las caractersticas indicadas, asignando Constraint de Clave Primaria y
Constraints de NOT NULL segn corresponda a cada columna:

Escuela de Informtica y
Telecomunicaciones

create table guia.notas(


numrut_alumno number(10) not null,
sigla_asignatura varchar2(10) not null,
nota1 number(2,1) not null,
nota2 number(2,1) not null,
nota3 number(2,1) not null,
nota4 number(2,1) not null,
nota5 number(2,1),
promedio_final number(2,1) not null,
situacion_final varchar2(1) not null,
constraint pk_notas primary key(numrut_alumno,sigla_asignatura)
);
4.- La empresa familiar de comida casera SABORES DE HOGAR contrat los servicios de un desarrollador para
informatizar el proceso de pedidos. Sin embargo, la persona contratada solo lleg hasta la etapa de construir el
Modelo Relacional y Ud. debe finalizar el trabajo. Como primera etapa, se requiere crear las tablas del Modelo en
la Base de segn las siguientes consideraciones:

a) Considerar que el cdigo se ejecutar de una vez y en forma secuencial.


b) Considerar los nombres de las restricciones de PK y FK segn lo indicado en le Modelo.
c)Asignar constraint NOT NULL a las columnas que corresponda.
create table guia.clientes(
id_cliente number(5) not null,
primer_nombre varchar2(25) not null,
segundo_nombre varchar2(25),
apell_paterno varchar2(25) not null,
apell_materno varchar2(25) not null,
direccion varchar2(30) not null,
constraint pk_clientes primary key(id_cliente)
);
create table guia.empleados(
id_empleado number(6) not null,
primer_nombre varchar2(25) not null,
segundo_nombre varchar2(25),
apell_paterno varchar2(25) not null,

Escuela de Informtica y
Telecomunicaciones
apell_materno varchar2(25)not null,
fecha_nacimiento date not null,
constraint pk_empleados primary key(id_empleado)
);
create table guia.pedido(
nro_pedido number(6)not null,
fecha_pedido date not null,
fecha_entrega date not null,
id_cliente number(5) not null,
id_empleado number(6) not null,
constraint pk_pedido primary key(nro_pedido),
constraint fk_clientes foreign key(id_cliente) references clientes(id_cliente),
constraint fk_empleados foreign key(id_empleado) references empleados(id_empleado)
);
5.- El colegio FUTURO contrat a la empresa SHANTA SOFT para informatizar el proceso de registros de
notas de sus alumnos. La empresa quebr y el colegio lo ha contratado a Ud. para poder implementar este Sistema.
Segn los requerimientos de informacin planteados por los usuarios, el Modelo construido por la empresa
SHANTA SOFT satisface estas necesidades, por lo tanto a partir de l Ud. debe crear las tablas en la Base de
Datos de acuerdo a las siguientes consideraciones:

a) Considerar que el cdigo se ejecutar de una vez y en forma secuencial.


b) Considerar los nombres de las restricciones de PK y FK segn lo indicado en le Modelo.
c) Asignar constraint NOT NULL a las columnas que corresponda.
create table guia.cursos(
sigla_curso varchar2(10) not null,
descripcion varchar2(25) not null,
constraint pk_cursos primary key(sigla_curso)
);
create table guia.asignatura(
sigla_asignatura varchar2(10) not null,
nombre varchar2(25) not null,
constraint pk_asignatura primary key(sigla_asignatura)
);
create table guia.alumnos(
numrut_alumno number(10) not null,
dvrut_alumno varchar2(1) not null,
pnombre varchar2(25) not null,
snombre varchar2(25),
appaterno varchar2(25) not null,
apmaterno varchar2(25) not null,

Escuela de Informtica y
Telecomunicaciones
direccion varchar2(20) not null,
fono number(10),
fecha_nacimento date not null,
sigla_curso varchar2(10) not null,
constraint pk_alumnos primary key(numrut_alumno),
constraint fk_cursos foreign key(sigla_curso) references cursos(sigla_curso)
);
create table guia.nota(
numrut_alumno number(10) not null,
sigla_asignatura varchar2(10) not null,
nota1 number(2,1) not null,
nota2 number(2,1) not null,
nota3 number(2,1) not null,
nota4 number(2,1) not null,
nota5 number(2,1),
constraint pk_nota primary key(numrut_alumno,sigla_asignatura),
constraint fk_alumnos foreign key(numrut_alumno) references alumnos(numrut_alumno),
constraint fk_asignatura foreign key(sigla_asignatura) references asignatura(sigla_asignatura)
);