INTRODUCCIÓN A LAS BASES DE DATOS
Desde que el ser humano ha tenido la necesidad de manejar o consultar información las bases de datos han sido útiles, analicemos un tiempo atrás, las escuelas anteriormente no contaban con computadoras en el área de control escolar, sin embargo el personal que laboraba ahí podía realizar su trabajo sin mayor problema utilizando los archivos de cada alumno, aunque era más tardado localizar a un alumno, generar certificados, hacer constancias, entre otros; finalmente el uso de las bases de datos (archivos) permitían realizar los procesos solicitados.
El uso de sistemas de bases de datos automatizadas, se desarrolló a partir de la necesidad de almacenar grandes cantidades de datos, para su posterior consulta, producidas por las nuevas industrias que generaban gran cantidad de información.
A continuación se definen algunos conceptos básicos:
• Base de datos es un conjunto de datos almacenados y organizados bajo una estructura definida.
• Base de datos relacional los datos se organizan en tablas. Cada tabla tiene una o más columnas y filas.
• Tablas almacenan información sobre un tema como pueden ser los alumnos de una escuela, o las calificaciones de cada uno de ellos; las tablas se relacionan de forma que a partir de los datos de la tabla de alumnos podamos obtener información sobre las calificaciones de éstos.
• Campos guardan una parte de la información sobre cada elemento que queramos guardar.
• Registro se refiere a cada fila de la tabla.
Decimos que hay redundancia de datos cuando la misma información es almacenada varias veces en la misma base de datos. Por ejemplo, en una BD podríamos tener almacenados datos de los empleados: apellido, nombre, domicilio, departamento, salario, etc., y también datos de inscripciones para cursos de capacitación. Supóngase que para llevar a cabo la administración de los cursos es preciso conocer el departamento de cada empleado inscrito. Es evidente que no hace falta reingresar esta información a la BD como dato de inscripción,
dado que siempre podrá obtenerse mediante una consulta a los datos del empleado. Esto siempre se debe evitar, la redundancia dificulta la tarea de modificar los datos, y es el motivo más frecuente de inconsistencia de datos.
Inconsistencia es un estado en el que dos o más datos repetidos en una BD contienen diferentes valores. Generalmente el problema surge al modificar información redundante y si sólo la cambiamos en alguno de los lugares en que se guardan. Por lo tanto no puede haber inconsistencia si no existe antes redundancia de los datos. Del ejemplo anterior, si se almacenara nuevamente el dato del departamento del empleado, correríamos el riesgo de que ante un cambio de departamento del empleado, se actualizara solamente esta situación en los datos del empleado y no en los de las inscripciones. Además requiere un mayor espacio de almacenamiento, que influye un mayor costo tiempo de acceso a los datos, esto provoca un problema de inconsistencia. Con este problema las consultas que hagamos más tarde podrán dar como resultado respuestas inconsistentes (es decir, diferentes). Puede darse el caso de que dos aplicaciones diferentes proporcionen resultados distintos para el mismo dato.
La integridad se refiere a que se deben especificar restricciones en el tipo de dato que contiene la información a almacenar. Con respecto a la seguridad se entiende como la autorización o privilegios que tiene cada uno de los usuarios para manipular la base de datos.
Sistema manejador de Base de Datos
Los sistemas de manejo de Bases de Datos, también conocidos como Sistemas Gestores de Bases de Datos (SGDB), sirven para realizar una serie de operaciones con los datos almacenados en una base de datos, tales como creación, modificación, eliminación y consultas, permitiendo así, manipular la base de datos.
Un SGDB se puede definir como: "El Conjunto de programas, procedimientos, lenguajes, etc. que suministra, tanto a los usuarios no informáticos como a los analistas, programadores o al administrador, los medios necesarios para describir, recuperar y manipular los datos
almacenados en la base, manteniendo su integridad, confidencialidad y seguridad". En otras palabras un SGDB es el software que va a manipular, controlar, almacenar, entre otras operaciones a los datos contenidos en una base de datos.
Arquitectura de los sistemas de bases de datos
En 1975, el comité ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los SGBD cuyo objetivo principal era el de separar los programas de aplicación de la BD física. En esta arquitectura el esquema de una BD se define en tres niveles de abstracción distintos:
Ilustración 1: Arquitectura de los sistemas de bases de datos
- Nivel interno o físico: el más cercano al almacenamiento físico. Representa la estructura física de la BD mediante un esquema interno. Este esquema se especifica con un modelo físico y describe los detalles de cómo se almacenan físicamente los datos: los archivos que
14
contienen la información, su organización, los métodos de acceso a los registros, los tipos de registros, la longitud, los campos que los componen.
- Nivel externo o de visión: es el más cercano a los usuarios, es decir, es donde se describen varios esquemas externos o vistas de usuarios. Cada esquema representa la parte de la BD que interesa a un grupo de usuarios en este nivel se representa la visión individual de un usuario o de un grupo de usuarios.
- Nivel conceptual: se refiere a la estructura de toda la BD para un grupo de usuarios mediante un esquema conceptual. Este esquema describe las entidades, atributos, relaciones, operaciones de los usuarios y restricciones, ocultando los detalles de las estructuras físicas de almacenamiento. Representa la información contenida en la BD.
Usuarios de la base de datos
• Usuario Final: es la persona que utiliza los datos almacenados en la BD, esta persona ve datos convertidos en información.
• Desarrollador de Aplicaciones: es la persona que desarrolla los sistemas que interactúan con la BD.
• Administrador de la base de datos (DBA): es la persona que asegura integridad, consistencia, redundancia y seguridad de la BD, también se encarga de realizar el mantenimiento diario o periódico de los datos.
14
I. Dada la estructura de la BD mostrada a continuación, utilice el procesador de palabras para responder las preguntas que se plantean.
Clave del producto Distribuidor del producto Teléfono del distribuidor
Dirección de distribuidor Precio del
producto
AB01 Berol 56765432 Ote 245 No. 192, El
Rosario, Miguel Hidalgo
56
AC02 Crayola 98432198 Fresno No. 234, Lomas de
Sotelo, Tlalpan
98
AB02 Berol 56765432 Ote 245 No. 192, El
Rosario, Miguel Hidalgo
125
AG18 Vinci 23134560 Av. Del taller No. 28,
Jardín Balbuena,
Venustiano Carranza
65
BA00 Zebra 65879038 Madero No. 98, Centro,
Miguel Hidalgo
232
AC06 Crayola 98432198 Fresno No. 234, Lomas de
Sotelo, Tlalpan
239
AB09 Berol 56765432 Ote 245 No. 192, El
Rosario, Miguel Hidalgo
176
Figura 1
a) ¿Cuántos registros contiene el archivo de la figura 1 y cuantos campos hay? b) ¿Qué problema encontraría si deseara generar una lista por delegación?
c) ¿Qué redundancia de datos detectó en la BD y explique cómo estás podrían conducir a anomalías?
d) ¿Cuál debiera ser el diseño para eliminar la redundancia?
II. A partir del análisis de la siguiente base de datos, responda lo que se le solicite.
Nombre Escuela Ubicación de la
escuela Carrera Institución
Roberto Osorio
Rosas
ESIME CULHUACAN
Av. Santa Ana # 1000. Ing. en computación IPN Janeth Rodríguez Cerqueda ESIME CULHUACAN
Av. Santa Ana # 1000.
Ing. en computación
IPN
Iván Flores Vázquez ESIME
CULHUACAN
Av. Santa Ana # 1000.
Ing. en computación
IPN
Arlet Ortiz Cisneros AZCAPOTCALCO Refinería #105 Lic. en Derecho UAM
Humberto Juárez
Sandoval
AZCAPOTCALCO Refinería #105 Lic. en Derecho UAM
Roberto Osorio
Rosas
ESIME CULHUACAN
Av. Santa Ana # 1000. Ing. en computación IPN … 1, 000 registros
a) ¿Cuál es el problema que se presenta en la base de datos anterior? b) ¿En qué campos se presenta la redundancia de datos?
c) ¿En qué momento se pudiera presentar la inconsistencia de datos?
d) ¿De qué forma se resolvería los problemas de redundancia e inconsistencia?
Modelo de Entidad – Relación (MER)
El modelo entidad relación (MER) proporciona una herramienta para representar información del mundo real a nivel conceptual. Creado en 1976 por Peter Chen, permite describir las entidades involucradas en una base de datos, así como las relaciones y restricciones de ellas.
Un conjunto de datos describe a un objeto de la vida cotidiana, el cual recibe por nombre ENTIDAD, dichos datos llamados ATRIBUTOS pueden ser útil para relacionar una entidad con otra cuando tienen atributos en común, a través de un atributo clave que tiene como característica ser un valor único de cada entidad .
Por ejemplo
Entidad
AtributosValores
Entidades
Una entidad es un elemento con existencia independiente de otros elementos.
Física: un automóvil, una casa, una persona, un empleado.
Conceptual: un trabajo, un curso, un préstamo.
Atributos
Toda entidad tiene propiedades particulares, denominadas atributos.
Ejemplo:
Empleado = (nombre, sexo, dirección, salario, fechaNac) Cuenta = (numCuenta, balance)
Automóvil = (marca, modelo, color, placas) Relaciones
Una relación (relationship) es una asociación entre entidades. Estas relaciones entre entidades se dan cuando cada atributo clave aparece sólo una vez en cada una de las entidades.
En la siguiente tabla se presenta la simbología que se utilizan en los diagramas del Modelo de Entidad - Relación.
Concepto
Símbolo
Entidad Entidad Atributo Relación Atributo Atributo Clave 1:1Por ejemplo el siguiente diagrama representa la entidad Automóvil y sus tributos
Nombres apropiados para los elementos del MER
En los diagramas MER se recomienda elegir nombres que comuniquen el contenido del objeto. Para las entidades y los vínculos se utiliza el nombre en singular y con mayúscula, mientras que el nombre de los atributos comienza con mayúscula únicamente.
En la práctica general, cuando se tiene una descripción narrativa de los requerimientos de la base de datos, los sustantivos que aparezcan en la narración tienden a originar los nombres de las entidades, los verbos indican los nombres de los tipos de vínculos o relaciones los nombres de los atributos generalmente surgen de los sustantivos adicionales que describen a los sustantivos de las entidades.
Tipos de Relaciones
Relación uno a uno (1:1): Las entidades que intervienen en la relación se asocian una a una. Por ejemplo. La entidad Automóvil, la entidad Tarjeta de circulación y entre ellos la relación Registro, es decir, a un automóvil sólo le pertenece una sola tarjeta de circulación.
Relación uno a varios (1:N): Es el tipo de relación más común. En este tipo de relación, un atributo de la Entidad A puede tener muchos atributos coincidentes en la Entidad B, pero un atributo de la Entidad B sólo tiene un atributo coincidente en la Entidad A. Por ejemplo. La entidad Proveedor, la entidad Producto y entre ellos la relación Suministra, es decir, un proveedor puede suministrar más de un producto pero cada producto tiene un único proveedor.
Relación varios a varios (M:N): En una relación varios a varios, un registro de la Entidad A puede tener muchos registros coincidentes en la Entidad B, y viceversa. Este tipo de relación sólo es posible si se define una tercera Entidad (denominada Entidad de unión) cuyo atributo clave consta de dos atributos: el atributo. Por ejemplo, la entidad Pedidos y la entidad Productos tienen una relación de varios a varios que se define mediante la creación de dos relaciones de uno a varios con la entidad Detalles de pedidos, es decir, un pedido puede incluir muchos productos, y cada producto puede aparecer en muchos pedidos.
AUTOMÓVIL Placa
Marca
Color Modelo
18
TARJETA
Fecha dealtaNúmero
Propietario
PerteneceAUTO
Color Modelo Placa1
1
PERSONA Edad Nombre RFC Tiene A UTO Modelo Color Placa1
M
11
Modelo de datos relacional
Este modelo considera a la base de datos como un conjunto de relaciones, donde cada relación equivale a una tabla. Si se visualiza una relación o entidad como una tabla de valores, cada fila de la tabla una representa una colección de valores de datos relacionados entre sí.
En la terminología del modelo relacional, una fila o renglón se le denomina tupla, una cabecera de columna un atributo y la tabla es un relación. A continuación se presenta una tabla o relación llamada PROFESOR Nombre de la r elación Atributos PROFESOR
Matrícula Nombre Dirección Teléfono
2000308 Ignacio Romero Av. De las flores No. 35 55-78-65-23 2010893 Roberto Flores Av. San Lorenzo No. 12223-87-43-12
2000754 Bertha Villa Sur 113 B No. 2425 45-13-87-56 Tuplas 2010927 Fabián Serrano Cafetales No. 875 98-65-34-00
2011762 Marcela Luna Miramontes No. 524 58-64-53-40