Академический Документы
Профессиональный Документы
Культура Документы
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
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
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
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
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
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
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 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
19
Base de Datos I
20
Nivel de Vistas
Base de Datos I
Nivel Lgico
21
INVESTIGAR
22
BASE DE DATOS I
ANLISIS DEL CONTEXTO
24
Base de Datos I
25
Base de Datos I
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
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
32
INTRODUCCIN
Base de Datos I
33
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
Base de Datos I
Sin
detalles de implementacin
37
Base de Datos I
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
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
Notacin
Base de Datos I
41
1. 2. 3. 4.
42
Base de Datos I
Atributos compuestos: son aquellos que se pueden dividir en subpartes (es decir, en otros atributos)
Base de Datos I
nombre-cliente
genero
43
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
Base de Datos I
idioma
Representacin
45
altura (empleado)
telefono (empleado)
46
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
Una clave puede estar formada por varios atributos (clave compuesta) (nombre_cliente, fecha-nac)
Base de Datos I
Un tipo de entidad puede tener ms de una clave, a estas se les conoce como claves candidatas (rfc) (curp) (nombre,fecha-nac)
48
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
Relaciona un tipo de entidad dbil y un tipo de entidad regular (fuerte, dominante, padre, propietaria)
Atributos de la entidad dbil, que identifican de forma nica cada instancia, siempre que est relacionada con una instancia del tipo de entidad regular
BASE DE DATOS I
MODELO DE DATOS: MODELO ENTIDAD-RELACIN
Base de Datos I
Ejemplo: Si A = {1,2,3}
B = {a,b,c} R = {(1,a),(1,b),(1,c), }
52
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
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
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
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
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
Participacin Parcial
58
a)
Base de Datos I
59
B)
60
Base de Datos I
C)
61
Base de Datos I
62
OBSERVA Y MODELA
63
Base de Datos I
BASE DE DATOS I
Base de Datos I
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
67
Base de Datos I
Base de Datos I
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
74
Base de Datos I
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
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
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
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
83
Base de Datos I
BASE DE DATOS I
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
MODELOS DE DATOS
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
MODELO RELACIONAL
(ESTRUCTURAL DE DATOS)
MODELO RELACIONAL
(ESTRUCTURAL DE DATOS)
Base de Datos I
Cardinalidad -- 5
102
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
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
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
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
119
Cdula
Empleado
tiene_jefe
Departamento
120
121
Base de Datos I
PrimApel lido
Nombre _Dpto
Base de Datos I
Nombr e
Numero _Dpto
Lugare s
Cdula
Empleado
pertenece_a
Departamento
122
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
Nombre
Numero_Proy ecto
Nombre_Proy ecto
Base de Datos I
Cdula
Empleado
trabaja_en
Proyecto
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
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
Persona (Cdula, Nombre, Apellido, Direccin) Empleado (Cdula, Salario) Estudiante (Cdula, Carrera) Profesor (Cdula, Costo_Hora)
Carrera
Base de Datos I
Salario
Empleado
Estudiante
Esta estrategia funciona tanto para subclases que se traslapan como para subclases disjuntas y para especializaciones totales o parciales
128
Base de Datos I
Persona
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
Estrategia 3: Utilizar una misma relacin R para la entidad padre E y para las entidades especializadas E .
Base de Datos I
Se crea un atributo adicional que define el tipo de entidad E que representa una tupla en particular.
Apellid o
Direc cin
Persona
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)
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
Base de Datos I
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
136
Base de Datos I
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
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
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
La solucin seria:
Base de Datos I
141
BASE DE DATOS I
FORMAS NORMALES (NORMALIZACIN)
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
145
Base de Datos I
Base de Datos I
Solucin
147
148
Base de Datos I
x ? ? ? ? ? x x (Derivados) (Derivados)
149
Base de Datos I
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
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
Base de Datos I
x x
152
order_items
153
154
Base de Datos I
155
Base de Datos I
BASE DE DATOS I
ALGEBRA RELACIONAL
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:
ALGEBRA RELACIONAL
Otras
ALGEBRA RELACIONAL
Tipos
ALGEBRA RELACIONAL
Binarias
Resultado:
Base de Datos I
Resultado:
163
164
Base de Datos I
numero_prestamo, importe(prestamo)
Base de Datos I
Resultado:
165
Base de Datos I
x(E)
npres(numero-prestamo=900
166
EJERCICIO
167
Base de Datos I
BASE DE DATOS I
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
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
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
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
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
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
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
186
Base de Datos I
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
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
Base de Datos I
Los comentarios en el cdigo SQL comienzan por /* y terminan por */ (excepto en algunos SGBD)
191
CREACIN DE USUARIO
192
CONECTARSE LOCAL
193
BASE DE DATOS I
MYSQL
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
195
CREATE TABLE
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
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
198
BASE DE DATOS I
MYSQL
INSTRUCCIONES SQL
UPDATE nombre_tabla SET column=valornuevo WHERE condicin SELECT DISTINCT columna FROM nombre_tabla
200
INSTRUCCIONES SQL
Order By: es usado para ordenar los resultados dada una condicin
Base de Datos I
Like : es usado para realizar un filtro de busqueda dada la coincidencia expresada en like
201
INSTRUCCIONES SQL
SELECT column_name(s) FROM table_name AS alias_name SELECT column_name AS alias_name FROM table_name
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
LEFT JOIN: regresa las filas de la tabla de la izquierda, incluso si no hay coincidencias en la segunda
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
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