Introducción a Luis Valencia Cabrera las bases de lvalencia@us · Introducción al diseño de BD...

Post on 22-Sep-2020

8 views 0 download

Transcript of Introducción a Luis Valencia Cabrera las bases de lvalencia@us · Introducción al diseño de BD...

Introducción a

las bases de

datos

relacionales

(2010/2011)

Luis Valencia Cabrera

lvalencia@us.es

(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