La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 2: Diseño de Bases de Datos relacionales

Presentaciones similares


Presentación del tema: "Tema 2: Diseño de Bases de Datos relacionales"— Transcripción de la presentación:

1 Tema 2: Diseño de Bases de Datos relacionales

2 Introducción Propuesto por Codd en 1970
Base de los SGBD comerciales: Access, Oracle, etc. Características básicas: Toda la información se almacena en tablas Las relaciones entre los datos se representan explícitamente en las tablas

3 Tabla Información acerca de un tipo de objeto Parcela
Código DNI propietario Extensión Tipo cultivo 123-B Olivo 367-X Naranjo Impuesto Código Neto Ext. Min Ext. Máx

4 Relación Permite relacionar información de varias tablas Parcela
Código DNI Prop Extensión Tipo cultivo Impuesto Código Neto Ext. min Ext. max Impuestos_Pagados Cod_parcela Cod_impuesto Fecha

5 Atributo Cada uno de los campos de una tabla. Ej: tipo_cultivo
Tipo de dato: texto, número, fecha, moneda, etc. Requerido Indexado: no, sí (sin duplicados), sí (con duplicados)

6 Relaciones Relaciona campos de tablas diferentes
¿Exigir integridad referencial? Sí: Actualizar en cascada los campos relacionados Eliminar en cascada los registros relacionados No Tipo de relación (cardinalidad): Uno a uno Uno a varios

7 Clave primaria Conjunto de uno o más atributos que tomados colectivamente permiten identificar de forma unívoca una fila de una tabla Claves candidatas: todos los posibles conjuntos de claves (mínimo conjunto de atributos) Clave primaria: clave candidata seleccionada Ejemplo: tabla Propietario {dni, num_seg_social, nombre, direccion} Claves candidatas={ {dni}, {num_seg_social} } Clave primaria={dni}

8 Clave ajena Es el campo (o campos) de una tabla que referencia a la clave primaria de otra tabla. Define la relación Parcela Código DNI Prop Extensión Tipo cultivo Impuestos_Pagados Cod_parcela Cod_impuesto Fecha Impuesto Código Neto Ext. min Ext. max

9 Ejercicios propuestos
Dar la cardinalidad de las siguientes tablas con respecto a la relación: E1: Libro E2: Alumno R: Préstamo E1: Niño E2: Padre R: Hijo_de E1: Puente E2: Río R: Atraviesa Calcular la clave de las siguientes tablas: Libro={título, autor, año_publicación, ISBN} Alumno={dni, num_expediente, nombre, año_nacimiento} Río={nombre, caudad_medio}

10 ¿Cómo se diseña una BD? Se estudia la realidad que se quiere representar Se estructura en forma de tablas que representan objetos Se establecen relaciones entre estos objetos

11 Información que queremos representar
¿Cómo se diseña una BD? Impuestos_Pagados Cod_parcela Cod_impuesto DNI_propietario Neto Nombre_prop Ext_min Extensión Ext_max Tipo_cultivo Fecha Información que queremos representar ¿Cómo hemos llegado a la estructura de tablas que hemos mostrado anteriormente?

12 Reglas básicas para el diseño de BDs
Todos los atributos que no forman parte de ninguna clave candidata suministran información acerca de la clave completa. Claves candidatas= {cod_parcela, cod_impuesto} Impuestos_Pagados Cod_parcela Cod_impuesto DNI_propietario Neto Nombre_prop Ext_min Extensión Ext_max Tipo_cultivo Fecha Ej. DNI_propietario sólo aporta información acerca de cod_parcela, no sobre cod_impuesto. Establecer nuevas tablas!!

13 Reglas básicas Impuestos_Pagados
Cod_parcela Cod_impuesto DNI_propietario Nombre_prop Extensión Ext_min Tipo_cultivo Ext_max Neto Fecha Parcela Cod_parcela DNI_propietario Nombre_prop Extensión Tipo_cultivo Impuestos_Pagados Cod_impuesto Fecha Impuesto Neto Ext_min Ext_max

14 Reglas básicas Los atributos que no forman parte de ninguna clave candidata proporcionan información acerca de la clave y acerca de otros atributos. Parcela Cod_parcela DNI_propietario Nombre_prop Extensión Tipo_cultivo Impuestos_Pagados Cod_parcela Cod_impuesto Fecha Impuesto Cod_impuesto Neto Ext_min Ext_max

15 Reglas básicas Parcela Cod_parcela DNI_propietario Extensión Parcela
Tipo_cultivo Parcela Cod_parcela DNI_propietario Nombre_prop Extensión Tipo_cultivo Propietario DNI_propietario Nombre_prop

16 Ejercicios propuestos
Obtener el esquema relacional del siguiente enunciado: Una autopista se define por su código, nombre y tipo Una autopista se divide en secciones Una sección se define por un código, nombre y número de carriles Una sección comienza y termina en una ciudad Una ciudad se define por su nombre y nº de habitantes

17 Ejercicios propuestos
Dadas las entidades: TRAMO (código_tramo) CALLE (código, nombre, longitud) MANZANA (número) BARRIO (nombre) Diseñar una base de datos que represente que: un barrio está formado por muchas manzanas una manzana sólo pertenece a un barrio un tramo de una calle pertenece sólo a una calle una calle está compuesta de varios tramos un tramo contiene varias manzanas y una manzana contiene varios tramos dos tramos se pueden cruzar ¿Cómo se podría contestar a las siguientes preguntas? Calles a las que pertenece una manzana Barrio al que pertenece una calle Con cuántos tramos cruza un tramo en particular ¿Se podría conocer la longitud de cada tramo? ¿Y la longitud total de una calle si almacenamos la longitud de cada tramo?

18 Ejercicios propuestos
Se desea generar una base de datos para almacenar información respecto la geografía española. En concreto, queremos almacenar información sobre ríos, mares, ciudades, provincias y comunidades autónomas. De cada ciudad queremos saber su nombre, cuántos habitantes tiene y en qué provincia se encuentra. Hay que tener en cuenta que dos ciudades de distintas provincias pueden tener el mismo nombre. De cada provincia, nos interesa conocer su nombre y qué ciudad es su capital. De cada comunidad autónoma, es interesante conocer su nombre, el número de provincias que pertenecen a ella y cuáles son estas provincias. En cuanto a cada mar, queremos almacenar su nombre y a qué provincias baña, indicando además cuántos kilométros de la costa de esa provincia es bañada por este mar. La información de los ríos será la más completa: además del nombre, nos interesa conocer en qué provincia nace, por qué ciudades pasa y en qué mar desemboca. Por otro lado, también queremos saber qué ríos son afluentes de otros ríos.


Descargar ppt "Tema 2: Diseño de Bases de Datos relacionales"

Presentaciones similares


Anuncios Google