INTRODUCCIÓN
Las reglas de negocio se implementan en ORACLE mediante restricciones (constraints), disparadores (triggers) o código de aplicación. El ORACLE se basa en las restricciones para prevenir la entrada de datos no válidos 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 restricción debe ser satisfecha para que la operación DML se concluya con éxito.
Prevenir el borrado de una tabla cuando existen dependencias desde otras tablas.
MARCO TEÓRICO
<< Los constraints
ayudan prevenir
el
registro de datos
no válidos a las
pueden utilizar los constraints para el siguiente:
tablas. Se
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 operación se realice.
Previene la eliminación 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 combinación de columnas cuyos valores deben ser únicos para todas las filas de la tabla.
PRIMARY KEY: Identifica unívocamente cada fila de la tabla.
FOREIGN KEY: Establece y obliga a que se cumpla una restricción de integridad entre una columna y otra columna de la tabla referenciada.
CHECK: Especifica una condición que debe ser cierta. >> (Alarcos)
METODOLOGÍA / DISEÑO DE INVESTIGACIÓN
El tipo de estudio en el que se basa esta investigación, es de carácter descriptivo, la investigación descriptiva busca especificar propiedades, características y rasgos importantes.
DISEÑO DE INVESTIGACIÓN
Se procedió a la recopilación y análisis de datos relacionados con el tema de investigación. Se llevo a cabo las siguientes actividades:
Planteamientos del Problema
Planteamiento de los objetivos de la investigación
Se realizó una breve introducción para saber de qué se trata la investigación y que beneficios se van a adquirir.
También se realizó una lista de sitios web confiables para realizar la investigación.
Se inició la Investigación de los temas planteados para dar solución al problema.
Se dio a conocer los resultados obtenidos luego de finalizar la investigación, para realizar un breve cuestionario para analizar si existen todavía falencias con los contenidos que se investigo y si tuvo algún problema al momento de realizar la tarea investigativa.
SOLUCIÓN O RESULTADOS
ESQUEMA HR
Hace referencia a |
COMMISSION_PCT |
||||||||||
la llave primaria |
NUMBER(2), |
||||||||||
MANAGER_ID |
|||||||||||
EMP_EMAIL_UK |
UNIQUE |
|
que este caso es |
NUMBER(6), |
|||||||
EMAIL y que no |
DEPARTMENT_IDNUMBER(4), |
||||||||||
permite valores nulos. |
CONSTRAINT EMP_EMP_ID_PK PRIMARY KEY(EMPLOYEE_ID)); |
||||||||||
EMPLOYEES |
EMP_EMP_ID_PK |
PRIMARY KEY |
EMPLOYEE_ID |
Hace referencia a la llave primaria que este caso es EMPLOYEE_ID y que no permite valores nulos. |
|||||||
EMP_HRE_DATE_NN |
CHECK |
HIRE_DATE |
Hace una condición de control de no permitir entradas vacías o valores nulos en la columna |
||||||||
HIRE_DATE |
|||||||||||
EMP_JOB_FK |
FOREIGN KEY |
JOB_ID |
Hace referencia a la llave primaria que este caso es JOB_ID de la tabla JOB |
||||||||
EMP_JOB_NN |
CHECK |
JOB_ID |
Hace una condición de control de no permitir entradas vacías o valores nulos en la columna JOB_ID |
||||||||
EMP_LAST_NAME_NN |
CHECK |
LAST_NAME |
Hace una condición de control de no permitir entradas vacías 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 mínimo o sea hace que se cumpla la regla salary >0 |
|||||||||
TABLA |
NOMBRE |
TIPO |
COLUMNA(S) |
FUNCIÓN |
SQL (DDL) |
||||||
Hace |
CREATE TABLE HR.JOBS (JOB_ID |
||||||||||
referencia a la |
VARCHAR2(10), |
||||||||||
JOB_ID_PK |
PRIMARY KEY |
JOB_ID |
llave primaria que este caso es JOB_ID y que no permite valores nulos. |
JOB_TITLE VARCHAR2(10), MIN_SALARY NUMBER(6), MAX_SALARY NUMBER(6), CONSTRAINT JOB_ID_PKPRIMARY KEY(JOB_ID)); |
|||||||
JOBS |
JOB_TITLE_NN |
CHECK |
JOB_TITLE |
Hace una condición de control de no permitir entradas vacías o valores nulos en la columna |
TABLA |
NOMBRE |
TIPO |
COLUMNA(S) |
FUNCIÓN |
SQL (DDL) |
|
Lo que hace es verificar que se |
CREATE TABLE |
|||||
JHIST_DATE_INTERVAL |
CHECK |
cumpla la |
HR.JOBS_HISTORY |
|||
regla End_date > |
(EMPLOYEE_ID NUMBER(6), START_DATE DATE, |
|||||
start_date |
END_DATE DATE, |
|||||
Hace referencia a |
JOB_ID VARCHAR2(10) , DEPARTMENT_ID NUMBER(4), CONSTRAINT |
|||||
FOREIGN |
la llave primaria que este caso es |
JHIST_EMP_ID_ST_DATE_PKP RIMARY KEY(EMPLOYEE_ID, |
||||
JHIST_DEPT_FK |
KEY |
DEPARTAMENT_ID |
DEPARTAME NT_ID de la tabla DEPARTAME NTS |
START_DATE)); |
||
Hace |
||||||
referencia a |
||||||
la llave |
||||||
JOB_HISTORY |
JHIST_ENPLOYEE_NN |
CHECK |
EMPLOYEE_ID |
primaria que este caso es EMPLOYEE_I |
||
D y que no permite valores nulos. |
||||||
FOREIGN |
Hace referencia a la llave primaria que |
|||||
JHIST_EMP_FK |
KEY |
EMPLOYEE_ID |
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 |
||||||
JHIST_EMP_ID_ST_DATE_ |
PRIMARY |
EMPLOYEE_ID, |
permite |
|||
PK |
KEY |
START_DATE |
valores nulos. Y hace referencia también a START_DATE o sea es una PK compuesta. |
|||
JHIST_END_DATE_NN |
CHECK |
END_DATE |
Hace una condición de control de no permitir entradas vacías o valores nulos en la columna |
|||
END_DATE |
||||||
FOREIGN |
Hace referencia a la llave |
|||||
JHIST _JOB_FK |
KEY |
JOB_ID |
primaria que este caso es JOB_ID de la |
tabla JOBS |
|||||||||||
JHIST _JOB_NN |
CHECK |
JOB_ID |
Hace una condición de control de no permitir entradas vacías o valores nulos en la columna |
||||||||
JOB_ID |
|||||||||||
JHIST _START_DATE_NN |
CHECK |
START_DATE |
Hace una condición de control de no permitir entradas vacías o valores nulos en la columna |
||||||||
START_DATE |
|||||||||||
TABLA |
NOMBRE |
TIPO |
COLUMNA(S) |
FUNCIÓN |
SQL (DDL) |
||||||
Hace una |
CREATE TABLE HR.LOCATION |
||||||||||
condición de |
(LOCATION_ID |
NUMBER(4) , |
|||||||||
control de no permitir |
STREET_ADDRESS ARCHAR2(40), POSTAL_CODE VARCHAR2(12), |
||||||||||
CITY |
VARCHAR2(30), |
||||||||||
LOCK_CITY_NN |
CHECK |
CITY |
entradas |
STATE_PROVINCE VARCHAR2(25), |
|||||||
vacías o valores nulos |
COUNTRI_ID CHAR(2), CONSTRAINT LOCK_ID_PKPRIMARY |
||||||||||
en la columna CYTY |
KEY(LOCATION_ID)); |
||||||||||
LOCATION |
LOCK_C_ID_FK |
FOREIGN KEY |
COUNTRY_ID |
Hace referencia a la llave primaria que este caso es COUNTRY_ID de la tabla COUNTRIES |
|||||||
LOCK_ID_PK |
PRIMARY KEY |
LOCATION_ID |
Hace referencia a la llave primaria que este caso es LOCATION_ID y que no permite valores nulos. |
||||||||
TABLA |
NOMBRE |
TIPO |
COLUMNA(S) |
FUNCIÓN |
SQL (DDL) |
||||||
Hace una condición de REGION_ID |
CREATE TABLE HR.REGIONS (REGION_ID NUMBER, |
||||||||||
control de no permitir |
REGION_NAME VARCHAR2(25), CONSTRAINT REG_ID_PKPRIMARY |
||||||||||
REGION_ID_NN |
CHECK |
REGION_ID |
entradas |
K(REGION_ID_ID)); |
|||||||
REGIONS |
vacías o valores nulos en la columna |
||||||||||
PRIMARY |
Hace referencia a la llave primaria que este caso es |
||||||||||
REG_ID_PK |
KEY |
REGION_ID |
REGION_ID y que no permite valores nulos. |
CRITERIOS PERSONALES
válida, en qué |
se |
||||||||
Lo |
que |
me |
llevo |
a |
considerar |
estas |
respuestas como validas |
fue |
la |
investigación de los tipos constraints como saber identificarlos.
2. ¿Qué problemas se presentaron al momento de elaborar la solución? El problema que tuve fue en el momento de instalar Oracle, realice unas configuraciones mal por lo que no podía entrar al esquema HR para poder realizar la tarea, otro problema fue entender la función que realizaba cada constraints.
3. ¿Qué se me hizo más fácil resolver en este trabajo? Lo más fácil de este trabajo fue identificar los tipos de constraints.
4. ¿Cómo 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, otras asignaturas que estas estudiando y la vida real? Base de Datos, Herramientas Case, y en la vida real se relaciona con la administración 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 redacción 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.
CONCLUSIONES
En conclusión la tarea me ayudo a comprender el uso de los constraints que nos
permite prevenir el registro de datos no válidos 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 BIBLIOGRÁFICAS
Alarcos. (s.f.). Escuela Superior de Informática 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
Molto più che documenti.
Scopri tutto ciò che Scribd ha da offrire, inclusi libri e audiolibri dei maggiori editori.
Annulla in qualsiasi momento.