Вы находитесь на странице: 1из 205

BASE DE DATOS I

L.I. Ana Luz Polo Estrella

analu.polo@gmail.com
06 de Agosto de 2012

FECHAS IMPORTANTES

Inicio de Clase

6 de Agosto de 2012
Base de Datos I

Fin de Clases

23 de Noviembre de 2012

EVALUACIN

Base de Datos I

Examen parcial Tareas y participaciones Proyecto de entrega

40 % 30% 30%

EXMENES
3 Exmenes Parciales Exmenes en lnea Pasar con 8 examen para no presentar en final Examen extraordinario y titulo todo

Base de Datos I

Examen 1er Parcial

Fecha 07 de Septiembre Conceptos Bsicos de BD Modelo de Datos Modelo Entidad-Relacin Modelo Relacional Normalizaciones SGBD

2do Parcial

12 Octubre

3er Parcial

16 Noviembre

Algebra Relacional SQL

TAREAS Y PARTICIPACIONES
Todas las tareas tiene un porcentaje, no se aceptaran tareas o practicas extemporneas. Muy importante las participaciones en clase, opinando, investigando sobre los temas.

Base de Datos I

PROYECTO
Integrar un equipo de 3 personas El proyecto se entrega 1 da antes del examen Es un proyecto integrador

Base de Datos I

Anlisis del contexto y requerimientos Modelo E-R Modelo Relacional Elaboracin y consultas a la base de datos

IMPORTANTE
Derecho a examen con el 80% de asistencias Los retardos se pasaran con 15 minutos Despus de los 15 minutos, se traducir en una inasistencia

Base de Datos I

Programa Base de Datos I


Base de Datos I

ACTIVIDAD 1
Qu es Dato Qu es informacin Diferencia entre Dato e Informacin Investigar la definicin de Base de Datos de acuerdo a 2 autores Colocar una definicin personal Colocar las referencias bibliogrficas

Base de Datos I

BASE DE DATOS I

CONCEPTOS BSICOS DE BASES DE DATOS

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 09 de Agosto de 2012

CONCEPTOS BSICOS

Dato: Conjunto de caracteres con algn significado, pueden ser numricos, alfanumricos o alfabetos.
Informacin:

Base de Datos I

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 relacin con un ordenador.

11

Maquina de perforado Cintas Magnticas Discos

12

Base de Datos I

SISTEMA DE ARCHIVOS
Surgieron a raz de la necesidad de almacenamiento de la informacin para su correspondiente reutilizacin Caractersticas de los Sistemas de Archivos
1. 2.
3. 4. 5. 6.

Base de Datos I

7.

8.

Redundancia Dificultad en el acceso a los datos Aislamiento de datos Problemas de integridad Problemas de atomicidad Anomalas en el acceso concurrente Problemas de seguridad Inconsistencia de Datos

13

BASES DE DATOS

Base de Datos: Una base de datos es un conjunto de datos persistentes que es utilizado por los sistemas de aplicacin de alguna empresa dada.[Date, 2001]

14

Base de Datos I

BASE DE DATOS FRENTE SISTEMA DE ARCHIVOS

Base de Datos I

Los datos pueden compartirse Es posible reducir la redundancia Evitar la inconsistencia Manejo de transacciones Mantener integridad Seguridad

15

16

Base de Datos I

OBSERVA!

17

Base de Datos I

Dudas?

18

Base de Datos I

Ejemplifica cada uno de los conceptos vistos en clase


Base de Datos I

Redundancia Integridad Atomicidad

19

VISIN DE LOS DATOS (ANSI/SPARC) (SISTEMA DE BASES DE DATOS)


Nivel Fsico: El nivel ms bajo de abstraccin describe cmo se almacenan realmente los datos. Nivel Lgico: El siguiente nivel ms alto de abstraccin describe qu datos se almacenan en la base de datos y qu relaciones existen entre esos datos. Nivel de Vistas: El nivel ms alto de abstraccin describe slo parte de la base de datos completa.

Base de Datos I

20

Nivel de Vistas
Base de Datos I

Nivel Lgico

Nivel Fsico Formato de archivo a utilizar, nmero de bytes

21

INVESTIGAR

Universo del discurso o Minimundo


Base de Datos I

22

BASE DE DATOS I
ANLISIS DEL CONTEXTO

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 10 de Agosto de 2012

UNIVERSO DEL DISCURSO


Entendemos aquello a lo que dirigimos nuestra atencin con alguna intencin 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 travs de datos, entendidos como valores de caractersticas observadas sobre dichos individuos.

24

Base de Datos I

USUARIOS DE LAS BASES DE DATOS


Diseadores de bases de datos: Identificar los datos que sern almacenados y elegir las estructuras apropiadas. Administrador de Bases de Datos (): autorizar acceso a las bases de datos. Modificacin del esquema, mantenimiento rutinario Usuarios finales: acceden a la base de datos espordicamente mediante las aplicaciones Programadores de aplicaciones: son profesionales informticos que escriben aplicaciones

25

Base de Datos I

DISEO DE LA BASE DE DATOS

Anlisis del contexto


La especificacin inicial de los requisitos de usuario se puede basar en entrevistas con los usuarios de la base de datos y en el anlisis propio del diseador del desarrollo. La descripcin que surge de esta fase de diseo sirve como base para especificar la estructura conceptual de la base de datos.

Base de Datos I

26

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 prstamos. Un cliente puede estar asociado con un banquero particular, que puede actuar como responsable de prstamos o banquero personal para un cliente.

27

Base de Datos I

Los empleados del banco se identifican mediante sus valores de id-empleado. La administracin del banco almacena el nombre y nmero de telfono de cada empleado, los nombres de los subordinados del empleado, y el nmero idempleado del jefe del empleado. El banco tambin mantiene registro de la fecha de comienzo del contrato del empleado, as como su antigedad.

28

Base de Datos I

El banco ofrece dos tipos de cuentas: cuentas de ahorro y cuentas corrientes. Las cuentas pueden asociarse a ms de un cliente y un cliente puede tener ms de una cuenta. Cada cuenta est asignada a un nico nmero de cuenta. El banco mantiene un registro del saldo de cada cuenta y la fecha ms reciente en que la cuenta fue accedida por cada cliente que mantiene la cuenta. Adems, cada cuenta de ahorro tiene un tipo de inters y para cada cuenta corriente se almacena el descubierto.

29

Base de Datos I

BASE DE DATOS I MODELO DE DATOS

L.I. Ana Luz Polo Estrella


analu.polo@gmail.com 13 de Agosto de 2012

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 abstraccin que permite la representacin de una parcela del mundo real (universo del discurso o mini-mundo) cuyos datos nos interesa registrar.

Base de Datos I

31

Modelos Globales o lgicos


Base de Datos I

32

INTRODUCCIN

Base de Datos I

LOS MODELOS DE DATOS EN EL PROCESO DE DISEO DE UNA BASE DE DATOS

33

MODELO DE DATOS CONCEPTUAL


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

Base de Datos I

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 difusin

Muy extendido en los mtodos de diseo de bases de datos Soportado por herramientas software de diseo (CASE)

34

MODELO ENTIDAD-RELACIN
Requisitos de datos
Base de Datos I

DISEO CONCEPTUAL

Esquema Conceptual

MER
35

MODELO ENTIDAD-RELACIN
Descripcin

concisa de los requisitos de informacin de los usuarios


Descripciones detalladas de
TIPOS DE DATOS RELACIONES ENTRE DATOS RESTRICCIONES que los DATOS deben cumplir

Base de Datos I

Sin

detalles de implementacin

Ms fcil de entender Comunicacin con el usuario no tcnico


36

CONCEPTOS BSICOS DEL MODELO E-R


Entidad ( entity ) Atributo ( attribute ) Dominio ( values set ) Relacin ( relationship )

37

Base de Datos I

CONCEPTOS BSICOS DEL MODELO E-R (ENTIDAD)


Cosa

u objeto del mundo real con existencia propia y distinguible del resto con existencia...

Base de Datos I

Objeto

fsica 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 inters para la empresa (ANSI,
1977)
38

CONCEPTOS BSICOS DEL MODELO E-R (ENTIDAD)


Propiedad o caracterstica de una entidad Una entidad particular es descrita por los valores de sus atributos: titulo = El alquimista impaciente genero = Thriller p1 nacionalidad = Espaa aoestreno = 2002 ...

Base de Datos I

e1

dni = 87654321 nss = 1122334455 nombre = Cristina Aliaga Gil nacionalidad = Espaa ...

39

BASE DE DATOS I
MODELO DE DATOS: MODELO ENTIDAD-RELACIN

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 16 de Agosto de 2012

CONCEPTOS MODELO E-R (PARTE 1)


Concepto
Entidad Atributo Relacin

Notacin
Base de Datos I

41

MODELO E-R (TIPOS DE ATRIBUTOS)

1. 2. 3. 4.

Simples o Compuestos Almacenados o Derivados Monovalorados o Multivalorados Opcionales

42

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)

Base de Datos I

nombre-cliente

Atributos simples: son atributos no divisibles, atmicos

genero

43

MODELO E-R (ATRIBUTOS ALMACENADOS O DERIVADOS)

Atributos Derivados: El valor se puede derivar de los valores de otros atributos o entidades relacionados.

Base de Datos I

edad-empleado clculo a partir de fecha_nac, numcopia-pelicula cuenta del nmero de entidades COPIA relacionadas con cada pelcula concreta atributo
derivado de entidades relacionadas Representacin

Atributos almacenados

fecha_nacimiento

44

MODELO E-R (ATRIBUTOS MONOVALORADOS Y MULTIVALORADOS)

Atributo Monovalorados (monovaluados): slo un valor para cada entidad


Fecha-nacimiento

Base de Datos I

Atributo multivalorado (multivaluados):


telefono-cliente

idioma

Representacin
45

MODELO E-R (ATRIBUTOS OPCIONALES (NULOS))


El

nulo (null) es usado cuando se desconoce el


Base de Datos I

valor de un atributo para cierta entidad


El valor existe pero falta

altura (empleado)

No se sabe si el valor existe o no

telefono (empleado)

46

MODELO E-R (ATRIBUTOS CLAVE)


Atributo

con valor distinto para cada instancia de un tipo de entidad clave identifica de forma nica cada entidad concreta
Representacin

Base de Datos I

Una

47

MODELO E-R (ATRIBUTOS CLAVE)

Una clave puede estar formada por varios atributos (clave compuesta) (nombre_cliente, fecha-nac)

Base de Datos I

Una clave compuesta debe ser mnima


(nombre,tel,fecha-nac) No es Mnima

Un tipo de entidad puede tener ms de una clave, a estas se les conoce como claves candidatas (rfc) (curp) (nombre,fecha-nac)
48

MODELO ENTIDAD-RELACIN (ENTIDADES DBILES)


No tiene atributos clave propios Una instancia Tipo de relacin identificador Relaciona un tipo de entidad dbil y un tipo de entidad regular (fuerte, dominante, padre, propietaria) Clave parcial (o discriminante) Atributos de la entidad dbil, 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)

49

Base de Datos I

No

tiene atributos clave propios Una instancia se identifica por su relacin con una instancia de otro tipo de entidad

Base de Datos I

Tipo de relacin identificador

Relaciona un tipo de entidad dbil y un tipo de entidad regular (fuerte, dominante, padre, propietaria)

Clave parcial (o discriminante)

Atributos de la entidad dbil, 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 DATOS I
MODELO DE DATOS: MODELO ENTIDAD-RELACIN

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 17 de Agosto de 2012

MODELO E-R (RELACIONES)


Una relacin (relationship) es una asociacin entre entidades. Definicin matemtica: Si A, B son conjuntos, entonces una relacin R es un subconjunto de A B

Base de Datos I

Ejemplo: Si A = {1,2,3}
B = {a,b,c} R = {(1,a),(1,b),(1,c), }

Una relacin se representa con un rombo Representacin

52

MODELO ENTIDAD-RELACIN (CORRESPONDENCIA DE CARDINALIDAD)

Expresa el nmero de entidades a las que otra entidad puede estar asociada va un conjunto de relaciones Tipos de Correspondencia de Cardinalidad

Base de Datos I

53

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 Datos I

MODELO E-R (UNO A VARIOS)

Una entidad en A se asocia con cualquier nmero de entidades en B (Ninguna o varias). Una entidad en B, sin embargo se puede asociar con a lo sumo una entidad en A

55

Base de Datos I

MODELO E-R (VARIOS A UNO)

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 nmero de entidades (ninguna o varias) en A.

56

Base de Datos I

MODELO E-R (VARIOS A VARIOS)

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 nmero
Base de Datos I

57

RESTRICCIONES DE PARTICIPACIN EN UN
CONJUNTO DE RELACIONES

Participacin Total:

Base de Datos I

Prstamo -- prestatario -- Cliente Cliente prestatario -- Prstamo

Participacin Parcial

58

DETERMINA LA CARDINALIDAD DEL EJEMPLO

a)
Base de Datos I

59

B)

60

Base de Datos I

C)

61

Base de Datos I

MODELO E-R ( ATRIBUTOS SOBRE RELACIONES)

Ejemplo: Horas trabajadas por un empleado en un proyecto


Base de Datos I

62

OBSERVA Y MODELA

63

Base de Datos I

BASE DE DATOS I

MODELO DE DATOS: MODELO ENTIDAD-RELACIN EXTENDIDO

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 20de Agosto de 2012

MODELO E-R (ROLES)


Cada conjunto de entidades que participa en una relacin desempea un papel Los conjuntos de entidades participantes en una relacin no tienen porque ser distintos. Ejemplo:

Base de Datos I

Etiquetar un rol es opcional, sin embargo su objetivo es aclarar la semntica de la relacin


65

GRADO DE UN TIPO DE RELACIN

Nmero de tipos de entidad que participan en el tipo de relacin Binaria: grado 2 (el ms frecuente) Ternaria: grado 3 Reflexiva (o recursiva): grado 1
ACTOR ACTUA_EN PELICULA

Base de Datos I

CLIENTE
CONTINUACION DE PELICULA

ALQUILA

PELICULA

LOCAL_VIDEOCLUB
66

RESTRICCIONES PARA EL MODELADO

67

Base de Datos I

MODELO ENTIDAD-RELACIN EXTENDIDO


Los conceptos bsicos del modelo E-R pueden modelar la mayora de las caractersticas de las bases de datos Caractersticas a modelar con el modelo E-R extendido
1. 2. 3. 4.

Base de Datos I

Especializacin Generalizacin Herencia de atributos Agregacin

68

ESPECIALIZACIN
Un conjunto de entidades puede incluir subgrupos de entidades que se diferencian de alguna forma de las otras entidades del conjunto Permite asociar atributos especficos , adicionales a cada sub-entidad Ejemplo:

Base de Datos I

Persona
Cliente Empleado

Cada uno de estos tipos de personas incluyen los atributos de persona ms otros posibles atributos adicionales

69

ESPECIALIZACIN
Se representa mediante un componente triangular etiquetado como ES La relacin ES se puede llamar tambin relacin superclase-subclase Representar caractersticas diferentes

70

Base de Datos I

GENERALIZACIN
Varios conjuntos de entidades se sintetizan en un conjunto de entidades de nivel ms alto basado en caractersticas comunes Procede de observar que varios conjuntos de entidades comparten algunas caractersticas comunes

71

Base de Datos I

GENERALIZACIN VS ESPECIALIZACIN

Generalizacin

nfasis en las similitudes Cada instancia del supertipo es tambin una instancia de alguno de los subtipos

Base de Datos I

Especializacin

nfasis en las diferencias Alguna instancia del supertipo puede no ser instancia de ningn subtipo

72

BASE DE DATOS I

MODELO DE DATOS: MODELO ENTIDAD-RELACIN EXTENDIDO

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 23 de Agosto de 2012

74

Base de Datos I

RESTRICCIONES SOBRE LA ESPECIALIZACIN/GENERALIZACIN


Que instancias del supertipo pertenecen a cada subtipo Disyuncin/Solapamiento

Base de Datos I

A cuantos subtipos puede pertenecer(a la vez) una instancia del supertipo De toda instancia del supertipo pertenece a algn subtipo pertenece a algn subtipo de

Completitud/Parcialidad

75

SUBTIPOS DISJUNTOS

Una restriccin sobre el carcter disjunto requiere que una entidad no pertenezca a ms de un conjunto de entidades de nivel ms bajo.
Ejemplo:

Base de Datos I

Una entidad cuenta puede satisfacer solo una condicin para el atributo tipo-cuenta; una cuenta puede ser una cuenta de ahorro o cuenta corriente pero no ambas cosas a la vez

76

SUBTIPOS SOLAPADOS
En las generalizaciones solapadas, la misma entidad puede pertenecer a ms de un conjunto de entidades de nivel ms bajo en una generalizacin simple. Ejemplo:

Base de Datos I

Una persona puede aparecer en ms de uno de los conjuntos entidades de nivel ms bajo empleado y cliente

77

GENERALIZACIN O ESPECIALIZACIN
TOTAL

Cada entidad de nivel ms alto debe pertenecer a un conjunto de entidades de nivel ms bajo.

78

Base de Datos I

GENERALIZACIN O ESPECIALIZACIN PARCIAL


Algunas entidades de nivel ms alto pueden no pertenecer a algn conjunto de entidades de nivel ms bajo. Es la predeterminada

79

Base de Datos I

JERARQUA

Jerarquas de especializacin en las que se cumple la restriccin: Todo subtipo participa en slo una relacin supertipo/subtipo

Base de Datos I

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

80

RETCULA

En una retcula de especializacin... Un subtipo puede participar en varias relaciones supertipo/subtipo Un subtipo puede tener ms de un supertipo

81

Base de Datos I

En las jerarquas de especializacin Cada subtipo hereda atributos y relaciones... de su (nico) supertipo directo y de sus supertipos predecesores, hasta la raz

Base de Datos I

TITULAR hereda de DOCENTE, EMPLEADO y PERSONA

En las retculas de especializacin Un subtipo hereda atributos y relaciones... de sus supertipos (mltiples) directos herencia mltiple y de todos sus supertipos predecesores, hasta la raz

BECARIO hereda directamente de EMPLEADO y ESTUDIANTE, e indirectamente hereda de PERSONA Los subtipos compartidos dan lugar a retculas

82

REGLAS DE INSERCIN Y ELIMINACIN


Deben aplicarse a la Especializacin y la Generalizacin Insertar una instancia en un supertipo de una especializacin total implica insertarla en, al menos, un subtipo Y si la especializacin 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 Datos I

BASE DE DATOS I

MODELO DE DATOS: MODELO ENTIDAD-RELACIN EXTENDIDO

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 24 de Agosto de 2012

HERENCIA DE ATRIBUTOS
Los atributos de los conjuntos de entidades de nivel ms alto se dice que son heredados por los conjuntos de entidades de nivel ms bajo. Un conjunto de entidades de nivel ms alto con atributos y relaciones que se aplican a todos los conjuntos de entidades de nivel ms bajo. Conjuntos de entidades de nivel ms bajo con caractersticas distintivas que se aplican slo en un conjunto de entidades particular.

85

Base de Datos I

AGREGACIN
Imagnese que se tiene una relacin ternaria trabaja-en entre empleado, sucursal y trabajo Cmo lo representarias ?

86

Base de Datos I

RELACIN TRABAJA-EN

87

Base de Datos I

AGREGACIN
Supngase 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). Asmase que existe una entidad director.

88

Base de Datos I

AGREGACIN
Se necesita una relacin cuaternaria? Se necesita una relacin binaria entre director y empleado? Qu pasara con sucursal trabajo? Qu pasa si se utilizan los constructores bsicos del modelo E-R?

89

Base de Datos I

Existe redundancia

90

Base de Datos I

AGREGACIN

La agregacin es una abstraccin a travs de la cual las relaciones se tratan como entidades de nivel ms alto.

91

Base de Datos I

92

Base de Datos I

Esquema en el MERE que almacena informacin sobre las entrevistas que una ETT organiza entre solicitantes de empleo y diferentes empresas

Base de Datos I

Algunas entrevistas dan lugar a ofertas de empleos y otras no cmo modelamos esto?
93

AGREGACIN

94

Base de Datos I

AGREGACIN

95

Base de Datos I

AGREGACIN

96

Base de Datos I

BASE DE DATOS I
MODELO DE DATOS: MODELO RELACIONAL

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 27 de Agosto de 2012

MODELOS DE DATOS

Modelos lgicos basados en objetos


Modelo entidad-relacin Modelo orientado a objetos Modelo funcional de datos etc.

Modelos lgicos basados en registros


Modelo relacional Modelo de red Modelo jerrquico

Modelos fsicos de datos


Modelo unificador Memoria de elementos

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

MODELO RELACIONAL

Se ocupa de tres aspectos principales


Estructura de datos Manipulacin de Datos Integridad de los datos

MODELO RELACIONAL
(ESTRUCTURAL DE DATOS)

MODELO RELACIONAL
(ESTRUCTURAL DE DATOS)

Base de Datos I

Cardinalidad -- 5

102

PROPIEDADES DE LAS RELACIONES


No existen tuplas duplicadas Las tuplas estn en desorden de arriba hacia abajo Los atributos estn en desorden, de izquierda a derecha (no direccionamiento posicional) Cada tupla contiene exactamente un valor para cada atributo

103

Base de Datos I

REPRESENTACIN 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 Datos I

REPRESENTACIN CONJUNTO DE
ENTIDADES DBILES

Sea A un conjunto de entidades dbiles 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 Datos I

EJEMPLO E-R

106

Base de Datos I

107

Base de Datos I

CONJUNTOS DE RELACIONES

Sea R un conjunto de relaciones, sean a1, a2,,am el conjunto de atributos formados por la unin 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 Datos I

EJEMPLO

109

Base de Datos I

110

Base de Datos I

REDUNDANCIA DE TABLAS
Un conjunto de relaciones uniendo un conjunto de entidades dbiles 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 dbiles 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 dbiles con su correspondiente conjunto de entidades fuertes es redundante

111

Base de Datos I

EJEMPLO

112

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

Base de Datos I

Atributo compuesto -- Direccin calle_direccion, ciudad-direccin

113

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 Datos I

ATRIBUTOS MULTIVALORADOS

Para este atributo multivalorado se crea una tabla nombre- subordinado con columnas nombres, referenciando al atributo nombresubordinado de empleado, e idempleado, representado la clave primaria del conjunto de entidades empleado.

115

Base de Datos I

MODELO RELACIONAL (CLAVES)


Los conceptos de superclave, de clave candidata y de clave primaria, tambin 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 relacin. Conjunto de entidades dbiles: La tabla y, por tanto, la relacin correspondientes a un conjunto de entidades dbiles incluyen

Base de Datos I

Los atributos del conjunto de entidades dbiles. La clave primaria del conjunto de entidades fuertes del que depende el conjunto de entidades dbiles.

116

MODELO RELACIONAL (CLAVES)

La clave primaria de la relacin consiste en la unin de la clave primaria del conjunto de entidades fuertes y el discriminante del conjunto de entidades dbil.

Base de Datos I

Conjunto de relaciones: La unin de las claves primarias de los conjuntos de entidades relacionados se transforma en una superclave de la relacin

117

BASE DE DATOS I
MODELO DE DATOS: MODELO RELACIONAL

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 30 de Agosto de 2012

MODELO RELACIONAL (RELACIONES 1-1)

Para cada vinculo 1:1 entre dos entidades (no


dbiles) E y F se aade a la relacin de alguna de las entidades la clave primaria de la otra entidad relacionada.
Base de Datos I

119

MODELO RELACIONAL (RELACIONES 1-1)


PrimApelli do PrimNom bre Nombre SegApelli do Telfono Numero_ Dpto Nombre_ Dpto Lugares
Base de Datos I

Cdula

Empleado

tiene_jefe

Departamento

Departamento (Nmero_Dpto, Nombre_Dpto, Cdula)

120

MODELO RELACIONAL (RELACIONES 1-N)


Para cada vinculo 1:N entre dos entidades (no dbiles) E y F donde F est del lado N del vnculo, se aade a la relacin correspondiente a la entidad F de alguna de las entidades la clave primaria de la otra entidad relacionada.

121

Base de Datos I

MODELO RELACIONAL (RELACIONES 1-N)


PrimNo mbre

PrimApel lido

SegApel lido Telfon o

Nombre _Dpto
Base de Datos I

Nombr e

Numero _Dpto

Lugare s

Cdula

Empleado

pertenece_a

Departamento

Empleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono, Numero_Dpto)

122

MODELO RELACIONAL (RELACIONES M-N)


Para cada vinculo M:N entre dos entidades se crea una relacin R. Los atributos de la relacin R sern las claves primarias de las entidades relacionadas mas los atributos propios del vinculo. La clave primaria de la relacin R ser el conjunto de todos los atributos que sean claves primarias de las entidades relacionadas.

123

Base de Datos I

MODELO RELACIONAL (RELACIONES M-N)


PrimNom bre PrimApelli do SegApelli do Telfon o Horas

Nombre

Numero_Proy ecto

Nombre_Proy ecto
Base de Datos I

Cdula

Empleado

trabaja_en

Proyecto

Empleado (Cdula, PrimNombre, PrimApellido, SegApellido, Telfono) Proyecto (Nmero_Proyecto, Nombre_Proyecto)

Trabaja_en (Cdula, Nmero_Proyecto, Horas)


124

TRANSFORMACIN MODELO E-R EXTENDIDO AL MODELO RELACIONAL


Transformacin de una generalizacin
Base de Datos I

Nomb re

Apelli do

Cdu la

Direc cin

Persona
ES

E (Entidad
Padre, Entidad Generalizada)

Salario

Carrera

Empleado

Profesor
Costo _Hora

Estudiante

E (Entidades
Especializadas)
i

Existen 3 estrategias:

125

TRANSFORMACIN MODELO E-R EXTENDIDO AL MODELO RELACIONAL

Estrategia 1: Crear una relacin R para la entidad padre E y una relacin Ri para cada entidad especializada Ei. La relacin R tiene todos los atributos de la entidad E. Cada relacin 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 Datos I

TRANSFORMACIN MODELO E-R EXTENDIDO AL MODELO RELACIONAL


Nombr e Cdu la Persona
ES

Apellid o Direc cin

Persona (Cdula, Nombre, Apellido, Direccin) Empleado (Cdula, Salario) Estudiante (Cdula, Carrera) Profesor (Cdula, Costo_Hora)
Carrera

Base de Datos I

Salario

Empleado

Profesor Costo _Hora

Estudiante

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>


127

Estudiante <123456, 'Ingeniera'>

TRANSFORMACIN MODELO E-R EXTENDIDO AL MODELO RELACIONAL


Estrategia 2: Crear una relacin Ri para cada entidad especializada Ei. Cada relacin Ri tiene todos los atributos de la entidad Ei correspondiente ms los atributos de la entidad padre E. La clave primaria de cada relacin Ri es la clave primaria de la entidad padre E.

128

Base de Datos I

TRANSFORMACIN MODELO E-R EXTENDIDO AL MODELO RELACIONAL


Nombr e Cdu la Apellid o Direc cin

Persona

Aplica para especializaciones disjuntas y totales


Carrera

Base de Datos I

Salario

Emplead o

Profesor
Costo _Hora

Estudiant e

Empleado (Cdula, Nombre, Apellido, Direccin, Salario) Profesor (Cdula, Nombre, Apellido, Direccin, Costo_Hora) Estudiante (Cdula, Nombre, Apellido, Direccin, Carrera) 129

TRANSFORMACIN MODELO E-R EXTENDIDO AL MODELO RELACIONAL

Estrategia 3: Utilizar una misma relacin R para la entidad padre E y para las entidades especializadas E .

Base de Datos I

i La relacin R tiene todos los atributos de la entidad padre E

ms todos los atributos todas las entidades especializadas E .


i

Se crea un atributo adicional que define el tipo de entidad E que representa una tupla en particular.

Aplica slo a casos donde las subclases son disjuntas.


130

TRANSFORMACIN MODELO E-R EXTENDIDO AL MODELO RELACIONAL


Nombr e
Cdu la

Apellid o
Direc cin

Persona

Aplica solo para especializaciones disjuntas


Carrera

Base de Datos I

Salario

Emplead o

Profesor
Costo _Hora

Estudiant e

Persona (Cdula, Nombre, Apellido, Direccin,Tipo, Salario, Costo_Hora, Carrera) 12453334, Juan', 'Perez', 'Av. Xalapa',0, 5000, NULL, NULL
131

BASE DE DATOS I
FORMAS NORMALES (NORMALIZACIN)

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 17 de Septiembre de 2012

FORMAS NORMALES
El objetivo del diseo de bases de datos relacionales en la generacin de un conjunto de esquemas relacionales que nos permita almacenar la informacin sin redundancia y recuperar rpidamente. 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 Datos I

PROBLEMAS DEL ESQUEMA RELACIONAL

Base de Datos I

Redundancia Ambigedades Perdida de restricciones de integridad

134

FORMAS NORMALES
Se corresponden a una teora de normalizacin iniciada por Codd. Codd definio en 1970 la 1FN, despus aparecieron la 2, 3, Boyce-Codd, 4 y 5 Forma Normal

135

Base de Datos I

PRIMERA FORMA NORMAL (1FN)


Se dice que el esquema de una relacin R est en la primera forma normal (1FN) si los dominios de todos los atributos de R son atmicos. Un dominio es atmico si se considera que los elementos del dominio son unidades indivisibles.

136

Base de Datos I

PRIMERA FORMA NORMAL (1FN)

Una tabla se encuentra en 1FN si impide que un atributo de una tupla puede tomar ms de un valor.

Base de Datos I

La tabla anterior visualmente es una tabla pero no una relacional. No cumple la 1FN

137

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. simblicamente 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 ms 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.

Base de Datos I

138

SEGUNDA FORMA NORMAL

Una relacin 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.

Base de Datos I

139

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 Datos I

SEGUNDA FORMA NORMAL

La solucin seria:
Base de Datos I

141

BASE DE DATOS I
FORMAS NORMALES (NORMALIZACIN)

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 20 de Septiembre de 2012

FORMAS NORMALES
1. 2.

3.

No elementos repetidos o grupos de elementos Sin dependencias parciales de llaves concatenadas Sin dependencias de atributos que no son llaves

143

Base de Datos I

EJEMPLO FACTURACIN

144

Base de Datos I

HOJA DE CALCULO CON LA INFORMACIN

145

Base de Datos I

QU SUCEDE CUANDO NOS SOLICITAN?


Cuntos tems solicito un cliente especifico en una fecha especifica? Cules han sido las ventas totales en una ciudad dada? Qu tems fueron vendidos en Julio de 2003? Etc

Base de Datos I

Aumenta no. de informacin = Aumenta el hecho de encontrar estas respuestas


146

PRIMERA FORMA NORMAL

No elementos repetidos o grupos de elementos


Base de Datos I

Solucin

147

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 Datos I

SEGUNDA FORMA NORMAL (2FN)


order_date customer_id Customer_name Customer_addresss Customer_city Customer_state Item_descripcin Item_qty Item_price Item_total_price Order_total_price

x ? ? ? ? ? x x (Derivados) (Derivados)

149

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.

Base de Datos I

Los otros campos que dependen de la primera parte de la llave primaria (order_id) y los que no estamos seguros, se quedan donde estn.

150

SEGUNDA FORMA NORMAL (2FN)


1.

2. 3.

4.

Hemos traido una copia de la columna order_id a la tabla order_items (Recordar a que orden pertenece) La tabla orders tiene menos columnas que antes La tabla orders ya no tiene una llave primaria concatenada La tabla orders_item si tiene una llave primaria concatenada

151

Base de Datos I

SEGUNDA FORMA NORMAL (2FN)

Base de Datos I

Item_descripcin Item_qty Item_price

x x

152

SEGUNDA FORMA NORMAL (2FN)

Creamos una nueva tabla que llamamos tems


Base de Datos I

order_items

153

RESULTADO HASTA LA 2FN

154

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 Datos I

BASE DE DATOS I

ALGEBRA RELACIONAL

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 07 de Septiembre de 2012

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 relacin

ALGEBRA RELACIONAL

Operaciones fundamentales:

Seleccin Proyeccin Unin Diferencia de conjuntos Producto cartesiano renombramiento

ALGEBRA RELACIONAL
Otras

operaciones: Interseccin de conjuntos Reunin natural Divisin Asignacin

ALGEBRA RELACIONAL
Tipos

de operaciones: Unarias Seleccin Proyeccin Renombramiento

ALGEBRA RELACIONAL

Binarias

Unin Diferencia de conjuntos Producto cartesiano

ALGEBRA RELACIONAL (SELECCIN)


Selecciona tuplas que satisfacen un predicado dado. Se utiliza la letra griega sigma minscula () para denotar la seleccin. nombre_sucursal = Navacerrada (sucursal)

Resultado:

ALGEBRA RELACIONAL (SELECCIN)


Se permiten las comparaciones que utilizan los operadores = < < > > en el predicado de seleccin. nombre_sucursal = Becerril ^ activos > 2.000 (sucursal)

Base de Datos I

Resultado:
163

ALGEBRA RELACIONAL (PROYECCIN)


La operacin proyeccin es una operacin unaria que devuelve su relacin de argumentos, excluyendo algunos argumentos. Dado que las relaciones son conjuntos, se eliminan todas las filas duplicadas. La proyeccin se denota por la letra griega mayscula pi (). Se crea una lista de los atributos que se desea que aparezcan en el resultado como subndice de .

164

Base de Datos I

ALGEBRA RELACIONAL (PROYECCIN)

numero_prestamo, importe(prestamo)
Base de Datos I

Resultado:

165

ALGEBRA RELACIONAL (RENOMBRAMIENTO)


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 minscula () Dada una expresin E del algebra relacional, la expresin devuelve el resultado de la expresin E con el nombre x.

Base de Datos I

x(E)

npres(numero-prestamo=900
166

EJERCICIO

167

Base de Datos I

BASE DE DATOS I

ALGEBRA RELACIONAL (OPERACIONES BINARIAS)

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 13 de Septiembre de 2012

ALGEBRA RELACIONAL (UNION)


Como su nombre lo indica une informacin contenida en la relacin r y s, es denotada por U Para que una operacin U sea valida deben de cumplir dos condiciones

Base de Datos I

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

EJEMPLO

nombre_cliente(Prestatario) U nombre_cliente(impositor)
Base de Datos I

Resultado

170

ALGEBRA RELACIONAL (DIFERENCIA)


Permite buscar las tuplas que estn en una relacin pero no en la otra, denotada por r La expresin r-s da como resultado una relacin que contiene las tuplas que estn en r pero no en s

Base de Datos I

Al igual que la operacin unin 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

EJEMPLO
nombre-cliente (impositor) nombre-cliente (prestatario)
Base de Datos I

Resultado

172

ALGEBRA RELACIONAL (PRODUCTO CARTESIANO)


Permite combinar informacin 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 relacin de la que proviene originalmente

173

Base de Datos I

EJEMPLO

(Pelcula x Estudio)
Base de Datos I

Resultado:
ID Pelicul a 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 Nombre Ao Pelicula.ID_Estudio Estudio.ID_Estudio Nombre La guerra de las galaxias La guerra de las galaxias La guerra de las galaxias La guerra de las galaxias La comunidad del anillo La comunidad del anillo La comunidad del anillo La comunidad del anillo Mar a dentro Mar a dentro Mar a dentro Mar a dentro El viaje de Chihiro El viaje de Chihiro El viaje de Chihiro El viaje de Chihiro 1977 1977 1977 1977 2001 2001 2001 2001 2004 2004 2004 2004 2001 2001 2001 2001 3 3 3 3 2 2 2 2 4 4 4 4 1 1 1 1 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Ghibli New Line Cinema Lucasfilms Sogecine Ghibli New Line Cinema Lucasfilms Sogecine Ghibli New Line Cinema Lucasfilms Sogecine Ghibli New Line Cinema Lucasfilms Sogecine

174

ALGEBRA RELACIONAL
(INTERSECCIN DE CONJUNTOS)
Primera operacin adicional del algebra relacional Se representa con Ejemplo: nombre_cliente(Prestatario) nombre_cliente(Impositor)

Base de Datos I

Resultado:
nombre_cliente Gmez Lpez Santos

175

BASE DE DATOS I
SISTEMA GESTOR DE BASE DE DATOS

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 24 de Septiembre de 2012

SISTEMA GESTOR DE BASE DE DATOS (SGBD)


Un Sistema de Gestin de Bases de Datos (SGBD) consiste en una coleccin de datos interrelacionados y un conjunto de programas para acceder a los mismos. Permite el almacenamiento, manipulacin y consulta de datos pertenecientes a una base de datos organizada en uno o varios ficheros.

177

Base de Datos I

CARACTERSTICAS DE UN SGBD

El mtodo de almacenamiento y el programa que gestiona los datos (servidor) son independientes del programa desde el que se lanzan las consultas (cliente)
Base de Datos I

En lugar de primarse la visualizacin de toda la informacin, el objetivo fundamental es permitir consultas complejas, cuya resolucin 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 clculo, poco que ver con la estructura con la que los datos se presentan al usuario. El acceso concurrente de mltiples usuarios autorizados a los datos, realizando operaciones de actualizacin y consulta de los mismos garantizando la ausencia de problemas de seguridad o integridad.

178

ESTRUCTURA DE SGBD

179

Base de Datos I

ESQUEMA DEL FUNCIONAMIENTO DE UN SGBD

180

Base de Datos I

FUNCIONAMIENTO DE UN SGBD
1. 2.

3. 4. 5. 6.

7.

8.

El proceso lanzado por el usuario llama al SGBD indicando la porcin de la base de datos que se desea tratar El SGBD traduce la llamada a trminos del esquema lgico de la base de datos. Accede al esquema lgico comprobando derechos de acceso y la traduccin fsica El SGBD obtiene el esquema fsico El SGBD traduce la llamada a los mtodos de acceso del Sistema Operativo que permiten acceder realmente a los datos requeridos El Sistema Operativo accede a los datos tras traducir las rdenes dadas por el SGBD Los datos pasan del disco a una memoria intermedia o buffer. En ese buffer se almacenarn los datos segn se vayan recibiendo Los datos pasan del buffer al rea de trabajo del usuario (ATU) del proceso del usuario. Los pasos 6 y 7 se repiten hasta que se enve toda la informacin al proceso de usuario. En el caso de que haya errores en cualquier momento del proceso, el SGBD devuelve indicadores en los que manifiesta si ha habido errores o advertencias a tener en cuenta. Esto se indica al rea de comunicaciones del proceso de usuario. Si las indicaciones son satisfactorias, los datos de la ATU sern utilizables por el proceso de usuario.

181

Base de Datos I

PROCESO DE CREACIN Y MANIPULACIN DE BD

Fase de creacin:
El analista o diseador 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 definicin de datos del SGBD y herramientas CASE Los desarrolladores utilizan las aplicaciones necesarias para generar el esquema externo mediante herramientas de creacin de aplicaciones apropiadas y herramientas CASE

Base de Datos I

182

PROCESO DE CREACIN Y MANIPULACIN DE BD

Fase de Manipulacin

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 fsico correspondiente y devuelve los datos al SGBD El SGBD transforma los datos internos en datos conceptuales y los entrega a la aplicacin La aplicacin muestra los datos habindolos traducido en su forma externa. As los ve el usuario

183

Base de Datos I

SGBM
Sistemas libres
PostgreSQL (http://www.postgresql.org Postgresql) Licencia BSD SQLite (http://www.sqlite.org SQLite) Licencia Dominio Pblico 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 Datos I

LENGUAJE DE UN SGBD

LDD

Lenguaje de Definicin de Datos sirve para especificar el esquema conceptual Lenguaje de Manipulacin de Datos lenguaje que permite manipular los datos de la base de datos

Base de Datos I

LMD

185

STRUCTURED QUERY LANGUAJE (SQL)


SQL usa una combinacin de lgebra relacional y construcciones del clculo relacional. SQL es el lenguaje fundamental de los SGBD relacionales

186

Base de Datos I

POSIBLES MODOS DE EJECUCIN SQL

Ejecucin directa: las instrucciones se introducen a travs de un cliente que esta directamente conectando al servidor SQL Ejecucin incrustada o embebida: las instrucciones se colocan como parte del codigo de otro lenguaje (C, Java, Pascal, Visual Basic) Ejecucin de a travs de clientes grficos

187

Base de Datos I

CAPACIDADES DE SQL

Comandos para la definicin y creacin de una base de datos Comandos para insercin, borrado o modificacin de datos Comandos para la consulta de datos seleccionados de acuerdo a criterios complejos que involucran diversas tablas relacionadas por un campo comn Capacidades aritmticas como comparaciones, por ejemplo A > B + 3. Funciones matemticas (sqrt(x), cos(x)) o de manejo de textos. Asignacin y comandos de impresin: es posible imprimir una tabla construida por una consulta o almacenarla como una nueva tabla. Funciones agregadas: Operaciones tales como promedio (avg), desviacin tpica (stddev), suma (sum), mximo (max), etc.

188

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 manipulacin 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 definicin de datos). Permiten modificar la estructura de las tablas de la base de datos. Lo forman las instrucciones CREATE, ALTER, DROP, RENAME y TRUNCATE.

Base de Datos I

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

Clausulas : Son palabras especiales que permiten modificar el funcionamiento de un comando (WHERE, ORDER BY,...) Operadores. Permiten crear expresiones complejas. Pueden ser aritmticos (+,-,*,/,...) lgicos (>, <, !=,<>, AND, OR,...)
Funciones. Para conseguir valores complejos (SUM(), DATE(),...) Metadatos. Obtenidos de la propia base de datos

Base de Datos I

190

NORMAS DE ESCRITURA SQL

En SQL no se distingue entre maysculas y minsculas.

Base de Datos I

La instrucciones finalizan con el signo de punto y coma


Cualquier comando SQL (SELECT, INSERT,...) puede ser partidos por espacios o saltos de lnea antes de finalizar la instruccin

Los comentarios en el cdigo SQL comienzan por /* y terminan por */ (excepto en algunos SGBD)

191

CREACIN DE USUARIO

CREATE USER ana@localhost IDENTIFIED BY 123;


Base de Datos I

192

CONECTARSE LOCAL

mysql h localhost u miusuario p;


Base de Datos I

MOSTRAR USUARIO ACTUAL


select current_user();

193

BASE DE DATOS I

MYSQL

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 27 de Septiembre de 2012

USUARIOS Y PRIVILEGIOS
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 'contrasea' WITH GRANT OPTION;)

Base de Datos I

Finalmente, actualizamos los permisos con FLUSH PRIVILEGES

195

INSTRUCCIONES BSICAS SQL


CREATE TABLE

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


Base de Datos I

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 condicion

196

PRACTICA
Crear la base de datos practica Crear las siguientes tablas

197

Base de Datos I

TAREA

Investigar como crear una base de datos en Oracle


Base de Datos I

198

BASE DE DATOS I

MYSQL

L.I. Ana Luz Polo Estrella analu.polo@gmail.com 04 de Octubre de 2012

INSTRUCCIONES SQL

Update: es usado para actualizar registros en un tabla


Base de Datos I

UPDATE nombre_tabla SET column=valornuevo WHERE condicin SELECT DISTINCT columna FROM nombre_tabla

Distinct: permite omitir valores repetidos

AND & OR: muestra registro dada dos condiciones


SELECT * FROM nombre_tabla WHERE condicion1 AND condicion2 SELECT * FROM nombre_tabla WHERE condicin1 OR condicion2

200

INSTRUCCIONES SQL

Order By: es usado para ordenar los resultados dada una condicin
Base de Datos I

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

INSTRUCCIONES SQL

AS: obtener una tabla o columna y asignarle un alias


Base de Datos I

SELECT column_name(s) FROM table_name AS alias_name SELECT column_name AS alias_name FROM table_name

UNION: combina dos o ms SELECT

SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 Que hace UNION ALL?
202

INSTRUCCIONES SQL

JOINS: se utilizan para consultar datos de 2 o ms tablas, basndose en una relacin entre ciertas columnas Tipos de JOINS:

Base de Datos I

INNER JOIN: regresa las filas que coincidan en ambas tablas

SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON 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_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name


203

RIGHT JOIN

INSTRUCCIONES SQL

Producto cartesiano: Combinacin de todas las filas de dos tablas usando la sentencia SELECT, los nombres de las tablas se indican despus de la clausula FROM separados por comas.

Base de Datos I

SELECT * FROM tabla1, tabla2

204

BIBLIOGRAFA
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) Introduccin a los sistemas de bases de datos, Pearson Educacin

205

Base de Datos I

Вам также может понравиться