Esquema HR
Esquema HR
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.
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
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
VARCHAR2(25)NOT
NULL, PHONE_NUMBER
SALARY NUMBER(8),
EMP_EMAIL_UK
UNIQUE
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
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
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
JHIST_DEPT_FK
FOREIGN KEY
DEPARTAMENT_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
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
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
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