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
EVALUACIÓN
Examen parcial 40 %
Tareas y participaciones 30%
Proyecto de entrega 30%
3
Base
de D
ato
s 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
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
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
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
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
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
09 de Agosto de 2012
CONCEPTOS BÁSICOS DE BASES DE DATOS
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
Maquina de perforado
Cintas Magnéticas
Discos
12
Base
de D
ato
s 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
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
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
16
Base
de D
ato
s I
¡OBSERVA!
17
Base
de D
ato
s I
¿Dudas?
18
Base
de D
ato
s I
Ejemplifica cada uno de los conceptos vistos en
clase
Redundancia
Integridad
Atomicidad
19
Base
de D
ato
s 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
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
INVESTIGAR
Universo del discurso o Minimundo
22
Base
de D
ato
s I
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
10 de Agosto de 2012
ANÁLISIS DEL CONTEXTO
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
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
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
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
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
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
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
Modelos Globales o lógicos
32
Base
de D
ato
s 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
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
MODELO ENTIDAD-RELACIÓN
DISEÑO
CONCEPTUAL
Requisitos
de datos
Esquema
Conceptual MER
35
Base
de D
ato
s 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
CONCEPTOS BÁSICOS DEL MODELO E-R
Entidad ( entity )
Atributo ( attribute )
Dominio ( values set )
Relación ( relationship )
37
Base
de D
ato
s 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
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
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
16 de Agosto de 2012
MODELO DE DATOS: MODELO ENTIDAD-RELACIÓN
CONCEPTOS MODELO E-R (PARTE 1)
Concepto Notación
Entidad
Atributo
Relación
41
Base
de D
ato
s 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
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
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
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
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
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
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
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
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
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
17 de Agosto de 2012
MODELO DE DATOS: MODELO ENTIDAD-RELACIÓN
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
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
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
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
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
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
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
DETERMINA LA CARDINALIDAD DEL EJEMPLO
a)
59
Base
de D
ato
s I
B)
60
Base
de D
ato
s I
C)
61
Base
de D
ato
s I
MODELO E-R ( ATRIBUTOS SOBRE
RELACIONES)
Ejemplo: Horas trabajadas por un empleado en
un proyecto
62
Base
de D
ato
s I
OBSERVA Y MODELA
63
Base
de D
ato
s I
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
20de Agosto de 2012
MODELO DE DATOS: MODELO
ENTIDAD-RELACIÓN EXTENDIDO
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
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
RESTRICCIONES PARA EL MODELADO
67
Base
de D
ato
s 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
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
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
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
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
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
23 de Agosto de 2012
MODELO DE DATOS: MODELO
ENTIDAD-RELACIÓN EXTENDIDO
74
Base
de D
ato
s 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
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
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
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
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
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
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
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
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
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
24 de Agosto de 2012
MODELO DE DATOS: MODELO
ENTIDAD-RELACIÓN EXTENDIDO
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
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
RELACIÓN TRABAJA-EN
87
Base
de D
ato
s 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.
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
90
Base
de D
ato
s I
Existe redundancia
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
92
Base
de D
ato
s 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?
AGREGACIÓN
94
Base
de D
ato
s I
AGREGACIÓN
95
Base
de D
ato
s I
AGREGACIÓN
96
Base
de D
ato
s I
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
27 de Agosto de 2012
MODELO DE DATOS:
MODELO RELACIONAL
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
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
Manipulación de Datos
Integridad de los datos
MODELO RELACIONAL
(ESTRUCTURAL DE DATOS)
102
Base
de D
ato
s I
MODELO RELACIONAL
(ESTRUCTURAL DE DATOS)
Cardinalidad -- 5
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
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
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
EJEMPLO E-R
106
Base
de D
ato
s I
107
Base
de D
ato
s 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
EJEMPLO
109
Base
de D
ato
s I
110
Base
de D
ato
s 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
EJEMPLO
112
Base
de D
ato
s 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
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
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
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
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)
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
30 de Agosto de 2012
MODELO DE DATOS:
MODELO RELACIONAL
● 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)
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)
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)
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)
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)
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)
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
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
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
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
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)
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.
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
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
17 de Septiembre de 2012
FORMAS NORMALES
(NORMALIZACIÓN)
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
PROBLEMAS DEL ESQUEMA RELACIONAL
Redundancia
Ambigüedades
Perdida de restricciones de integridad
134
Base
de D
ato
s 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
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
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
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
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
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
SEGUNDA FORMA NORMAL
La solución seria:
141
Base
de D
ato
s I
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
20 de Septiembre de 2012
FORMAS NORMALES
(NORMALIZACIÓN)
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
EJEMPLO FACTURACIÓN
144
Base
de D
ato
s I
HOJA DE CALCULO CON LA INFORMACIÓN
145
Base
de D
ato
s 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
PRIMERA FORMA NORMAL
No elementos repetidos o grupos de elementos
Solución
147
Base
de D
ato
s 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
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
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
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
SEGUNDA FORMA NORMAL (2FN)
Item_descripción x
Item_qty
Item_price x
152
Base
de D
ato
s I
SEGUNDA FORMA NORMAL (2FN)
Creamos una nueva tabla que llamamos ítems
order_items
153
Base
de D
ato
s I
RESULTADO HASTA LA 2FN
154
Base
de D
ato
s 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
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
07 de Septiembre de 2012
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 relación
Operaciones fundamentales:
Selección
Proyección
Unión
Diferencia de conjuntos
Producto cartesiano
renombramiento
ALGEBRA RELACIONAL
Otras operaciones:
Intersección de conjuntos
Reunión natural
División
Asignación
ALGEBRA RELACIONAL
Tipos de operaciones:
Unarias
Selección
Proyección
Renombramiento
ALGEBRA RELACIONAL
Binarias
Unión
Diferencia de conjuntos
Producto cartesiano
ALGEBRA RELACIONAL
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:
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)
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)
∏ numero_prestamo, importe(prestamo)
Resultado:
165
Base
de D
ato
s I
ALGEBRA RELACIONAL (PROYECCIÓN)
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)
EJERCICIO
167
Base
de D
ato
s I
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
13 de Septiembre de 2012
ALGEBRA RELACIONAL
(OPERACIONES BINARIAS)
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
EJEMPLO
∏nombre_cliente(Prestatario) U ∏nombre_cliente(impositor)
Resultado
170
Base
de D
ato
s 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
EJEMPLO
172
Base
de D
ato
s I
Πnombre-cliente (impositor) – Πnombre-cliente (prestatario)
Resultado
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
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
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
BASE DE DATOS I
L.I. Ana Luz Polo Estrella
24 de Septiembre de 2012
SISTEMA GESTOR DE
BASE DE DATOS
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
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
ESTRUCTURA DE SGBD
179
Base
de D
ato
s I
ESQUEMA DEL FUNCIONAMIENTO DE UN
SGBD
180
Base
de D
ato
s 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
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
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
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
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
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
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
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
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
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
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
CREACIÓN DE USUARIO
CREATE USER „ana‟@‟localhost‟ IDENTIFIED
BY ‟123‟;
192
Base
de D
ato
s I
CONECTARSE LOCAL
mysql –h localhost –u miusuario –p;
MOSTRAR USUARIO ACTUAL
select current_user();
193
Base
de D
ato
s 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
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
PRACTICA
Crear la base de datos practica
Crear las siguientes tablas
197
Base
de D
ato
s I
TAREA
Investigar como crear una base de datos en
Oracle
198
Base
de D
ato
s 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
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
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
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
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
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
Top Related