base de datos 10º

30
@2013

Transcript of base de datos 10º

Page 1: base de datos 10º

@2013

Page 2: base de datos 10º

DEFINICION DE BASE DE DATOS

• ES UN CONJUNTO DE INFORMACIÓN ORGANIZADA

Page 3: base de datos 10º

Modelo Entidad-Relación

Conceptos básicos del modelo• El modelo entidad relación, esta basado en una

percepción del mundo real consistente en objetos básicos llamados entidades y en relaciones entre esos objetos.

• Entidad• Atributo• Relación

Page 4: base de datos 10º

EJEMPLO DE DER

PERSONA tiene LIBRO

Page 5: base de datos 10º

Conceptos básicos

• Entidad Una entidad es una “cosa” u “objeto” en el mundo real

que es distinguible de todos los demás objetos. Una entidad es todo elemento participante en un proceso del cual se requiere mantener o almacenar información. Es todo aquel componente de un proyecto que es importante para que su objetivo se cumpla. Una entidad tiene un conjunto de propiedades, y los valores para algún subconjunto de propiedades pueden identificar una entidad de forma unívoca es decir se tiene alguna identificación única y no puede existir duplicidad de identificación.

Page 6: base de datos 10º

Conjunto de entidades

• Es un conjunto de entidades del mismo tipo que comparten las mismaspropiedades o atributos (no sus valores).Por ejemplo: El conjunto de todas las personas que son clientes de un banco.El conjunto de todas las personas que son cliente de una tienda de videos.

Page 7: base de datos 10º

ATRIBUTOS

• Una entidad se representa mediante un conjunto de atributos. Los atributos describen propiedades que posee cada miembro de un conjunto de entidades. Un atributo es toda propiedad empleada para identificar, describir o expresar el estado de una entidad o una relación. Cliente: identificación del cliente, nombre del cliente, dirección donde vive, ciudad donde vive el cliente,…..

Page 8: base de datos 10º

Libro: Identificación del libro, autor del libro, editorial del libro, idioma en que esta escrito el libro,……

Cada entidad tiene un valor para cada uno de sus atributos.

identificador Nombre Dirección Ciudad

78.523.365 Carlos Cl. 28 No. 30-33 Bogotá

Page 9: base de datos 10º

Tipos de atributos

• SIMPLES.- Es un atributo que tiene un solo componente, que no se puede dividir en partes más pequeñas que tengan un significado propio.

Ej: codigo

Page 10: base de datos 10º

• Atributos derivados –Valor calculado a partir de otra información ya existente (atributos, entidades relacionadas) –Son información redundante…

• edad [de EMPLEADO], cálculo a partir de fechanacim

Page 11: base de datos 10º

• MONOVALENTE.- Es aquel que tiene un solo valor para cada ocurrencia de la entidad o relación a la que pertenece.

• POLIVALENTE.- Es aquel que tiene varios valores para cada ocurrencia de la entidad o relación a la que pertenece. También se les denomina multivaluados, y pueden tener un número máximo y un número mínimo de valores

Page 12: base de datos 10º

• Atributos compuestos– Pueden dividirse en otros con significado

propiofechanacim

dia mes año

direccion

calle ciudad provincia codpostal

Page 13: base de datos 10º

Una relación

• Es una asociación entre diferentes entidades

veterinaria paciente

Page 14: base de datos 10º

Representación de las cardinalidades

Elipses: Representan atributos

Rombos: Representan conjuntos de relaciones

Líneas: Unen atributos a conjuntos de entidades o aconjuntos de relaciones y conjuntos de entidades aconjuntos de relaciones (uno; varios)

Rectángulos: Representan conjuntos de entidades

Page 15: base de datos 10º

Tipos de Cardinalidades

• Uno a uno. 1:1. Una entidad del conjunto de entidades E1 se relaciona con una única entidad del conjunto de entidades E2 y viceversa.

Page 16: base de datos 10º

• Uno a muchos. 1:n. Una entidad del conjunto de entidades E1 se relaciona con muchas entidades del conjunto de entidades E2 y una entidad del conjunto de entidades E2 solo puede estar relacionada con una entidad del conjunto de entidades E1.

Page 17: base de datos 10º

• Muchos a uno. n:1. Una entidad en E1 esta asociada con una única entidad del conjunto de entidades E2 y una entidad del conjunto de entidades en E2 esta relacionada con muchas entidades del conjunto de entidades E1 Figura 4.8 Relación muchos a uno n:1

Page 18: base de datos 10º

• Muchos a muchos. n:n. Una entidad del conjunto de entidades E1 esta relacionada con muchas entidades del conjunto de entidades E2 y viceversa.

Page 19: base de datos 10º

Claves

• Es necesario disponer de una forma de especificar cómo, las entidades dentro de un conjunto de entidades dado y las relaciones dentro de un conjunto de relaciones dado, son distinguibles Una entidad es una “cosa” u “objeto” en el mundo real que es distinguible de todos los demás objetos Una clave es un conjunto suficiente de atributos capaces de distinguir las entidades (relaciones) de un conjunto de entidades (conjunto de relaciones) entre si ( no sólo conceptualmente sino desde una perspectiva de bases de datos)

Page 20: base de datos 10º

Clave Primaria

• Una clave primaria es una clave candidata que es elegida por el diseñador de la base de datos como elemento principal para identificar las entidades dentro de un conjunto de entidades. Cualesquiera dos entidades individuales en el conjunto de entidades no pueden tener, al mismo tiempo, el mismo valor en sus atributos clave. La elección de una clave representa una restricción en el desarrollo del mundo real que se modela. La clave primaria se debe elegir de forma que los atributos que la forman nunca, o al menos muy raramente, cambien.

Page 21: base de datos 10º

• Ejercicio 1

Hacer un modelo Entidad-Relación para la siguiente situación:

– tenemos una universidad, en la que hay varios

cursos. Cada curso está dirigido por un

profesor, el cual puede dirigir varios cursos.

Los cursos son subvenidos, por lo que sólo se

permite que un alumno se matricule de un

curso.

Page 22: base de datos 10º

Solución Ej.: 1

CURSO

PROFESOR

ALUMNO

M

1

1

M

Page 23: base de datos 10º

Más ejercicios

• Ejercicio 2• Se desea disenar una base de datos para almacenar y gestionar la• informacion empleada por un concesionario de automoviles, teniendo en cuenta• los siguientes aspectos:• A un concesionario de coches llegan clientes para comprar automoviles.• De cada coche interesa saber la matricula, modelo, marca y color.• Un cliente puede comprar varios coches en el concesionario. Cuando un• cliente compra un coche, se le hace una ficha en el concesionario con la• siguiente informacion: dni, nombre, apellidos, direccion y telefono.

Page 24: base de datos 10º

• Los coches que el concesionario vende pueden ser nuevos o usados (de

• segunda mano). De los coches nuevos interesa saber el numero de

• unidades que hay en el concesionario. De los coches viejos interesa el

• numero de kilometros que lleva recorridos.

• El concesionario tambien dispone de un taller en el que los mecanicos

• reparan los coches que llevan los clientes. Un mecanico repara varios

• coches a lo largo del d__a, y un coche puede ser reparado por varios

• mecanicos.

• Los mecanicos tienen un dni, nombre, apellidos, fecha de contratacion y

• salario. Se desea guardar tambien la fecha en la que se repara cada

• vehiculo y el numero de horas que se ha tardado en arreglar cada

• automovil.

Page 25: base de datos 10º

• Ejercicio 3: El gerente de la fabrica de muebles MosKea, Sr. Bert

• Oldosen, ha decidido utilizar un sistema de Base de Datos para

• representar la estructura de los muebles que distribuye. Realizar el

• diagrama ER correspondiente teniendo en cuenta que:

• Los muebles est_an representados por un nombre unico.

• Tambien se quiere conocer su precio.

• Todo mueble esta formado por una o mas piezas. Cada pieza

• tiene un identifcador unico y puede formar parte de varios

• muebles. Interesa apuntar cuantas unidades de cada pieza

• componen el mueble.

• Todas las unidades de una pieza se encuentran en uno o mas

• estantes del almacen. El estante viene determinado de forma

• unica por dos valores: pasillo y altura. Ademas de en que

• estantes estan las piezas interesa conocer cuantas unidades de

• la pieza hay almacenadas en cada estante.

Page 26: base de datos 10º

Consultasen SQL

• Comandos • Existen

dos tipos de comandos SQL: • Los

DLL que permiten crear y definir nuevas bases de datos, campos e índices.

• Los DML que permiten generar consultas para ordenar, filtrar y extraer datosde la base de datos.

Page 27: base de datos 10º

• Comandos DLL CREATE Utilizado para crear nuevas tablas, campose índices

• DROP Empleado para eliminar tablas e índices

• ALTER Utilizado para modificar las tablas agregandocampos o cambiando la definición de los campos.

Comandos DML

• SELECT Utilizadopara consultar registros de la base de datos que satisfagan un criteriodeterminado

• INSERT Utilizadopara cargar lotes de datos en la base de datos en una únicaoperación.

• UPDATE Utilizado para modificar los valores de los campos y registros especificados DELETE Utilizado para eliminar registros de una tabla de una base de datos

Page 28: base de datos 10º

OPERADORES LOGICOS

• AND Es el “y” lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.

• OR Es el “o” lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

• NOT Negación lógica. Devuelve el valor contrario de la expresión.

Page 29: base de datos 10º

OPERADORES DE COMPARACION

• < Menor que Mayor que <> Distinto de <= Menor ó Igual que >= Mayor ó Igual que BETWEEN Utilizado para especificar un intervalo de

valores. LIKE Utilizado en la comparación de un modelo In Utilizado para especificar registros de una base de

datos 

Page 30: base de datos 10º

FUNCIONES DE AGREGADO

• Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un grupo de registros.

• AVG Utilizada para calcular el promedio de los valores de un campo determinado 

• COUNT Utilizada para devolver el número de registros de la selección 

• SUM Utilizada para devolver la suma de todos los valores de un campo determinado 

• MAX Utilizada para devolver el valor más alto de un campo especificado 

• MIN Utilizada para devolver el valor más bajo de un campo especificado