Está en la página 1de 27

1.2.

Creacin del esquema de la base de datos


El esquema de una base de datos (en ingls, Database Schema) describe la estructura de
una Base de datos, en un lenguaje formal soportado por un Sistema administrador de
Base de datos (DBMS). En una Base de datos Relacional, el Esquema define sus tablas,
sus campos en cada tabla y las relaciones entre cada campo y cada tabla.

El esquema es generalmente almacenado en un Diccionario de Datos. Aunque


generalmente el esquema es definido en un lenguaje de Base de datos, el trmino se usa a
menudo para referirse a una representacin grfica de la estructura de base de datos
(Diseo de lgico de la base de datos).

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
En la prctica el trmino esquema de la base de datos se refiere al diseo fsico de la base
de datos.

Oracle define esquema como la coleccin de objetos o estructuras lgicas que


corresponden directamente a los datos almacenados, y crea un nuevo esquema por cada
usuario que crea objetos en la base de datos.

Los objetos de un esquema se crea y se manipula con SQL.

Un usuario de base de datos tiene una contrasea y diversos privilegios de base de datos.
Cada usuario posee un solo esquema, que tiene el mismo nombre que el usuario. El
esquema contiene los datos para el usuario propietario del esquema. Por ejemplo, el
usuario hr posee el esquema hr, que contiene objetos de esquema tales como la tabla de
empleados. En una base de datos de produccin, el propietario del esquema general
representa una aplicacin de base de datos en lugar de una persona.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Cada vez que se crea una base de datos nueva, hay una serie de elementos que no pueden
faltar en ella y siempre se crean. Los dos principales elementos que se crean son el
usuario SYS y el usuario SYSTEM. Toda base de datos Oracle tiene siempre estos dos
usuarios.

Por qu se crean estos dos usuarios automticamente?. Para poder gestionar la base de
datos recin creada, el sistema Oracle necesita tener informacin sobre las tablas que
existen en la base de datos, los usuarios que existen, los ndices que se van creando y
borrando, la cantidad de datos que hay en cada tabla, etc. Por lo tanto, necesita unas
tablas en las que ir almacenando toda esta informacin. A este conjunto de tablas se le
llama diccionario de la base de datos y, como hemos dicho, toda tabla de una base de
datos Oracle debe pertenercer a un usuario, por eso se crean siempre estos dos usuarios

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
especiales, SYS y SYSTEM que son los propietarios de las tablas del diccionario de la
base de datos y, por lo tanto, son lo ms importante para que funcione correctamente la
base de datos. Si por algn error se borraran tablas de alguno de estos usuarios especiales,
se podra corromper toda la base de datos

Sintaxis bsica para crear una base de datos en Oracle ( No aplica en Oracle Express)

CREATE DATABASE nombre_baseDatos

Actualizacin, modificacin y eliminacin del esquema de base de datos


Una tabla es un sistema de elementos de datos (atributo - valores) que se organizan que
usando un modelo vertical - columnas (que son identificados por su nombre)- y
horizontal filas. Una tabla tiene un nmero especfico de columnas, pero puede tener
cualquier nmero de filas. Cada fila es identificada por los valores que aparecen en un
subconjunto particular de la columna que se ha identificado por una llave primaria.

Una tabla de una base de datos es similar en apariencia a una hoja de clculo, en cuanto a
que los datos se almacenan en filas y columnas. Como consecuencia, normalmente es
bastante fcil importar una hoja de clculo en una tabla de una base de datos. La principal
diferencia entre almacenar los datos en una hoja de clculo y hacerlo en una base de datos
es la forma de organizarse los datos.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Oracle
Por lo tanto, la creacin de las tablas en el proceso de programacin en Oracle juegan un
papel muy importante. En el momento de crear las tablas se definen caractersticas a dos
niveles: Tabla y Columna, como se muestra a continuacin:

A nivel de tabla: Refieren a una o a varias columnas, donde cada columna se define
individualmente.

Nombre:
Nombre de la tabla puede ser de 1 a 30 caracteres.

Hay que tener en cuenta tambin ciertas restricciones con los nombres
de las tablas: longitud mxima de 30 caracteres, no puede haber
nombres de tabla duplicados, deben comenzar con un carcter
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
alfabtico, permitir caracteres alfanumricos y el guin bajo '_', y
Oracle no distingue entre maysculas y minsculas.

Propietario:
La tabla tiene como propietario al usuario que las crea En nuestro caso
somos el usuario ALUMNO.

Cantidad Una tabla puede tener un mximo de 254 columnas.


de
Columnas:

A nivel de Columna el nombre de la columna puede tener un mximo de 30 caracteres.

En Oracle podemos implementar diversos tipos de tablas. A continuacin se presenta una


recompilacin no exhaustiva de ellas.

Tipo Tabla Descripcin

Regular Son el mecanismo de almacenamiento de los datos en una base de


datos Oracle. Contienen un conjunto fijo de columnas. Las columnas
(heap)
de una tabla describen los atributos de la entidad que se representa
con la tabla. Cada columna tiene un nombre y caractersticas
especficas: tipo de dato y longitud, restricciones, etc.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Tipo Tabla Descripcin

Clustered
Un cluester proporciona un mtodo opcional de almacenar datos de
tabla. Un cluster est compuesto de un grupo de tablas que comparten
los mismos bloques de datos. Las tablas son agrupadas mediante
columnas comunes.

Index
Aqu una tabla es almacenada en la estructura de un ndice. Esto
impone orden fsico a las filas por si mismas. A diferencia de un
heap, donde los datos son almacenados en donde caben, en una tabla
IOT (Tabla Organizada por Indices) los datos son almacenados en el
orden de la clave primaria.

Particionadas
Es un esquema de organizacin de los datos con el cual podemos
dividirla en mltiples objetos de almacenamientos llamados
particiones de datos o rangos, dependiendo los valores puede ser
dividido en uno o ms columnas de la tabla. Cada particiones de datos
es almacenado separadamente. Estos objetos almacenados pueden
estar en diferentes tablespaces, en el mismo o en una combinacin de
ambos.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Tipo Tabla Descripcin

Temporales
Son tablas cuyos datos permanecern en el sistema slo durante el
tiempo que dure la transaccin o sesin involucrada. No obstante, al
igual que para las tablas permanentes, la definicin de las tablas
temporales se almacena en las tablas del sistema.

La sintaxis del comando que permite crear un tabla es la siguiente:

Del examen de la sintaxis de la sentencia Create Table se pueden concluir que


necesitamos conocer los distintos tipos de columna y las distintas restricciones que se
pueden imponer al contenido de las columnas.

Existen varios tipos de datos en SQL. De esta manera, cada columna puede albergar una
informacin de naturaleza distinta. Los tipos de datos ms comunes y sus caractersticas
en Oracle Express (10 Y 11g) se resumen en la siguiente tabla. Las versiones de Oracle
comercial soportan una gama mucho ms amplia de tipos de datos.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Tipo de Dato Descripcin

BLOB
Contiene datos binarios con un tamao mximo de 4
gigabytes. Los datos binarios nos van a permitir guardar en la
base de datos archivos, imagenes, sonidos, etc ...

Casi siempre es preferible guardar la ruta del archivo en la


base de datos en lugar del propio archivo en modo binario,
pero existen ciertas circunstancias en las que no nos queda
otra solucin.

BINARY_DOUBLE Presicin doble

BINARY_FLOAT Presicin simple

CLOB Un tipo de datos CLOB de Oracle contiene datos de


caracteres basados en el juego de caracteres
predeterminados del servidor. Su tamao mximo es de
4 gigabytes. Se asigna a cadena.

Use la siguiente expresin para una consulta de un campo


CLOB

SELECT DBMS_LOB.substr(campo,
DBMS_LOB.getlength(campo),1)

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
FROM tablaprueba;

CHAR Almacena datos de tipo carcter alfanumrico de


longitud fija, con un tamao mximo de 2000.
caracteres

DATE Almacena fechas desde el 1-Ene-4712 AC hasta el 31-


Dic-4712 DC.

NUMBER(dig [, dec]) Datos numricos de n dgitos, de los cuales dec son


decimales. El tamao mximo es de 38 dgitos.

NVARCHAR2 Almacena un valor alfanumrico de longitud variable en


caracteres Unicode con las mismas restricciones de
varchar.

TIMESTAMP Fecha y hora (incluidos los segundos), con un tamao


que abarca desde 7 a 11 bytes.

VARCHAR2(tamao) Guarda datos de tipo carcter alfanumrico de longitud


variable, con un tamao mximo de 4,000 caracteres.

Ejemplo: Considere la siguiente tabla de datos correspondientes a los campeones de


Formula 1 (1950 - 2015) y sus escuderias. Y su traduccin a sentencias Oracle.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Ao Campen Escudera

2015 Lewis Hamilton Mercedes AMG F1 Team*

2014 Lewis Hamilton Mercedes AMG F1 Team*

2013 Sebastian Vettel Red Bull Racing

2012 Sebastian Vettel Red Bull Racing

2011 Sebastian Vettel Red Bull Racing

2010 Sebastian Vettel Red Bull Racing

2009 Jenson Button Brawn GP

2008 Lewis Hamilton McLaren

2007 Kimi Raikkonen Ferrari

2006 Fernando Alonso Renault

2005 Fernando Alonso Renault

2004 Michael Schumacher Ferrari

2003 Michael Schumacher Ferrari

2002 Michael Schumacher Ferrari

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Ao Campen Escudera

2001 Michael Schumacher Ferrari

2000 Michael Schumacher Ferrari

CREATE TABLE f1 (
year INTEGER PRIMARY KEY,
campeon CHAR(30),
escuderia CHAR(20)
);

Ejemplo: Estados, capitales, densidad de poblacin y superficie de la Repblica


Mexicana

CREATE TABLE estados (


idEstado INTEGER PRIMARY KEY,
nombreEstado CHAR(25) NOT NULL,
capital CHAR(25) NOT NULL,
densidad INTEGER NOT NULL,
poblacion INTEGER NOT NULL
);

Tablas Temporales. Oracle permite la creacin de tablas temporales para mantener datos
propios y exclusivos a una sesin Oracle determinada. Estos datos permanecern en el
sistema slo durante el tiempo que dure la transaccin o sesin involucrada. No obstante,

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
al igual que para las tablas permanentes, la definicin de las tablas temporales se
almacena en las tablas del sistema.

La siguiente sintaxis permite crear una tabla temporal personal para cada sesion. Eso
significa que los datos no se comparten entre sesiones y se eliminan al final de la misma.

CREATE GLOBAL TEMPORARY TABLE [ schema.]


table ( nombreColumna tipoDato [DEFAULT expresin]
NOT NULL], [,nombre_columna tipo_dato [DEFAULT expresin]
[restriccin_columna] ...
|restriccin_tabla];
ON COMMIT { DELETE | PRESERVE } ROWS ] [ physical_properties ]

Con la opcion ON COMMIT DELETE ROWS se borran los datos cada vez que se hace
COMMIT en la sesion.

Con la opcion ON PRESERVE DELETE ROWS los datos no se borran hasta el final
de la sesion.

Sus ventajas son varias, la informacin contenida en ella esta solo disponible para la
sesin actual, cualquier insercin, borrado, actualizacin solo se refleja en la sesin
activa.

Muchas funcionalidades de cualquier tabla normal se mantienen en ella, como triggers a


nivel tabla, vistas, indices, exportar e importar (claro solo la definicin de la tabla).

No es posible declarar llaves foraneas en una tabla temporal.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
(DROP) Eliminacin
Cuando una tabla ya no es til y no vamos a volver a necesitarla debe ser borrada. Esta
operacin se puede realizar con el comando DROP TABLE.

DROP TABLE nombre_tabla> [CASCADE CONSTRAINTS][PURGE]

Se borra la tabla de la base de datos, borrando toda la informacin contenida en la tabla,


es decir, todas las filas. Tambin se borrar toda la informacin que sobre la tabla
existiera en el diccionario.

Si alguna columna de la tabla a borrar sirve como clave ajena de alguna tabla detalle,
impide la eliminacin de la tabla, ya que existe una restriccin que requiere de la
existencia de la tabla maestra. Esto se puede areglar colocando la sentencia.

CASCADE CONSTRAINTS.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Esto produce que las restricciones de la tabla detalle se borren antes de borrar la tabla
maestra. PURGE evita que los objetos borrados se vayan a la papelera

La siguiente sentencia produce la eliminacin de la tabla BORRAME.

Modificacin
Oracle permite modificar las restricciones definidas para una tabla. Esto puede llevar a
inconsistencia de los datos ya introducidos en la base de datos. Por ello, Oracle tiene
definidos mecanismos para modificacin de los datos ya existentes.

Esta operacin se puede realizar con el comando ALTER TABLE.

ALTER TABLE [esquema.]tabla


clausula_constraint [,]
[ENABLE clausula_activa | DISABLE clausula_disable]
[{ENABLE| DISABLE TABLE LOCK]
[{ENABLE|DISABLE} ALL TRIGGERS];

Hay que tener en cuenta varios puntos:

No es posible disminuir el tamao de una columna, si esta contiene datos.


En las modificaciones, los tipos anterior y nuevo deben ser compatibles, o la
tabla debe estar vaca.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
La opcin ADD ... NOT NULL slo ser posible si la tabla est vaca.
La opcin MODIFY ... NOT NULL slo podr; realizarse cuando la tabla no
contenga ninguna fila con valor nulo en la columna en cuestin.

Considere el siguiente DER Propietario - Automvil, bajo el criterio de hacienda del


Gobierno del Estado de Veracruz, Mxico.

Y su correspondiente cdigo DDL en Oracle

CREATE TABLE propietario (


idPropietario NUMBER NOT NULL,
nombre CHAR(35) NOT NULL,
direccion CHAR(50) NOT NULL,
colonia CHAR(40) NOT NULL,
localidad CHAR(25) NOT NULL,
rfc CHAR(14),
telefono CHAR(14),
CONSTRAINT PK_propietario PRIMARY KEY (idPropietario)

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
);

CREATE TABLE automovil (


idAutomovil NUMBER NOT NULL,
idPropietario NUMBER NOT NULL,
placa CHAR(12) NOT NULL,
marca CHAR(18) NOT NULL,
cveVehicular NUMBER(3) NOT NULL,
linea CHAR(18) NOT NULL,
numeroSerie CHAR(25) NOT NULL,
subLinea CHAR(18) NOT NULL,
origen CHAR(20) NOT NULL,
clase CHAR(14) NOT NULL,
modelo CHAR(18) NOT NULL,
fechaAlta CHAR(18) NOT NULL,
CONSTRAINT PK_Automovil PRIMARY KEY (idAutomovil),
CONSTRAINT FK_Propietario FOREIGN KEY (idPropietario)
REFERENCES propietario (idPropietario)
);

Descargar

Es factible modificar una tabla aadiendo o eliminando restricciones, en este caso para el
ejemplo anterior el comando a utilizar ser

ALTER TABLE

tabla {ADD | DROP} CONSTRAINT restriccin;


ALTER TABLE automovil DROP CONSTRAINT FK_Propietario;

ALTER TABLE automovil ADD

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
CONSTRAINT FK_Propietario FOREIGN KEY (idPropietario)
REFERENCES propietario (idPropietario)
ON DELETE CASCADE;

El cual permitira el borrado en cascada.

Modificaremos el ejemplo para aadir el atributo color.

ALTER TABLE automovil


ADD (color CHAR(15) NOT NULL);

Ejemplo: Considere la relacin departamentos y empleados.

CREATE TABLE departamento (


idDepartamento NUMBER(3),
nombre CHAR(15) NOT NULL,

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
ciudad CHAR(10) NOT NULL,
CONSTRAINT DOM_Ciudad
CHECK (ciudad IN ('Veracruz', 'Xalapa', 'Orizaba', 'Regional')),
CONSTRAINT PK_Departamento PRIMARY KEY (idDepartamento)
);

CREATE TABLE empleado(


idEmpleado NUMBER(3),
rfc CHAR(14),
nombreEmpleado CHAR(40) NOT NULL,
oficio CHAR(11) NOT NULL,
cargo CHAR(15) NOT NULL,
jefe NUMBER(3),
ingreso DATE NOT NULL,
salario NUMBER(10,2),
comision NUMBER(10,2),
idDepartamento NUMBER(3) NOT NULL,
CONSTRAINT DOM_Empleado_Salario CHECK ( salario > 0 ),
CONSTRAINT PK_Empleado PRIMARY KEY (idEmpleado),
CONSTRAINT AK_Empleado UNIQUE (rfc),
CONSTRAINT FK_Empleado_Jefe FOREIGN KEY (jefe)
REFERENCES Empleado,
CONSTRAINT FK_Empleado FOREIGN KEY (idDepartamento)
REFERENCES Departamento,
CONSTRAINT DOM_Empleado_NombreEmpleado
CHECK (nombreEmpleado = NLS_UPPER(nombreEmpleado))
);

Descargar

Ejemplo: Considere el diagrama entidad relacin que a continuacin se expone y su


correspondiente traduccin a sentencias Oracle. El cual involucra artistas, sus discos y las
canciones que contiene dicho disco.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
CREATE TABLE artista (
idArtista NUMBER,
nombreArtista CHAR(35) NOT NULL,
CONSTRAINT pk_Artista PRIMARY KEY (idArtista),
CONSTRAINT ak_nombreArtista UNIQUE ( nombreArtista )
);

CREATE TABLE disco (


asin CHAR(12),
idArtista NUMBER NOT NULL,
nombreAlbum CHAR(20) NOT NULL,
yearLanzamiento NUMBER(4),
marca CHAR(20),
CONSTRAINT pk_disco PRIMARY KEY (asin),
CONSTRAINT fk_artistaDisco FOREIGN KEY (idArtista) REFERENCES artista (idArtista)
);

CREATE TABLE canciones (


idCancion NUMBER,
asin CHAR(12) NOT NULL,
nombreCancion CHAR(30) NOT NULL,
duracion CHAR(6),
estilo CHAR(15),
CONSTRAINT pk_canciones PRIMARY KEY (idCancion),

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
CONSTRAINT fk_DiscoCanciones FOREIGN KEY (asin) REFERENCES disco (asin)
);

Descargar

Ejemplo: Torneo Primera Divisin Federacin Mexicana de Futbol

CREATE TABLE posicion (


idPosicion NUMBER(1),
nombrePosicion CHAR(20) NOT NULL,

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
CONSTRAINT PK_Posicion PRIMARY KEY (idPosicion)
);

CREATE TABLE nacionalidad (


idNacionalidad NUMBER(3),
nombreNacionalidad CHAR(20) NOT NULL,
CONSTRAINT PK_Nacionalidad PRIMARY KEY (idNacionalidad)
);

CREATE TABLE estadio (


idEstadio NUMBER(3),
nombreEstadio CHAR(25) NOT NULL,
direccion CHAR(35) NOT NULL,
codigoPostal NUMBER(5),
ciudad CHAR(30) NOT NULL,
fechaInaguracion DATE,
capacidad NUMBER NOT NULL,
foto CHAR(30),
CONSTRAINT PK_Estadio PRIMARY KEY (idEstadio)
);

CREATE TABLE equipo (


idEquipo NUMBER,
nombreEquipo CHAR(25) NOT NULL,
seudonimo CHAR(25) NOT NULL,
nombre_oficial CHAR(60) NOT NULL,
direccion CHAR(35) NOT NULL,
codigoPostal NUMBER(5),
ciudad CHAR(30) NOT NULL,
escudo CHAR(50),
fechaFundacion DATE,
paginaWeb CHAR(50) NOT NULL,
CONSTRAINT PK_Equipo PRIMARY KEY (idEquipo)
);

CREATE TABLE jugador (


idJugador NUMBER,

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
nombreJugador CHAR(40),
idEquipo NUMBER,
idPosicion NUMBER NOT NULL,
jj NUMBER DEFAULT 0,
jc NUMBER DEFAULT 0,
jt NUMBER DEFAULT 0,
ec NUMBER DEFAULT 0,
sc NUMBER DEFAULT 0,
minutos NUMBER DEFAULT 0,
goles NUMBER DEFAULT 0,
ta NUMBER DEFAULT 0,
tr NUMBER DEFAULT 0,
numero NUMBER NOT NULL,
fechaNacimiento DATE NOT NULL,
estatura NUMBER,
peso NUMBER,
idNacionalidad NUMBER DEFAULT 1,
CONSTRAINT PK_Jugador PRIMARY KEY (idJugador),
CONSTRAINT FK_Juega_En FOREIGN KEY (idEquipo) REFERENCES equipo (idEquipo),
CONSTRAINT FK_Juega_Como FOREIGN KEY (idPosicion) REFERENCES posicion (idPosicion),
CONSTRAINT FK_Origen FOREIGN KEY (idNacionalidad)
REFERENCES nacionalidad (idNacionalidad)
);

CREATE TABLE partido (


idPartido NUMBER,
jornada NUMBER(2) NOT NULL,
fecha DATE NOT NULL,
hora CHAR(5) NOT NULL,
idLocal NUMBER(3) NOT NULL,
golLocal NUMBER(2) DEFAULT 0,
idVisitante NUMBER(3) NOT NULL,
golVisitante NUMBER(3) DEFAULT 0,
idEstadio NUMBER(3) NOT NULL,
arbitro CHAR(50) NOT NULL,
asistente1 CHAR(50) NOT NULL,
asistentente2 CHAR(50) NOT NULL,

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
cJuez CHAR(50),
idEquipoLocal NUMBER(3) NOT NULL,
idEquipoVisitante NUMBER(3) NOT NULL,
CONSTRAINT PK_Partido PRIMARY KEY (idPartido),
CONSTRAINT FK_Partidos_En FOREIGN KEY (idEstadio) REFERENCES estadio (idEstadio),
CONSTRAINT FK_Local FOREIGN KEY (idLocal) REFERENCES equipo (idEquipo),
CONSTRAINT FK_Visitante FOREIGN KEY (idVisitante) REFERENCES equipo (idEquipo)
);

Descargar

Ejemplo: El departamento de Postgrado e investigacin del Tecnolgico Virtual ha


diseado una base de datos (BD) para la gestin de los proyectos de investigacin en los
que participan sus investigadores.

Se presenta a continuacin el diagrama Entidad Relacin propuesto mismo que es


perfectible. Si lo hace justique sus cambios.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
DROP TABLE asignado CASCADE CONSTRAINTS;
DROP TABLE proyecto CASCADE CONSTRAINTS;
DROP TABLE linea CASCADE CONSTRAINTS;
DROP TABLE investigador CASCADE CONSTRAINTS;
DROP TABLE depAcademico CASCADE CONSTRAINTS;

CREATE TABLE linea (


idLinea CHAR(20),
nombreLinea CHAR(100) NOT NULL,
financiadoPor CHAR(30) NOT NULL,
CONSTRAINT PK_Linea PRIMARY KEY (idLinea)
);

CREATE TABLE proyecto (

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
idProyecto CHAR(20),
idLinea CHAR(20) NOT NULL,
nombreProyecto CHAR(100) NOT NULL,
F_Inicio DATE NOT NULL,
F_Terminacion DATE NOT NULL,
Presupuesto NUMBER(10,0) NOT NULL,
CONSTRAINT PK_Proyecto PRIMARY KEY (idProyecto),
CONSTRAINT FK_Linea FOREIGN KEY (idLinea) REFERENCES linea (idLinea)
);

CREATE TABLE depAcademico (


idDepartamento NUMBER,
Departamento CHAR(30) NOT NULL,
CONSTRAINT PK_DepAcademico PRIMARY KEY (idDepartamento)
);

CREATE TABLE investigador (


ife CHAR(13),
nombreInvestigador CHAR(50) NOT NULL,
telefono CHAR(10) NOT NULL,
email CHAR(50) NOT NULL,
idDepartamento NUMBER NOT NULL,
CONSTRAINT PK_Investigador PRIMARY KEY (ife),
CONSTRAINT FK_DepAcademico FOREIGN KEY (idDepartamento)
REFERENCES depAcademico (idDepartamento)
);

CREATE TABLE asignado (


ife CHAR(13) NOT NULL,
idProyecto CHAR(20) NOT NULL,
F_Inicio DATE NOT NULL,
F_Termino DATE,
tipoParticipacion CHAR(20) NOT NULL,
CONSTRAINT FK_Investigador FOREIGN KEY (ife) REFERENCES investigador (ife),
CONSTRAINT FK_Proyecto FOREIGN KEY (idProyecto) REFERENCES proyecto (idProyecto)
);

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Descargar

Conoce tu gestor
Prueba las siguientes consultas. Qu informacin aportan?

SELECT table_name FROM user_tables;


SELECT table_name FROM all_tables WHERE owner='EPACHECO';

Anterior Home Siguiente

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

También podría gustarte