Administración de Bases de Datos_050513

130
Administraci ón de Bases de Datos Dra. Lisbeth Rodríguez Mazahua Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Ingeniería en Computación

Transcript of Administración de Bases de Datos_050513

Administración de Bases de Datos

Dra. Lisbeth Rodríguez Mazahua

Universidad Autónoma del Estado de México

Centro Universitario UAEM Texcoco

Ingeniería en Computación

Contenido

1. Conceptos fundamentales de bases de datos2. Modelo de datos3. Metodología de diseño de base de datos4. Conceptos de diseño de aplicaciones de bases

de datos5. Diseño e implementación de bases de datos6. Administración y seguridad en bases de datos7. Tendencias actuales en bases de datos

Bibliografía Silverchatz, Korth, Sudarshan, “Fundamentos de

Base de Datos”, Mc Graw Hill, 2006. Catherine M. Ricardo, “Bases de Datos”, Mc

Graw Hill, 2009. Ramez Elmasri, Shamkant B. Navathe,

“Fundamentos de Sistemas de Bases de Datos”, 5th edición, Addison Wesley.

Carlos Coronel, Steven Morris, Peter Rob, “Bases de datos, diseño, implementación y administración”, Novena edición, Cengage Learning.

1. Conceptos fundamentales de bases de datos ¿Qué pasaría si alguien tratara de operar un

negocio sin saber quiénes son sus clientes, qué producto vende, quién trabaja para él, quién le debe y a quién le debe dinero?

Sistemas de información Su propósito es ayudar a los negocios a usar la

información como un recurso organizacional.

Un recurso organizacional es cualquier elemento o medio que, administrado correctamente, le permitirá a las organizaciones un rendimiento eficaz y eficiente.

Sistemas de información

Según el tipo de información y las características de un negocio, los datos pueden variar desde unos pocos megabytes hasta terabytes.

Almacenan datos sobre billones de llamadas telefónicas. Se agregan nuevos datos al sistema a una rapidez de

hasta 70000 llamadas por segundo.

Responde a más de 91 millones de búsquedas diarias en un conjunto de datos de varios terabytes de tamaño.

Sistemas de información Las bases de datos son estructuras

especializadas que permiten a sistemas computarizados guardar, manejar y recuperar datos con gran rapidez.

Una base de datos forma parte de un todo más grande conocido como sistema de información.

Sistemas de información Las aplicaciones transforman datos en la

información que es la base para la toma de decisiones.

Sistemas de información El diseño de un sistema de información depende

de tres factores: Diseño e implementación de una base de datos. Diseño e implementación de una aplicación. Procedimientos administrativos.

En este curso se estudiará el primero de los tres.

Datos La base de datos contiene datos acerca de las

operaciones de la organización (llamados datos operativos) que utilizan muchos departamentos.

Datos

Una organización depende de la disponibilidad de los datos operativos para administrar sus otros recursos (humanos, financieros, materiales).

Datos

Hechos brutos registrados en la base de datos . Pueden ser elementos acerca de personas,

lugares, eventos o conceptos.

Base de datos UNIVERSIDAD

Información Se deriva de los datos almacenados al

reordenar, seleccionar, combinar, resumir o realizar otras operaciones sobre los datos.

Información

Es el resultado de procesar los datos para dejar ver su significado.

Para revelar su significado, la información requiere un contexto.

Temperatura=105° ¿Esto está en grados Fahrenheit o Celsius? ¿Esta temperatura es de una máquina, de un

cuerpo o del aire a la intemperie?

Información Los datos constituyen el material de

construcción de la información. La información se produce al procesar datos. La información se usa para revelar el significado

de los datos. Una información precisa, relevante y oportuna

es la clave para una buena toma de decisiones. Una buena toma de decisiones es la clave de

una operación organizacional en un ambiente globalizado.

1. 2 Sistemas de archivosSistemas de archivos manuales Para tener éxito, una organización propone

sistemas para manejar las labores esenciales de negocios.

Estos sistemas eran manuales.

Sistemas de archivos computarizados

Elaborar informes a partir de sistemas manuales de archivos era lento y engorroso (molesto).

Un especialista en procesamiento de datos (DP) era contratado para crear un sistema computarizado que rastrearía datos y elaboraría los informes solicitados.

Sistemas de archivos computarizados Campo: Carácter o grupo de caracteres

(alfabéticos o numéricos) que tienen significado específico. Se usa un campo para definir y guardar datos.

CLIENTE

Sistemas de archivos computarizados Registro: Conjunto de uno o más campos

conectados lógicamente que describen una persona, lugar o cosa.

CLIENTE

Sistemas de archivos computarizados

Archivo: Conjunto de registros relacionados.

CLIENTE

Sistemas de archivos computarizados

Cuando los usuarios de negocios deseaban datos del archivo computarizado enviaban peticiones de datos al especialista en DP.

Por cada petición, el especialista en DP tenía que: Crear programas para recuperar los datos

desde el archivo. Manipular de algún modo lo que el usuario

había pedido. Presentar el informe impreso.

Sistemas de archivos computarizados

Al especialista en DP se le solicitó crear el archivo AGENTE. Los datos del archivo AGENTE se emplearon para escribir cheques, dar seguimiento a impuestos pagados y resumir la cobertura de seguros, entre otros trabajos.

Sistemas de archivos computarizados

Sistema sencillo de archivos

Cada uno de los archivos del sistema utilizó su propio programa de aplicación para guardar, recuperar y modificar datos. Cada archivo era propiedad de la persona o del departamento que encargó su creación.

Problemas con el procesamiento de datos del sistema de archivos Largos tiempos de desarrollo. Hasta la tarea

más sencilla de recuperación de datos requiere extensa programación.

Dificultad para obtener respuestas rápidas. La necesidad de escribir programas para obtener hasta los informes más sencillos hace imposibles las consultas ad hoc (en el momento).

Problemas con el procesamiento de datos del sistema de archivos Administración de un sistema complejo. La

administración de un sistema se hace más difícil a medida que se amplía el número de archivos.

Falta de seguridad y compartición limitada. Las funciones de seguridad y compartición de datos son difíciles de programar y, por tanto, se omiten en un ambiente del sistema de archivos.

Problemas con el procesamiento de datos del sistema de archivos

Programación extensa. Hacer cambios a una estructura de archivos existente puede ser difícil.

Cambiar sólo un campo en el archivo original CLIENTE requeriría un programa que:

Lea un registro del archivo original. Transforme los datos originales para apegarse a las

necesidades de almacenamiento de la nueva estructura. Escriba los datos transformados en una nueva estructura

del archivo. Repita los pasos 2 al 4 por cada registro del archivo

original.

Problemas con el procesamiento de datos del sistema de archivos

Cuando los programas de aplicación del sistema de archivos son afectados por el cambio en la estructura del archivo, presentan dependencia estructural.

Por el contrario, existe independencia estructural cuando es posible hacer cambios en la estructura de los archivos sin afectar la capacidad del programa para tener acceso a los datos.

Problemas con el procesamiento de datos del sistema de archivos Dependencia de datos. Hasta los cambios en

las características de los datos, como cambiar un campo de entero a decimal, requiere modificaciones en todos los programas que tienen acceso al archivo.

Por el contrario, existe independencia de datos cuando es posible hacer cambios en las características de almacenamiento de datos sin afectar la capacidad del programa de aplicación para tener acceso a los datos.

Problemas con el procesamiento de datos del sistema de archivos Cualquier programa que tenga acceso a un

archivo del sistema de archivos debe decir a la computadora no sólo qué hacer sino también cómo hacerlo.

Cada programa debe contener: Líneas que determinen la apertura de un tipo

específico de archivo. La particularidad de sus registros. Las definiciones de sus campos.

Problemas con el procesamiento de datos del sistema de archivos Redundancia de datos

Existe redundancia de datos cuando los mismos datos se guardan innecesariamente en diferentes lugares.

CLIENTE

Problemas con el procesamiento de datos del sistema de archivos La redundancia no controlada de datos prepara

el escenario para:

Deficiente seguridad de datos: Tener múltiples copias de datos aumenta las probabilidades de que una copia de éstos sea susceptible a un acceso no autorizado.

Inconsistencia de datos: Existe inconsistencia de datos cuando diferentes y conflictivas versiones de los mismos datos aparecen en lugares diferentes.

Problemas con el procesamiento de datos del sistema de archivos

Los datos que presentan inconsistencia se conocen como datos que carecen de integridad.

La integridad de datos se define como la condición en la que todos los datos almacenados estén libres de errores.

Problemas con el procesamiento de datos del sistema de archivos

La redundancia no controlada de datos prepara el escenario para:

Anomalías de datos: Se crean cuando no todos los cambios requeridos en los datos redundantes se hacen correctamente.

Anomalías de actualización. Actualizar datos en varios registros.

Anomalías de inserción. Crear registros ficticios.

Anomalías de eliminación. Es difícil eliminar datos sin perder datos requeridos.

1.3 Bases de datos¿Por qué bases de datos?

Las bases de datos y los sistemas de bases de datos son un componente esencial de la vida cotidiana de la sociedad moderna.

¿Qué es una base de datos? Estructura computarizada integrada y

compartida que guarda un conjunto de:

Datos del usuario final

Metadatos Nombre de cada elemento de datos. Tipo de valores (numérico, fechas o texto). Si es el elemento de datos puede ser nulo.

Sistema Gestor de Bases de Datos (SGBD o DBMS) Colección de programas que permite a los

usuarios crear y mantener una base de datos.

Sistema de software que facilita los procesos de definición, construcción, manipulación y compartición de bases de datos entre varios usuarios y aplicaciones.

Sistema Gestor de Bases de Datos (SGBD o DBMS) Definir una base de datos implica especificar

los tipos de datos, estructuras y restricciones que se almacenarán en la base de datos.

La definición descriptiva de una base de datos también se almacena esta última en forma de catalogo o diccionario de la base de datos (metadatos).

Sistema Gestor de Bases de Datos (SGBD o DBMS) La construcción de la base de datos es el

proceso consistente en almacenar los datos en algún medio de almacenamiento controlado por el DBMS.

Manipulación de la base de datos Consulta de la base de datos. Actualizar la base de datos. Generar informes a partir de los datos.

Sistema Gestor de Bases de Datos (SGBD o DBMS) Compartir una base de datos permite que

varios usuarios y programas accedan a la base de datos de forma simultánea.

Otras funciones importante ofrecidas por el DBMS son: La protección de la base de datos. Su mantenimiento durante un largo periodo de

tiempo.

Entorno de un sistema de bases de datos simplificado

Base de datos UNIVERSIDAD

Bases de datos

Encontrar los nombres y apellidos de los estudiantes inscritos en LIA1121.

El entorno de base de datos integrada

Roles en el entorno de base de datos

Bases de datos Administrador de Base de Datos (ABD

o DBA) Es el individuo responsable del diseño,

creación de la estructura y mantenimiento de la base de datos.

Ventajas del enfoque de base de datos integrada Compartición de datos

La base de datos pertenece a toda la organización.

Muchos usuarios pueden tener autorización para acceder a los mismos datos. La autorización para acceder a los datos la otorga el ABD, no otro departamento.

Ventajas del enfoque de base de datos integrada

Control de redundancia

Múltiples copias de los mismos datos no se almacenan a menos que sea necesario.

Se permite alguna redundancia limitada para mantener las conexiones lógicas entre los elementos de datos o para mejorar el rendimiento. Por ejemplo, en la base de datos universidad, la

ID del estudiante aparece tanto en la tabla ESTUDIANTE como en la tabla INFORME_CALIF.

Ventajas del enfoque de base de datos integrada Consistencia de datos

Un efecto de eliminar o controlar la redundancia es que los datos son consistentes.

Si un elemento de datos aparece sólo una vez, cualquier actualización a su valor necesita hacerse una sola vez, y todos los usuarios tendrán acceso al mismo nuevo valor.

Si el sistema tiene cierta redundancia controlada, cuando recibe una actualización que aparezca más de una vez puede realizar actualizaciones en cascada. (actualizar automáticamente cada ocurrencia de dicho elemento).

Ventajas del enfoque de base de datos integrada

Estándares de datos mejorados El ABD define y refuerza los estándares de toda la

organización para la representación de datos en la base de datos.

Incluyen reglas como: El formato de todos los elementos de datos. Convenciones acerca de nombres de datos. Estándares de documentación. Frecuencia y procedimientos de actualizaciones. Frecuencia y procedimientos de respaldos. Uso permitido de la base de datos.

Ventajas del enfoque de base de datos integrada

Mejor seguridad de datos

La seguridad de datos es la protección de la base de datos de acceso no autorizado por personas o programas que puedan hacer mal uso o dañar los datos.

Un sistema de base de datos permite la definición y fortalecimiento de restricciones de seguridad en varios niveles. Todo acceso autorizado a la base de datos es a través del

DBMS. Usar contraseñas para obtener acceso a la base de datos. El DBMS puede encriptar los datos antes de almacenarlos. Proporcionar vistas a los usuarios (solo una parte de la base de

datos). Bitácora (log) de seguridad.

Ventajas del enfoque de base de datos integrada

Integridad de datos mejorada

Algunos sistemas gestores de bases de datos permiten al ABD definir restricciones de integridad: reglas de consistencia que la base de datos debe obedecer.

Estas restricciones se aplican a elementos dentro de un registro o a registros que se relacionen mutuamente, o pueden ser restricciones generales del negocio.

Por ejemplo, en los registro de CURSO, puede haber una regla de que el número de estudiantes inscritos en un curso nunca supere algún máximo de inscripción permitido.

Ventajas del enfoque de base de datos integrada Desarrollo más rápido de nuevas aplicaciones Una base de datos bien diseñada proporciona un modelo

preciso de las operaciones de la organización.

Cuando se propone una nueva aplicación, es probable que los datos requeridos ya estén almacenados en la base de datos.

El tiempo de desarrollo se reduce porque no se necesita una fase de creación de archivos para la nueva aplicación, como ocurría cuando se usaban los sistemas de procesamiento de archivos.

Ventajas del enfoque de base de datos integrada Mejor accesibilidad de datos

Además de proporcionar datos para los programas, la mayoría de los sistemas gestores de bases de datos permiten el acceso interactivo a los usuarios.

Proporcionan lenguajes de consulta que permiten a los usuarios plantear preguntas en el momento (ad hoc) y obtener la información deseada.

Ventajas del enfoque de base de datos integrada Beneficios económicos

Cuando todos los requisitos de datos de la organización se satisfacen mediante una base de datos se tienen los siguientes beneficios:

La porción del presupuesto que de ordinario se asignaría a varios departamentos para sus costos de diseño, almacenamiento y costos de datos, se puede combinar, lo que posiblemente resulte en un costo total más bajo.

Los recursos combinados se pueden emplear en la mejora de la base de datos.

Cualquier mejora a la base de datos beneficia a muchos usuarios.

Ventajas del enfoque de base de datos integrada Más control sobre la concurrencia

Si a dos usuarios se les permite ingresar datos simultáneamente , y al menos uno de ellos actualiza datos, es probable que interfieran uno con el otro.

La mayoría de los sistemas gestores de bases de datos tienen subsistemas para controlar concurrencia, de modo que las transacciones no se pierdan o se desempeñen de manera incorrecta.

Ventajas del enfoque de base de datos integrada

Mejores procedimientos de respaldo y recuperación.

En un entorno de base de datos, los registros de la base de datos por lo general se respaldan (copian) de manera regular.

Para mantener seguro el respaldo, se usa una cinta u otro medio.

Conforme se realizan transacciones, cualquier actualización se registra en una bitácora (log) de cambios. Si el sistema fracasa, cinta y log se usan para llevar la base de datos al estado en que estaba justo antes de la falla. Por tanto, el sistema se auto recupera.

Desventajas del enfoque de base de datos integrada Alto costo de DBMS

Puesto que un sistema gestor de base de datos completo es una pieza de software muy grande y sofisticada, su compra es costosa.

Sin embargo, hay DBMSs gratuitos.

Desventajas del enfoque de base de datos integrada Costos de hardware más altos

Para correr el DBMS se requiere memoria adicional y potencia de procesamiento, lo que resulta en la necesidad de actualizar el hardware.

Desventajas del enfoque de base de datos integrada Costos de programación más altos

Puesto que el DBMS es una herramienta compleja con muchas características, los programadores de la organización necesitan un conocimiento extenso del sistema con la finalidad de usarlo con mayor ventaja.

La organización debe contratar programadores de base de datos experimentados o capacitar a su propio personal.

Desventajas del enfoque de base de datos integrada Altos costos de conversión

Cuando una organización convierte un nuevo sistema de base de datos, se tienen que remover datos de los archivos existentes y cargarlos en la base de datos.

Debido a los diferentes formatos usados en los archivos, éste puede ser un proceso difícil y que consume tiempo.

Desventajas del enfoque de base de datos integrada Vulnerabilidad

aumentada

Siempre que los recursos estén centralizados, existe un aumento en el riego de seguridad.

Dado que todas las aplicaciones dependen del sistema de base de datos, la falla de cualquier componente del sistema puede llevar a las operaciones a un estancamiento.

Desventajas del enfoque de base de datos integrada Recuperación más difícil

El proceso de recuperación después de una falla de la base de datos es complicado porque muchas transacciones podrían estar en progreso cuando falle el sistema.

Como parte de su recuperación, el sistema debe determinar cuáles transacciones se completaron y cuales estaban en proceso al momento de la falla.

Si la base de datos está dañada, se puede recuperar con la cinta de recuperación y el log.

Niveles de abstracción en bases de datos

Nivel Objetos Ejemplos

Mundo real que contiene minimundo

Empresa

Algunos aspectos de la empresa

Corporación, universidad, banco

Recursos humanosInscripción de estudianteClientes y cuentas

Minimundo o universo de discurso es la parte del mundo real que se representará en la base de datos.

Niveles de abstracción en bases de datos

Nivel Objetos Ejemplos

Modelo conceptual

Entidad

Atributo

Conjunto de entidad

Relación

Un estudiante, un nombre de clase

Nombre del estudiante

Todos los estudiantes de la universidad

Los estudiantes se relacionan con las clases al inscribirse a ellas.

Niveles de abstracción en bases de datos Entidad Se identifican como representaciones de personas,

lugares, eventos o conceptos acerca de los que se recopilan datos. Cliente Empleado Estudiante Cuenta bancaria Clase Paciente

Niveles de abstracción en bases de datos Atributo Características o propiedades para describir una

entidad y que la organización considera importante. Estudiante

idEstudiante apellidoPat apellidoMat Nombre Carrera Créditos

Niveles de abstracción en bases de datos Conjunto de entidad Las entidades similares se agrupan en conjuntos de

entidad. Para el conjunto de todos los clientes se forma el conjunto

de entidad que se puede llamar Clientes. Empleados Estudiantes Cuentas Clases Pacientes

Niveles de abstracción en bases de datos Algunas entidades puede tener relaciones o

asociaciones con otras entidades. Los estudiantes se relacionan con clases al inscribirse a

ellas. Los profesores se relacionan con clases al enseñarlas. Los estudiantes y los profesores pueden relacionarse

mediante la relación profesor-estudiante o mediante la relación tutor-estudiante.

Niveles de abstracción en bases de datos

Nivel Objetos Ejemplos

Modelo lógico

Metadatos: definiciones de datos almacenados en diccionario de datos

Tipo de registro

Elemento de datos

Tipo de registro EstudianteTipo de registro Curso

idEstudiante, numCurso

Niveles de abstracción en bases de datos

Nivel Objetos Ejemplos

Ocurrencias de datos almacenados en la base de datos

Ocurrencia de registro Estudiante

Ocurrencia de elemento de datos

Archivo

Registro del estudiante Luis Gutiérrez Cuevas

‘S1013’,’Gutiérrez’, ‘Cuevas’, ‘Luis’, ‘LIA’, 0

Archivo ESTUDIANTE con 5,000 registros

1.4 Arquitectura de tres niveles de las bases de datos Definida en 1971 por el Standards

Planning and Requirements Committee (SPARC) del American National Standard Institute (ANSI).

Las bases de datos se pueden ver en tres niveles de abstracción.

Su propósito es separar el modelo del usuario de la estructura física de la base de datos.

1.4 Arquitectura de tres niveles de las bases de datos Nivel externo: Es la forma en que los usuarios

ven los datos.

Nivel interno: Es la forma en que los datos se almacenan realmente.

Nivel lógico: Proporciona tanto el mapeo como la independencia deseada entre los niveles externo e interno.

Arquitectura de base de datos en tres niveles

1.4 Arquitectura de tres niveles de las bases de datos

Registro de empleado externo:

nombreEmpleado numEmpleado dept

Jaime López Sánchez E101 Mercadotecnia

Registro de empleado lógico:

empId apePat apeMat nombre dept sueldo

E101 López Sánchez Jaime 12 55000

Registro de empleado almacenado:

empId apePat apeMat nombre dept sueldo Puntero Puntero adelante atrás

E101bbbbbLópezbbbbSánchezbbbJaimebbbb12bbbbbb5500bbbbb10101bbbb10001

Registro físico:

Cabecera de bloque reg de E90 reg de E95 reg de E101 reg de E125

2. Modelo de datos Colección de conceptos que se pueden utilizar

para describir la estructura de la base de datos. Datos Relaciones

Uno a muchos (1:M o 1..*) Muchos a muchos (M:N o *..*) Uno a uno (1:1 o 1..1)

Restricciones Ayudan a asegurar la integridad de datos. Se expresan en forma de reglas. El promedio de un alumno debe tener valores que están

entre 0 y 10.

Modelo jerárquico

Modelo de red

Modelo relacional

Introducido en la década de 1970 por E. F. Codd (de IBM).

Representó un importante avance para usuarios y diseñadores.

Modelo entidad-relación Se presentó en 1976 por Peter Chen. Rápidamente se hizo popular debido a la

representación gráfica de entidades y sus relaciones.

Pintor pinta Cuadro1 M

Empleado HabilidadM N

aprende

Empleado Tienda1 1administr

a

Tanto los datos como sus relaciones están contenidos en una sola estructura conocida como objeto.

Los objetos también contienen todas las operaciones que se pueden realizar en el.

Modelo orientado a objetos

Nombre: string;NumEstudiante: integer;

Clase: char;Especialidad: string;

ESTUDIANTE

string obtenerNombre();string cambiarClase();

Orion OpenOODB de Texas Instruments.ODE de AT&T Bell LabsGemstoneObjectivityVersant

Modelo objeto-relacional

Es la base de datos dominante para aplicaciones de negocio. Su éxito podría atribuirse a: La sencillez conceptual del modelo Lenguaje de consulta fácil de usar Alto rendimiento de transacción Alta disponibilidad Seguridad Escalabilidad Facilidad de expansión.

PostgreSQLInformix Universal ServerOracle 8

El uso de objetos complejos recibió un impulso con la revolución de internet.

XML surge como el estándar para el eficiente y efectivo intercambio de datos estructurados, semiestructurados y no estructurados.

Las bases de datos XML administran datos no estructurados dentro de un formato XML nativo. Tamino de Software AG Dynamic Application Platform de eXcelon

Modelo XML

El modelo entidad-relación Está basado en una percepción del mundo real

consistente en objetos llamados entidades y de relaciones entre estos objetos.

Se desarrolló para facilitar el diseño de bases de datos .

Es independiente de cualquier DBMS particular.

El modelo entidad-relación

El modelo entidad-relación

El modelo entidad-relación

El conjunto de valores permitidos para cada atributo se llama dominio de dicho atributo.

El modelo entidad-relación Atributo requerido Es aquel que debe tener un valor, no puede dejarse

vacío. Por ejemplo, nombre, apellidoPat, apellidoMat.

Atributo opcional Es aquel que no requiere un valor. Puede tener

valores nulos. Por ejemplo, númeroTelefónico, correoElectrónico.

El modelo entidad-relación

Atributos de valores múltiples

Algunos atributos pueden tener valor múltiples para una instancia de entidad.

Ejemplo: Un estudiante puede tener más de una dirección de correo electrónico.

El modelo entidad-relación

Atributos compuestosSe descomponen en elementos más pequeños.

Atributos derivadosNo se almacenan y su valor se puede calcular cuando sea necesario.

El modelo entidad-relación

Ventajas y desventajas de guardar atributos derivados

ATRIBUTO DERIVADO

GUARDADO NO GUARDADO

Ventaja Ahorra ciclos de procesamiento de la CPU.El valor de los datos está fácilmente disponible.Puede usarse para rastrear datos históricos.

Ahorra espacio para almacenamiento.El cálculo siempre da el valor actual.

Desventaja Requiere constante mantenimiento para asegurar que el valor derivado sea actualizado, en especial si cambia cualquier valor usado en el cálculo.

Usa ciclos de procesamiento de la CPU.Aumenta tiempo de acceso a los datos.Agrega complejidad de códigos a consultas.

El modelo entidad-relación Claves

Una clave es un atributo que permite diferenciar los registros.

Superclaves Es un atributo o conjunto de atributos que identifican

de manera única una entidad. Ejemplo: {idEstudiante}.

Si se tiene una superclave, entonces cualquier conjunto de atributos que contenga dicha superclave también es una superclave, {idEstudiante, créditos} es una superclave.

El modelo entidad-relación

Claves candidatas Una clave candidata es aquella que no contiene

atributos adicionales.

Es una superclave tal que ningún subconjunto propio de sus atributos sea por sí mismo una superclave.{idEstudiante, créditos} no es una clave candidata.{idEstudiante} si es una clave candidata.{CURP} si es una clave candidata.{nombre, apellidoPat, apellidoMat} si es única, si es una

clave candidata.

Cuando una clave consiste en más de un atributo, se le llama clave compuesta.

El modelo entidad-relación Claves primarias

Un conjunto de entidades puede tener varias claves candidatas.

La clave primaria es la clave candidata “triunfadora”, aquella que es elegida por el diseñador de la base de datos.

La clave primaria puede estar formada por un solo atributo o puede ser una clave compuesta.

Ninguno de sus atributos puede tener valores nulos.

Las otras claves candidatas se convierten en claves alternativas.

El modelo entidad-relación Clave secundaria

Es un atributo o conjunto de atributos cuyos valores, no necesariamente únicos, se usan como un medio para acceder a los registros.

apellidoPaterno puede usarse como clave secundaria.

Por lo general, se crea un índice en un atributo de clave secundaria, lo que permite la rápida recuperación de registros con un valor particular del atributo indexado.

El modelo entidad-relación Relaciones

Una relación es una asociación entre entidades.

Las entidades que participan en una relación se conocen también como participantes.

Cada relación se identifica con un nombre que la describe.

El nombre de la relación es un verbo activo o pasivo; por ejemplo, un Estudiante se inscribe a un Curso, un Profesor imparte un Curso, un Departamento emplea a un Profesor, una Sucursal es administrada por un Empleado, un Avión es manejado por una Tripulación.

El modelo entidad-relación

Relaciones

Las relaciones entre entidades siempre operan en ambas direcciones.

Relación 1:M entre las entidades llamadas Cliente y Factura:

Un Cliente puede generar muchas Facturas. Cada Factura es generada por un Cliente.

Una clasificación de relación es difícil de establecer si se conoce sólo un lado de ésta.

Una Sucursal es administrada por un Empleado. No se sabe si es 1:1 o 1:M. ¿Puede un empleado administrar más de una sucursal?

R=Si, relación 1:M. R=No, relación 1:1.

El modelo entidad-relación Grado de relación

Indica el número de entidades o participantes asociados con una relación.

Relación unaria: existe cuando una asociación se mantiene dentro de una entidad individual.

Relación binaria: ocurre cuando dos entidades están asociadas.

Relación ternaria: es cuando se relacionan tres entidades.

El modelo entidad-relación

Atributos descriptivos Pertenecen a la relación en vez de alguna de las

entidades involucradas. El atributo calificación es un atributo descriptivo

para la relación Se inscribe a. El atributo calificación no describe la entidad

Estudiante, pues cada estudiante puede tener calificaciones para muchas clases, ni describe a la entidad Curso, pues en un curso particular se otorgan diferentes calificaciones para distintos estudiantes.

El modelo entidad-relación Cardinalidad de una relación

Dos tipos de restricciones sobre las relaciones son las restricciones en la participación y la cardinalidad.

La cardinalidad de una relación es el número de entidades a las que otra entidad se puede mapear bajo dicha relación.

Sean X y Y conjuntos de entidades y R una relación binaria de X a Y.

Si no hubiera restricciones de cardinalidad sobre R, cualquier número de entidades en X podría relacionarse con cualquier número de entidades en Y.

El modelo entidad-relación

Cardinalidad de una relación

Se distinguen cuatro tipos de relaciones binarias:

Uno a uno. Una relación R de X a Y es uno a uno si cada entidad en X se asocia con cuando mucho una entidad en Y, e, inversamente, cada entidad en Y se asocia cuando mucho a una entidad en X.

El modelo entidad-relación Cardinalidad de una relación

Uno a muchos: Una relación R de X a Y es uno a muchos si cada entidad en X se puede asociar con muchas entidades en Y, pero cada entidad en Y se asocia con cuando mucho una entidad en X.

El modelo entidad-relación

Cardinalidad de una relación

Muchos a uno: Una relación R de X a Y es muchos a uno si cada entidad en X se asocia con muchas entidades en Y, pero cada entidad en Y se puede asociar con muchas entidades en X.

El modelo entidad-relación

Cardinalidad de una relación

Muchos a muchos. Una relación R de X a Y es muchos a muchos si cada entidad en X se puede asociar con muchas entidades en Y y cada entidad en Y se puede asociar con muchas entidades en X.

El modelo entidad-relación Cardinalidad de una relación Relación ternaria Un doctor escribe una o más recetas. Un paciente puede recibir una o más recetas. Una medicina puede aparecer en una o más recetas.

El modelo entidad-relación

Restricciones de participación

Si todo miembro de un conjunto de entidades debe participar en una relación, a esto se le conoce como participación total del conjunto de entidades en la relación.

Esto se denota al dibujar una línea doble desde el rectángulo de entidades hasta el diamante de relación.

Una línea sencilla indica que algunos miembros del conjunto de entidades no deben participar en la relación, una situación llamada participación parcial.

El modelo entidad-relación

Restricciones de participación Algunos estudiantes pueden no estar inscritos en

ninguna curso. Algunas clases pueden no tener estudiantes inscritos. Algunos profesores pueden no impartir ningún curso. Todo curso debe tener un profesor para impartirla.

El modelo entidad-relación Dependencia de existencia

Si X y Y son entidades y cada instancia de Y debe tener una instancia correspondiente de X, entonces se dice que Y es dependiente de la existencia de X.

Una entidad Y no puede existir sin alguna entidad X.

Una entidad es dependiente de existencia si no puede existir sin la entidad con la que tiene relación.

El modelo entidad-relación Dependencia de

existencia Profesor es la entidad fuerte. Evaluación es la entidad débil. La entidad débil es

dependiente de existencia de la entidad fuerte.

La clave primaria de la entidad débil se deriva total o parcialmente de la entidad fuerte.

Las entidades débiles pueden tener una clave parcial.

El modelo entidad-relación

El modelo relacional Se ha establecido actualmente como el principal

modelo de datos para las aplicaciones de procesamiento de datos.

Ha conseguido la posición principal debido a su simplicidad, que facilita el trabajo del programador en comparación con otros modelos anteriores como el de red y el jerárquico.

El modelo relacional

El modelo relacional Atributos Un atributo es una característica de los datos. Una característica de los datos del mundo real,

modelados en la base de datos, se representa por un atributo.

Un atributo debe tener un nombre. Para una persona los atributos pueden ser:

nombre, fechaNac.

El modelo relacional

Tipo Productor

Modelo AñoDeFabricación

Color Combustible

Compacto VW E-up! 2013 Blanco Eléctrico

Deportivo Ford Focus ST 2012 Rojo Gasolina

Convertible Toyota FT-86 2013 Blanco Gasolina

Pick up General Motors

Chevrolet Silverado

2014 Vino Gasolina

Van Nissan NV200 2013 Gris Gasolina

Relación: Carros

Atributo

Tupla Valor

Encabezado

Cuerpo

El modelo relacional Dominios

Para cada atributo hay un conjunto de valores permitidos, llamado dominio de ese atributo.

VW, Ford, Toyota, General Motors y Nissan son valores para el atributo Productor.

El dominio de Productor es el conjunto de todos los nombres de productores de carros posibles.

Es posible que varios atributos tengan el mismo dominio, por ejemplo: nombreCliente y nombreEmpleado, tienen el mismo dominio, el conjunto de todos los nombres de personas.

El modelo relacional Tuplas Una tupla es un conjunto ordenado de valores que

describen las características de los datos en un momento de tiempo.

El modelo relacional Una relación sobre los dominios D1, D2, …, Dn (no

necesariamente distintos) consiste de un encabezado y un cuerpo.

El encabezado consiste de un conjunto fijo de atributos A1, A2, …, An, tal que cada atributo Ai corresponde a exactamente un dominio Di (i=1, 2, …, n).

El cuerpo consiste de un conjunto de tuplas que cambia con el tiempo, donde cada tupla consiste de un conjunto de pares atributo-valor (Ai:vi) (i=1, 2, …, n), un par para cada atributo Ai en el encabezado. Para cada par atributo-valor dado vi es un valor del dominio Di que se asocia con el atributo Ai.

El modelo relacional El grado de la relación es el número de

atributos de la relación.

La relación Carros tiene un grado de 6.

Una relación de grado uno es llamada unaria, de grado dos binaria, de grado tres ternaria, y así sucesivamente.

Una relación de grado n es llamada n-aria.

El modelo relacional La cardinalidad de la relación es equivalente al

número de tuplas de esa relación.

La relación Carros tiene una cardinalidad igual a 5.

La cardinalidad de una relación cambia con el tiempo, mientras que el grado casi no cambia.

El modelo relacional Propiedades de las relaciones:

No hay tuplas duplicadas en una relación.

Las tuplas no están ordenadas.

Los atributos no están ordenados.

Todos los valores de atributos son atómicos (no se pueden dividir en subpartes).

El modelo relacional El esquema de la base de datos es el diseño

lógico de la misma.

El ejemplar o instancia de la base de datos es una instantánea de los datos de la misma en un momento dado.

Esquema-Carros denota el esquema de la relación Carros:Esquema-Carros=(Tipo, Productor, Modelo, AñoDeFabricación, Color, Combustible).

El modelo relacional Claves

El modelo de datos relacional usa claves para definir identificadores para las tuplas de una relación.

Las claves se usan para hacer cumplir las reglas y/o restricciones de los datos de la base de datos.

Estas restricciones son esenciales para mantener la consistencia de los datos.

El modelo relacional

Una clave candidata es un identificador único para las tuplas de una relación.

Suponiendo que R es una relación con los atributos A1, A2, …, An. El conjunto de k=(Ai, Aj, …, Ak) de R se dice que es una clave candidata de R si satisface dos condiciones: Unicidad

En cualquier momento dado, dos tuplas distintas de R no tienen el mismo valor para Ai, el mismo valor para Aj … y el mismo valor para Ak.

Minimalidad Ninguno atributo Ai, Aj, …, Ak puede descartarse de k

sin destruir la propiedad de unicidad.

El modelo relacional Cada relación tiene al menos una clave

candidata, porque al menos la combinación de todos sus atributos tiene la propiedad de unicidad.

Usualmente existe otra clave candidata formada por menos atributos de la relación.

Tipo Productor

Modelo AñoDeFabricación

Color Combustible

Compacto VW E-up! 2013 Blanco Eléctrico

Deportivo Ford Focus ST 2012 Rojo Gasolina

Convertible Toyota FT-86 2013 Blanco Gasolina

Pick up General Motors

Chevrolet Silverado

2014 Vino Gasolina

Van Nissan NV200 2013 Gris Gasolina

El modelo relacional

Tipo Productor

Modelo AñoDeFabricación

Color Combustible

NúmeroDeSerie

NúmeroDeIdent

Compacto VW E-up! 2013 Blanco Eléctrico WBADL9105GW65796

SB24MEA

Deportivo Ford Focus ST 2012 Rojo Gasolina QASMD8209NF37590

AB08DGF

Convertible Toyota FT-86 2013 Blanco Gasolina XEFAR2096WM19875

SB06GHX

Pick up General Motors

Chevrolet Silverado

2014 Vino Gasolina AKLMD8064MW79580

SB52MAG

Van Nissan NV200 2013 Gris Gasolina QMXAS4390WQ21998

AB02AMR

Claves candidatas

El modelo relacional Clave primaria

Es la clave candidata elegida para identificar cada tupla de la relación.

Para la relación Carros, la clave primaria será NúmeroDeIdent. Los valores para este atributo deben ser únicos y no nulos para todas las tuplas de la relación.

Hay situaciones cuando las características de los datos del mundo real, modelados por esa relación, no tienen valores únicos. Por ejemplo, la primera relación Carros sufre de este problema. En ese caso, la clave primaria debe ser la combinación de todos los atributos de la relación.

El modelo relacional

Como dicha clave primaria no es conveniente por razones prácticas, debido a que requerirá mucho espacio físico para almacenamiento, y sería muy difícil mantener las asociaciones entre las relaciones.

En tales casos, la solución es agregar otro atributo, como ID, que tendrá valores únicos y se utilizará como clave primaria.

A este atributo se le llama clave sustituta.

Las claves sustitutas usualmente tienen valores numéricos únicos. Estos valores se van aumentando o disminuyendo de uno en uno.

El modelo relacional

Claves foráneas: Una clave foránea es un atributo (o combinación de

atributos) en una relación R2 cuyos valores se requiere que correspondan a los de la clave primaria de alguna relación R1.

ID Nombre Ciudad Calle Número

Teléfono NúmeroDeIdent

1 Juan Texcoco Chalco 33 55231215 SB24MEA

2 María D.F. Pisagua 1226 55278717 AB08DGF

3 Ana Orizaba Oriente 9

234 72345567 SB06GHX

4 Guillermo Córdoba Centro 342 71234567 SB52MAG

5 Pedro Texcoco Breso 23 55234578 AB02AMR

Clave primaria

Clave foráneaRelación Propietario

El modelo relacional Restricciones del modelo de datos relacional

En un modelo de datos relacional, la integridad de los datos puede lograrse usando reglas o restricciones de integridad.

Estas reglas son generales, especificadas en el nivel del esquema de la base de datos y deben respetarse por cada tupla de la base de datos.

Si un usuario intenta ejecutar una operación que viole la restricción, entonces el sistema debe rechazar la operación o ejecutar alguna acción en alguna otra parte de la base de datos.

El modelo relacional Restricción de integridad de entidad Esta dice que ningún atributo que participe en la

clave primaria de una relación puede aceptar valores nulos.

Restricción de integridad referencial Esta dice que si en una relación existe una clave

foránea, entonces el valor de la clave foránea debe coincidir con el valor de la clave primaria de alguna tupla en la relación base , o el valor de la clave foránea debe ser nulo.