Sei sulla pagina 1di 9

INTRODUCCIN Las reglas de negocio se implementan en ORACLE mediante restricciones (constraints), disparadores (triggers) o cdigo de aplicacin.

El ORACLE se basa en las restricciones para prevenir la entrada de datos no vlidos en las tablas. Al trabajar con ORACLE, las restricciones se pueden emplear para: Forzar el cumplimiento de reglas por los datos de una tabla cuando se inserta una fila, se elimina o se modifica. La restriccin debe ser satisfecha para que la operacin DML se concluya con xito. Prevenir el borrado de una tabla cuando existen dependencias desde otras tablas.

MARCO TERICO << Los constraints ayudan prevenir el registro de datos no vlidos a las tablas. Se pueden utilizar los constraints para el siguiente: Implementar o imponer reglas en los datos de una tabla cuando una fila es insertada, modificada o borrada de la tabla. El constraints se debe cumplir para que la operacin se realice. Previene la eliminacin de una tabla si existen dependencias con otras. Proporciona reglas para herramientas de Oracle, como OracleDeveloper. Las constraints son las encargadas de asegurar la integridad referencial en la base de datos. Tipos de constraints: CHECK NOT NULL UNIQUE KEY PRIMARY KEY FOREIGN KEY

NOT NULL: Una columna no puede contener un valor nulo UNIQUE: Una columna o combinacin de columnas cuyos valores deben ser nicos para todas las filas de la tabla.

PRIMARY KEY: Identifica unvocamente cada fila de la tabla. FOREIGN KEY: Establece y obliga a que se cumpla una restriccin de integridad entre una columna y otra columna de la tabla referenciada. CHECK: Especifica una condicin que debe ser cierta. >> (Alarcos)

METODOLOGA / DISEO DE INVESTIGACIN El tipo de estudio en el que se basa esta investigacin, es de carcter descriptivo, la investigacin descriptiva busca especificar propiedades, caractersticas y rasgos importantes. DISEO DE INVESTIGACIN Se procedi a la recopilacin y anlisis de datos relacionados con el tema de investigacin. Se llevo a cabo las siguientes actividades:
Planteamientos del Problema Planteamiento de los objetivos de la investigacin Se realiz una breve introduccin para saber de qu se trata la investigacin y que beneficios se van a adquirir. Tambin se realiz una lista de sitios web confiables para realizar la investigacin. Se inici la Investigacin de los temas planteados para dar solucin al problema. Se dio a conocer los resultados obtenidos luego de finalizar la investigacin, para realizar un breve cuestionario para analizar si existen todava falencias con los contenidos que se investigo y si tuvo algn problema al momento de realizar la tarea investigativa.

SOLUCIN O RESULTADOS ESQUEMA HR

JOB_HISTORY
EMPLOYEE_ID NUMBER(6) FK START_DATE DATEPK END_DATE DATE JOB_ID VARCHAR2(10)FK DEPARTMENT_ID NUMBER(4) FK

DEPARTMENTS
DEPARTMENT_ID NUMBER(6) PK DEPARTMENT_NAME VARCHAR2(30) MANAGER_ID NUMBER LOCATION_IDNUMBER FK

LOCATION
LOCATION_ID STREET_ADDRESS POSTAL_CODE CITY STATE_PROVINCE COUNTRI_ID NUMBER(4) PK VARCHAR2(40) VARCHAR2(12) VARCHAR2(30) VARCHAR2(25) CHAR(2) FK

COUNTRIES
COUNTRY_ID COUNTRY_NAME REGION_ID
CHAR (2) PK VARCHAR 2(40)

FK

JOBS
JOB_IDVARCHAR2(10) PK JOB_TITLE VARCHAR2(10) MIN_SALARY NUMBER(6) MAX_SALARY NUMBER(6)

EMPLOYEES
EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL PHONE_NUMBER HIRE_DATE JOB_ID SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID NUMBER(6) PK VARCHAR2(20) VARCHAR2(25) VARCHAR2(25) VARCHAR2(25) DATE VARCHAR2(25) FK NUMBER(8) NUMBER(2) NUMBER(6) NUMBER(4) FK

REGION
REGION_ID NUMBER PK REGION_NAME VARCHAR (25)

CONSTRAINTS
TABLA NOMBRE
COUNTRY_C_ID_PK

TIPO
PRIMARY KEY

COLUMNA(S)
COUNTRY_ID

FUNCIN Hace referencia a la llave primaria que este caso es COUNTRY_ID y que no permite valores nulos. Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna COUNTRY_ID. Hace referencia a la llave primaria que este caso es REGION_ID de la tabla REGIONS FUNCIN
Hace referencia a la llave primaria que este caso es DEPARTMENT_ID y que no permite valores nulos. Hace referencia a la llave primaria que este caso es LOCATION_ID de la tabla LOCATIONS Hace referencia a la llave primaria que este caso es ENPLOYEE_ID de la tabla ENPLOYEES Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna
DEPARTMENT_NAME

SQL (DDL)
CREATE TABLE HR.COUNTRIES (COUNTRY_ID CHAR(2) ,
COUNTRY_NAME VARCHAR2(40),

REGION_ID,
CONSTRAINT COUNTRY_C_ID_PK

PRIMARY KEY(COUNTRY_ID));

COUNTRY_ID_NN

CHECK

COUNTRY_ID

COUNTRIES

COUNTRY_REG_FK

FOREIGN KEY

REGION_ID

TABLA

NOMBRE

TIPO

COLUMNA(S)

SQL (DDL)
CREATE TABLE HR.DEPARTAMENTS (DEPARTMENT_ID NUMBER(6) , DEPARTMENT_NAME VARCHAR2(30), MANAGER_ID NUMBER, LOCATION_IDNUMBER, CONSTRAINT DEPT_ID_PK PRIMARY KEY(DEPARTAMENT_ID));

DEPT_ID_PK

PRIMARY KEY

DEPARTAMENT_ID

DEPT_LOC_FK

FOREIGN KEY

LOCATION_ID

DEPARTAMENTS
DEPT_MGR_FK FOREIGN KEY MANAGER_ID

DEPT_NAME_NN

CHECK

DEPARTAMENT_NAME

TABLA

NOMBRE

TIPO

COLUMNA(S)

FUNCIN

SQL (DDL)
CREATE TABLE HR.EMPLOYEES (EMPLOYEE_ID NUMBER(6),
FIRST_NAME VARCHAR2(20),
LAST_NAME NULL, VARCHAR2(25) NOT

EMP_DEPT_FK

FOREIGN KEY

DEPARTAMENT_ID

EMP_EMAIL_NN

CHECK

EMAIL

Hace referencia a la llave primaria que este caso es DEPARTAMENT_I D de la tabla DEPARTAMENTS Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna EMAIL

EMAIL

VARCHAR2(25)NOT

NULL, PHONE_NUMBER

VARCHAR2(25), HIRE_DATE DATENOT NULL,


JOB_ID VARCHAR2(25) NOT NULL,

SALARY NUMBER(8),

EMP_EMAIL_UK

UNIQUE

EMAIL

EMPLOYEES

EMP_EMP_ID_PK

PRIMARY KEY

EMPLOYEE_ID

EMP_HRE_DATE_NN

CHECK

HIRE_DATE

Hace referencia a la llave primaria que este caso es EMAIL y que no permite valores nulos. Hace referencia a la llave primaria que este caso es EMPLOYEE_ID y que no permite valores nulos. Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna
HIRE_DATE

COMMISSION_PCT NUMBER(2), MANAGER_ID NUMBER(6),


DEPARTMENT_IDNUMBER(4),

CONSTRAINT EMP_EMP_ID_PK PRIMARY KEY(EMPLOYEE_ID));

EMP_JOB_FK

FOREIGN KEY

JOB_ID

EMP_JOB_NN

CHECK

JOB_ID

EMP_LAST_NAME_NN

CHECK

LAST_NAME

Hace referencia a la llave primaria que este caso es JOB_ID de la tabla JOB Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna JOB_ID Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna
LAST_NAME

EMP_MANAGER_FK

FOREIGN KEY

MANAGER_ID

Hace referencia a la llave primaria que este caso es EMPLOYEE_ID de la tabla EMPLOYEE

EMP_SALARY_MIN

CHECK

Lo que hace es verificar el salario mnimo o sea hace que se cumpla la regla salary >0 COLUMNA(S) FUNCIN
Hace referencia a la llave primaria que este caso es JOB_ID y que no permite valores nulos. Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna

TABLA

NOMBRE

TIPO

SQL (DDL)
CREATE TABLE HR.JOBS (JOB_ID VARCHAR2(10), JOB_TITLE VARCHAR2(10), MIN_SALARY NUMBER(6), MAX_SALARY NUMBER(6), CONSTRAINT JOB_ID_PKPRIMARY KEY(JOB_ID));

JOB_ID_PK

PRIMARY KEY

JOB_ID

JOBS JOB_TITLE_NN CHECK JOB_TITLE

JOB_TITLE

TABLA

NOMBRE

TIPO

COLUMNA(S)

FUNCIN Lo que hace es verificar que se cumpla la regla End_date > start_date
Hace referencia a la llave primaria que este caso es DEPARTAME NT_ID de la tabla DEPARTAME NTS Hace referencia a la llave primaria que este caso es EMPLOYEE_I D y que no permite valores nulos. Hace referencia a la llave primaria que este caso es EMPLOYEE_I D de la tabla EMPLOYEES Hace referencia a la llave primaria que este caso es EMPLOYEE_I D y que no permite valores nulos. Y hace referencia tambin a START_DATE o sea es una PK compuesta. Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna
END_DATE

SQL (DDL)

JHIST_DATE_INTERVAL

CHECK

CREATE TABLE HR.JOBS_HISTORY (EMPLOYEE_ID NUMBER(6),


START_DATE DATE, END_DATE DATE, JOB_ID VARCHAR2(10) , DEPARTMENT_ID NUMBER(4), CONSTRAINT

JHIST_DEPT_FK

FOREIGN KEY

DEPARTAMENT_ID

JHIST_EMP_ID_ST_DATE_PKP RIMARY KEY(EMPLOYEE_ID, START_DATE));

JOB_HISTORY JHIST_ENPLOYEE_NN CHECK EMPLOYEE_ID

JHIST_EMP_FK

FOREIGN KEY

EMPLOYEE_ID

JHIST_EMP_ID_ST_DATE_ PK

PRIMARY KEY

EMPLOYEE_ID, START_DATE

JHIST_END_DATE_NN

CHECK

END_DATE

JHIST _JOB_FK

FOREIGN KEY

JOB_ID

Hace referencia a la llave primaria que este caso es JOB_ID de la

JHIST _JOB_NN

CHECK

JOB_ID

tabla JOBS Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna
JOB_ID

JHIST _START_DATE_NN

CHECK

START_DATE

Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna
START_DATE

TABLA

NOMBRE

TIPO

COLUMNA(S)

FUNCIN Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna CYTY Hace referencia a la llave primaria que este caso es COUNTRY_ID de la tabla COUNTRIES Hace referencia a la llave primaria que este caso es LOCATION_ID y que no permite valores nulos.

SQL (DDL)
CREATE TABLE HR.LOCATION (LOCATION_ID NUMBER(4) , STREET_ADDRESS ARCHAR2(40), POSTAL_CODE VARCHAR2(12), CITY VARCHAR2(30), STATE_PROVINCE VARCHAR2(25), COUNTRI_ID CHAR(2), CONSTRAINT LOCK_ID_PKPRIMARY KEY(LOCATION_ID));

LOCK_CITY_NN

CHECK

CITY

LOCATION LOCK_C_ID_FK FOREIGN KEY COUNTRY_ID

LOCK_ID_PK

PRIMARY KEY

LOCATION_ID

TABLA

NOMBRE

TIPO

COLUMNA(S)

FUNCIN
Hace una condicin de control de no permitir entradas vacas o valores nulos en la columna
REGION_ID

SQL (DDL) CREATE TABLE HR.REGIONS (REGION_ID NUMBER,


REGION_NAME VARCHAR2(25), CONSTRAINT REG_ID_PKPRIMARY K(REGION_ID_ID));

REGION_ID_NN

CHECK

REGION_ID

REGIONS

REG_ID_PK

PRIMARY KEY

REGION_ID

Hace referencia a la llave primaria que este caso es REGION_ID y que no permite valores nulos.

CRITERIOS PERSONALES 1. Qu lo llev a considerar estas respuestas cmo vlida, en qu se fundamenta? Lo que me llevo a considerar estas respuestas como validas fue la investigacin de los tipos constraints como saber identificarlos. 2. Qu problemas se presentaron al momento de elaborar la solucin? El problema que tuve fue en el momento de instalar Oracle, realice unas configuraciones mal por lo que no poda entrar al esquema HR para poder realizar la tarea, otro problema fue entender la funcin que realizaba cada constraints. 3. Qu se me hizo ms fcil resolver en este trabajo? Lo ms fcil de este trabajo fue identificar los tipos de constraints. 4. Cmo te ayud este trabajo a aprender algo nuevo o a reforzar conocimientos anteriores? Este trabajo me ayudo mucho porque pude adquirir nuevos conocimientos como que son los constraints y sus tipos. 5. Puedes describir algunas relaciones entre este trabajo, asignaturas que estas estudiando y la vida real? Base de Datos, Herramientas Case, y en la vida real se relaciona con la administracin de base de datos para las empresas. 6. Qu no he logrado comprender? Lo que no he logrado comprender en su totalidad es las llaves primarias compuestas eso falta reforzar. 7. Qu debo mejorar? Una de las partes que debo mejorar es la redaccin de informes porque una de mis falencias es al momento de realizar el informe me demoro mucho tiempo y se me hace un poco tedioso redactar el trabajo realizado. otras

CONCLUSIONES En conclusin la tarea me ayudo a comprender el uso de los constraints que nos permite prevenir el registro de datos no vlidos a las tablas. Ayuda a Implementar o imponer reglas en los datos de una tabla cuando una fila es insertada, modificada o borrada de la tabla. REFERENCIAS BIBLIOGRFICAS

Alarcos. (s.f.). Escuela Superior de Informtica de Ciudad Real. Recuperado el 9 de Octubre de 2012, de http://alarcos.inf-cr.uclm.es/doc/bda/doc/lab/p2/Bda-p2.pdf

Potrebbero piacerti anche