Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Base de Datos
Cuando se manejan archivos existen algunos problemas como el tener:
• No se manejaban estándares.
• Reducir Redundancia.
• Poder compartir los datos (Tanto aplicaciones viejas como nuevas que
utilizan la misma Base de Datos).
Base de Datos.
Es un sistema que almacena datos que están relacionados en un repositorio
en donde guardamos información integrada que podamos almacenar y
recuperar.
DBMS
Métodos de Acceso
DATOS
Tipos de Usuarios.
• Usuario Final: Es la Persona que utiliza los datos, esta persona solo ve
datos convertidos en información.
• Desarrollador de Aplicaciones: Es la persona que desarrolla los
sistemas que interactúan con la Base de Datos.
• DBA (Database Administration): Es la persona que asegura integridad,
consistencia, redundancia, seguridad; este es el administrador de la
Base de Datos quien se encarga de realizar el mantenimiento diario o
periódico de los datos.
Archivo Clientes
Juan Pérez 20 $500
Ana Alban 28 $1000
José Mora 30 $1500
NIVELES DE ABSTRACCIÓN DE BASE DE DATOS.
EXTERNO
CONCEPTUAL
INTERNO
Herramientas de
definición
Interfase de
Procesamiento Motor/Núcleo
Usuario E/S Físicas
de
DBMS S.O
Aplicación Desarrollo de
Aplicaciones
Diccionario de
Datos
Características y objetivos:
• Independencia de datos :
Aplicación Contable
Aplicación Financiera
Aplicación Administrativa
• Minimizar redundancias :
Datos repetidos
• Independencia de datos :
• Independencia de física :
• Independencia de lógica :
Resumen
.
Física Estructura de campos .
• Inconsistencia de datos :
Datos que en un lugar tienen valor y en otro lugar tienen otro valor.
Ej.
Se actualizo el archivo de cliente pero no se actualiza el archivo de
Transacciones
• Integridad de datos :
1. Fuentes de error
Resumen
D.B.M.S Subsistemas
Recuperación B/D
SISTEMA DE FACTURACIÓN
______
______
REQUERIMIENTO ______
______
DISEÑO
FISICO
DISEÑO LOGICO
Entidad
Es el objeto sobre el cual se requiere mantener o almacenar información.
Relación
Es la asociación significativa y establece entre dos entidades.
FACTURA CLIENTE
Atributo
Son las propiedades que describen o califican una entidad. Ejemplo: entidad
CLIENTE
Las entidades se las representa mediante cajas donde se las coloca con letra
MAYUSCULA.
PERSONA
Las relaciones se representan con líneas que conectan las cajas de las
entidades.
origen de
PEDIDOS CLIENTE
originado por
código
nombre
dirección
teléfono
ENTIDAD
Se puede considerar entidades a los sujetos, objetos, eventos a los lugares y a
las abstracciones.
SUJETO:
Personas y organizaciones que originan transacciones. Ejemplos:
Empleado, Cliente, Proveedor.
OBJETOS:
Entes tangibles. Ejemplos:
Producto, artículo
EVENTOS:
Son transacciones originadas por sujetos que afectan a los objetos.
Ejemplos:
Pedido, ajustes, calificación
LUGARES:
La ubicación de sujetos y objetos. Ejemplos:
Ciudad, país, bodega
ABSTRACCIONES:
Son conceptos empleados para clasificar, calificar o medir otras
entidades. Ejemplos:
Tipo de cliente, tipo de cuenta, unidad de medida.
RELACIONES
Las relaciones tienen tres propiedades o características:
Puede debe
OPCIONAL OBLIGATORIA
pertenece
leyendas
UNO A MUCHOS
B A
EMPLEADO DEPARTAMENTO
Un departamento puede estar compuesto por uno o varios empleados y un
empleado pertenecen a un solo departamento.
MUCHOS A MUCHOS
B A
ARTICULO PROVEEDOR
UNO A UNO
B A
MUJER HOMBRE
Un hombre puede ser esposo de una sola mujer y una mujer solo puede ser
esposa de un solo hombre.
RELACIÖN RECURSIVA
Una instancia de una entidad se asocia con una instancia de si mismo, es
opcional en los 2 extremos es decir no hay el carácter de obligatorio.
Ejemplo:
Subordinado de
ARTICULO
Jefe de
Atributos:
CLIENTE
FACTURA
# codigo
# Numero * nombre
* Fecha_coloca * direcci
º fecha_pago * fono1
º fono2
º fono3
# codigo # codigo
* nombre * nombre
* sexo * sexo
* salario * salario
PROFESOR
ALUMNO
* salario
# codigo
* nombre ALUMNO
* sexo * beca
* beca
"San Juan" es un agente que renta embarcaciones a los clientes por una
determinada tarifa. San Juan NO posee barcos, en lugar de eso los arrienda a
nombre de los propietarios que desean obtener ingresos cuando no usan sus
botes. Por tal servicio "San Juan" cobra una cuota y se especializa en barcos
que pueden usarse para viajes de varios días o semanas.
Entidades Principales
Bote Mantenimiento
Tripulación
Problema # 2: Tienda de Videos
Entidades Principales
Cassette Tipo_Película
Película Actor
Alquiler
Cliente
Problema # 3: Actos Vandálicos
Una cadena de hoteles ha decidido acabar con los clientes que deterioran el
mobiliario del hotel. Quieren guardar en una base de datos los clientes que
han deteriorado o robado muebles y cuáles son estos muebles.
Queremos saber los actos vandálicos (qué y cuantos muebles) que ha hecho
cada cliente en conjunto, independientemente de la habitación y hotel que
se hayan producido.
Queremos saber los actos vandálicos de cada cliente en cada habitación del
hotel.
Entidades Principales
• Clientes • Estancias
• Hotel • Actos Vandálicos
• Habitación • Tipo Mueble
• Mobiliario • Tipo Cliente
Actos_Vandálicos Muebles
Tipo_Muebles
Cada cuadro es pintado por un único pintor del que queremos saber el
nombre y apellidos, ciudad y país donde nació, fecha de nacimiento y la
fecha de muerte. Un pintor puede tener un único maestro, pero un maestro
puede serlo de varios pintores.
Los pintores pueden tener uno o varios mecenas que los protegen. De los
mecenas queremos saber el nombre y apellidos, país y fecha de nacimiento,
fecha de la muerte y la fecha de inicio y final del soporte que dió al pintor.
Un mecenas puede serlo de varios pintores y un pintor puede tener varios
mecenas en periodos diferentes. Se quiere recoger la relación que existe entre
un pintor y sus mesenas.
Maestro
Mecena
Ejemplos de Enunciados
ORDEN DE CLIENTE
Normalización
Estas formas normales son anidadas, es decir que para una relación esté en
3ra forma normal debe haber pasado por la 2da forma normal, y esta por la
1ra forma normal.
Dependencia Funcional.
X Y
Cod_empleado Codigo_empleado
01 Juan Pérez
02 Nicolas Vera
Claves o Llaves.
# Cod_cliente nombre_cliente
Dependencia Transitiva.
X Y Z
EMPLEADO
03 Jeanine Leal 03
04 Carla Da´Silva 04
Z DEPARTAMENTO
Cod_departam nombre_departa
Modelo Relacional
A B
#
3. Toda relación de uno a uno se representa replicando las columnas
componentes de la clave primaria de cada una de las entidades
participantes en la relación como columnas extras en la tabla de la otra.
A B
# #
4. Toda relación de muchos a muchos es resuelta con una entidad de
intersección cuya clave primaria es la combinación de las claves de las
entidades intersectadas.
A B
A B
# #
Eo Io
lenguajes Relacionales y Comerciales SQL
• NOT NULL
• PRIMARY KEY
• FOREIGN KEY
• CHECK
ALTER:
• Adicionar Columnas
ALTER TABLE DEPARTAMENTO
ADD CONSTRAINT Localidad Varchar2(25);
• Eliminar Columnas
ALTER TABLE DEPARTAMENTO
DROP COLUMN Cant_Empleados;
• Eliminar Tablas
DROP TABLE ORDEN
Observación:
TRUNCATE:
EQUIPOS GRUPOS
Id_equipo nombre id_jugador Id_grupo nombre
1 Brasil H A Grupo A
2 Ecuador A B Grupo B
3 Alemania A C Grupo C
4 Argentina C D Grupo D
5 Inglaterra D E Grupo E
JUGADORES POSICIÓN
Id_jugador nombre id_equipo id_posición Id_posición nombre
1 Mendez 2 3 1 arquero
2 Ronaldo 1 4 2 defensa
3 Dida 1 1 3 medio
4 delantero
PARTIDOS
Id_partido equipo1 equipo2 fecha estadio
INSERT:
INSERT INTO JUGADORES
VALUES (4,’Ballack’,3,3); COMMIT;
DELETE:
SELECT Nombre
FROM EQUIPOS
WHERE Id_Equipo = 1 ;
CLÁUSULA WHERE:
Operadores Aritméticos.
SELECT *
FROM JUGADORES
WHERE Edad > 30;
SELECT Nombre
FROM EQUIPOS
WHERE Campeon = ‘S’;
Operadores Lógicos (AND, OR).
Operadores Espaciales.
NOT Negación.
Æ Seleccionar los Empleados que gane 600, 1000 u 800 y cuyo nombre
empiece con la letra J.
SELECT *
FROM EMPLEADOS
WHERE Salario IN(600,1000,800) AND Nombre LIKE ‘J%’;
Æ Seleccionar el Nombre y el Salario de los Empleados que ganen más de
800, que no tengan comisión nula y que su apellido en su 2da letra
contenga la ‘O’ o que sean del Departamento 10.
SELECT Nombre, Salario
FROM EMPLEADOS
WHERE (Salario >800 AND Comision NOT IS NULL AND Apellido LIKE ‘_O%’)
OR Departamento = 10 ;
EQUI-JOIN:
Si ejecuto:
SELECT * 7 X 3 = 21 Registros
FROM EMPLEADO, DEPARTAMENTO;
Producto Cartesiano
Si ejecuto:
SELECT *
FROM EMPLEADO, DEPARTAMENTO
7 Registros
WHERE Id_Departamento = Departamento;
NON-EQUI-JOIN:
L. López 5000 B
Resultado M. Ruiz 2500 B
J. Mora 2500 B
M. Aviléz 1500 C
P. Plúas 1500 C
A. Rojas 800 D
P. Paredes 800 D
OUTER-JOIN:
L. López Marketing
M. Ruiz Ventas
J. Mora Sistemas
P. Plúas Operaciones
A. Rojas Operaciones
P. Paredes Operaciones
L. López Marketing
M. Ruiz Ventas
Resultado
J. Mora Sistemas
M. Aviléz
P. Plúas Operaciones
A. Rojas Operaciones
P. Paredes Operaciones
SELF-JOIN:
L. López
M. Ruiz L. López
Resultado
J. Mora L. López
M. Aviléz M. Ruiz
P. Plúas J. Mora
A. Rojas J. Mora
P. Paredes J. Mora
SUB - QUERIES: