Introducción a
las bases de
datos
relacionales
(2010/2011)
Luis Valencia Cabrera
(http://www.cs.us.es/~lvalencia)
Ciencias de la Computacion e IA
(http://www.cs.us.es/)
Universidad de Sevilla
Índice
Sistemas de Gestión de Bases de Datos
El modelo Entidad – Relación
El modelo relacional
Práctica con un SGBD: Access 2007
Sistemas de Gestión
de Bases de Datos Definiciones y conceptos básicos
Datos e información
¿Cuál es el problema a resolver?
Disponer de sistemas que permitan el
almacenamiento de datos (valores
correspondientes a hechos, entidades, atributos
o sucesos reales o imaginarios) que
proporcionen información sobre un
dominio determinado (dota de significado a
los datos).
Sistemas de información.
Sistemas basados en archivos
Los sistemas de información recopilan datos estructurados para representar una determinada realidad. Existen desde siempre.
Los primeros sistemas de información informatizados estaban basados en archivos, pero tenía importantes carencias: Separación de los datos.
Redundancia y dificultad de mantenimiento.
Rigidez en el acceso a los datos.
Dependencia con los programas.
Problemas de confidencialidad y seguridad.
Base de Datos Una Base de Datos (BD) es un conjunto de
datos que modelan hechos y objetos de una parcela de la realidad y sirven de soporte a una aplicación informática.
Dichos datos deben estar almacenados físicamente en forma de ficheros informáticos y deben estar relacionados entre sí mediante una determinada estructura lógica.
Una propiedad esencial que debe cumplir es la independencia de datos (separación entre los datos y las aplicaciones informáticas que los manejan).
Sistema de Gestión
de Bases de Datos Un Sistema de gestión de Bases de Datos (SGBD) es
una aplicación informática que permite a los usuarios definir, crear, mantener y consultar una base de datos; así como proporciona acceso controlado a la misma.
Ejemplos de SGBD: Oracle y MySQL (Oracle Corporation), SQLServer y Access (Microsoft) DB2 (IBM) PostgreSQL (PostgreSQL Global Development Group) dBaseIV y Paradox (Borland) BASE (OpenOffice.org).
Ventajas de los SGBD (A) Ventajas por la independencia de datos
Control sobre la redundancia de datos: una sola copia.
Coherencia de datos: eliminando las redundancias de almacenamiento.
Datos compartidos: la BD pertenece a la empresa, compartida por usuarios autorizados.
Mayor eficacia en la recogida, validación y entrada de datos.
Facilidad para mantener los estándares establecidos.
(B) Ventajas por una interfaz común Seguridad: distintas claves para el personal autorizado y sus
operaciones (administrador de la BD, usuario final,...).
Accesibilidad de datos: incorporan lenguajes estándares de consulta (el usuario realiza consultas sin necesidad de acudir al programador).
Mantenimiento de la aplicación: los SGBD separan la descripción de los datos y las aplicaciones, lo que facilita el mantenimiento y las futuras modificaciones de las aplicaciones.
Sistemas de Gestión
de Bases de Datos Algunas ideas sobre bases de datos relacionales
Ideas sobre BD relacionales (0)
Existen muchos tipos de BD según su modelo de datos:
BBDD Jerárquicas
BBDD en red
BBDD orientadas a objetos
BBDD relacionales (son las más extendidas)
Ideas sobre BD relacionales(I)
Informalmente, una BD relacional es un conjunto de tablas que almacenan datos relacionadas entre sí.
Las tablas se organizan en registros y campos.
Ejemplo: tabla Alumnos, con 3 registros compuestos por 5 campos.
Ideas sobre BD relacionales(II)
La tabla que se muestra se denomina plana, ya que no presenta relaciones sino que almacena todos los datos del alumno repetidos.
Problema: presenta duplicados, datos repetidos.
Solución: disponer de tablas relacionales, con datos organizados en distintas tablas con campos con contenido común.
Ideas sobre BD relacionales(III)
Tablas relacionales:
Alumnos
Matriculaciones
Bibliografía
Apuntes de Ficheros y Bases de Datos,
Mercedes Marqués, Universidad Jaume I
en Castellón (2001): http://www.uji.es/bin/publ/edicions/bdatos.pdf
Asignatura de Base de Datos: http://www.cs.us.es/cursos/bd/
Diseño conceptual de Bases
de Datos. El modelo
Entidad-Relación Introducción al diseño de BD
Introducción al diseño de BD (I) El diseño de una BD consta de tres fases: Diseño conceptual:
Parte de una especificación de requisitos (info. para la BD y prestaciones a ofrecer).
Obtiene un esquema/modelo conceptual, (en lenguaje natural o gráfico) de la BD, indep. de modelo de datos y SGBD.
Diseño lógico: Parte del esquema conceptual
Obtiene un esquema/modelo lógico con el modelo de datos elegido, indep. Del SGBD.
Diseño físico: Se parte del esquema lógico
Se obtiene el esquema físico para un SGBD.
Vamos a ver brevemente:
Modelo conceptual:
modelo Entidad–Relación
Modelo lógico:
modelo de datos relacional
Se verán más extensamente en la
asignatura de Base de datos de 3º curso.
Introducción al diseño de BD (II)
Diseño conceptual de Bases
de Datos. El modelo
Entidad-Relación Introducción al modelo Entidad-Relación
Introducción al modelo
Entidad–Relación
El modelo Entidad–Relación (ER)
(diagrama ERD) es el modelo más
utilizado para el diseño conceptual de
BD.
Formado por conceptos (entidad,
atributo, relación) que describen info.
mediante representaciones gráficas.
Entidad Entidad: cualquier objeto concreto o abstracto
del que se desea almacenar información.
Puede ser una persona, un lugar, un objeto, un concepto, un suceso, ...
Cada entidad tiene asociado un NOMBRE (usualmente, un sustantivo común singular).
Por ejemplo, para el caso de un taller mecánico: CLIENTE, MECÁNICO, VEHÍCULO…
Representación: rectángulo.
Relación Relación: correspondencia o asociación entre dos o más
entidades. Cada relación tiene asociado un NOMBRE (usualmente, un
verbo en singular). Ejemplos: La relación ESCRIBE asocia la entidad AUTOR y la entidad
LIBRO.
La relación MATRÍCULA asocia la entidad ALUMNO y la entidad ASIGNATURA.
Representación gráfica: un rombo.
Más conceptos… Grado de una relación: nº entidades que
intervienen.
Cardinalidad: (0, 1), (1, 1), (0, n), (1, n).
Atributos: conteniendo atributo y dominio/tipo.
Tipos de entidades: Fuertes
Débiles: Existencia Identificación (discriminador)
Claves: únicas, primarias, candidatas.
Jerarquías: generalización, parcial o total, exclusiva o solapada.
Diseño lógico de bases de
datos. El Modelo Relacional Introducción al Modelo Relacional
Introducción al
Modelo Relacional Es el modelo lógico más extendido.
Los datos se estructuran lógicamente en forma de relaciones («tablas»).
Intuitivamente, una BD relacional es un conjunto de tablas bidimensionales enlazadas entre sí.
Conceptos fundamentales: Relación: tabla bidimensional
Registro o tupla: fila de la tabla
Campo: columna de la tabla
Tabla ESCRITOR (2 registros de 4 campos) Las tablas se enlazan entre sí mediante campos con
contenido común.
Relación Definición:
Una relación de grado m consta de dos partes: Cabecera: conjunto fijo de m campos. Cada campo está definido por su Nombre y su Dominio (que
indica el tipo de valores que contendrá dicho campo).
{(Nombre1 : Dominio1),…,(Nombrem : Dominiom)}
Cuerpo: conjunto variable de registros (también denominados tuplas). Un registro es un conjunto de m valores: {(Nombre1 : Valor1),…,( Nombrem : Valorm)}
.
.
.
{(Nombre1 : Valor1),…,( Nombrem : Valorm)}
Ejemplo
La cabecera de la relación Escritor es:
{(DNI:Numérico), (Nombre:Texto), (Dirección:Texto), (Fecha:Fecha/Hora)}
El cuerpo de la relación Escritor está formado por 2 registros: (-) {(DNI:56123009),(Nombre:\Luis Rus"), (Dirección:\Feria,2"),
(Fecha:5/5/1961)} (-) {(Fecha:9/5/1960), (DNI:44345789), (Dirección:\Sol,17"),
(Nombre:\Ana Pérez")}
Consideraciones Cada relación tiene asociada una cabecera formada por
un número fijo de campos. Notación: Nombre1.Nombre2 denota el campo Nombre2 de la
cabecera de la relación Nombre1.
Dos campos pertenecientes a la cabecera de la misma relación no pueden tener el mismo nombre.
Campos de relaciones distintas pueden tener el mismo nombre: (-) Escritor.DNI denota el campo DNI de la relación Escritor.
(-) Cliente.DNI denota el campo DNI de la relación Cliente.
El orden no importa No se admiten duplicados No se admiten datos multivaluados
Ejemplo
En el modelo Relacional, las dos relaciones
anteriores son idénticas. Sólo difieren en el
orden de los campos y los registros.
Ejemplo
La relación anterior NO es válida en el modelo relacional:
posee campos multivaluados,
posee registros repetidos.
Propiedades de los campos Deben poseer un Nombre (relacionado con los
datos que contendrá) y Tipo (Texto, Numérico, Fecha/hora, Sí/No, Autonumérico, Memo, Moneda, Objeto OLE).
(A) Descripción gráfica:
(B) Descripción completa: {(NIF: Texto(9),NOT NULL), (Nombre: Texto(50),NOT
NULL, Descripción=\Nombre y apellidos del cliente"), (Fecha: Fecha, Descripción= \Fecha de nacimiento del cliente"), (Nacionalidad: Texto(20), Predeterminado=\Española"), (Dirección: Texto)}
Claves primarias
Claves ajenas
Ejemplo
Valores nulos
Bibliografía
Para más detalle consultar:
http://www.cs.us.es/cursos/bd-2009/tema3.pdf