205
BASE DE DATOS I L.I. Ana Luz Polo Estrella [email protected] 06 de Agosto de 2012

base de datos I

Embed Size (px)

DESCRIPTION

base de datos

Citation preview

Page 1: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

06 de Agosto de 2012

Page 2: base de datos I

FECHAS IMPORTANTES

Inicio de Clase

6 de Agosto de 2012

Fin de Clases

23 de Noviembre de 2012

2

Base

de D

ato

s I

Page 3: base de datos I

EVALUACIÓN

Examen parcial 40 %

Tareas y participaciones 30%

Proyecto de entrega 30%

3

Base

de D

ato

s I

Page 4: base de datos I

EXÁMENES

3 Exámenes Parciales

Exámenes en línea

Pasar con 8 examen para no presentar en final

Examen extraordinario y titulo todo

Examen Fecha

1er Parcial 07 de Septiembre Conceptos Básicos de BD

Modelo de Datos

Modelo Entidad-Relación

Modelo Relacional

2do Parcial 12 Octubre Normalizaciones

SGBD

3er Parcial 16 Noviembre Algebra Relacional

SQL4

Base

de D

ato

s I

Page 5: base de datos I

TAREAS Y PARTICIPACIONES

Todas las tareas tiene un porcentaje, no se

aceptaran tareas o practicas extemporáneas.

Muy importante las participaciones en clase,

opinando, investigando sobre los temas.

5

Base

de D

ato

s I

Page 6: base de datos I

PROYECTO

Integrar un equipo de 3 personas

El proyecto se entrega 1 día antes del examen

Es un proyecto integrador

Análisis del contexto y requerimientos

Modelo E-R

Modelo Relacional

Elaboración y consultas a la base de datos

6

Base

de D

ato

s I

Page 7: base de datos I

IMPORTANTE

Derecho a examen con el 80% de asistencias

Los retardos se pasaran con 15 minutos

Después de los 15 minutos, se traducirá en una

inasistencia

7

Base

de D

ato

s I

Page 8: base de datos I

Programa Base de Datos I

8

Base

de D

ato

s I

Page 9: base de datos I

ACTIVIDAD 1

Qué es Dato

Qué es información

Diferencia entre Dato e Información

Investigar la definición de Base de Datos de

acuerdo a 2 autores

Colocar una definición personal

Colocar las referencias bibliográficas

9

Base

de D

ato

s I

Page 10: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

09 de Agosto de 2012

CONCEPTOS BÁSICOS DE BASES DE DATOS

Page 11: base de datos I

CONCEPTOS BÁSICOS

Dato: Conjunto de caracteres con algún significado, pueden ser numéricos, alfanuméricos o alfabetos.

Información:

Conjunto de datos que poseen un significado, de modo tal que reducen la incertidumbre y aumentan el conocimiento de quien se acerca a contemplarlos. [Chiavenato]

Conjunto de datos organizados y procesados que constituyen mensajes, instrucciones, operaciones, funciones y cualquier tipo de actividad que tenga lugar en relación con un ordenador.

11

Base

de D

ato

s I

Page 12: base de datos I

Maquina de perforado

Cintas Magnéticas

Discos

12

Base

de D

ato

s I

Page 13: base de datos I

SISTEMA DE ARCHIVOS

Surgieron a raíz de la necesidad de almacenamiento

de la información para su correspondiente

reutilización

Características de los Sistemas de Archivos

1. Redundancia

2. Dificultad en el acceso a los datos

3. Aislamiento de datos

4. Problemas de integridad

5. Problemas de atomicidad

6. Anomalías en el acceso concurrente

7. Problemas de seguridad

8. Inconsistencia de Datos 13

Base

de D

ato

s I

Page 14: base de datos I

BASES DE DATOS

Base de Datos: Una base de datos es un conjunto

de datos persistentes que es utilizado por los

sistemas de aplicación de alguna empresa

dada.[Date, 2001]

14

Base

de D

ato

s I

Page 15: base de datos I

BASE DE DATOS FRENTE SISTEMA DE

ARCHIVOS

Los datos pueden compartirse

Es posible reducir la redundancia

Evitar la inconsistencia

Manejo de transacciones

Mantener integridad

Seguridad 15

Base

de D

ato

s I

Page 16: base de datos I

16

Base

de D

ato

s I

Page 17: base de datos I

¡OBSERVA!

17

Base

de D

ato

s I

Page 18: base de datos I

¿Dudas?

18

Base

de D

ato

s I

Page 19: base de datos I

Ejemplifica cada uno de los conceptos vistos en

clase

Redundancia

Integridad

Atomicidad

19

Base

de D

ato

s I

Page 20: base de datos I

VISIÓN DE LOS DATOS (ANSI/SPARC)

(SISTEMA DE BASES DE DATOS)

Nivel Físico: El nivel más bajo de abstracción describe cómo se almacenan realmente los datos.

Nivel Lógico: El siguiente nivel más alto de abstracción describe qué datos se almacenan en la base de datos y qué relaciones existen entre esos datos.

Nivel de Vistas: El nivel más alto de abstracción describe sólo parte de la base de datos completa.

20

Base

de D

ato

s I

Page 21: base de datos I

Nivel de Vistas

Nivel Lógico

Nivel Físico

Formato de archivo a utilizar, número de bytes 21

Base

de D

ato

s I

Page 22: base de datos I

INVESTIGAR

Universo del discurso o Minimundo

22

Base

de D

ato

s I

Page 23: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

10 de Agosto de 2012

ANÁLISIS DEL CONTEXTO

Page 24: base de datos I

UNIVERSO DEL DISCURSO

Entendemos aquello a lo que dirigimos

nuestra atención con alguna intención

particular de observar, analizar, representar,....

Todo universo del discurso es percibido

como un sistema, es decir, como una familia

Todos los individuos (cosas y relaciones)

pueden ser representados a través de datos,

entendidos como valores de características

observadas sobre dichos individuos.

24

Base

de D

ato

s I

Page 25: base de datos I

USUARIOS DE LAS BASES DE DATOS

Diseñadores de bases de datos: Identificar los

datos que serán almacenados y elegir las

estructuras apropiadas.

Administrador de Bases de Datos ():

autorizar acceso a las bases de datos.

Modificación del esquema, mantenimiento

rutinario

Usuarios finales: acceden a la base de datos

esporádicamente mediante las aplicaciones

Programadores de aplicaciones: son

profesionales informáticos que escriben

aplicaciones 25

Base

de D

ato

s I

Page 26: base de datos I

DISEÑO DE LA BASE DE DATOS

Análisis del contexto

La especificación inicial de los requisitos de usuario

se puede basar en entrevistas con los usuarios de la

base de datos y en el análisis propio del diseñador del

desarrollo.

La descripción que surge de esta fase de diseño sirve

como base para especificar la estructura conceptual

de la base de datos.

26

Base

de D

ato

s I

Page 27: base de datos I

REQUISITOS DE UN BANCO

El banco está organizado en sucursales. Cada

sucursal está ubicada en una ciudad particular y

se identifica por un nombre único. El banco

supervisa los activos de cada sucursal.

Los clientes del banco se identifican mediante sus

valores de id-cliente. El banco almacena cada

nombre de cliente, y la calle y ciudad donde viven

los clientes. Los clientes pueden tener cuentas y

pueden pedir préstamos. Un cliente puede estar

asociado con un banquero particular, que puede

actuar como responsable de préstamos o

banquero personal para un cliente. 27

Base

de D

ato

s I

Page 28: base de datos I

Los empleados del banco se identifican mediante

sus valores de id-empleado. La administración del

banco almacena el nombre y número de teléfono

de cada empleado, los nombres de los

subordinados del empleado, y el número id-

empleado del jefe del empleado. El banco también

mantiene registro de la fecha de comienzo del

contrato del empleado, así como su antigüedad.

28

Base

de D

ato

s I

Page 29: base de datos I

El banco ofrece dos tipos de cuentas: cuentas de

ahorro y cuentas corrientes. Las cuentas pueden

asociarse a más de un cliente y un cliente puede

tener más de una cuenta. Cada cuenta está

asignada a un único número de cuenta. El banco

mantiene un registro del saldo de cada cuenta y

la fecha más reciente en que la cuenta fue

accedida por cada cliente que mantiene la cuenta.

Además, cada cuenta de ahorro tiene un tipo de

interés y para cada cuenta corriente se almacena

el descubierto.

29

Base

de D

ato

s I

Page 30: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

13 de Agosto de 2012

MODELO DE DATOS

Page 31: base de datos I

MODELO DE DATOS

Un modelo es un conjunto de herramientas

conceptuales para describir datos, sus relaciones,

su significado y sus restricciones de consistencia.

Los modelos de datos son instrumentos que nos

ayudan a representar la realidad, o en otras

palabras, son un mecanismo de abstracción que

permite la representación de una parcela del

mundo real (universo del discurso o mini-mundo)

cuyos datos nos interesa registrar.

31

Base

de D

ato

s I

Page 32: base de datos I

Modelos Globales o lógicos

32

Base

de D

ato

s I

Page 33: base de datos I

INTRODUCCIÓN

LOS MODELOS DE

DATOS EN EL PROCESO

DE DISEÑO DE UNA

BASE DE DATOS

33

Base

de D

ato

s I

Page 34: base de datos I

MODELO DE DATOS CONCEPTUAL

Modelo de datos conceptual de alto nivel Propuesto por Peter P. Chen en 1976

Extensiones/aportaciones de muchos otros autores

» No existe un único MER, sino una FAMILIA DE MODELOS

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

Base

de D

ato

s I

Page 35: base de datos I

MODELO ENTIDAD-RELACIÓN

DISEÑO

CONCEPTUAL

Requisitos

de datos

Esquema

Conceptual MER

35

Base

de D

ato

s I

Page 36: base de datos I

MODELO ENTIDAD-RELACIÓN

Descripción concisa de los requisitos

de información de los usuarios

Descripciones detalladas de

TIPOS DE DATOS

RELACIONES ENTRE DATOS

RESTRICCIONES que los DATOS deben cumplir

Sin detalles de implementación

Más fácil de entender

Comunicación con el usuario no técnico

36

Base

de D

ato

s I

Page 37: base de datos I

CONCEPTOS BÁSICOS DEL MODELO E-R

Entidad ( entity )

Atributo ( attribute )

Dominio ( values set )

Relación ( relationship )

37

Base

de D

ato

s I

Page 38: base de datos I

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” (ANSI,

1977)

CONCEPTOS BÁSICOS DEL MODELO E-R

(ENTIDAD)

38

Base

de D

ato

s I

Page 39: base de datos I

CONCEPTOS BÁSICOS DEL MODELO E-R

(ENTIDAD)

Propiedad o característica de una entidad

Una entidad particular es descrita por los valores

de sus atributos:

titulo = El alquimista impacientegenero = Thriller

nacionalidad = España

añoestreno = 2002

p1

...

nss = 1122334455dni = 87654321

nombre = Cristina Aliaga Gilnacionalidad = España

e1

...

39

Base

de D

ato

s I

Page 40: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

16 de Agosto de 2012

MODELO DE DATOS: MODELO ENTIDAD-RELACIÓN

Page 41: base de datos I

CONCEPTOS MODELO E-R (PARTE 1)

Concepto Notación

Entidad

Atributo

Relación

41

Base

de D

ato

s I

Page 42: base de datos I

MODELO E-R (TIPOS DE ATRIBUTOS)

1. Simples o Compuestos

2. Almacenados o Derivados

3. Monovalorados o Multivalorados

4. Opcionales

42

Base

de D

ato

s I

Page 43: base de datos I

MODELO E-R (ATRIBUTOS SIMPLES O

COMPUESTOS)

Atributos compuestos: son aquellos que se

pueden dividir en subpartes (es decir, en otros

atributos)

nombre-cliente

Atributos simples: son atributos no divisibles,

atómicos

genero

43

Base

de D

ato

s I

Page 44: base de datos I

MODELO E-R (ATRIBUTOS ALMACENADOS

O DERIVADOS)

Atributos Derivados: El valor se puede derivar de

los valores de otros atributos o entidades

relacionados.

edad-empleado cálculo a partir de fecha_nac,

numcopia-pelicula cuenta del número de entidades

COPIA relacionadas con cada película concreta atributo

derivado de entidades relacionadas

Representación

Atributos almacenados

fecha_nacimiento44

Base

de D

ato

s I

Page 45: base de datos I

Atributo Monovalorados (monovaluados):

sólo un valor para cada entidad

Fecha-nacimiento

o Atributo multivalorado (multivaluados):

telefono-cliente

idioma

Representación

MODELO E-R (ATRIBUTOS

MONOVALORADOS Y MULTIVALORADOS)

45

Base

de D

ato

s I

Page 46: base de datos I

El nulo (null) es usado cuando se desconoce el

valor de un atributo para cierta entidadEl valor existe pero falta

altura (empleado)

No se sabe si el valor existe o no

telefono (empleado)

MODELO E-R (ATRIBUTOS OPCIONALES

(NULOS))

46

Base

de D

ato

s I

Page 47: base de datos I

Atributo con valor distinto para cada

instancia de un tipo de entidad

Una clave identifica de forma única cada

entidad concreta

Representación

MODELO E-R (ATRIBUTOS CLAVE)

47

Base

de D

ato

s I

Page 48: base de datos I

Una clave puede estar formada por varios

atributos (clave compuesta)

(nombre_cliente, fecha-nac)

Una clave compuesta debe ser mínima

(nombre,tel,fecha-nac) No es Mínima

Un tipo de entidad puede tener más de una clave,

a estas se les conoce como claves candidatas

(rfc)

(curp)

(nombre,fecha-nac)

MODELO E-R (ATRIBUTOS CLAVE)

48

Base

de D

ato

s I

Page 49: base de datos I

MODELO ENTIDAD-RELACIÓN

(ENTIDADES DÉBILES)

No tiene atributos clave propios

Una instancia

Tipo de relación identificador

Relaciona un tipo de entidad débil y un tipo de entidad regular (fuerte, dominante, padre, propietaria)

Clave parcial (o discriminante)

Atributos de la entidad débil, que identificande forma única cada instancia, siempre que esté relacionada con una instancia del tipo de entidad regular

Clave = (clave_entidad_regular, clave_parcial)

49

Base

de D

ato

s I

Page 50: base de datos I

No tiene atributos clave propios

Una instancia se identifica por su relación con una instancia de otro tipo de entidad

Tipo de relación identificador Relaciona un tipo de entidad débil y un tipo de

entidad regular (fuerte, dominante, padre, propietaria)

Clave parcial (o discriminante)

Atributos de la entidad débil, que identifican de forma única cada instancia, siempre que esté relacionada con una instancia del tipo de entidad regular

Clave = (clave_entidad_regular, clave_parcial)

50

Base

de D

ato

s I

Page 51: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

17 de Agosto de 2012

MODELO DE DATOS: MODELO ENTIDAD-RELACIÓN

Page 52: base de datos I

MODELO E-R (RELACIONES)

Una relación (relationship) es una asociación entre

entidades.

Definición matemática: Si A, B son conjuntos,

entonces una relación R es un subconjunto de A B

Ejemplo: Si A = {1,2,3}

B = {a,b,c}

R = {(1,a),(1,b),(1,c), }

Una relación se representa con un rombo

Representación

52

Base

de D

ato

s I

Page 53: base de datos I

MODELO ENTIDAD-RELACIÓN

(CORRESPONDENCIA DE CARDINALIDAD)

Expresa el número de entidades a las que otra

entidad puede estar asociada vía un conjunto de

relaciones

Tipos de Correspondencia de Cardinalidad

53

Base

de D

ato

s I

Page 54: base de datos I

MODELO E-R (UNO A UNO)

Una entidad en A se asocia con a lo sumo una

entidad en B, y una entidad en B se asocia con a

lo sumo una entidad en A

54

Base

de D

ato

s I

Page 55: base de datos I

Una entidad en A se asocia con cualquier número de

entidades en B (Ninguna o varias). Una entidad en B,

sin embargo se puede asociar con a lo sumo una

entidad en A

MODELO E-R (UNO A VARIOS)

55

Base

de D

ato

s I

Page 56: base de datos I

Una entidad en A se asocia con a lo sumo una entidad

en B. una entidad en B, sin embargo, se puede asociar

con cualquier número de entidades (ninguna o varias)

en A.

MODELO E-R (VARIOS A UNO)

56

Base

de D

ato

s I

Page 57: base de datos I

una entidad en A se asocia con cualquier numero de

entidades (ninguna o varias) en B y una entidad en B

se asocia con cualquier número

MODELO E-R (VARIOS A VARIOS)

57

Base

de D

ato

s I

Page 58: base de datos I

RESTRICCIONES DE PARTICIPACIÓN EN UN

CONJUNTO DE RELACIONES

Participación Total:

Préstamo -- prestatario -- Cliente

Participación Parcial

Cliente – prestatario -- Préstamo

58

Base

de D

ato

s I

Page 59: base de datos I

DETERMINA LA CARDINALIDAD DEL EJEMPLO

a)

59

Base

de D

ato

s I

Page 60: base de datos I

B)

60

Base

de D

ato

s I

Page 61: base de datos I

C)

61

Base

de D

ato

s I

Page 62: base de datos I

MODELO E-R ( ATRIBUTOS SOBRE

RELACIONES)

Ejemplo: Horas trabajadas por un empleado en

un proyecto

62

Base

de D

ato

s I

Page 63: base de datos I

OBSERVA Y MODELA

63

Base

de D

ato

s I

Page 64: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

20de Agosto de 2012

MODELO DE DATOS: MODELO

ENTIDAD-RELACIÓN EXTENDIDO

Page 65: base de datos I

MODELO E-R (ROLES)

Cada conjunto de entidades que participa en una

relación desempeña un papel

Los conjuntos de entidades participantes en una

relación no tienen porque ser distintos.

Ejemplo:

Etiquetar un rol es opcional, sin embargo su

objetivo es aclarar la semántica de la relación

65

Base

de D

ato

s I

Page 66: base de datos I

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

66

Base

de D

ato

s I

ACTOR PELICULAACTUA_EN

CLIENTE PELICULA

LOCAL_VIDEOCLUB

ALQUILA

PELICULACONTINUACIONDE

Page 67: base de datos I

RESTRICCIONES PARA EL MODELADO

67

Base

de D

ato

s I

Page 68: base de datos I

MODELO ENTIDAD-RELACIÓN EXTENDIDO

Los conceptos básicos del modelo E-R pueden

modelar la mayoría de las características de las

bases de datos

Características a modelar con el modelo E-R

extendido

1. Especialización

2. Generalización

3. Herencia de atributos

4. Agregación

68

Base

de D

ato

s I

Page 69: base de datos I

ESPECIALIZACIÓN

Un conjunto de entidades puede incluir

subgrupos de entidades que se diferencian de

alguna forma de las otras entidades del conjunto

Permite asociar atributos específicos , adicionales

a cada sub-entidad

Ejemplo:

Persona

Cliente

Empleado

Cada uno de estos tipos de personas incluyen los

atributos de persona más otros posibles atributos

adicionales 69

Base

de D

ato

s I

Page 70: base de datos I

ESPECIALIZACIÓN

Se representa mediante un componente

triangular etiquetado como ES

La relación ES se puede llamar también relación

superclase-subclase

Representar características diferentes

70

Base

de D

ato

s I

Page 71: base de datos I

GENERALIZACIÓN

Varios conjuntos de entidades se sintetizan en

un conjunto de entidades de nivel más alto

basado en características comunes

Procede de observar que varios conjuntos de

entidades comparten algunas características

comunes

71

Base

de D

ato

s I

Page 72: base de datos I

GENERALIZACIÓN VS ESPECIALIZACIÓN

Generalización

Énfasis en las similitudes

Cada instancia del supertipo es también

una instancia de alguno de los subtipos

Especialización

Énfasis en las diferencias

Alguna instancia del supertipo puede no

ser instancia de ningún subtipo72

Base

de D

ato

s I

Page 73: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

23 de Agosto de 2012

MODELO DE DATOS: MODELO

ENTIDAD-RELACIÓN EXTENDIDO

Page 74: base de datos I

74

Base

de D

ato

s I

Page 75: base de datos I

RESTRICCIONES SOBRE LA

ESPECIALIZACIÓN/GENERALIZACIÓN

Que instancias del supertipo pertenecen a cada

subtipo

Disyunción/Solapamiento

A cuantos subtipos puede pertenecer(a la vez) una

instancia del supertipo

Completitud/Parcialidad

De toda instancia del supertipo pertenece a algún

subtipo pertenece a algún subtipo de

75

Base

de D

ato

s I

Page 76: base de datos I

SUBTIPOS DISJUNTOS

Una restricción sobre el carácter disjunto

requiere que una entidad no pertenezca a más de

un conjunto de entidades de nivel más bajo.

Ejemplo:

Una entidad cuenta puede satisfacer solo una

condición para el atributo tipo-cuenta; una cuenta

puede ser una cuenta de ahorro o cuenta corriente

pero no ambas cosas a la vez

76

Base

de D

ato

s I

Page 77: base de datos I

SUBTIPOS SOLAPADOS

En las generalizaciones solapadas, la misma

entidad puede pertenecer a más de un conjunto

de entidades de nivel más bajo en una

generalización simple.

Ejemplo:

Una persona puede aparecer en más de uno de los

conjuntos entidades de nivel más bajo empleado y

cliente

77

Base

de D

ato

s I

Page 78: base de datos I

GENERALIZACIÓN O ESPECIALIZACIÓN

TOTAL

Cada entidad de nivel más alto debe pertenecer a

un conjunto de entidades de nivel más bajo.

78

Base

de D

ato

s I

Page 79: base de datos I

GENERALIZACIÓN O ESPECIALIZACIÓN

PARCIAL

Algunas entidades de nivel más alto pueden no

pertenecer a algún conjunto de entidades de nivel

más bajo.

Es la predeterminada

79

Base

de D

ato

s I

Page 80: base de datos I

JERARQUÍA

Jerarquías de especialización en las que se

cumple la restricción:

Todo subtipo participa en sólo una

relación supertipo/subtipo

Un subtipo tiene un único supertipo: es el concepto de

árbol

80

Base

de D

ato

s I

Page 81: base de datos I

RETÍCULA

En una retícula de especialización...

Un subtipo puede participar en varias

relaciones supertipo/subtipo

Un subtipo puede tener más de un supertipo

81

Base

de D

ato

s I

Page 82: base de datos I

En las jerarquías de especialización

Cada subtipo hereda atributos y relaciones...

de su (único) supertipo directo

y de sus supertipos predecesores, hasta la raíz

TITULAR hereda de DOCENTE, EMPLEADO y PERSONA

En las retículas de especialización

Un subtipo hereda atributos y relaciones...

de sus supertipos (múltiples) directos herencia múltiple

y de todos sus supertipos predecesores, hasta la raíz

BECARIO hereda directamente de EMPLEADO y ESTUDIANTE,

e indirectamente hereda de PERSONA

» Los subtipos compartidos dan lugar a retículas82

Base

de D

ato

s I

Page 83: base de datos I

REGLAS DE INSERCIÓN Y ELIMINACIÓN

Deben aplicarse a la Especialización y la

Generalización

Insertar una instancia en un supertipo de

una especialización total implica insertarla en,

al menos, un subtipo Y si la especialización es

disjunta, entonces la instancia se insertará en

un único subtipo

Eliminar una instancia de un supertipo

implica eliminarla de todos los subtipos a los que

pertenece

83

Base

de D

ato

s I

Page 84: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

24 de Agosto de 2012

MODELO DE DATOS: MODELO

ENTIDAD-RELACIÓN EXTENDIDO

Page 85: base de datos I

HERENCIA DE ATRIBUTOS

Los atributos de los conjuntos de entidades de

nivel más alto se dice que son heredados por

los conjuntos de entidades de nivel más bajo.

Un conjunto de entidades de nivel más alto con

atributos y relaciones que se aplican a todos los

conjuntos de entidades de nivel más bajo.

Conjuntos de entidades de nivel más bajo con

características distintivas que se aplican sólo en

un conjunto de entidades particular.

85

Base

de D

ato

s I

Page 86: base de datos I

AGREGACIÓN

Imagínese que se tiene una relación ternaria

trabaja-en entre empleado, sucursal y trabajo

¿Cómo lo representarias ?

86

Base

de D

ato

s I

Page 87: base de datos I

RELACIÓN TRABAJA-EN

87

Base

de D

ato

s I

Page 88: base de datos I

AGREGACIÓN

88

Base

de D

ato

s I

Supóngase ahora que se desean registrar los

directores para las tareas realizadas por un

empleado en una sucursal; es decir, se desean

registrar directores por combinaciones (empleado,

sucursal, trabajo).

Asúmase que existe una entidad director.

Page 89: base de datos I

AGREGACIÓN

¿Se necesita una relación cuaternaria?

¿Se necesita una relación binaria entre director y

empleado? ¿Qué pasaría con sucursal trabajo?

¿Qué pasa si se utilizan los constructores básicos

del modelo E-R?

89

Base

de D

ato

s I

Page 90: base de datos I

90

Base

de D

ato

s I

Existe redundancia

Page 91: base de datos I

AGREGACIÓN

La agregación es una abstracción a través de

la cual las relaciones se tratan como entidades de

nivel más alto.

91

Base

de D

ato

s I

Page 92: base de datos I

92

Base

de D

ato

s I

Page 93: base de datos I

Esquema en el MERE que almacena información sobre las

entrevistas que una ETT organiza entre solicitantes de empleo

y diferentes empresas

93

Base

de D

ato

s I

Algunas entrevistas dan lugar a ofertas de empleos y otras no

¿cómo modelamos esto?

Page 94: base de datos I

AGREGACIÓN

94

Base

de D

ato

s I

Page 95: base de datos I

AGREGACIÓN

95

Base

de D

ato

s I

Page 96: base de datos I

AGREGACIÓN

96

Base

de D

ato

s I

Page 97: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

27 de Agosto de 2012

MODELO DE DATOS:

MODELO RELACIONAL

Page 98: base de datos I

MODELOS DE DATOS

Modelos lógicos basados en objetos

Modelo entidad-relación

Modelo orientado a objetos

Modelo funcional de datos etc.

Modelos lógicos basados en registros

Modelo relacional

Modelo de red

Modelo jerárquico

Modelos físicos de datos

Modelo unificador

Memoria de elementos

Page 99: base de datos I

MODELO RELACIONAL

Utiliza un grupo de tablas para representar los

datos y las relaciones entre ellos.

Proporciona una manera simple y potente de

representar los datos

El modelo relacional fue establecido

originalmente por Edgar. Frank. Codd

Page 100: base de datos I

MODELO RELACIONAL

Se ocupa de tres aspectos principales

Estructura de datos

Manipulación de Datos

Integridad de los datos

Page 101: base de datos I

MODELO RELACIONAL

(ESTRUCTURAL DE DATOS)

Page 102: base de datos I

102

Base

de D

ato

s I

MODELO RELACIONAL

(ESTRUCTURAL DE DATOS)

Cardinalidad -- 5

Page 103: base de datos I

PROPIEDADES DE LAS RELACIONES

No existen tuplas duplicadas

Las tuplas están en desorden de arriba hacia

abajo

Los atributos están en desorden, de izquierda a

derecha (no direccionamiento posicional)

Cada tupla contiene exactamente un valor para

cada atributo

103

Base

de D

ato

s I

Page 104: base de datos I

REPRESENTACIÓN CONJUNTO DE

ENTIDADES FUERTES

Sea E un conjunto de entidades fuertes con los

atributos descriptivos a1, a2,…,an. Esta entidad

se representa mediante una tabla llamada E con n

columnas distintas, cada una de las cuales

corresponde a uno de los atributos de E. Cada

fila de la tabla corresponde a una entidad del

conjunto de entidades E.

104

Base

de D

ato

s I

Page 105: base de datos I

Sea A un conjunto de entidades débiles con los

atributos a1, a2,…,am. Sea B el conjunto de

entidades fuertes del que A depende. Sea la clave

primaria de B el conjunto de atributos b1,

b2,…,bn. Se representa el conjunto de entidades A

mediante una tabla llamada A con una columna

por cada uno de los atributos del conjunto:

{a1, a2,…,am} ∪ {b1, b2,…,bn}

105

Base

de D

ato

s I

REPRESENTACIÓN CONJUNTO DE

ENTIDADES DÉBILES

Page 106: base de datos I

EJEMPLO E-R

106

Base

de D

ato

s I

Page 107: base de datos I

107

Base

de D

ato

s I

Page 108: base de datos I

CONJUNTOS DE RELACIONES

Sea R un conjunto de relaciones, sean a1,

a2,…,am el conjunto de atributos formados por la

unión de las claves primarias de cada uno de los

conjuntos de entidades que participan en R, y

sean b1, b2,…,bn los atributos descriptivos de R

(si los hay). El conjunto de relaciones se

representa mediante una tabla llamada R con

una columna por cada uno de los atributos del

conjunto: {a1, a2,…,am} ∪ {b1, b2,…,bn}

108

Base

de D

ato

s I

Page 109: base de datos I

EJEMPLO

109

Base

de D

ato

s I

Page 110: base de datos I

110

Base

de D

ato

s I

Page 111: base de datos I

REDUNDANCIA DE TABLAS

Un conjunto de relaciones uniendo un conjunto de

entidades débiles con el correspondiente conjunto

de entidades fuertes

Estas relaciones son varios a uno y no tienen

atributos descriptivos.

la clave primaria de un conjunto de entidades

débiles incluye la clave primaria del conjunto de

entidades fuertes.

Por lo general la tabla para el conjunto de

relaciones que une un conjunto de entidades

débiles con su correspondiente conjunto de

entidades fuertes es redundante 111

Base

de D

ato

s I

Page 112: base de datos I

EJEMPLO

112

Base

de D

ato

s I

Page 113: base de datos I

ATRIBUTOS COMPUESTO

Los atributos compuestos se manejan creando un

atributo separado para cada uno de los atributos

componentes; no se crea una columna separada

para el propio atributo compuesto.

Ejemplo

Atributo compuesto -- Dirección

calle_direccion, ciudad-dirección

113

Base

de D

ato

s I

Page 114: base de datos I

ATRIBUTOS MULTIVALORADOS

Para un atributo multivalorado M se crea una

tabla T con una columna C que corresponde a la

clave primaria del conjunto de entidades o

conjunto de relaciones del que M es atributo.

114

Base

de D

ato

s I

Page 115: base de datos I

Para este atributo multivalorado se crea una

tabla nombre- subordinado con columnas

nombres, referenciando al atributo nombre-

subordinado de empleado, e idempleado,

representado la clave primaria del conjunto de

entidades empleado.

115

Base

de D

ato

s I

ATRIBUTOS MULTIVALORADOS

Page 116: base de datos I

MODELO RELACIONAL (CLAVES)

Los conceptos de superclave, de clave candidata y

de clave primaria, también son aplicables en el

modelo relacional.

Conjunto de entidades fuertes: La clave

primaria del conjunto de entidades se convierte

en la clave primaria de la relación.

Conjunto de entidades débiles: La tabla y,

por tanto, la relación correspondientes a un

conjunto de entidades débiles incluyen

Los atributos del conjunto de entidades débiles.

La clave primaria del conjunto de entidades fuertes

del que depende el conjunto de entidades débiles. 116

Base

de D

ato

s I

Page 117: base de datos I

La clave primaria de la relación consiste en la unión

de la clave primaria del conjunto de entidades fuertes

y el discriminante del conjunto de entidades débil.

Conjunto de relaciones: La unión de las claves

primarias de los conjuntos de entidades

relacionados se transforma en una superclave de

la relación

117

Base

de D

ato

s I

MODELO RELACIONAL (CLAVES)

Page 118: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

30 de Agosto de 2012

MODELO DE DATOS:

MODELO RELACIONAL

Page 119: base de datos I

● Para cada vinculo 1:1 entre dos entidades (no

débiles) E y F se añade a la relación de alguna de

las entidades la clave primaria de la otra entidad

relacionada.

119

Base

de D

ato

s I

MODELO RELACIONAL (RELACIONES 1-1)

Page 120: base de datos I

120

Base

de D

ato

s Itiene_jefe1 1

EmpleadoCédula

TeléfonoNombre

PrimNom

bre

PrimApelli

doSegApelli

do

Lugares

Departamento

Numero_

Dpto

Nombre_

Dpto

Departamento (Número_Dpto, Nombre_Dpto, Cédula)

MODELO RELACIONAL (RELACIONES 1-1)

Page 121: base de datos I

Para cada vinculo 1:N entre dos entidades (no débiles)

E y F donde F está del lado N del vínculo, se añade a

la relación correspondiente a la entidad F de alguna

de las entidades la clave primaria de la otra entidad

relacionada.

121

Base

de D

ato

s I

MODELO RELACIONAL (RELACIONES 1-N)

Page 122: base de datos I

122

Base

de D

ato

s I

MODELO RELACIONAL (RELACIONES 1-N)

pertenece_aN 1

EmpleadoCédula

Teléfon

o

Nombr

e

PrimNo

mbre

PrimApel

lidoSegApel

lidoLugare

s

Departamento

Numero

_Dpto

Nombre

_Dpto

Empleado (Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono, Numero_Dpto)

Page 123: base de datos I

Para cada vinculo M:N entre dos entidades se crea

una relación R.

Los atributos de la relación R serán las claves

primarias de las entidades relacionadas mas los

atributos propios del vinculo.

La clave primaria de la relación R será el conjunto de

todos los atributos que sean claves primarias de las

entidades relacionadas.

123

Base

de D

ato

s I

MODELO RELACIONAL (RELACIONES M-N)

Page 124: base de datos I

124

Base

de D

ato

s Itrabaja_enN M

EmpleadoCédula

Teléfon

oNombre

PrimNom

bre

PrimApelli

doSegApelli

do

Proyecto

Numero_Proy

ecto

Nombre_Proy

ectoHoras

Trabaja_en (Cédula, Número_Proyecto, Horas)

Empleado (Cédula, PrimNombre, PrimApellido, SegApellido, Teléfono)

Proyecto (Número_Proyecto, Nombre_Proyecto)

MODELO RELACIONAL (RELACIONES M-N)

Page 125: base de datos I

Transformación de una generalización

Existen 3 estrategias: 125

Base

de D

ato

s I

TRANSFORMACIÓN MODELO E-R EXTENDIDO

AL MODELO RELACIONAL

E (Entidad

Padre,

Entidad

Generalizada)

Ei

(Entidades

Especializadas)

Persona

Cédu

la

Nomb

re

Apelli

doDirec

ción

Empleado EstudianteProfesor

Salario Carrera

Costo

_Hora

ES

Page 126: base de datos I

Estrategia 1: Crear una relación R para la entidad

padre E y una relación Ri para cada entidad

especializada Ei.

La relación R tiene todos los atributos de la entidad

E.

Cada relación Ri tiene todos los atributos de la

entidad Ei correspondiente.

Todas las relaciones (tanto R como cada Ri)

comparten la misma clave primaria de la entidad

padre E.

126

Base

de D

ato

s I

TRANSFORMACIÓN MODELO E-R EXTENDIDO

AL MODELO RELACIONAL

Page 127: base de datos I

127

Base

de D

ato

s I

Persona

Cédu

la

Nombr

e

Apellid

o

Direc

ción

Empleado EstudianteProfesor

Salario Carrera

Costo

_Hora

ES

Persona (Cédula, Nombre, Apellido, Dirección)

Empleado (Cédula, Salario)

Estudiante (Cédula, Carrera)

Profesor (Cédula, Costo_Hora)

Esta estrategia funciona tanto para subclases

que se traslapan como para subclases

disjuntas y para especializaciones totales o

parciales

Persona <123456, ‘Juan', 'Perez', 'Av. Xalapa'>

Empleado <123456, 2000>

Estudiante <123456, 'Ingeniería'>

TRANSFORMACIÓN MODELO E-R EXTENDIDO

AL MODELO RELACIONAL

Page 128: base de datos I

Estrategia 2: Crear una relación Ri para cada

entidad especializada Ei.

Cada relación Ri tiene todos los atributos de la

entidad Ei correspondiente más los atributos de

la entidad padre E.

La clave primaria de cada relación Ri es la clave

primaria de la entidad padre E.

128

Base

de D

ato

s I

TRANSFORMACIÓN MODELO E-R EXTENDIDO

AL MODELO RELACIONAL

Page 129: base de datos I

129

Base

de D

ato

s I

TRANSFORMACIÓN MODELO E-R EXTENDIDO

AL MODELO RELACIONAL

Persona

Cédu

la

Nombr

e

Apellid

o

Direc

ción

Emplead

o

Estudiant

eProfesor

Salario Carrera

Costo

_Hora

Aplica para

especializaciones

disjuntas y

totales

Empleado (Cédula, Nombre, Apellido, Dirección, Salario)

Profesor (Cédula, Nombre, Apellido, Dirección, Costo_Hora)

Estudiante (Cédula, Nombre, Apellido, Dirección, Carrera)

Page 130: base de datos I

130

Base

de D

ato

s I

TRANSFORMACIÓN MODELO E-R EXTENDIDO

AL MODELO RELACIONAL

● Estrategia 3: Utilizar una misma relación

R para la entidad padre E y para las

entidades especializadas Ei.

– La relación R tiene todos los atributos de la entidad padre E

más todos los atributos todas las entidades especializadas Ei.

– Se crea un atributo adicional que define el “tipo” de entidad Ei

que representa una tupla en particular.

– Aplica sólo a casos donde las subclases son disjuntas.

Page 131: base de datos I

131

Base

de D

ato

s I

Persona

Cédu

la

Nombr

e

Apellid

o

Direc

ción

Emplead

o

Estudiant

eProfesor

Salario Carrera

Costo

_Hora

Aplica solo para

especializaciones

disjuntas

TRANSFORMACIÓN MODELO E-R EXTENDIDO

AL MODELO RELACIONAL

Persona (Cédula, Nombre, Apellido, Dirección,Tipo, Salario, Costo_Hora, Carrera)

12453334, ‘Juan', 'Perez', 'Av. Xalapa',0, 5000, NULL, NULL

Page 132: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

17 de Septiembre de 2012

FORMAS NORMALES

(NORMALIZACIÓN)

Page 133: base de datos I

FORMAS NORMALES

El objetivo del diseño de bases de datos

relacionales en la generación de un conjunto de

esquemas relacionales que nos permita

almacenar la información sin redundancia y

recuperar rápidamente.

Una vez obtenido el esquema relacional

resultante del modelo E-R normalmente

tendremos una buena base de datos, pero otras

veces no será así

133

Base

de D

ato

s I

Page 134: base de datos I

PROBLEMAS DEL ESQUEMA RELACIONAL

Redundancia

Ambigüedades

Perdida de restricciones de integridad

134

Base

de D

ato

s I

Page 135: base de datos I

FORMAS NORMALES

Se corresponden a una teoría de normalización

iniciada por Codd.

Codd definio en 1970 la 1FN, después

aparecieron la 2, 3, Boyce-Codd, 4 y 5 Forma

Normal

135

Base

de D

ato

s I

Page 136: base de datos I

PRIMERA FORMA NORMAL (1FN)

Se dice que el esquema de una relación R está en

la primera forma normal (1FN) si los

dominios de todos los atributos de R son

atómicos.

Un dominio es atómico si se considera que los

elementos del dominio son unidades

indivisibles.

136

Base

de D

ato

s I

Page 137: base de datos I

PRIMERA FORMA NORMAL (1FN)

Una tabla se encuentra en 1FN si impide que un

atributo de una tupla puede tomar más de un

valor.

La tabla anterior visualmente es una tabla pero

no una relacional. No cumple la 1FN

137

Base

de D

ato

s I

Page 138: base de datos I

DEPENDENCIA FUNCIONAL

Se dice que un conjunto de atributos (Y) depende funcionalmente de otro conjunto de atributos (X) si para cada valor de X hay un unico valor posible para Y. simbólicamente se denota por XY

Por ejemplo el nombre de una persona depende funcionalmente del DNI, para un DNI concreto solo hay un nombre posible. En la tabla ejemplo anterior, el departamento no tiene dependencia funcional ya que para un mismo DNI puede haber más de un departamento posible.

Al conjunto X del que depende funcionalmente el conjunto Y se le llama determinante . Al conjunto Y se le llama implicado. 138

Base

de D

ato

s I

Page 139: base de datos I

SEGUNDA FORMA NORMAL

Una relación esta en 2FN si y solo si esta en 1FN

y todo atributo que no sea clave es dependiente

irreduciblemente de la clave primaria.

Toda la clave principal debe hacer dependientes

al resto de los atributos si hay atributos que

dependen solo de parte de la clave y esos

atributos formaran otra tabla.

139

Base

de D

ato

s I

Page 140: base de datos I

SEGUNDA FORMA NORMAL (2FN)

Suponiendo que el DNI y el cod_curso formen una

clave principal para esta tabla solo la nota tiene

dependencia funcional completa . El nombre y los

apellidos dependen de forma completa del DNI.

La tabla no esta en 2FN

140

Base

de D

ato

s I

Page 141: base de datos I

SEGUNDA FORMA NORMAL

La solución seria:

141

Base

de D

ato

s I

Page 142: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

20 de Septiembre de 2012

FORMAS NORMALES

(NORMALIZACIÓN)

Page 143: base de datos I

FORMAS NORMALES

1. No elementos repetidos o grupos de elementos

2. Sin dependencias parciales de llaves

concatenadas

3. Sin dependencias de atributos que no son llaves

143

Base

de D

ato

s I

Page 144: base de datos I

EJEMPLO FACTURACIÓN

144

Base

de D

ato

s I

Page 145: base de datos I

HOJA DE CALCULO CON LA INFORMACIÓN

145

Base

de D

ato

s I

Page 146: base de datos I

¿QUÉ SUCEDE CUANDO NOS SOLICITAN?

¿Cuántos Ítems solicito un cliente especifico en

una fecha especifica?

¿Cuáles han sido las ventas totales en una ciudad

dada?

¿Qué Ítems fueron vendidos en Julio de 2003?

Etc…

Aumenta no. de información = Aumenta el hecho

de encontrar estas respuestas

146

Base

de D

ato

s I

Page 147: base de datos I

PRIMERA FORMA NORMAL

No elementos repetidos o grupos de elementos

Solución

147

Base

de D

ato

s I

Page 148: base de datos I

SEGUNDA FORMA NORMAL (2FN)

Sin dependencias parciales en llaves concatenadas

Preguntar por cada una de las columnas

(atributos) ¿Puede este atributo existir sin una de

las partes de la llave primaria concatenada? si la

respuesta es si, no paso la 2FN

148

Base

de D

ato

s I

Page 149: base de datos I

SEGUNDA FORMA NORMAL (2FN)

order_date x

customer_id ?

Customer_name ?

Customer_addresss ?

Customer_city ?

Customer_state ?

Item_descripción x

Item_qty

Item_price x

Item_total_price (Derivados)

Order_total_price (Derivados)149

Base

de D

ato

s I

Page 150: base de datos I

SEGUNDA FORMA NORMAL (2FN)

Primero tomamos la segunda mitad de la llave primaria concatenada

(ítem_id) y la ponemos en su propia tabla.

Los otros campos que dependen de la primera parte de la llave primaria

(order_id) y los que no estamos seguros, se quedan donde están.

150

Base

de D

ato

s I

Page 151: base de datos I

SEGUNDA FORMA NORMAL (2FN)

1. Hemos traido una copia de la columna order_id

a la tabla order_items (Recordar a que orden

pertenece)

2. La tabla orders tiene menos columnas que antes

3. La tabla orders ya no tiene una llave primaria

concatenada

4. La tabla orders_item si tiene una llave primaria

concatenada

151

Base

de D

ato

s I

Page 152: base de datos I

SEGUNDA FORMA NORMAL (2FN)

Item_descripción x

Item_qty

Item_price x

152

Base

de D

ato

s I

Page 153: base de datos I

SEGUNDA FORMA NORMAL (2FN)

Creamos una nueva tabla que llamamos ítems

order_items

153

Base

de D

ato

s I

Page 154: base de datos I

RESULTADO HASTA LA 2FN

154

Base

de D

ato

s I

Page 155: base de datos I

TERCERA FORMA NORMAL (3FN)

Sin dependencia de atributos que no son llaves

Como está nuestra BD ahora, si un cliente hace

mas de una orden, tenemos que introducir toda

su informaciones de contactos.Eso sucede porque

hay columnas en la tabla orders que dependen

de “atributos que no son llaves”.

155

Base

de D

ato

s I

Page 156: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

07 de Septiembre de 2012

ALGEBRA RELACIONAL

Page 157: base de datos I

ALGEBRA RELACIONAL

Es un leguaje de consulta procedimental

Consta de un conjunto de operaciones

Toman como entrada una o dos relaciones y

producen como resultado una nueva relación

Page 158: base de datos I

Operaciones fundamentales:

Selección

Proyección

Unión

Diferencia de conjuntos

Producto cartesiano

renombramiento

ALGEBRA RELACIONAL

Page 159: base de datos I

Otras operaciones:

Intersección de conjuntos

Reunión natural

División

Asignación

ALGEBRA RELACIONAL

Page 160: base de datos I

Tipos de operaciones:

Unarias

Selección

Proyección

Renombramiento

ALGEBRA RELACIONAL

Page 161: base de datos I

Binarias

Unión

Diferencia de conjuntos

Producto cartesiano

ALGEBRA RELACIONAL

Page 162: base de datos I

ALGEBRA RELACIONAL (SELECCIÓN)

Selecciona tuplas que satisfacen un predicado

dado. Se utiliza la letra griega sigma minúscula

(σ) para denotar la selección.

σ nombre_sucursal = “Navacerrada” (sucursal)

Resultado:

Page 163: base de datos I

Se permiten las comparaciones que utilizan los

operadores = ≠ < < > > en el predicado de

selección.

σ nombre_sucursal = “Becerril” ^ activos > 2.000

(sucursal)

Resultado:

163

Base

de D

ato

s I

ALGEBRA RELACIONAL (SELECCIÓN)

Page 164: base de datos I

La operación proyección es una operación unaria

que devuelve su relación de argumentos,

excluyendo algunos argumentos.

Dado que las relaciones son conjuntos, se

eliminan todas las filas duplicadas.

La proyección se denota por la letra griega

mayúscula pi (Π). Se crea una lista de los

atributos que se desea que aparezcan en el

resultado como subíndice de Π.

164

Base

de D

ato

s I

ALGEBRA RELACIONAL (PROYECCIÓN)

Page 165: base de datos I

∏ numero_prestamo, importe(prestamo)

Resultado:

165

Base

de D

ato

s I

ALGEBRA RELACIONAL (PROYECCIÓN)

Page 166: base de datos I

Los resultados de las expresiones de algebra

relacional no tienen un nombre que se pueda

utilizar para referirse a ellas.

Operador renombramiento, denotado por la letra

griega rho minúscula (ρ)

Dada una expresión E del algebra relacional, la

expresión devuelve el resultado de la expresión E

con el nombre x.

ρx(E)

ρnpres(σnumero-prestamo=900166

Base

de D

ato

s IALGEBRA RELACIONAL (RENOMBRAMIENTO)

Page 167: base de datos I

EJERCICIO

167

Base

de D

ato

s I

Page 168: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

13 de Septiembre de 2012

ALGEBRA RELACIONAL

(OPERACIONES BINARIAS)

Page 169: base de datos I

ALGEBRA RELACIONAL (UNION)

Como su nombre lo indica une información

contenida en la relación r y s, es denotada por U

Para que una operación U sea valida deben de

cumplir dos condiciones

Las relaciones r y s deben ser de la misma aridad

Los dominios de los atributos i-ésimos de r y s deben

ser iguales para todo i.

169

Base

de D

ato

s I

Page 170: base de datos I

EJEMPLO

∏nombre_cliente(Prestatario) U ∏nombre_cliente(impositor)

Resultado

170

Base

de D

ato

s I

Page 171: base de datos I

ALGEBRA RELACIONAL (DIFERENCIA)

Permite buscar las tuplas que estén en una relación

pero no en la otra, denotada por r

La expresión r-s da como resultado una relación que

contiene las tuplas que están en r pero no en s

Al igual que la operación unión las relaciones r y s deberan ser

de la misma aridad y los dominios de los atributos i-ésimos de r

y de s iguales

171

Base

de D

ato

s I

Page 172: base de datos I

EJEMPLO

172

Base

de D

ato

s I

Πnombre-cliente (impositor) – Πnombre-cliente (prestatario)

Resultado

Page 173: base de datos I

ALGEBRA RELACIONAL (PRODUCTO CARTESIANO)

Permite combinar información de 2 relaciones

Denotada por una aspa (x)

El producto cartesiano de las relaciones r1 y r2 es

igual a r1 x r2

Dado que el mismo nombre de un atributo puede

aparecer tanto e r1 como en r2 para distinguir se

adjunta al atributo el nombre de la relación de la

que proviene originalmente

173

Base

de D

ato

s I

Page 174: base de datos I

EJEMPLO

(Película x Estudio)

Resultado:

174

Base

de D

ato

s IID

Pelicul

a

Nombre Año Pelicula.ID_Estudio Estudio.ID_Estudio Nombre

1 La guerra de las galaxias 1977 3 1 Ghibli

1 La guerra de las galaxias 1977 3 2 New Line Cinema

1 La guerra de las galaxias 1977 3 3 Lucasfilms

1 La guerra de las galaxias 1977 3 4 Sogecine

2 La comunidad del anillo 2001 2 1 Ghibli

2 La comunidad del anillo 2001 2 2 New Line Cinema

2 La comunidad del anillo 2001 2 3 Lucasfilms

2 La comunidad del anillo 2001 2 4 Sogecine

3 Mar a dentro 2004 4 1 Ghibli

3 Mar a dentro 2004 4 2 New Line Cinema

3 Mar a dentro 2004 4 3 Lucasfilms

3 Mar a dentro 2004 4 4 Sogecine

4 El viaje de Chihiro 2001 1 1 Ghibli

4 El viaje de Chihiro 2001 1 2 New Line Cinema

4 El viaje de Chihiro 2001 1 3 Lucasfilms

4 El viaje de Chihiro 2001 1 4 Sogecine

Page 175: base de datos I

ALGEBRA RELACIONAL

(INTERSECCIÓN DE CONJUNTOS)

Primera operación adicional del algebra relacional

Se representa con ∩

Ejemplo:

∏nombre_cliente(Prestatario) ∩ ∏ nombre_cliente(Impositor)

Resultado:

175

Base

de D

ato

s I

nombre_cliente

Gómez

López

Santos

Page 176: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

24 de Septiembre de 2012

SISTEMA GESTOR DE

BASE DE DATOS

Page 177: base de datos I

SISTEMA GESTOR DE BASE DE DATOS

(SGBD)

Un Sistema de Gestión de Bases de Datos

(SGBD) consiste en una colección de datos

interrelacionados y un conjunto de programas

para acceder a los mismos.

Permite el almacenamiento, manipulación y

consulta de datos pertenecientes a una base de

datos organizada en uno o varios ficheros.

177

Base

de D

ato

s I

Page 178: base de datos I

CARACTERÍSTICAS DE UN SGBD

El método de almacenamiento y el programa que gestiona los datos (servidor) son independientes del programa desde el que se lanzan las consultas (cliente)

En lugar de primarse la visualización de toda la información, el objetivo fundamental es permitir consultas complejas, cuya resolución está optimizada, expresadas mediante un lenguaje formal.

El almacenamiento de los datos se hace de forma eficiente aunque oculta para el usuario y normalmente tiene, al contrario de lo que ocurre con las hojas de cálculo, poco que ver con la estructura con la que los datos se presentan al usuario.

El acceso concurrente de múltiples usuarios autorizados a los datos, realizando operaciones de actualización y consulta de los mismos garantizando la ausencia de problemas de seguridad o integridad.

178

Base

de D

ato

s I

Page 179: base de datos I

ESTRUCTURA DE SGBD

179

Base

de D

ato

s I

Page 180: base de datos I

ESQUEMA DEL FUNCIONAMIENTO DE UN

SGBD

180

Base

de D

ato

s I

Page 181: base de datos I

FUNCIONAMIENTO DE UN SGBD

1. El proceso lanzado por el usuario llama al SGBD indicando la porción de labase de datos que se desea tratar

2. El SGBD traduce la llamada a términos del esquema lógico de la base dedatos. Accede al esquema lógico comprobando derechos de acceso y latraducción física

3. El SGBD obtiene el esquema físico

4. El SGBD traduce la llamada a los métodos de acceso del Sistema Operativoque permiten acceder realmente a los datos requeridos

5. El Sistema Operativo accede a los datos tras traducir las órdenes dadas porel SGBD

6. Los datos pasan del disco a una memoria intermedia o buffer. En ese bufferse almacenarán los datos según se vayan recibiendo

7. Los datos pasan del buffer al área de trabajo del usuario (ATU) del procesodel usuario. Los pasos 6 y 7 se repiten hasta que se envíe toda la informaciónal proceso de usuario.

8. En el caso de que haya errores en cualquier momento del proceso, el SGBDdevuelve indicadores en los que manifiesta si ha habido errores oadvertencias a tener en cuenta. Esto se indica al área de comunicaciones delproceso de usuario. Si las indicaciones son satisfactorias, los datos de la ATUserán utilizables por el proceso de usuario.

181

Base

de D

ato

s I

Page 182: base de datos I

PROCESO DE CREACIÓN Y MANIPULACIÓN

DE BD

Fase de creación:

El analista o diseñador utiliza una herramienta

CASE para crear el esquema conceptual

El administrador de la base de datos (DBA) crea el

esquema interno utilizando las herramientas de

definición de datos del SGBD y herramientas CASE

Los desarrolladores utilizan las aplicaciones

necesarias para generar el esquema externo

mediante herramientas de creación de aplicaciones

apropiadas y herramientas CASE

182

Base

de D

ato

s I

Page 183: base de datos I

183

Base

de D

ato

s IPROCESO DE CREACIÓN Y MANIPULACIÓN

DE BD

Fase de Manipulación

El usuario realiza una consulta utilizando el esquema

externo

Las aplicaciones las traducen a su forma conceptual

El esquema conceptual es traducido por la SGBD a su

forma interna

El Sistema Operativo accede al almacenamiento

físico correspondiente y devuelve los datos al SGBD

El SGBD transforma los datos internos en datos

conceptuales y los entrega a la aplicación

La aplicación muestra los datos habiéndolos

traducido en su forma externa. Así los ve el usuario

Page 184: base de datos I

SGBM

Sistemas libres

PostgreSQL (http://www.postgresql.org Postgresql) Licencia BSD

SQLite (http://www.sqlite.org SQLite) Licencia Dominio Público

DB2 Express-C (http://www.ibm.com/software/data/db2/express/)

MySQL

Drizzle

Sistemas no libres

dBase

Fox Pro

MAGIC

Microsoft Access

Microsoft SQL Server

Oracle

Paradox

Progress (DBMS)

Sybase ASE

Sybase ASA

184

Base

de D

ato

s I

Page 185: base de datos I

LENGUAJE DE UN SGBD

LDD

Lenguaje de Definición de Datos sirve para

especificar el esquema conceptual

LMD

Lenguaje de Manipulación de Datos lenguaje que

permite manipular los datos de la base de datos

185

Base

de D

ato

s I

Page 186: base de datos I

STRUCTURED QUERY LANGUAJE (SQL)

SQL usa una combinación de álgebra relacional y

construcciones del cálculo relacional.

SQL es el lenguaje fundamental de los SGBD

relacionales

186

Base

de D

ato

s I

Page 187: base de datos I

POSIBLES MODOS DE EJECUCIÓN SQL

Ejecución directa: las instrucciones se introducen

a través de un cliente que esta directamente

conectando al servidor SQL

Ejecución incrustada o embebida: las

instrucciones se colocan como parte del codigo de

otro lenguaje (C, Java, Pascal, Visual Basic)

Ejecución de a través de clientes gráficos

187

Base

de D

ato

s I

Page 188: base de datos I

CAPACIDADES DE SQL

Comandos para la definición y creación de una base de datos

Comandos para inserción, borrado o modificación de datos

Comandos para la consulta de datos seleccionados de acuerdo a criterios complejos que involucran diversas tablas relacionadas por un campo común

Capacidades aritméticas como comparaciones, por ejemplo A > B + 3.

Funciones matemáticas (sqrt(x), cos(x)) o de manejo de textos.

Asignación y comandos de impresión: es posible imprimir una tabla construida por una consulta o almacenarla como una nueva tabla.

Funciones agregadas: Operaciones tales como promedio (avg), desviación típica (stddev), suma (sum), máximo (max), etc. 188

Base

de D

ato

s I

Page 189: base de datos I

ELEMENTOS DEL LENGUAJE SQL

Comandos:

SELECT. comando que permite realizar consultas sobre los datos de la base de datos. Obtiene datos de la base de datos. A ésta parte del lenguaje se la conoce como DQL (Data Query Language, Lenguaje de consulta de datos); pero es parte del DML del lenguaje.

DML, Data Manipulation Language (Lenguaje de manipulación de datos). Modifica filas (registros) de la base de datos. Lo forman las instrucciones INSERT, UPDATE, MERGE y DELETE.

DDL, Data Definition Language (Lenguaje de definición de datos). Permiten modificar la estructura de las tablas de la base de datos. Lo forman las instrucciones CREATE, ALTER, DROP, RENAME y TRUNCATE.

DCL, Data Control Language (Lenguaje de control de datos). Administran los derechos y restricciones de los usuarios. Lo forman las instrucciones GRANT y REVOKE.

Instrucciones de control de transacciones (DTL). Administran las modificaciones creadas por las instrucciones DML. Lo forman las instrucciones ROLLBACK y COMMIT. Se las considera parte del DML.

189

Base

de D

ato

s I

Page 190: base de datos I

Clausulas : Son palabras especiales que permiten modificar el funcionamiento de un comando (WHERE, ORDER BY,...)

Operadores. Permiten crear expresiones complejas. Pueden ser aritméticos (+,-,*,/,...) lógicos (>, <, !=,<>, AND, OR,...)

Funciones. Para conseguir valores complejos (SUM(), DATE(),...)

Metadatos. Obtenidos de la propia base de datos 190

Base

de D

ato

s I

Page 191: base de datos I

NORMAS DE ESCRITURA SQL

En SQL no se distingue entre mayúsculas y minúsculas.

La instrucciones finalizan con el signo de punto y coma

Cualquier comando SQL (SELECT, INSERT,...) puede ser partidos por espacios o saltos de línea antes de finalizar la instrucción

Los comentarios en el código SQL comienzan por /* y terminan por */ (excepto en algunos SGBD) 191

Base

de D

ato

s I

Page 192: base de datos I

CREACIÓN DE USUARIO

CREATE USER „ana‟@‟localhost‟ IDENTIFIED

BY ‟123‟;

192

Base

de D

ato

s I

Page 193: base de datos I

CONECTARSE LOCAL

mysql –h localhost –u miusuario –p;

MOSTRAR USUARIO ACTUAL

select current_user();

193

Base

de D

ato

s I

Page 194: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

27 de Septiembre de 2012

MYSQL

Page 195: base de datos I

USUARIOS Y PRIVILEGIOS

195

Base

de D

ato

s I

Los pasos a seguir son los siguientes:

Nos conectamos a la base de datos como root

Creamos una nueva base de datos (CREATE

DATABASE)

Creamos un nuevo usuario para que localmente

tenga todos los privilegios sobre la base de datos

creada. (GRANT ALL PRIVILEGES ON db.*

TO „usuario'@'localhost' IDENTIFIED BY 'contraseña'

WITH GRANT OPTION;)

Finalmente, actualizamos los permisos con

FLUSH PRIVILEGES

Page 196: base de datos I

INSTRUCCIONES BÁSICAS SQL

CREATE TABLE

CREATE TABLE mitabla (c1 tipo, c2 tipo, c3 tipo);

ALTER

ALTER TABLE tabla ADD columna tipo;

ALTER TABLE tabla DROP COLUMN columna;

ALTER TABLE tabla CHANGE anterior nuevo tipo;

ALTER TABLE tabla ADD primary key (columna);

INSERT

INSERT INTO mitabla VALUES (c1,c2,c3);

SELECT

SELECT atributo FROM mitabla;

SELECT * FROM mitabla;

SELECT * FROM mitabla WHERE condicion196

Base

de D

ato

s I

Page 197: base de datos I

PRACTICA

Crear la base de datos practica

Crear las siguientes tablas

197

Base

de D

ato

s I

Page 198: base de datos I

TAREA

Investigar como crear una base de datos en

Oracle

198

Base

de D

ato

s I

Page 199: base de datos I

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

[email protected]

04 de Octubre de 2012

MYSQL

Page 200: base de datos I

INSTRUCCIONES SQL

Update: es usado para actualizar registros en un

tabla

UPDATE nombre_tabla SET column=valornuevo

WHERE condición

Distinct: permite omitir valores repetidos

SELECT DISTINCT columna FROM nombre_tabla

AND & OR: muestra registro dada dos

condiciones

SELECT * FROM nombre_tabla WHERE condicion1

AND condicion2

SELECT * FROM nombre_tabla WHERE condición1

OR condicion2 200

Base

de D

ato

s I

Page 201: base de datos I

Order By: es usado para ordenar los resultados

dada una condición

SELECT columna FROM nombre_tabla ORDER BY

nombre_columna ASC|DESC

Like : es usado para realizar un filtro de

busqueda dada la coincidencia expresada en like

SELECT * FROM nombre_tabla WHERE columna

LIKE „%‟;

201

Base

de D

ato

s I

INSTRUCCIONES SQL

Page 202: base de datos I

AS: obtener una tabla o columna y asignarle un

alias

SELECT column_name(s) FROM table_name

AS alias_name

SELECT column_name AS alias_name

FROM table_name

UNION: combina dos o más SELECT

SELECT column_name(s) FROM table_name1

UNION

SELECT column_name(s) FROM table_name2

¿Que hace UNION ALL?

202

Base

de D

ato

s I

INSTRUCCIONES SQL

Page 203: base de datos I

JOINS: se utilizan para consultar datos de 2 o más tablas, basándose en una relación entre ciertas columnas

Tipos de JOINS:

INNER JOIN: regresa las filas que coincidan en ambas tablas

SELECT column_name(s)FROM table_name1INNER JOIN table_name2ON table_name1.column_name=table_name2.column_name

LEFT JOIN: regresa las filas de la tabla de la izquierda, incluso si no hay coincidencias en la segunda

SELECT column_name(s)FROM table_name1LEFT JOIN table_name2ON table_name1.column_name=table_name2.column_name

RIGHT JOIN 203

Base

de D

ato

s I

INSTRUCCIONES SQL

Page 204: base de datos I

Producto cartesiano: Combinación de todas las

filas de dos tablas usando la sentencia SELECT,

los nombres de las tablas se indican después de la

clausula FROM separados por comas.

SELECT * FROM tabla1, tabla2

204

Base

de D

ato

s I

INSTRUCCIONES SQL

Page 205: base de datos I

BIBLIOGRAFÍA

205

Base

de D

ato

s I

http://ubuntuone.com/p/sqt/

http://www.w3schools.com/sql

Silberschatz A. (2009) Fundamentos de Bases de

Datos., McGraw-Hill Inc.

Date,C.J. (2001) Introducción a los sistemas de

bases de datos, Pearson Educación