1 lab restricciones de integridad

4
Laboratorio Restricciones de Integridad Usuario alumno1 contraseña alumno1 1. Ejemplo práctico sobre una base de datos común. El diseño de las tablas de esta pequeña base de datos vendría dado por: CREATE TABLE Departamento (codigo CHAR(5) NOT NULL, nombre VARCHAR(100) NOT NULL, director VARCHAR(50), telefono CHAR(11), CONSTRAINT CP_dpto PRIMARY KEY(codigo)); Para la tabla “departamento” tiene definidas las restricciones de integridad de: tratamiento de no nulos para las columnas: código nombre tratamiento de clave primaria denominada CP_dpto para la columna código CREATE TABLE Profesor(

Upload: jorge-velasquez-ramos

Post on 06-Dec-2015

219 views

Category:

Documents


1 download

DESCRIPTION

BD

TRANSCRIPT

Page 1: 1 LAB Restricciones de Integridad

Laboratorio Restricciones de Integridad

Usuario alumno1 contraseña alumno1

1. Ejemplo práctico sobre una base de datos común.

El diseño de las tablas de esta pequeña base de datos vendría dado por:

CREATE TABLE Departamento(codigo CHAR(5) NOT NULL,nombre VARCHAR(100) NOT NULL,director VARCHAR(50),telefono CHAR(11),CONSTRAINT CP_dpto PRIMARY KEY(codigo));

Para la tabla “departamento” tiene definidas las restricciones de integridad de: tratamiento de no nulos para las columnas:

código nombre

tratamiento de clave primaria denominada CP_dpto para la columna código

CREATE TABLE Profesor(codigo CHAR(5) NOT NULL,nombre VARCHAR(100) NOT NULL,direccion VARCHAR(50),telefono CHAR(11),categoria CHAR(3) NOT NULL,CONSTRAINT RI_cat CHECK (categoria='TEU' OR categoria='CU' OR categoria='CEU'),dpto CHAR(5),

Page 2: 1 LAB Restricciones de Integridad

CONSTRAINT CP_prof PRIMARY KEY (codigo),CONSTRAINT Caj_prof_dpto FOREIGN KEY (dpto) REFERENCES Departamento(codigo));

Como puede verse, la tabla “profesor” tiene definidas las restricciones de integridad de: tratamiento de no nulos para las columnas:

código nombre categoría

restricciones de integridad estáticas con la cláusula check llamada RI_cat para la columna categoría, que delimita el rango de valores que puede contener la columna a tres cadenas de caracteres, ‘TEU’, ‘CU’ y ‘CEU’.

tratamiento de clave primaria denominada CP_prof para la columna código tratamiento de clave ajena denominada Caj_prof_dpto de la columna dpto haciendo

referencia a la tabla departamento.

CREATE TABLE Asignatura(codigo CHAR(5) NOT NULL,nombre VARCHAR(100) NOT NULL,cre_teo NUMBER(3,1) NOT NULL,CONSTRAINT RI_teo CHECK (cre_teo>0),cre_pra NUMBER(3,1) NOT NULL,CONSTRAINT RI_teo1 CHECK (cre_pra>0),dpto CHAR(5),CONSTRAINT CP_asg PRIMARY KEY (codigo),CONSTRAINT Caj_asg_dpto1 FOREIGN KEY (dpto) REFERENCES Departamento(codigo));

La tabla “asignatura” tiene definidas las restricciones de integridad de: tratamiento de no nulos para las columnas:

código nombre cre_teo cre_pra

restricciones de integridad estáticas con la cláusula check para las columnas: cre_teo (denominada RI_teo) cre_pra (denominada RI_pra)

tratamiento de clave primaria denominada CP_asg para la columna código tratamiento de clave ajena denominada Caj_asg_dpto de la columna dpto haciendo

referencia a la tabla departamento.

CREATE TABLE Docencia(cod_prof CHAR(5) NOT NULL,cod_asg CHAR(5) NOT NULL,creditos NUMBER(3,1) NOT NULL,CONSTRAINT RI_cre CHECK (creditos>0),CONSTRAINT CP_doc PRIMARY KEY (cod_prof, cod_asg),CONSTRAINT Caj_doc_prof FOREIGN KEY (cod_prof) REFERENCES Profesor,CONSTRAINT Caj_doc_asg FOREIGN KEY (cod_asg) REFERENCES Asignatura);

Page 3: 1 LAB Restricciones de Integridad

Finalmente, la tabla “docencia” tiene definidas las restricciones de integridad de: tratamiento de no nulos para las columnas:

cod_prof cod_asg créditos

restricciones de integridad estáticas con la cláusula check denominada RI_cre para la columna créditos.

tratamiento de clave primaria denominada CP_doc para la combinación de columnas cod_prof y cod_asg.

tratamiento de clave ajena denominada CAj_doc_prof de la columna cod_prof haciendo referencia a la tabla profesor.

Tratamiento de clave ajena denominada CAj_doc_asg de la columna cod_asg haciendo referencia a la tabla asignatura.