Introducción.
Definición de Bases de datos Conjunto de datos relacionados entre si que modelan hechos y objetos pertenecientes a un mundo real y sirven de soporte a aplicaciones informáticas. Dichos datos deben estar almacenados físicamente y deben estar relacionados mediante una estructura lógica. 2
Sistema Gestor de Bases de Datos (SGBD) Aplicación que permite a los usuarios definir, crear y mantener la BD y proporciona un acceso controlado a la misma. Debe proporcionar los siguientes servicios. Creación y definición de la base de datos. Manipulación de los datos. Acceso controlado mediante mecanismos de seguridad. Mantener integridad y consistencia de los datos. Acceso compartido a la base de datos. Mecanismos de copias de respaldo y recuperación 3
Ventajas de los SGBD vrs sistemas de archivos Independencia de los datos. Coherencia de los resultados. Mejor disponibilidad de los datos. Mayor valor informativo. Mejor y más normalizada documentación de la información. Mayor eficiencia en la recogida, validación, entrada y mantenimiento de los datos. Reducción del espacio de almacenamiento. 4
Inconvenientes de las BD Instalación costosa. Personal especializado. Implantación larga y difícil. Falta de rentabilidad a corto plazo. Desfase entre teoría y práctica. 5
Ejemplos de SGBD Ejemplos de SGBD libres: PostgreSQL MySQL Ejemplos de SGBD comerciales: Oracle DB2, Informix (IBM) dbase (dbi) Paradox (Borland) SQL-Server (MS) Access (MS) FoxPro (MS) 6
Modelo de datos Colección de conceptos que se pueden utilizar para describir la estructura de una base de datos. Proporciona los medios necesarios para conseguir la abstracción de datos en una BD. Se refiere a los tipos de datos, relaciones y restricciones que deben mantenerse para los datos. 7
Modelo Entidad-Relación (MER) Propuesto por Peter P. Chen en 1976 Extensiones/aportaciones de muchos otros autores Describe el mundo real como un conjunto de ENTIDADES y de RELACIONES entre ellas Gran difusión Muy extendido en los métodos de diseño de bases de datos Soportado por herramientas software de diseño (CASE) 8
Conceptos básicos del modelo Entidad ( entity ) Atributo ( attribute ) Relación ( relationship ) 9
ENTIDAD Cosa u objeto del mundo real con existencia propia y distinguible del resto Objeto con existencia... física o real (una persona, un libro, un empleado) abstracta o conceptual (una asignatura, un viaje) Persona, lugar, cosa, concepto o suceso, real o abstracto, de interés para la empresa 10
TIPO DE ENTIDAD (entity set) Define un conjunto de entidades que poseen los mismos atributos PELICULA: titulo, genero, nacionalidad, añoestreno,numcopias EMPLEADO: cedula, nombre, fechanac, direccion, telefono, edad Notación EMPLEADO PELICULA DIRECTOR CLIENTE LOCAL VIDEOCLUB ACTOR 11
ATRIBUTO Propiedad o característica de una entidad Una entidad particular es descrita por los valores de sus atributos: titulo = El alquimista impaciente genero = Thriller p1 nacionalidad = España añoestreno = 2002... e1 cedula= 87654321 carne= 1122334455 nombre = Cristina Aliaga Gil nacionalidad = CR... 12
Atributos Simples o Compuestos Atributos compuestos Pueden dividirse en otros con significado propio fechanacim dia mes año direccion calle ciudad provincia codpostal Valor compuesto = concatenación de valores de componentes Atributos simples No divisibles. Atómicos genero 13
Ejemplo Se desea informatizar una tienda de discos. Para ello se desean tener almacenados los nombres de todos los discos disponibles, además de sus cantantes y canciones. Así mismo se desean almacenar los clientes que han comprado en dicha tienda para llevar un control de todas las ventas realizadas.
Atributos Clave Atributo con valor distinto para cada instancia de un tipo de entidad Ced en EMPLEADO Una clave identifica de forma única cada entidad concreta atributo identificador Notación EMPLEADO ced 15
RELACIÓN (relationship) También interrelación Asociación, vínculo o correspondencia entre instancias de entidades relacionadas de alguna manera en el mundo real el director Alejandro Amenábar ha rodado la película Mar adentro el empleado 87654321 trabaja en el local de videoclub principal la película El imperio contraataca es una continuación de la película La guerra de las galaxias 16
TIPO DE RELACIÓN (relationship set) Estructura genérica o abstracción del conjunto de relaciones existentes entre dos o más tipos de entidad un DIRECTOR ha rodado PELICULA s Notación DIRECTOR HA_RODADO PELICULA 17
Grado de un tipo de relación Número de tipos de entidad que participan en el tipo de relación Binaria: grado 2 (el más frecuente) Ternaria: grado 3 Reflexiva (o recursiva): grado 1 ACTOR ACTUA_EN PELICULA CONTINUACION DE PELICULA CLIENTE ALQUILA PELICULA LOCAL_VIDEOCLUB 18
Restricciones estructurales sobre tipos de relación Limitan las posibles combinaciones de entidades que pueden participar en las relaciones Extraídas de la situación real que se modela Una película debe haber sido dirigida por uno y sólo un director Un director ha dirigido al menos una película y puede haber dirigido muchas Clases de restricciones estructurales: Razón de cardinalidad (o tipo de correspondencia) Razón de participación 19
Razón de Cardinalidad Número máximo de instancias de tipo de relación en las que puede participar una misma instancia de tipo de entidad la cardinalidad de HA_RODADO es 1 a N HA_RODADO es de tipo 1 a N Notación etiqueta en la línea que une entidad y relación Ojo: da la sensación de que se representa al revés DIRECTOR 1 HA_RODADO N PELICULA 20
Razón de Cardinalidad Razones de cardinalidad más comunes: 1:1 ( uno a uno ) 1:N ( uno a muchos ) M:N ( muchos a muchos ) 1 TRABAJA_EN trabajador EMPLEADO encargado 1 SUPERVISA ACTOR personaje M ACTUA_EN 1 lugar trabajo sucursal N LOCAL_VIDEOCLUB film N PELICULA 21
Razón de Cardinalidad Número máximo de instancias de un tipo de entidad que pueden estar relacionadas con una instancia del otro tipo de entidad Notación Etiqueta (1:1, 1:N, M:N ) junto al tipo de relación, o Flecha en sentido... a N trabajador EMPLEADO encargado ACTOR 1:1 TRABAJA_EN 1:N SUPERVISA M:N ACTUA_EN sucursal lugar trabajo LOCAL_VIDEOCLUB PELICULA 22
Ejemplo 23
Ejercicio1 de Modelo E-R Una empresa vende productos a varios clientes. Se necesita conocer los datos personales de los clientes (nombre, apellidos, dni, dirección y fecha de nacimiento). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por varios clientes. Los productos son suministrados por diferentes proveedores. Se debe tener en cuenta que un producto sólo puede ser suministrado por un proveedor, y que un proveedor puede suministrar diferentes productos. De cada proveedor se desea conocer el NIF, nombre y dirección. 24
25
Consultas 26