Sei sulla pagina 1di 9

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

COUNTRIES DEPARTMENTS LOCATION JOB_HISTORY COUNTRY_ID DEPARTMENT_ID NUMBER(6) PK LOCATION_ID NUMBER(4) PK EMPLOYEE_ID NUMBER(6) FK COUNTRY_NAME CHAR
COUNTRIES
DEPARTMENTS
LOCATION
JOB_HISTORY
COUNTRY_ID
DEPARTMENT_ID
NUMBER(6) PK
LOCATION_ID
NUMBER(4)
PK
EMPLOYEE_ID NUMBER(6)
FK
COUNTRY_NAME
CHAR (2) PK
VARCHAR 2(40)
STREET_ADDRESS
VARCHAR2(40)
DEPARTMENT_NAME VARCHAR2(30)
START_DATE DATEPK
END_DATE DATE
JOB_ID VARCHAR2(10)FK
DEPARTMENT_ID NUMBER(4) FK
REGION_ID
FK
POSTAL_CODE
VARCHAR2(12)
MANAGER_ID
NUMBER
CITY
VARCHAR2(30)
LOCATION_IDNUMBER
FK
STATE_PROVINCE
VARCHAR2(25)
COUNTRI_ID
CHAR(2)
FK
REGION
EMPLOYEES
JOBS
REGION_ID
NUMBER PK
EMPLOYEE_ID
NUMBER(6)
PK
JOB_IDVARCHAR2(10) PK
REGION_NAME VARCHAR (25)
FIRST_NAME
VARCHAR2(20)
JOB_TITLE
VARCHAR2(10)
LAST_NAME
VARCHAR2(25)
MIN_SALARY
NUMBER(6)
EMAIL
VARCHAR2(25)
MAX_SALARY
NUMBER(6)
PHONE_NUMBER
VARCHAR2(25)
HIRE_DATE
DATE
JOB_ID
VARCHAR2(25) FK
SALARY
NUMBER(8)
COMMISSION_PCT
NUMBER(2)
MANAGER_ID
NUMBER(6)
DEPARTMENT_ID
NUMBER(4) FK
CONSTRAINTS
CONSTRAINTS
TABLA NOMBRE TIPO COLUMNA(S) FUNCIÓN SQL (DDL) COUNTRY_C_ID_PK PRIMARY KEY COUNTRY_ID CREATE TABLE HR.COUNTRIES (COUNTRY_ID CHAR(2)
TABLA
NOMBRE
TIPO
COLUMNA(S)
FUNCIÓN
SQL (DDL)
COUNTRY_C_ID_PK
PRIMARY KEY
COUNTRY_ID
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
Hace referencia
a la llave
primaria que
este caso es
COUNTRY_ID y
que no permite
valores nulos.
Hace una
condición de
control de no
permitir
entradas vacías o
valores nulos en
la columna
COUNTRY_ID.
Hace referencia
a la llave
primaria que
este caso es
REGION_ID de la
tabla REGIONS
TABLA
NOMBRE
TIPO
COLUMNA(S)
FUNCIÓN
SQL (DDL)
DEPT_ID_PK
PRIMARY KEY
DEPARTAMENT_ID
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_LOC_FK
FOREIGN KEY
LOCATION_ID
DEPARTAMENTS
DEPT_MGR_FK
FOREIGN KEY
MANAGER_ID
DEPT_NAME_NN
CHECK
DEPARTAMENT_NAME
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 condición
de control de no
permitir entradas
vacías o valores
nulos en la columna
DEPARTMENT_NAME
TABLA
NOMBRE
TIPO
COLUMNA(S)
FUNCIÓN
SQL (DDL)
CREATE TABLE
HR.EMPLOYEES
(EMPLOYEE_ID
NUMBER(6),
EMP_DEPT_FK
FOREIGN KEY
DEPARTAMENT_ID
Hace referencia a
la llave primaria
que este caso es
DEPARTAMENT_I
D de la tabla
DEPARTAMENTS
Hace una
condición de
control de no
permitir entradas
vacías o valores
nulos en la
columna EMAIL
FIRST_NAME
VARCHAR2(20),
LAST_NAME
VARCHAR2(25) NOT
NULL,
EMAIL
VARCHAR2(25)NOT
NULL,
PHONE_NUMBER
VARCHAR2(25),
EMP_EMAIL_NN
CHECK
EMAIL
HIRE_DATE
DATENOT NULL,
JOB_ID
VARCHAR2(25) NOT NULL,
SALARY
NUMBER(8),
       

Hace referencia a

COMMISSION_PCT

 

la llave primaria

NUMBER(2),

MANAGER_ID

 

EMP_EMAIL_UK

UNIQUE

EMAIL

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

 
JOB_TITLE
JOB_TITLE

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

  • 1. ¿Qué lo llevó a considerar estas respuestas cómo fundamenta?

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