Вы находитесь на странице: 1из 15

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA


ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
PROGRAMACION II (OTRAS CARRERAS)
CICLO I - 2016

GUIA DE LABORATORIO N 2
Diseo de Base de Datos Relacionales

Objetivo:
Crear los ndices Primarios y Normales para cada una de las tablas
Establecer las relaciones permanentes entre las respectivas tablas.
Capturar datos para cada una de las tablas por medio de formularios.

Consideraciones
Debe de continuar trabajando dentro de su proyecto PermisosUES.

Revise la carpeta de su proyecto:

Copie la ruta de su proyecto:


Copie la ruta (ctrl - c)

Ingrese a VFP9.0 y desde la ventana Command que se muestra a continuacin


copie la ruta despus de escribir la instruccin SET DEFAULT TO:
La instruccin SET DEFAULT TO {Ruta}, permite direccionar la ubicacin de su
proyecto y guarda todos los cambios que realice en dicha carpeta.
Utilice esa instruccin cada vez que abra una sesin.

Abrir su proyecto de Laboratorio llamado: PermisosUes.pjx

Clic aqu

Busque el proyecto y luego el


botn Ok

Luego seleccione la base


de datos Permisodb y clic
en el boton Modify

2
Vista de la Base de Datos Permisodb y sus tablas:

CREACION DE INDICES
Para desplazarse por los registros de una tabla, visualizarlos o manipularlos en un
orden determinado (ascendente o descendente), debe utilizar un ndice. Visual
FoxPro utiliza los ndices como mecanismos para:
- Ordenar los datos de una forma ascendente o descendente.
- Para crear relaciones permanentes entre tablas.
- Realizar bsquedas de registros.

Un ndice en Visual FoxPro es un archivo con extensin .cdx. El archivo de ndice


es independiente del archivo con extensin .dbf de la tabla y no cambia el orden
fsico de los registros contenidos en la misma. Cuando desee trabajar con los
registros de la tabla en un orden determinado, elija un ndice para controlar el
orden y aumentar la velocidad a la que se ve y se tiene acceso a la tabla.

Los ndices tambin permiten filtrar registros de una tabla y dependiendo del tipo
de ndice, crean relaciones permanentes y as establecer reglas de Integridad
Relacional.

Tipos de ndices ms utilizados:


Regular
se utilizan exclusivamente para ordenar tablas en funcin de un campo, grupo de
campos y/o combinados con funciones, ejemplo de ndices ordenados
- Ascendente por el campo nombre de empleado.
- Descendente por el campo nombre de empleado,
- Ascendente por Grupo de clase y Apellidos
- Ascendente por Fecha de ingreso a la Universidad y Ascendente por
Apellido del estudiante.
- Ascendente por Departamento.
- Descendentemente por apellido, nicamente al personal femenino.

Nota: una tabla puede tener muchos ndices de tipo regular.

3
Primario
se utiliza por dos razones:
- Identificar llaves primarias y as evitar duplicidad de datos (ej. dos alumnos
o mas no pueden compartir el mismo carnet)
- Establecer una relacin permanente y aplicar as Integridad Referencial
(IR)
- Carnet de estudiante (Idcarnet)
- Carnet de empleado (Idempleado)
- Cdigo de articulo (idarticulo)
- Registro Academico (Idestudiante + Idasignatura + ciclo + matricula)
- Registro de Permisos (Idempleado + idpermiso + correlativo)

Nota: una tabla puede tener nicamente un ndice de tipo primario.

Caractersticas de las Relaciones Permanentes:


- Facilitan las consultas SQL
- Permiten establecer Integridad Referencial

Caractersticas de los ndices:


Al crear ndices, estos pertenecen exclusivamente a una tabla; para crearlos es
necesario establecer las siguientes caractersticas:

Caracterstica Descripcin
Orden Ascendente o Descendente
Nombre Para identificar exclusivamente a cada ndice
Tipo Normal o Principal
Expresin Campo o campos sobre los cuales se ordena (deben de ser
del mismo tipo de dato.)
Filtro Condicin que permite seleccionar exclusivamente los
registros que cuentan con dicha condicin (es opcional)

Como determinar el nmero de ndices y su respectivo tipo para cada tabla?


- Por cada tabla debe existir un ndice principal (entidad fuerte).
Ejemplo: en la tabla Puestos, debe existir un ndice principal, sobre el
campo Idpuesto, ascendente y el nombre del ndice: PkPuestos (Principal
Key mas el nombre de la tabla).

ndice para Puestos:


Orden Nombre Tipo Expresin Filtro
Ascendente Pkpuestos Primary Idpuesto NOT(DELETE())

- S la tabla esta relacionada con una o ms tablas, por cada entidad dbil
debe existir un ndice normal, estos son llamados tambin: FkTabla.

4
Ejemplo: Puestos tiene una relacin con la tabla Deptos por medio del
campo Idunidad, por lo tanto Puestos necesita de un ndice ascendente, de
tipo regular (normal), aplicado sobre el campo Idunidad y el nombre del
ndice debe ser: FkDeptos.
La otra relacin de la tabla Puestos es con Empleado a travs del campo
NIT, por lo tanto Puestos necesita de otro ndice ascendente, de tipo
normal, aplicado sobre el campo Nit y el nombre del ndice debe ser:
FkEmpleado.

ndice para Puestos:


Orden Nombre Tipo Expresin Filtro
Ascendente Fkdeptos Regular Iddepto
Ascendente Fkempleado Regular NIT

- Adicional a los anteriores ndices, se pueden crear otros, nicamente con el


objetivo de ordenar las tablas, ejemplo: Ordenar la tabla Puestos por
nombre del puesto, sueldo, etc.

ndice para Puestos:


Orden Nombre Tipo Expresin Filtro
Ascendente Depuesto Regular Depuesto

Creacin de los ndices en la tabla: Empleados:


Empleado Puestos
Un ndice primario.
Un ndice Regular con puestos

Seleccione la tabla Empleado,


luego clic al botn derecho de
mouse, seleccione Modificar

5
Desde la ventana de diseador de tablas, seleccione la ficha ndex

Llene los campos segn la siguiente tabla:

ndices en la tabla Empleado:


ORDEN NOMBRE TIPO EXPRESION FILTRO COMENTARIO
Asc Pkempleado Primary Nit NOT(DELETED()) Llave Principal
Asc Apellidos Regular Apellidos + Nombres Solo ordena por
apellidos y
nombres

Los ndices quedan de la siguiente forma

Ascendente Tipo Expresin Filtros

Nombre del
ndice Luego de crear los
ndices guardar

6
El resultado es el siguiente:

ndices en la tabla Puestos:


La tabla puestos se relaciona con Empleado y Deptos, por lo tanto los ndices son:
Un ndice primario.
Un ndice regular para relacionarse con Empleado.
Un ndice regular para relacionarse con Deptos.
Un ndice para ordenar por nombre del puesto Depuesto (adicional).

ORDEN NOMBRE TIPO EXPRESION FILTRO COMENTARIO


Asc Pkpuestos Primary Idpuesto NOT(DELETED()) Llave Principal
Asc Fkempleado Regular Nit Llave Fornea
Asc Fkdptos Regular Iddpto Llave Fornea
Asc Depuesto Regular Depuesto Solo ordena

El resultado es el siguiente:

7
ndices en la tabla Detaperm:
La tabla puestos se relaciona con Empleado y Permisos, por lo tanto los ndices
son:
Un ndice primario.
Un ndice regular para relacionarse con Empleado.
Un ndice regular para relacionarse con Permisos.

ORDEN NOMBRE TIPO EXPRESION FILTRO COMENTARIO


Asc Pkdetape Primary Correlativo NOT(DELETED()) Llave Principal
Asc Fkempleado Regular Nit Llave Fornea
Asc Fkpermisos Regular Idpermiso Llave Fornea

El resultado es el siguiente:

ndices en la tabla Permisos:


La tabla permisos se relaciona con Dataperm y Tipoper, por lo tanto los ndices
son:
Un ndice primario.
Un ndice regular para relacionarse con Tipoper.

ORDEN NOMBRE TIPO EXPRESION FILTRO COMENTARIO


Asc Pkpermisos Primary Idpermiso NOT(DELETED()) Llave Principal
Asc Fktipoper Regular Idtipoper Llave Fornea
Asc Depermiso Regular Depermiso Solo ordena

El resultado es el siguiente:

8
ndices en la tabla Tipoper:
La tabla Tipoper se relaciona con Permisos a travs de su llave primaria, por lo
que el nico ndice es::
Un ndice primario.

ORDEN NOMBRE TIPO EXPRESION FILTRO COMENTARIO


Asc Pktipoper Primary Idtipoper NOT(DELETED()) Llave Principal

El resultado es el siguiente:

ndices en la tabla Deptos:


La tabla Deptos se relaciona con Puestos a travs de su llave primaria, por lo que
el nico ndice es:
Un ndice primario.
Un ndice para ordenar por nombre del departamento.
ORDEN NOMBRE TIPO EXPRESION FILTRO COMENTARIO
Asc Pkdeptos Primary Iddpto NOT(DELETED()) Llave Principal
Asc Dedepto Regular Dedpto Solo ordena

El resultado es el siguiente:

9
El resultado final de la base de datos es:

ESTABLECIMIENTO DE RELACIONES PERMANENTES

Las relaciones persistentes son relaciones entre tablas de una base de datos que
se almacenan en el archivo de la base de datos y tienen las caractersticas
siguientes:

Se utilizan automticamente como condiciones de combinacin


predeterminadas en los Diseador de consultas y de vistas.
Aparecen en el Diseador de bases de datos como lneas que relacionan
los ndices de las tablas.
Aparecen en el Diseador de entorno de datos como relaciones
predeterminadas para los formularios e informes.

Las relaciones permanentes no necesitan ser creadas de nuevo cada vez que se
utilizan las tablas.

En Visual FoxPro se utilizan los ndices para establecer relaciones persistentes


entre las tablas de una base de datos. La relacin se define entre los ndices y no
entre los campos, lo que permite relacionar las tablas basndose en una expresin
de ndice simple o complejo.

10
Pasos para preparar las relaciones

1. Determine la tabla que tiene los registros principales (primaria) y qu tabla


tiene los registros relacionados (secundaria). Ejemplo: relacin entre la
tabla Empleado (primaria) y Puestos (secundaria)
2. Verifique que ambas tablas tengan un campo en comn. Ejemplo: Nit.
3. Verifique que en la tabla primaria exista un ndice principal cuya expresin
sea el campo en comn Ejemplo: ndice Pkempleado y su expresin: Nit.
4. Verifique que en la tabla secundaria exista un ndice normal cuya expresin
sea el campo en comn Ejemplo: ndice Fkempleado y su expresin: Nit.

Para crear una relacin persistente entre tablas

En el Diseador de bases de datos, elija el nombre del ndice primario que


desee relacionar y arrstrelo hasta el nombre del ndice normal de la tabla
secundaria.

Relacin Permanente: Empleados - Puestos:


Seleccione en la tabla Empleado el nombre del ndice primario: Pkempleado y
arrstrelo (con el puntero del ratn), hasta el ndice normal Fkempleado que se
encuentra en la tabla Puestos

Tabla Primaria Expresin en comn Tabla Secundaria


Tabla: Empleado Tabla: Puestos
ndice: Pkempleado Nit ndice: Fkempleado
Tipo de relacin: Uno Tipo de relacin: Muchos

(Empleado hacia Puestos):

11
Relacin Permanente: Puestos - Deptos:
Seleccione en la tabla Deptos el nombre del ndice primario: Pkdeptos y arrstrelo
(con el puntero del ratn), hasta el ndice normal Fkdeptos que se encuentra en la
tabla Puestos

Tabla Primaria Expresin en comn Tabla Secundaria


Tabla: Deptos Tabla: Puestos
ndice: Pkdeptos Iddpto ndice: Fkdeptos
Tipo de relacin: Uno Tipo de relacin: Muchos

(Deptos hacia Puestos):

12
Relacin Permanente: Empleados - Detaperm:
Seleccione en la tabla Empleados el nombre del ndice primario: Pkempleado y
arrstrelo (con el puntero del ratn), hasta el ndice normal Fkempleado que se
encuentra en la tabla Detaperm.

Tabla Primaria Expresin en comn Tabla Secundaria


Tabla: Empleado Tabla: Detaperm
ndice: Pkempleado Nit ndice: Fkempleado
Tipo de relacin: Uno Tipo de relacin: Muchos

(Empleado hacia Detaperm):

13
Relacin Permanente: Permisos - Detaperm:
Seleccione en la tabla Permisos el nombre del ndice primario: Pkpermisos y
arrstrelo (con el puntero del ratn), hasta el ndice normal Fkpermisos que se
encuentra en la tabla Detaperm.

Tabla Primaria Expresin en comn Tabla Secundaria


Tabla: Permisos Tabla: Detaperm
ndice: Pkpermisos Idpermiso ndice: Fkpermisos
Tipo de relacin: Uno Tipo de relacin: Muchos

(Permisos hacia Detaperm):

14
Relacin Permanente: Tipoper - Permisos:
Seleccione en la tabla Tipoper el nombre del ndice primario: Pktipoper y arrstrelo
(con el puntero del ratn), hasta el ndice normal Fktipoper que se encuentra en la
tabla Permisos.
Tabla Primaria Expresin en comn Tabla Secundaria
Tabla: Tipoper Tabla: Permisos
ndice: Pktipoper Idtipoper ndice: Fktipoper
Tipo de relacin: Uno Tipo de relacin: Muchos

(Tipoper hacia Permisos):

El resultado final es el que se muestra en la siguiente figura, compare el diseo


Fsico (Visual en VFP) con el Diseo Lgico.

Teclas: Ctrl W para cerrar la ventana de diseo de base de datos.

15

Вам также может понравиться