Base de Datos Conjunto de información, la cual ha sido organizada y presentada para servir un propósito específico. Modelo Jerarquico • Organizan su contenido en base a un modelo de jerarquías que establece relaciones uno a uno y en forma de árbol. • Si es necesario hacer relaciones múltiples, será necesario la repetición de datos. Modelo relacional La informacion esta contenida en tablas rectangulares, compuestas de dos partes fundamentales: Estructura y los Datos La estructura es la que define los campos (columnas): Nombre, tipo, tamaño, etc. Los datos estan compuestos por registros (filas). A cada uno se le asigna un numero secuencia. 1º Regla Normal • Buscas identificar entidades, cada una sera una tabla. Identifica los datos que sean importantes, cada uno sera un campo. • No debes incluir campos que no guarden relación directa con la entidad. • Tampoco debes incluir campos en los cuales todos los registros tengan valores iguales. 2º Regla Normal • A cada tabla le asignas una llave unica • Revisa cada tabla, si en alguna de ellas hubiera datos que no dependan de la llave primaria entonces retiralos. • Ningun dato debera estar repetido. 3º Regla Normal • Se sugiere eliminar aquellos datos que se puedan consegir a partir de calculos sobre otros datos existentes. • Se sugiere no incluir datos que caduquen en el tiempo. Entidad • Persona, lugar, objeto, evento o suceso de interes acerca del cual se capturan datos. • Tipos de entidades: – Principal. – Asociativa. – Caracteristica. Entidad Principal • Almacena datos de una única entidad, en esta se garantiza la unicidad de datos. • Tambien llamada Primaria, Nucleo o Maestro. • Ej: Clientes, Artículos, Vendedores, Alumnos, Cursos, profesores. Entidad Asociativa • Son aquellas tablas que sirven de puente entre otras dos. • Tambien llamadas Transacciones o Cabeceras. • Ej: Facturas, Matricula. Entidad Característica • Provee información adicional a una tabla primaria a una tabla asociativa. • Tambien llamada detalle. • Ej: Detalle de la factura. Diseñar tablas • Formato: Como un PICT de salida del campo. Ej: 99,999.99 o @! • Mascara de entrada: Como PICT de entrada del campo. • Titulo: Es el titulo del campo. • Regla: Es el VALID • Mensaje: Es el mensaje de error. • Valor prdeterminado: Es el DEFA Tipos de indice • Principal – – – – Evita la repeticion de la clave de indice. Aparente para la llave del registro. Solo puede haber una por tabla. Solo es posible crear en tablas que pertenecen a una BD. ALTER TABLE <tabla> ADD PRIMARY KEY <clave> TAG <etiqueta> Tipos de indice (2) • Normal: Su funcion es ordenar. Puedes haber varios por tabla. • Candidato: Evita la repeticion de la clave de indice. Puedes haber varios por tabla. • Unico: Oculta registros con clave repetida, pero no los evita. Puedes haber varios por tabla. INDE ON <clave> TAG <etiqu> [CAND|UNIQ Tipos de llave • Primaria: Garantiza la unicidad del dato llave de una entidad. Deberas indexar la llave usando un indice Principal o Candidato. • Foránea: Cuando la llave primaria de una entidad es llamada por una entidad secundaria. Se pueden repetir datos, osea uno a muchos. Indice Normal. Relacion entre tablas • Uno a uno: Desde una llave Primaria (indice Principal o Candidato) a otra llave Foránea (indice Principal o Candidato). • Uno a muchos: Desde una llave Primaria a una Foránea (indice Normal) Relación entre tablas (2) • Temporales: Puede relacinarse tablas libres. SET RELA TO <campos> INTO <tabla> • Permanente: Queda grabado en la BD. Se hace de manera grafica. Integridad referencial • Reglas que rigen la coherencia de datos, es decir preservar las relaciones definidas entre tablas al añadir, eliminar o modificar registros. • Desencadenante: Codigo de evento a nivel de registro que se ejecuta despues de añadir, modificar o eliminar un registro. Integridad referencial (2) – No se podra añadir un registro en una tabla hija, cuando no hay un registro asociado en la tabla padre. – No se podra cambiar valores en la tabla padre, cuando tales cambios supongan dejar registros huérfanos en una tabla hija. – No se podra eliminar un registro de una tabla padre cuando tengan registros relacionados coincidentes en la tabla hija.