introducción a luis valencia cabrera las bases de lvalencia@us · introducción al diseño de bd...

35
Introducción a las bases de datos relacionales (2010/2011) Luis Valencia Cabrera [email protected] ( http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA ( http://www.cs.us.es/) Universidad de Sevilla

Upload: others

Post on 22-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Introducción a

las bases de

datos

relacionales

(2010/2011)

Luis Valencia Cabrera

[email protected]

(http://www.cs.us.es/~lvalencia)

Ciencias de la Computacion e IA

(http://www.cs.us.es/)

Universidad de Sevilla

Page 2: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Índice

Sistemas de Gestión de Bases de Datos

El modelo Entidad – Relación

El modelo relacional

Práctica con un SGBD: Access 2007

Page 3: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Sistemas de Gestión

de Bases de Datos Definiciones y conceptos básicos

Page 4: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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).

Page 5: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 6: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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).

Page 7: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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).

Page 8: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 9: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Sistemas de Gestión

de Bases de Datos Algunas ideas sobre bases de datos relacionales

Page 10: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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)

Page 11: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 12: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 13: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Ideas sobre BD relacionales(III)

Tablas relacionales:

Alumnos

Matriculaciones

Page 14: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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/

Page 15: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Diseño conceptual de Bases

de Datos. El modelo

Entidad-Relación Introducción al diseño de BD

Page 16: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 17: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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)

Page 18: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Diseño conceptual de Bases

de Datos. El modelo

Entidad-Relación Introducción al modelo Entidad-Relación

Page 19: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 20: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 21: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 22: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 23: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Diseño lógico de bases de

datos. El Modelo Relacional Introducción al Modelo Relacional

Page 24: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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.

Page 25: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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)}

Page 26: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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")}

Page 27: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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

Page 28: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Ejemplo

En el modelo Relacional, las dos relaciones

anteriores son idénticas. Sólo difieren en el

orden de los campos y los registros.

Page 29: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Ejemplo

La relación anterior NO es válida en el modelo relacional:

posee campos multivaluados,

posee registros repetidos.

Page 30: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

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)}

Page 31: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Claves primarias

Page 32: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Claves ajenas

Page 33: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Ejemplo

Page 34: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Valores nulos

Page 35: Introducción a Luis Valencia Cabrera las bases de lvalencia@us · 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

Bibliografía

Para más detalle consultar:

http://www.cs.us.es/cursos/bd-2009/tema3.pdf