Está en la página 1de 2

> A nivel columna PK

CREATE TABLE alumno


( matricula NUMBER (10)
CONSTRAINT alum_matricula_PK PRIMARY KEY,
nombre VARCHAR2(25)
CONSTRAINT alum_nombre_NN NOT NULL,
apellido VARCHAR2(30)
CONSTRAINT alum_apellido_NN NOT NULL
);

> A nivel tabla

CREATE TABLE alumno


( matricula NUMBER (10),
nombre VARCHAR2(25)
CONSTRAINT alum_nombre_NN NOT NULL,
apellido VARCHAR2(30)
CONSTRAINT alum_apellido_NN NOT NULL,
CONSTRAINT alum_matricula_PK PRIMARY KEY (matricula)
);

> A nivel columna FK

CREATE TABLE materia


( id_materia VARCHAR2 (7)
CONSTRAINT mat_idmateria_PK PRIMARY KEY,
nombre_materia VARCHAR(25)
CONSTRAINT mat_nombre_NN NOT NULL,
matricula NUMBER (10),
CONSTRAINT mat_matricula_FK REFERENCES alumno(matricula)
);

> A nivel tabla

CREATE TABLE materia


( id_materia VARCHAR2 (7)
CONSTRAINT mat_idmateria_PK PRIMARY KEY,
nombre_materia VARCHAR(25)
CONSTRAINT mat_nombre_NN NOT NULL,
matricula NUMBER (10),
CONSTRAINT mat_matricula_FK FOREIGN KEY (matricula)
REFERENCES alumno(matricula)
);

Por que tiene esta estructura el nombre del CONSTRAINT

Regla para crear FOREIGN KEY


- QUE LA TABLA CON LA LLAVE PRIMARIA ESTE CREADA
Si al alumno se le pone un FOREIGN KEY y no existe la tabla de la FOREIGN
KEY, no se referencia a nada.

> Crear una tabla a partir de otra, reemplazando los nombres de los atributos
CREATE TABLE empleados
AS
SELECT first_name nombre, last_name apellido, hire_date fecha_contratacin,
salary salario
FROM Employees;

> Hacer consulta


SELECT nombre, apellido, fecha_contratacin, salario
FROM empleados

DESCRIBE empleados;

DROP TABLE empleados;

CREATE TABLE empleados


(nombre, apellido, fecha_contratacin, salario)
AS
SELECT first_name, last_name, hire_date, salary
FROM Employees;

También podría gustarte