SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Procesamiento de Archivos Vs. Base de Datos
Cuando se manejan archivos existen algunos problemas como el tener:
• Datos Repetidos (Redundancia).
• No se manejaban estándares.
• Había inconsistencia de datos.
• Falta de seguridad en los datos.
• No existían aplicaciones de uso general.
• A diferencia de cuando manejamos Base de Datos:
• Reducir Redundancia.
• Poder compartir los datos (Tanto aplicaciones viejas como nuevas que
utilizan la misma Base de Datos).
• Poder con las normas establecidas (Estándares)
• Mantener la seguridad en el sistema (Seguridades de acceso, de
personas, seguridades en operaciones permitidas).
• Mantener la Integridad 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.
Componentes de una Base de Datos.
• Hardware: Constituido por dispositivos de almacenamiento como
disco, tambores, cinta, etc.
• Software: Que es el DBMS o sistema administrador de la Base de
Datos.
• Datos: Los cuales están almacenados de acuerdo a la estructura
externa y van a ser procesados para convertirse en información.
USUARIO

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.
Conceptos Básicos de Base de Datos.
• Archivo: Son conjunto de registros.
• Registros: Los registros son un conjunto de campos.
• Campos: Es la mínima unidad de referencia.
Archivo Clientes
Juan Pérez
Ana Alban
José Mora

20
28
30

$500
$1000
$1500
NIVELES DE ABSTRACCIÓN DE BASE DE DATOS.
EXTERNO

CONCEPTUAL

INTERNO

Nivel Externo o Visión del Usuario Final.
Se ve como se manejan los datos ya convertidos en información.
Nivel Conceptual.
Se ve como esta conformada la Base de Datos, que tipo de datos tiene, como
están estructurados los registros.
Nivel Interno o Físico: Se ve como se almacenan los datos físicamente.
DBMS (Database Management System).
Subsistemas de un DBMS.
Herramientas de
definición

Usuario
de
Aplicación

Interfase de
Procesamiento
Desarrollo de
Aplicaciones

Diccionario de
Datos

Motor/Núcleo
DBMS

E/S Físicas
S.O
Características y objetivos:
• Independencia de datos :
Me provee una independencia de datos vs mis aplicaciones
Aplicación Contable
Aplicación Financiera
Aplicación Administrativa
Minimizar redundancias :
Datos repetidos
•

Nombre de cliente
Juan Pérez
Juan Pérez

Sueldo del cliente
$ 150
$ 150

• Independencia de datos :
Poder proteger nuestro programa de aplicación frente a las modificaciones
en la estructura de datos y viceversa sea en forma física y lógica
• Independencia de física :
Es protección a los programas de aplicación debido a cambios de la
estructura del archivo o cambio en las características de los campos
• Independencia de lógica :
Protección a los programas de aplicación cuando se modifica el sistema
Resumen
Física

Estructura de campos

Lógica

Esquema

.
.

Aplicaciones
•

Minimizar redundancia :

Datos repetidos y distribuidos en cualquier parte, el efecto que ocasiona
la redundancia es tener inconsistencia de datos y desperdicio de espacio
de almacenamiento

•

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 :

Conjunto de seguridades que son utilizadas para mantener los datos
correctos
1. Fuentes de error

Estas fuentes de error se originan si el programa de entrada de datos no esta
valido
Ej.
• Fallas de hardware
• Actualizaciones incompletas
• Defectos de Hardware
• Errores humanos
Una técnica que utiliza el D.B.M.S para una entrada de datos no valida es la
validación
Validación: es protegerlos datos, validarlos en entrada de datos existentes
tipos de validaciones
• Validación en el tipo de dato : es si se define un campo como carácter
o char y no se puede ingresar números enteros
• Validación valor de datos : si se define un valor entero se puede
especificar un rango y no se puede pasar de este valor
Resumen
nombre
• Tipo de dato.
(Char)
• Valor de dato
entero
Validación
• Valores claves o
nulos
• Integridad referencial
• Valores claves no nulos: asegura tener claves únicas no repetidas.
• Integridad referencial : me asegura que existen registros hijos sin sus
registros padres correspondientes
Control de concurrencias o simultaneidad
Este concepto se da en ambiente multiusaruios o sea varios usuarios tratando
de acceder a un objeto de datos al mismo tiempo
V1
V2
V3
.
.
VN

Cliente

Granularidad: es el tamaño de las unidades aseguradas Ej.
La granularidad puede proteger un campo un registro un archivo etc.
Bloqueo o Dead Lack: es la técnica que evita errores de concurrencia o
simultaneidad se da cuando se desarrolla una espera circular entre dos
transacciones y cada una de ellas solicita una actualización sobre el mismo
archivo no permite a otro archivo utilizarlo el el recurso hasta que termine el
proceso se da espera circular
Resumen
D.B.M.S

Subsistemas

Característica y objeto de un D.B.M.S o D.B.A
Independencia de datos
Minimizar redundancias
Integridad de datos
• Fuente de error
• Validaciones
• Control de concurrencia
• Control de seguridad
Granularidad
Bloqueo (dead – lock)
Recuperación de datos: recuperar los datos frente a las fuentes de error
mencionadas anteriormente. La restauración de la base de datos a su
estado normal, que es responsabilidad del D.B.A quien es el responsable
de implantar procedimiento de detección de errores y recuperación
Recuperación B/D
Alto disponibilidad de servicios
y aplicaciones
1. Backup (respaldo) : Backup caliente( B/D es operativa /diario)
Backup frió (B/D no es operativa / semanal)
2. Mirror o espejo : (Tener otra base de datos)
3. Archivo de logs : (Registro de transacciones)
• Reverso o recuperar lo ultimo que se hizo en una base de datos
Seguridad de datos: la seguridad los datos se pueden definir en los
siguientes aspectos
Objetos a asegurar: 1er objeto a asegurar son los dato después los
programas y finalmente el esquema
Codificación de clases: lo que me va a proveer el D.B.M.S es la
seguridad de login usuario
Control de acceso: se especifican seguridades en contra suceso no
indicados orientado a personas no autorizadas
Control y administración de recursos: el D.B.M.S debe proveer el D.B.A de
todos los mecanismos para control y administración de recursos. Para que
el deba cumpla con integridad de datos recuperación de errores
implementación de seguridades
Establecimiento de relaciones entre datos: el D.B.M.S debe proveer los
recursos para el establecimiento de las relaciones entre los datos:
Relaciones
Uno a uno
Uno a muchos
Muchos a muchos
Diseño de aplicación: en esta etapa se diseñan los programas de aplicación
que usaran y procesaran la base de datos.
Esta etapa y el diseño de la base de dato son paralelos en la mayor parte de
los casos, no se pueden finalizar el diseño délas aplicaciones hasta que se
haya terminado el diseño de la base de dato
La base de dato existe para dar soporte a las aplicaciones por lo que habrá
retroalimentación del diseño de las aplicaciones al diseño de la base.
En esta etapa hay que asegurarse de que toda la funcionabilidad especificada
en los requisitos de usuario se encuentre el diseño de aplicación
Prototipo: es opcional, es para construir prototipos de la aplicación que
permita a los diseñadores y a los usuarios probar el sistema. Un prototipo es
un modelo de trabajo de las aplicaciones del sistema el prototipo no tiene
toda la funcionabilidad del sistema final pero es suficiente para que los
usuarios puedan usar el sistema e identificar que aspectos están bien y cual
no son adecuados además de poder sugerir mejoras a la inclusión de nuevos
elementos.
Implementación: en esta etapa se crea las definiciones de la base de datos a
nivel conceptual externo e interno a si como los programas de aplicación.
La implementación de la base de datos se realiza mediante las sentencias
SQL, estas sentencias se encargan de crear el sistema o esquema de la base
los ficheros donde se almacenan los datos y las vistas de los usuarios.
Los programas de aplicación se implementan utilizando lenguajes de 3ra a
4ta generación, partes de estas aplicaciones son transacciones sobre la base
de datos que se incrementan también mediante lenguaje SQL.
La sentencia de este lenguaje se puede embeber en u lenguaje de
programación anfitrión como:
Visual Basic
C++
También se implementan en esta etapa todo los controles de seguridad e
integridad
Conversión y carga de datos: esta etapa es necesaria cuando se esta
reemplazando un sistema antiguo por uno nuevo los datos se cargan desde el
sistema viejo al nuevo directamente a si es necesario se convierten al formato
que requiera el nuevo sistema mas la base de dato y luego se cargo a esta
etapa se lo suele llamar “migración”
Etapa de prueba: en esta etapa se prueba y valida el sistema con los
requisitos específicos por los usuarios. Para ello se debe diseñar una batería
de test con datos reales que se deben llevar a cabo de Manero metódica y
rigurosa.
Si la fase de prueba se lleva a cabo correctamente descubrirá los errores los
programas de aplicación y e la estructura de la base e datos
Mantenimiento: una vez que el sistema esta probado e implementado se
pone en marcha. El sistema esta ahora en la fase de mantenimiento
Modelo Entidad / Relación
Modelaje
Es el proceso mediante el cual podemos identificar las propiedades
dinámicas o estáticas de un dominio de aplicación con mira a su
transformación en un diseño implementable en un sistema computarizado es
el plasmar los requerimientos de los usuarios en un diagrama para poder
implementarlo.

REQUERIMIENTO

______
______
______
______

SISTEMA DE FACTURACIÓN

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
Los atributos se incluyen dentro de las cajas de las entidades y se escriben
con MINUSCULA.
CLIENTE

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:
Primer grado o Cardinalidad
UNO A UNO
UNO A MUCHOS
MUCHOS A MUCHOS
Segundo grado o Opcional
Es la partición obligatoria u opcional de la entidad en la relación.
Puede
OPCIONAL

debe
OBLIGATORIA

Tercer grado o Leyenda
Es una expresión que describe el rol de cada entidad en la relación.
tiene
EMPLEADO

DEPARTAMENTO

pertenece
leyendas
COMO SE LEE EL GRADO O CARDINALIDAD
UNO A MUCHOS
B

A

Una instancia de la entidad A se relaciona con una o más de la instancia B

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

Una instancia de la entidad A se relaciona con una o mas instancias de la
entidad B y una instancia de la entidad B se relaciona con una o más
instancias de A.

ARTICULO

PROVEEDOR

Un proveedor puede se distribuidor de una o mas artículos y un articulo
puede ser distribuido por una o mas proveedores.
UNO A UNO
B

A

Una instancia de la entidad A se relaciona con una instancia de la entidad B
y una instancia de la entidad B se relaciona con una instancia de 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
Un empleado puede ser jefe de uno o mas empleados y un empleado puede
ser subordinado de un y solo un empleado.
Atributos:
Los atributos son empleados para identificar describir calificar o expresar el
estado de una entidad. Toda entidad posee un atributo o combinación de
atributos que se denomina Clave Primaria y que se emplea para diferenciar
cada instancia de las demás. Adicionalmente los atributos pueden ser
obligatorios u opcionales. A los atributos que forman parte de la
Clave Primaria se los identifica anteponiéndoles el signo de números (#).
A los atributos obligatorios se les antepone el asterisco (*).
A los atributos opcionales se les antepone el circulo (0).
Ej.:
CLIENTE
FACTURA
# Numero
* Fecha_coloca
º fecha_pago

#
*
*
*
º
º

codigo
nombre
direcci
fono1
fono2
fono3

En un diagrama entidad relación también pueden agrupar las entidades en
supertipo y en subtipo.
La Supertipo agrupan a 2 o mas entidades Subtipo.
Las Subtipo heredan los atributos de las entidades Supertipo.
PROFESOR
#
*
*
*

codigo
nombre
sexo
salario

PERSONA
#
*
*
*

codigo
nombre
sexo
salario
PROFESOR

ALUMNO
#
*
*
*

codigo
nombre
sexo
beca

* salario
ALUMNO
* beca

Cada subtipo puede tener relaciones propias independientes de las del
supertipo.
Los subtipos se representan como cajas dibujadas dentro de la caja del
subtipo.
Problema # 1 Compañía de Botes "San Juan"
"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.
La embarcación más pequeña tiene 28 pies de largo y la más grande es de 44.
Cada barco esta por completo equipado cuando se rentan; gran parte del
equipo lo proporcionan los propietarios pero "San Juan" agrega otra parte. El
equipo que proporciona el propietario incluye lo que es parte del bote como
radios, brújulas, indicadores de profundidad, otros importantes
instrumentos como estufas y refrigeradoras. Otros que proporciona el
propietario no están instalados como parte del bote, tales complementos
incluyen velas, cuerdas, anclas, bolsas de caucho, salvavidas y en la cabina
platos, cubiertos, utensilios de cocina, etc. "San Juan" aporta el equipo de
consumo que podría considerarse como provisiones, libros de navegación,
tablas de marea y corrientes, jabón, toallas de cocina y artículos similares.
Una importante responsabilidad de "San Juan" es registrar el equipo que esta
en el bote en particular y los que no están fijos en la embarcación.
"San Juan" prefiere conservar registros precisos de sus clientes y los viajes
para tener estadísticas de cuales clientes han ido y en que viajes; algunos
itinerarios son más peligrosos que otros; por tal motivo a "San Juan" le
gustaría saber cuales clientes tienen determinada experiencia. En algunos
viajes los clientes solicitan servicio de una tripulación y "San Juan" contrata
por horas a tales personas.
Las embarcaciones necesitan mantenimiento. "San Juan" incluye registros
precisos de todos los procesos y costos de mantenimiento incluyendo
actividades normales como limpieza, cambio de aceite, o reparaciones no
programadas. En algunos casos son necesarias las reparaciones durante un
viaje en tal caso los clientes se comunican por radio con el despachador de
"San Juan" quien determina la mejor opción para hacer la reparación. Para
tomar estas decisiones, los despachadores necesitan información sobre sus
opciones de reparación y antecedentes sobre costos y calidad de la
reparación.
Entidades Principales

Modelo Entidad / Relación Compañía de Botes "San Juan"

Propietario

Equipos

Bote

Cliente

Viajes

Tripulación

Tipo_Equipo

Mantenimiento

Reparación
Problema # 2: Tienda de Videos
En una tienda de videos se necesita mantener información de alrededor de
3000 cassettes, cada uno de los cassettes tiene asignado un número. Por cada
película se necesita conocer su título y categoría, por ejemplo comedia,
suspenso, drama, acción, ciencia ficción, etc. Se mantienen algunas copias de
muchas películas. Se le da a cada película una identificación y se mantiene
un seguimiento de lo que contiene cada cassette. Un cassette puede venir en
varios formatos, y una película es agrupada en un solo cassette;
frecuentemente las películas son pedidas de acuerdo a un actor en específico
Tom Cruise y Demmi Moore son los más populares es por eso que se debe
mantener información de los actores que aparece en cada película. No en
todas las películas actúan artistas famosos, a los clientes de la tienda le gusta
conocer datos como el nombre real del actor y su fecha de nacimiento. En la
tienda se mantiene información solo de los actores que aparecen en las
películas que se tiene a disposición. Solo se alquila videos a aquellos que
pertenecen al club de video. Para pertenecer al club de video se debe tener
un buen crédito, por cada miembro del club se mantiene una ficha con su
nombre, teléfono y dirección, cada miembro del club tiene asignado un
número de membresía. Se debe mantener información de todos los cassettes
que el cliente ha alquilado. Cuando un cliente alquila un cassette se debería
conocer el título de la película, fecha en que lo alquiló y la fecha de
devolución.
Entidades Principales
Cassetes
Tipos_peliculas

Actores
Alquiler

Clientes
Pelicula

Modelo Entidad / Relación Tienda de Videos
Cassette

Tipo_Película

Película

Alquiler

Cliente

Actor
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.
En la base de datos tendremos información de cada hotel (código, dirección
y teléfono), así como un conjunto de habitaciones identificadas por un
número de habitación único para cada hotel y un conjunto de elementos de
mobiliario estándar con un código, descripción y precio, por ejemplo: "silla
de cuero diseño clásico, 98,75
USD.
Después de hacer un inventario, todo el mobiliario de los hoteles está
identificado, es decir, sabemos qué y cuantos elementos de mobiliario hay en
cada habitación de cada hotel. Los muebles pueden cambiar de habitación,
pero no necesitamos guardar la habitación antigua. Para cada habitación,
guardaremos también si es soleada, si tiene
lavabo y si tiene nevera. Cada cliente tiene información personal (DNI,
nombre, etc), y además un historial de sus actos vandálicos: para cada cliente
guardaremos qué muebles y cuántos ha deteriorado. También queremos
saber las estancias que ha hecho cada cliente en los hoteles, guardando en un
único atributo la fecha de llegada y
la de salida, así como la habitación en que se ha alojado. Un cliente puede
alojarse en una misma habitación de hotel en diferentes estancias.
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
Hotel
Habitación
Mobiliario

•
•
•
•

Estancias
Actos Vandálicos
Tipo Mueble
Tipo Cliente

Modelo Entidad Relación Actos Vandálicos
Tipo_Cliente

Hotel

Clientes

Estancias

Habitación

Actos_Vandálicos

Muebles

Tipo_Muebles

Problema #4: Pinacoteca
El Ministerio de Educación y Ciencia quiere tener información sobre todos
los cuadros que se encuentran en las pinacotecas.
De cada pinacoteca se quiere saber el nombre único, ciudad donde se
encuentra, dirección y extensión en metros cuadrados.. Cada pinacoteca
tiene un conjunto de cuadros de los cuales se quiere guardar el código (único
para todas las pinacotecas), nombre, medidas, fecha en que se pintó y técnica
utilizada para pintarlo.
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 pertenecer o no a una escuela de la cual se quiere saber
el nombre asi como el país y fecha en que apareció.
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

Pinacoteca

Cuadro

Pintor

Escuela

Mecena

Ejemplos de Enunciados
1) Cada orden de compra da lugar a una factura.
ORDEN DE PAGO

FACTURA

2) Un empleado puede o no puede ser vendedor, pero un vendedor es un
empleado.
EMPLEADO

VENDEDOR

3) Un cliente solamente puede enviar una orden de compra al mismo
tiempo, cualquier persona que no tenga una orden pendiente no es un
cliente.
CLIENTE

ORDEN DE

4) Un cliente es un cliente sin importar el número de órdenes de compra
que tenga pendiente hasta la fecha. Cada orden de compra pertenece
solamente a un cliente.
ORDEN DE

CLIENTE

5) Un vendedor puede tener uno o más clientes.
6) Cada producto que tenemos en stock está compuesto de una o más partes,
cada parte es usada en un solo producto.

La estructura de una base de datos es el conjunto de tablas relacionadas.
Normalización
Al realizar procesos sobre las tablas se pueden presentar problemas llamados
ANOMALÍAS que pueden ser de inserción, actualización, eliminación,
etc.…
El proceso que asegura que la tabla este bien estructurada se denomina
NORMALIZACIÓN.
La normalización esta basada en el concepto de formas normales, cada forma
normal tiene un conjunto de reglas que debe ser verificada (1ra forma
normal, 2da forma normal, 3ra forma normal).
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.
La Dependencia Funcional es la relación que existe entre dos atributos.
Ej. X à Y
Dado un valor de X, existe un valor de Y, entonces Y es funcionalmente
dependiente de X.
X
Cod_empleado
01
02

Y
Codigo_empleado
Juan Pérez
Nicolas Vera
Claves o Llaves.
Es el atributo que le da la diferenciación a cada tabla, este atributo hace que
no tengamos tuplas o filas repetidas.
#

Cod_cliente

nombre_cliente

001

Juan Pérez

002

Nicolas Vera

003

Nunca repetir

Javier Villota

Dependencia Transitiva.
Es la dependencia que está encadenada.
Dado un valor de X, existe un valor de Y, y dado un valor de Y existe un
valor de Z que es transitivamente dependiente de X.
X

Y

Z

EMPLEADO
X Cod_empleado

nombre_empleado

cod_empleado
Y

001

01

002

Ana Felipe

02

03

Jeanine Leal

03

04

Z

Juan Pérez

Carla Da´Silva

04

DEPARTAMENTO
Cod_departam

nombre_departa

001

Juan Pérez

002

Ana Felipe
Primera Forma Normal.
Una tabla esta en primera forma normal si cumple las siguientes
restricciones:
o Las celdas o campos deben tener valores singulares.
o Las entradas de columna o atributo deben ser de la misma clase.
o Cada columna debe tener un nombre único.
o Dos filas o tuplas no pueden ser iguales.
Segunda Forma Normal
Todo atributo no clave depende de un atributo clave.
"Eliminar dependencias parciales a la clave primaria de una tabla.
Tercera Forma Normal
Una relación está en tercera forma normal si está en segunda forma normal y
tiene dependencia transitiva (dependencia encadenada).
Modelo Relacional
Reglas de Transformación del Diagrama Entidad / Relación en el Modelo
Relacional
1. Toda entidad en el diagrama Entidad / Relación se representa como una
tabla separada y sus atributos son las mismas columnas de dicha tabla.
2. Toda relación de uno a muchos se representa replicando las columnas de
la clave primaria de la entidad del lado 1 como columnas extras de la
tabla de la entidad de lado M (Muchos).
Clave Foránea: Es una clave primaria de otra tabla.

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
SQL (Structure Query Languaje)
DML (Data Manipulation Languaje)
Select
Insert
Update
Delete

Trabaja a nivel de datos
o campos.
Maneja datos.

DDL (Definition Data Languaje)
Create
Alter
Drop
Truncate

Trabaja a nivel de
estructuras o tablas.
Maneja Tablas.

TCL (Transacction Control Languaje)
Trabaja con el DML.
Controlan todas las
transacciones.

Commit
RollBack

SENTENCIAS DDL (CREATE, ALTER, DROP, TRUNCATE)
CREATE:

Máximo 30 Caracteres

CREATE TABLE CLIENTE
(
Id_Cliente Number,
Nombre Varchar2(50),
Apellido Varchar2(50),
Dirección Varchar2(80),
Edad
Number
);
1ra Forma
CREATE TABLE FACTURA
( Id_Factura
Number
Num_Fact
Number
Fecha_Factura
Date
Id_Cliente
Number
•
• );

CREATE TABLE CLIENTE
(
Id_Cliente Number PRIMARY kEY,
Nombre Varchar2(50) NOT NULL,
Apellido Varchar2(50) NOT NULL,
Dirección Varchar2(80),
Edad
Number
);
2da Forma
PRIMARY KEY,
NOT NULL,
NOT NULL,
FOREIGN KEY REFERENCES CLIENTE(Id_Cliente),
CREATE TABLE DEPARTAMENTO
(
Id_Departamento
Number PRIMARY KEY,
Nombre
Varchar2(30) NOT NULL,
Cant_Empleados
Number ,
Region
Varchar2(50) CHECK (Region IN (‘GYE’,’UIO’,’Insular’))
);

CREATE TABLE EMPLEADO
(
Id_Empleado
Number PRIMARY KEY,
Nombres
Varchar2(30) NOT NULL,
Apellidos
Varchar2(30) NOT NULL,
Cargo
Varchar2(30) CHEK (Cargo IN (‘Gerente’,’Ingeniero’,’Analista’,’Vendedor’)),
Fecha_Ingreso
Date,
Id_Manager
Number FOREIGN KEY REFERENCES EMPLEADO(Id_Empleado),
Id_Dpto
Number FOREIGN KEY REFERENCES DEPARTAMENTO(Id_Departamento)
);

CREATE TABLE CLIENTE
(
Id_Cliente
Number PRIMARY KEY,
Nombres
Varchar2(30) NOT NULL,
Apellidos
Varchar2(30) NOT NULL,
Dirección
Varchar2(80),
Teléfono
Number,
Tipo_Cliente
Varchar2(30) CHECK (Tipo_Cliente IN (‘Normal’,’VIP1’,’VIP2’,’VIP3’)),
Id_Vendedor
Number FOREIGN KEY REFERENCES EMPLEADO(Id_Empleado)
);

CREATE TABLE ORDEN
(
Id_Orden
Number PRIMARY KEY,
Descripción
Varchar2(30) NOT NULL,
Total
Number ,
Id_Cliente
Number FOREIGN KEY REFERENCES CLIENTE(Id_Cliente)
);
CONSTRAINTS
•
•
•
•

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;

• Adicionar Clave Primaria
ALTER TABLE DEPARTAMENTO
ADD CONSTRAINT PK1 PRIMARY KEY (Id_Departamento);

• Adicionar Clave Foránea
ALTER TABLE ORDEN
ADD CONSTRAINT FK1 FOREIGN KEY (Id_Cliente)
REFERENCES CLIENTE(Id_Cliente);

• Eliminar Clave Primaria y Clave Foránea
ALTER TABLE DEPARTAMENTO
DROP CONSTRAINT PK1;

ALTER TABLE DEPARTAMENTO
DROP CONSTRAINT FK1;
DROP:
• Eliminar Tablas
DROP TABLE ORDEN

Observación:
1. Si creo tablas SIN PK y FK puedo crearlas en cualquier orden sin
importar relaciones.
2. Si utilizo ALTER puedo definir PK y FK sin importar el orden de las
tablas.
3. Si deseo eliminar tablas que tengan establecidos PK y FK, primero
debo eliminar las FK(Claves Foráneas), luego PK(Claves Primarias) y
por último procedo a eliminar las tablas en cualquier orden.
4. No puedo eliminar tablas en cualquier orden cuando contengan PK y
FK establecidos.

TRUNCATE:
Elimina los datos de la tabla pero no la estructura, y además se libera espacio
de la base de datos de la definición de la tabla.
No elimina campos solo información.
TRUNCATE TABLE ORDEN

1.- Crear Tablas.
CREATE TABLE CLIENTE
(
Id_Cliente
Number,
Nombre_Completo
Varchar2(50)
Direccion
Varchar2(80)
Telefono1
Number,
Edad
Number
);

NOT NULL,
NOT NULL,

CREATE TABLE ESTADIA
(
Id_Hotel
Number,
Id_Habitacion
Number,
Id_Cliente
Number,
Fecha_Ingreso
Date NOT NULL,
Fecha_Salida
Date NOT NULL,
Observaciones
Varchar2(80)
);
CREATE TABLE HABITACION
(
Id_Hotel
Number,
Id_Habitacion
Number,
Soleada
VarChar2(1)
);

NOT NULL,

CREATE TABLE HOTEL
(
Id_Hotel
Number,
Descripción
Varchar2(80),
Dirección
VarChar2(50),
);

2.- Crear Claves Primarias.
ALTER TABLE CLIENTE
ADD CONSTRAINT Cliente_PK PRIMARY KEY(Id_Cliente);

ALTER TABLE ESTADIA
ADD CONSTRAINT Estadia_PK PRIMARY KEY(Id_Hotel,Id_Habitacion,Id_Cliente,Fecha_Ingreso);

ALTER TABLE HABITACION
ADD CONSTRAINT Habitacion_PK PRIMARY KEY(Id_Hotel,Id_Habitacion);

ALTER TABLE HOTEL
ADD CONSTRAINT Hotel_PK

PRIMARY KEY(Id_Hotel);

3.- Crear Claves Foráneas.
ALTER TABLE HABITACION
ADD CONSTRAINT Habitacion_Hotel_FK FOREIGN KEY(Id_Hotel)
REFERENCES HOTEL(Id_Hotel);

ALTER TABLE ESTADIA
ADD CONSTRAINT Estadia_Clientel_FK FOREIGN KEY(Id_Cliente)
REFERENCES CLIENTE(Id_Cliente);
ALTER TABLE ESTADIA
ADD CONSTRAINT Estadia_Habitacion_FK FOREIGN KEY(Id_Hotel,Id_Habitacion)
REFERENCES HABITACION(Id_Hotel,Id_Habitacion);

4.- Crear Constraints CHECK.
ALTER TABLE HABITACION
ADD CONSTRAINT Habitacion_CK1 CHECK (Soleada IN (‘S’,’N’));

5.- Eliminar Claves Foráneas.
DROP CONTRAINT Habitación_Hotel_FK
DROP CONTRAINT Estadia_Cliente_FK
DROP CONTRAINT Estadia_Habitacion_FK

6.- Eliminar Claves Primarias.
DROP CONTRAINT Hotel_PK

DROP CONTRAINT Habitacion_PK

DROP CONTRAINT Estadia_PK

DROP CONTRAINT Cliente_PK

7.- Eliminar Tablas.
DROP TABLE CLIENTE
DROP TABLE ESTADIA
DROP TABLE HABITACION
DROP TABLE HOTEL
SENTENCIAS DML (INSERT, UPDATE, SELECT, DELETE)

EQUIPOS
Id_equipo
1
2
3
4
5

GRUPOS
nombre
Brasil
Ecuador
Alemania
Argentina
Inglaterra

id_jugador
H
A
A
C
D

Id_grupo
A
B
C
D
E

JUGADORES
Id_jugador
1
2
3

nombre
Grupo A
Grupo B
Grupo C
Grupo D
Grupo E

POSICIÓN
nombre
Mendez
Ronaldo
Dida

id_equipo
2
1
1

id_posición
3
4
1

equipo1

equipo2

fecha

Id_posición
1
2
3
4

PARTIDOS
Id_partido

estadio

INSERT:
INSERT INTO JUGADORES
VALUES (4,’Ballack’,3,3);
COMMIT;

Nota: Puedo hacer muchos INSERT y colocar un solo COMMIT.
DELETE:
DELETE FROM EQUIPO
WHERE Id_Equipo=3;

COMMIT;

nombre
arquero
defensa
medio
delantero
SELECT:
Mostrar el Nombre de todos los equipos y sus respectivos grupos.
SELECT *
FROM EQUIPOS;

SELECT Nombre, Id_Grupo
FROM EQUIPOS;

Mostrar el Nombre de los Jugadores del equipo con Código 1,
SELECT Nombre
FROM EQUIPOS
WHERE Id_Equipo = 1 ;

CLÁUSULA WHERE:
Operadores Aritméticos.
= Igualdad
<> Desigualdad
> Mayor que

< Menor que
>= Mayor o igual que
<= Menor o igual que

Seleccionar los jugadores que tengan más de 30 años.
SELECT *
FROM JUGADORES
WHERE Edad > 30;

Seleccionar el Nombre de los Equipos que han sido campeones.
SELECT Nombre
FROM EQUIPOS
WHERE Campeon = ‘S’;
Operadores Lógicos (AND, OR).
Seleccionar los Equipos que no han sido campeones mundiales y que
sean del continente de América.
SELECT Nombre
FROM EQUIPOS
WHERE Campeon = ‘N’ AND Continente =’America’;

Seleccionar el Nombre y el salario de los Empleados cuya Comisión sea
igual a 50 o menor o igual a 100.
SELECT Nombre, Salario
FROM EMPLEADOS
WHERE Comision >= 50 AND Comision <= 100;

Seleccionar el Nombre y el Apellido de los Empleados que ganen entre
500 y 1000 o cuya comisión sea nula.
SELECT Nombre, Apellido
FROM EMPLEADOS
WHERE (Salario >= 500 AND Salario <= 1000) OR (Comision IS NULL);

Operadores Espaciales.
IN

Lista de Valores (500, 800, 1000).

BETWEEN

Valores entre un rango mayor y uno
Menor (500 - 1000).

LIKE

Patrones en cadena de Caracteres.
%
Cero o más Caracteres.
_
Un solo Caracter.

IS NULL

Valores Nulos.

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:
Uniones o Igualdades. Si utilizo n tablas tendré n-1 Joins.
Si ejecuto:
7 X 3 = 21 Registros

SELECT *
FROM EMPLEADO, DEPARTAMENTO;

Producto Cartesiano

Si ejecuto:
SELECT *
FROM EMPLEADO, DEPARTAMENTO
WHERE Id_Departamento = Departamento;

7 Registros

Para evitar ambigüedades se utiliza alias:
Alias
SELECT *
FROM EMPLEADO A, DEPARTAMENTO B
WHERE A.Id_Departamento = B.Departamento;

Visualizar el nombre de los Empleados, su cargo y su Salario de aquellos
empleados que sean jefes y su Comisión este entre 50 y 200.

SELECT A.Nombre , B.Descripción , A.Salario
FROM EMPLEADO A , CARGO B
WHERE B.Id_Cargo = A.Cargo AND B.Descripcion = ‘Jefes’
AND A.Comisión BETEWEEN (500, 1000);
Mostrar el Nombre y el Cargo de los Empleados cuyo Salario sea 1000,
800 ó 500, que trabajen en el Departamento de Operaciones y cuyo
Cargo sea Gerente.

SELECT E.Nombre , C.Descripción
FROM EMPLEADO E , CARGO C, DEPARTAMENTO D
WHERE E.Cargo = C.Id_Cargo AND E.Departamento = D.Id_Departamento
AND E.Salario IN (1000, 500, 800) AND D.Nombre = ‘Operaciones’
AND C.Descripción = ‘Gerente’;

NON-EQUI-JOIN:
Se utiliza cuando no existen ninguna relación entre dos tablas.
Visualizar el Nombre de los Empleados, su Salario e indicar el nivel de
su Salario.
SELECT A.Nombre, A.Salario
FROM EMPLEADO E, NIVELES-SALARIO NS
WHERE A.Salario BETWEEN B.Nivel_Bajo AND B.Nivel_Alto

Resultado

L. López
M. Ruiz
J. Mora
M. Aviléz
P. Plúas
A. Rojas
P. Paredes

5000
2500
2500
1500
1500
800
800

B
B
B
C
C
D
D

OUTER-JOIN:
Es utilizado cuando realizamos consultas entre dos tablas relacionadas pero
en su clave foránea pueden haber valores nulos, es decir que haya
inconsistencia de datos.
Visualizar el nombre del Empleado y su Departamento así no exista su
Departamento.
Resultado EQUI-JOIN
L. López
M. Ruiz
J. Mora
P. Plúas
A. Rojas
P. Paredes

Marketing
Ventas
Sistemas
Operaciones
Operaciones
Operaciones

SELECT A.Nombre, B.Nombre
FROM EMPLEADO E, DEPARTAMENTO D
WHERE A.Id_Departamento(+) = Id_Dep

Resultado

L. López
M. Ruiz
J. Mora
M. Aviléz
P. Plúas
A. Rojas
P. Paredes

Marketing
Ventas
Sistemas
Operaciones
Operaciones
Operaciones

SELF-JOIN:
Se aplica cuando tengo una relación de recursividad.
Mostrar el Nombre de los Empleados con el Nombre de sus respectivos
Jefes.
SELECT A.Nombre, B.Nombre
FROM EMPLEADO E, EMPLEADO B
WHERE A.Id_Manager = B.Id_Emp

Resultado

L. López
M. Ruiz
J. Mora
M. Aviléz
P. Plúas
A. Rojas
P. Paredes

L. López
L. López
M. Ruiz
J. Mora
J. Mora
J. Mora
SUB - QUERIES:
Visualizar el Nombre de los Empleados y sus Salarios de aquellos
empleados que tengan igual comisión que M. Aviléz.
SELECT C.Nombre, C.Salario
FROM EMPLEADOS C
WHERE C.Comision = ( SELECT A.Comision
FROM EMPLEADOS A
WHERE A.Nombre = ‘A. Aviléz’

)

Mostrar el Nombre y el cargo de los Empleados que trabajen en el
mismo Departamento en el cual trabaja el empleado A. Rojas
SELECT E.Nombre, C.Nombre
FROM EMPLEADOS C, CARGO C
WHERE E.Id_Cargo = C.Id_Cargo
AND C.Id_Cargo = ( SELECT E2.Id_Cargo
FROM EMPLEADOS E2
WHERE E2.Nombre = ‘A. Aviléz’

)

BASE DE DATOS DISTRIBUIDA
Es una base de datos construida sobre un red computacional y no sobre una
maquina aislada, la información constituye una base de datos distribuida
esta almacenada en diferentes sitios de la red, y las aplicaciones que se
ejecutan accesando datos en distintos sitios.
Una base datos distribuidas entonces es una colección de datos que
pertenecen lógicamente a un solo sistemas pero se encuentran físicamente en
varios sitios de la red.
La base de datos distribuida puede ser homogénea y heterogénea
Base de datos homogénea todos los sitios tienen los mismos sistemas de
gestión de bases de datos. Son consientes de la existencia de los demás sitios
y cooperan en el procesamiento de las solicitudes
Base de datos heterogénea cada sitio puede tener un sistema de gestión de
base de datos distinto así como el esquema puede ser diferente, puede ser
que algunos sitios no conozcan a otros, puede ser que solo ofrezcan
facilidades limitadas para la cooperación de procesamiento de transacciones.
Principios fundamentales de las bases de datos distribuidas
Regla 0.- desde el punto de vista del usuario un sistema distribuido deberá
ser idéntico a un sistema son distribuido
Regla 1.- autonomía local, deberá ser autónomo y no depender de una base
de datos que se encuentre en otro sitio de la red en otra ubicación geográfica
Regla 2.- no dependencia de un sitio central, no se debe depender de un solo
servidor para que no sea vulnerable y nadie puede accesar a la base de datos
Regla 3.- operación continua. Si se daña un punto de la base de datos no se
debería dañar solo se paraliza ese punto hasta realizar la operación de
mantenimiento de la base de datos.
Regla 4.- independencia de localización, para el usuario es transparente
conocer donde están los datos
Regla 5.- independencia de fragmentación de una gran tabla solo se utilizan
ciertos datos los mismos que están compartidos.
Regla 6.- independencia de la replica, cuando se hacen fragmentos se deben
replican la información para actualizar los datos los cuales deben ser
trasparentes para el usuario.
Regla 7.- procesamiento distribuid por consulta se puede tener diferentes
bloques que forman sistemas distribuidos para ello se crean tablas
intermedias que pueden acceder solo a los datos requeridos.
Regla 8.-manejo distribuido de transacciones, una transacción tiene muchas
implicaciones para actualizar los datos los cuales se replican para poder
interactuar con muchas plataformas o bases de datos al mismo tiempo
Regla 9.- implementación con respecto al equipo, si importar el equipo el
sistema debe funcionar igual, es decir debe tener el mismo tiempo de
respuesta
Regla 10.- no debe depender de un sistema operativo
Regla 11.- independencia con respecto a la red. No debe importar el tipo de
de red
Regla 12.- independencia con respecto al sistema de gestión de base de datos.
Se puede actuar en un sistema distribuido de base de datos heterogéneo
DATA ARE HOUSE
Es una colección de datos históricos acumulados de solo lectura.
Los datos pueden ser obtenidos de otras fuentes y generalmente son
sumarizadas y almacenadas por periodos de tiempo extenso (años) forman
parte del sistema de toma de decisiones gerencial.

Más contenido relacionado

La actualidad más candente

Unidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e rUnidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e rSebastian Perez
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designerWen MuZo
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instruccionesLely
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionJosé Antonio Sandoval Acosta
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acidJefer Lee Parra
 
2.1 aplicaciones la interfaz entre redes
2.1 aplicaciones la interfaz entre redes2.1 aplicaciones la interfaz entre redes
2.1 aplicaciones la interfaz entre redesMoises jimenez Chavez
 
Diseño detallado
Diseño detalladoDiseño detallado
Diseño detalladojose
 
Investigación quinta unidad
Investigación quinta unidadInvestigación quinta unidad
Investigación quinta unidadJuan Anaya
 
Taller modelo entidad relacion
Taller modelo entidad relacionTaller modelo entidad relacion
Taller modelo entidad relacionBrayan Vega Diaz
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datospepelebu1313
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwareJose Patricio Bovet Derpich
 
Organización lógica y física.
Organización lógica y física.Organización lógica y física.
Organización lógica y física.Lely
 
Ambiente distribuido
Ambiente distribuidoAmbiente distribuido
Ambiente distribuidoalicia
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)michell_quitian
 
Pinacoteca Power
Pinacoteca PowerPinacoteca Power
Pinacoteca PowerConfesorAD
 

La actualidad más candente (20)

Unidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e rUnidad 2 diseño de base de datos y e r
Unidad 2 diseño de base de datos y e r
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designer
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acid
 
Ejemplos acid
Ejemplos acidEjemplos acid
Ejemplos acid
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 
2.1 aplicaciones la interfaz entre redes
2.1 aplicaciones la interfaz entre redes2.1 aplicaciones la interfaz entre redes
2.1 aplicaciones la interfaz entre redes
 
REGLAS DE CODD
REGLAS DE CODDREGLAS DE CODD
REGLAS DE CODD
 
Diseño detallado
Diseño detalladoDiseño detallado
Diseño detallado
 
Investigación quinta unidad
Investigación quinta unidadInvestigación quinta unidad
Investigación quinta unidad
 
Taller modelo entidad relacion
Taller modelo entidad relacionTaller modelo entidad relacion
Taller modelo entidad relacion
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 
MOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modeladoMOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modelado
 
Organización lógica y física.
Organización lógica y física.Organización lógica y física.
Organización lógica y física.
 
Ambiente distribuido
Ambiente distribuidoAmbiente distribuido
Ambiente distribuido
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)
 
Pinacoteca Power
Pinacoteca PowerPinacoteca Power
Pinacoteca Power
 

Similar a Base de datos pdf (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos capitulo 2
Base de datos  capitulo 2Base de datos  capitulo 2
Base de datos capitulo 2
 
Base de datos
Base de datosBase de datos
Base de datos
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De Vida
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De Vida
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De Vida
 
base de datos
base de datosbase de datos
base de datos
 
Base de datos-word
Base de datos-wordBase de datos-word
Base de datos-word
 
C:\Fakepath\Bdiii
C:\Fakepath\BdiiiC:\Fakepath\Bdiii
C:\Fakepath\Bdiii
 
Base de datos
Base de datosBase de datos
Base de datos
 
Sistema de informacion
Sistema de informacionSistema de informacion
Sistema de informacion
 
Puestos y responsabilidades del personal de base de datos
Puestos y responsabilidades del personal de base de datosPuestos y responsabilidades del personal de base de datos
Puestos y responsabilidades del personal de base de datos
 
Trabajo de marco
Trabajo de marcoTrabajo de marco
Trabajo de marco
 
Guia base de datos
Guia base de datosGuia base de datos
Guia base de datos
 
Componentes de una base de datos
Componentes de una base de datosComponentes de una base de datos
Componentes de una base de datos
 
Trabajo de desarrollo en entornos case
Trabajo de desarrollo en entornos caseTrabajo de desarrollo en entornos case
Trabajo de desarrollo en entornos case
 

Base de datos pdf

  • 1. Procesamiento de Archivos Vs. Base de Datos Cuando se manejan archivos existen algunos problemas como el tener: • Datos Repetidos (Redundancia). • No se manejaban estándares. • Había inconsistencia de datos. • Falta de seguridad en los datos. • No existían aplicaciones de uso general. • A diferencia de cuando manejamos Base de Datos: • Reducir Redundancia. • Poder compartir los datos (Tanto aplicaciones viejas como nuevas que utilizan la misma Base de Datos). • Poder con las normas establecidas (Estándares) • Mantener la seguridad en el sistema (Seguridades de acceso, de personas, seguridades en operaciones permitidas). • Mantener la Integridad 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. Componentes de una Base de Datos. • Hardware: Constituido por dispositivos de almacenamiento como disco, tambores, cinta, etc. • Software: Que es el DBMS o sistema administrador de la Base de Datos. • Datos: Los cuales están almacenados de acuerdo a la estructura externa y van a ser procesados para convertirse en información.
  • 2. USUARIO 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. Conceptos Básicos de Base de Datos. • Archivo: Son conjunto de registros. • Registros: Los registros son un conjunto de campos. • Campos: Es la mínima unidad de referencia. Archivo Clientes Juan Pérez Ana Alban José Mora 20 28 30 $500 $1000 $1500
  • 3. NIVELES DE ABSTRACCIÓN DE BASE DE DATOS. EXTERNO CONCEPTUAL INTERNO Nivel Externo o Visión del Usuario Final. Se ve como se manejan los datos ya convertidos en información. Nivel Conceptual. Se ve como esta conformada la Base de Datos, que tipo de datos tiene, como están estructurados los registros. Nivel Interno o Físico: Se ve como se almacenan los datos físicamente. DBMS (Database Management System). Subsistemas de un DBMS. Herramientas de definición Usuario de Aplicación Interfase de Procesamiento Desarrollo de Aplicaciones Diccionario de Datos Motor/Núcleo DBMS E/S Físicas S.O
  • 4. Características y objetivos: • Independencia de datos : Me provee una independencia de datos vs mis aplicaciones Aplicación Contable Aplicación Financiera Aplicación Administrativa Minimizar redundancias : Datos repetidos • Nombre de cliente Juan Pérez Juan Pérez Sueldo del cliente $ 150 $ 150 • Independencia de datos : Poder proteger nuestro programa de aplicación frente a las modificaciones en la estructura de datos y viceversa sea en forma física y lógica • Independencia de física : Es protección a los programas de aplicación debido a cambios de la estructura del archivo o cambio en las características de los campos • Independencia de lógica : Protección a los programas de aplicación cuando se modifica el sistema Resumen Física Estructura de campos Lógica Esquema . . Aplicaciones
  • 5. • Minimizar redundancia : Datos repetidos y distribuidos en cualquier parte, el efecto que ocasiona la redundancia es tener inconsistencia de datos y desperdicio de espacio de almacenamiento • 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 : Conjunto de seguridades que son utilizadas para mantener los datos correctos 1. Fuentes de error Estas fuentes de error se originan si el programa de entrada de datos no esta valido Ej. • Fallas de hardware • Actualizaciones incompletas • Defectos de Hardware • Errores humanos Una técnica que utiliza el D.B.M.S para una entrada de datos no valida es la validación Validación: es protegerlos datos, validarlos en entrada de datos existentes tipos de validaciones • Validación en el tipo de dato : es si se define un campo como carácter o char y no se puede ingresar números enteros • Validación valor de datos : si se define un valor entero se puede especificar un rango y no se puede pasar de este valor Resumen nombre • Tipo de dato. (Char) • Valor de dato entero Validación • Valores claves o nulos • Integridad referencial
  • 6. • Valores claves no nulos: asegura tener claves únicas no repetidas. • Integridad referencial : me asegura que existen registros hijos sin sus registros padres correspondientes Control de concurrencias o simultaneidad Este concepto se da en ambiente multiusaruios o sea varios usuarios tratando de acceder a un objeto de datos al mismo tiempo V1 V2 V3 . . VN Cliente Granularidad: es el tamaño de las unidades aseguradas Ej. La granularidad puede proteger un campo un registro un archivo etc. Bloqueo o Dead Lack: es la técnica que evita errores de concurrencia o simultaneidad se da cuando se desarrolla una espera circular entre dos transacciones y cada una de ellas solicita una actualización sobre el mismo archivo no permite a otro archivo utilizarlo el el recurso hasta que termine el proceso se da espera circular Resumen D.B.M.S Subsistemas Característica y objeto de un D.B.M.S o D.B.A Independencia de datos Minimizar redundancias Integridad de datos • Fuente de error • Validaciones • Control de concurrencia • Control de seguridad Granularidad Bloqueo (dead – lock)
  • 7. Recuperación de datos: recuperar los datos frente a las fuentes de error mencionadas anteriormente. La restauración de la base de datos a su estado normal, que es responsabilidad del D.B.A quien es el responsable de implantar procedimiento de detección de errores y recuperación Recuperación B/D Alto disponibilidad de servicios y aplicaciones 1. Backup (respaldo) : Backup caliente( B/D es operativa /diario) Backup frió (B/D no es operativa / semanal) 2. Mirror o espejo : (Tener otra base de datos) 3. Archivo de logs : (Registro de transacciones) • Reverso o recuperar lo ultimo que se hizo en una base de datos Seguridad de datos: la seguridad los datos se pueden definir en los siguientes aspectos Objetos a asegurar: 1er objeto a asegurar son los dato después los programas y finalmente el esquema Codificación de clases: lo que me va a proveer el D.B.M.S es la seguridad de login usuario Control de acceso: se especifican seguridades en contra suceso no indicados orientado a personas no autorizadas Control y administración de recursos: el D.B.M.S debe proveer el D.B.A de todos los mecanismos para control y administración de recursos. Para que el deba cumpla con integridad de datos recuperación de errores implementación de seguridades Establecimiento de relaciones entre datos: el D.B.M.S debe proveer los recursos para el establecimiento de las relaciones entre los datos: Relaciones Uno a uno Uno a muchos Muchos a muchos
  • 8. Diseño de aplicación: en esta etapa se diseñan los programas de aplicación que usaran y procesaran la base de datos. Esta etapa y el diseño de la base de dato son paralelos en la mayor parte de los casos, no se pueden finalizar el diseño délas aplicaciones hasta que se haya terminado el diseño de la base de dato La base de dato existe para dar soporte a las aplicaciones por lo que habrá retroalimentación del diseño de las aplicaciones al diseño de la base. En esta etapa hay que asegurarse de que toda la funcionabilidad especificada en los requisitos de usuario se encuentre el diseño de aplicación Prototipo: es opcional, es para construir prototipos de la aplicación que permita a los diseñadores y a los usuarios probar el sistema. Un prototipo es un modelo de trabajo de las aplicaciones del sistema el prototipo no tiene toda la funcionabilidad del sistema final pero es suficiente para que los usuarios puedan usar el sistema e identificar que aspectos están bien y cual no son adecuados además de poder sugerir mejoras a la inclusión de nuevos elementos. Implementación: en esta etapa se crea las definiciones de la base de datos a nivel conceptual externo e interno a si como los programas de aplicación. La implementación de la base de datos se realiza mediante las sentencias SQL, estas sentencias se encargan de crear el sistema o esquema de la base los ficheros donde se almacenan los datos y las vistas de los usuarios. Los programas de aplicación se implementan utilizando lenguajes de 3ra a 4ta generación, partes de estas aplicaciones son transacciones sobre la base de datos que se incrementan también mediante lenguaje SQL. La sentencia de este lenguaje se puede embeber en u lenguaje de programación anfitrión como: Visual Basic C++ También se implementan en esta etapa todo los controles de seguridad e integridad Conversión y carga de datos: esta etapa es necesaria cuando se esta reemplazando un sistema antiguo por uno nuevo los datos se cargan desde el sistema viejo al nuevo directamente a si es necesario se convierten al formato que requiera el nuevo sistema mas la base de dato y luego se cargo a esta etapa se lo suele llamar “migración” Etapa de prueba: en esta etapa se prueba y valida el sistema con los requisitos específicos por los usuarios. Para ello se debe diseñar una batería
  • 9. de test con datos reales que se deben llevar a cabo de Manero metódica y rigurosa. Si la fase de prueba se lleva a cabo correctamente descubrirá los errores los programas de aplicación y e la estructura de la base e datos Mantenimiento: una vez que el sistema esta probado e implementado se pone en marcha. El sistema esta ahora en la fase de mantenimiento Modelo Entidad / Relación Modelaje Es el proceso mediante el cual podemos identificar las propiedades dinámicas o estáticas de un dominio de aplicación con mira a su transformación en un diseño implementable en un sistema computarizado es el plasmar los requerimientos de los usuarios en un diagrama para poder implementarlo. REQUERIMIENTO ______ ______ ______ ______ SISTEMA DE FACTURACIÓN 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
  • 10. Las relaciones se representan con líneas que conectan las cajas de las entidades. origen de PEDIDOS CLIENTE originado por Los atributos se incluyen dentro de las cajas de las entidades y se escriben con MINUSCULA. CLIENTE 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:
  • 11. Tipo de cliente, tipo de cuenta, unidad de medida. RELACIONES Las relaciones tienen tres propiedades o características: Primer grado o Cardinalidad UNO A UNO UNO A MUCHOS MUCHOS A MUCHOS Segundo grado o Opcional Es la partición obligatoria u opcional de la entidad en la relación. Puede OPCIONAL debe OBLIGATORIA Tercer grado o Leyenda Es una expresión que describe el rol de cada entidad en la relación. tiene EMPLEADO DEPARTAMENTO pertenece leyendas COMO SE LEE EL GRADO O CARDINALIDAD UNO A MUCHOS B A Una instancia de la entidad A se relaciona con una o más de la instancia B EMPLEADO DEPARTAMENTO
  • 12. Un departamento puede estar compuesto por uno o varios empleados y un empleado pertenecen a un solo departamento. MUCHOS A MUCHOS B A Una instancia de la entidad A se relaciona con una o mas instancias de la entidad B y una instancia de la entidad B se relaciona con una o más instancias de A. ARTICULO PROVEEDOR Un proveedor puede se distribuidor de una o mas artículos y un articulo puede ser distribuido por una o mas proveedores. UNO A UNO B A Una instancia de la entidad A se relaciona con una instancia de la entidad B y una instancia de la entidad B se relaciona con una instancia de A. MUJER HOMBRE Un hombre puede ser esposo de una sola mujer y una mujer solo puede ser esposa de un solo hombre.
  • 13. 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 Un empleado puede ser jefe de uno o mas empleados y un empleado puede ser subordinado de un y solo un empleado. Atributos: Los atributos son empleados para identificar describir calificar o expresar el estado de una entidad. Toda entidad posee un atributo o combinación de atributos que se denomina Clave Primaria y que se emplea para diferenciar cada instancia de las demás. Adicionalmente los atributos pueden ser obligatorios u opcionales. A los atributos que forman parte de la Clave Primaria se los identifica anteponiéndoles el signo de números (#). A los atributos obligatorios se les antepone el asterisco (*). A los atributos opcionales se les antepone el circulo (0). Ej.: CLIENTE FACTURA # Numero * Fecha_coloca º fecha_pago # * * * º º codigo nombre direcci fono1 fono2 fono3 En un diagrama entidad relación también pueden agrupar las entidades en supertipo y en subtipo. La Supertipo agrupan a 2 o mas entidades Subtipo. Las Subtipo heredan los atributos de las entidades Supertipo.
  • 14. PROFESOR # * * * codigo nombre sexo salario PERSONA # * * * codigo nombre sexo salario PROFESOR ALUMNO # * * * codigo nombre sexo beca * salario ALUMNO * beca Cada subtipo puede tener relaciones propias independientes de las del supertipo. Los subtipos se representan como cajas dibujadas dentro de la caja del subtipo. Problema # 1 Compañía de Botes "San Juan" "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. La embarcación más pequeña tiene 28 pies de largo y la más grande es de 44. Cada barco esta por completo equipado cuando se rentan; gran parte del equipo lo proporcionan los propietarios pero "San Juan" agrega otra parte. El equipo que proporciona el propietario incluye lo que es parte del bote como radios, brújulas, indicadores de profundidad, otros importantes instrumentos como estufas y refrigeradoras. Otros que proporciona el propietario no están instalados como parte del bote, tales complementos incluyen velas, cuerdas, anclas, bolsas de caucho, salvavidas y en la cabina platos, cubiertos, utensilios de cocina, etc. "San Juan" aporta el equipo de consumo que podría considerarse como provisiones, libros de navegación, tablas de marea y corrientes, jabón, toallas de cocina y artículos similares. Una importante responsabilidad de "San Juan" es registrar el equipo que esta en el bote en particular y los que no están fijos en la embarcación.
  • 15. "San Juan" prefiere conservar registros precisos de sus clientes y los viajes para tener estadísticas de cuales clientes han ido y en que viajes; algunos itinerarios son más peligrosos que otros; por tal motivo a "San Juan" le gustaría saber cuales clientes tienen determinada experiencia. En algunos viajes los clientes solicitan servicio de una tripulación y "San Juan" contrata por horas a tales personas. Las embarcaciones necesitan mantenimiento. "San Juan" incluye registros precisos de todos los procesos y costos de mantenimiento incluyendo actividades normales como limpieza, cambio de aceite, o reparaciones no programadas. En algunos casos son necesarias las reparaciones durante un viaje en tal caso los clientes se comunican por radio con el despachador de "San Juan" quien determina la mejor opción para hacer la reparación. Para tomar estas decisiones, los despachadores necesitan información sobre sus opciones de reparación y antecedentes sobre costos y calidad de la reparación. Entidades Principales Modelo Entidad / Relación Compañía de Botes "San Juan" Propietario Equipos Bote Cliente Viajes Tripulación Tipo_Equipo Mantenimiento Reparación
  • 16. Problema # 2: Tienda de Videos En una tienda de videos se necesita mantener información de alrededor de 3000 cassettes, cada uno de los cassettes tiene asignado un número. Por cada película se necesita conocer su título y categoría, por ejemplo comedia, suspenso, drama, acción, ciencia ficción, etc. Se mantienen algunas copias de muchas películas. Se le da a cada película una identificación y se mantiene un seguimiento de lo que contiene cada cassette. Un cassette puede venir en varios formatos, y una película es agrupada en un solo cassette; frecuentemente las películas son pedidas de acuerdo a un actor en específico Tom Cruise y Demmi Moore son los más populares es por eso que se debe mantener información de los actores que aparece en cada película. No en todas las películas actúan artistas famosos, a los clientes de la tienda le gusta conocer datos como el nombre real del actor y su fecha de nacimiento. En la tienda se mantiene información solo de los actores que aparecen en las películas que se tiene a disposición. Solo se alquila videos a aquellos que pertenecen al club de video. Para pertenecer al club de video se debe tener un buen crédito, por cada miembro del club se mantiene una ficha con su nombre, teléfono y dirección, cada miembro del club tiene asignado un número de membresía. Se debe mantener información de todos los cassettes que el cliente ha alquilado. Cuando un cliente alquila un cassette se debería conocer el título de la película, fecha en que lo alquiló y la fecha de devolución. Entidades Principales Cassetes Tipos_peliculas Actores Alquiler Clientes Pelicula Modelo Entidad / Relación Tienda de Videos Cassette Tipo_Película Película Alquiler Cliente Actor
  • 17. 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. En la base de datos tendremos información de cada hotel (código, dirección y teléfono), así como un conjunto de habitaciones identificadas por un número de habitación único para cada hotel y un conjunto de elementos de mobiliario estándar con un código, descripción y precio, por ejemplo: "silla de cuero diseño clásico, 98,75 USD. Después de hacer un inventario, todo el mobiliario de los hoteles está identificado, es decir, sabemos qué y cuantos elementos de mobiliario hay en cada habitación de cada hotel. Los muebles pueden cambiar de habitación, pero no necesitamos guardar la habitación antigua. Para cada habitación, guardaremos también si es soleada, si tiene lavabo y si tiene nevera. Cada cliente tiene información personal (DNI, nombre, etc), y además un historial de sus actos vandálicos: para cada cliente guardaremos qué muebles y cuántos ha deteriorado. También queremos saber las estancias que ha hecho cada cliente en los hoteles, guardando en un único atributo la fecha de llegada y la de salida, así como la habitación en que se ha alojado. Un cliente puede alojarse en una misma habitación de hotel en diferentes estancias. 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 Hotel Habitación Mobiliario • • • • Estancias Actos Vandálicos Tipo Mueble Tipo Cliente Modelo Entidad Relación Actos Vandálicos
  • 18. Tipo_Cliente Hotel Clientes Estancias Habitación Actos_Vandálicos Muebles Tipo_Muebles Problema #4: Pinacoteca El Ministerio de Educación y Ciencia quiere tener información sobre todos los cuadros que se encuentran en las pinacotecas. De cada pinacoteca se quiere saber el nombre único, ciudad donde se encuentra, dirección y extensión en metros cuadrados.. Cada pinacoteca tiene un conjunto de cuadros de los cuales se quiere guardar el código (único para todas las pinacotecas), nombre, medidas, fecha en que se pintó y técnica utilizada para pintarlo. 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 pertenecer o no a una escuela de la cual se quiere saber el nombre asi como el país y fecha en que apareció. 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.
  • 19. Maestro Pinacoteca Cuadro Pintor Escuela Mecena Ejemplos de Enunciados 1) Cada orden de compra da lugar a una factura. ORDEN DE PAGO FACTURA 2) Un empleado puede o no puede ser vendedor, pero un vendedor es un empleado. EMPLEADO VENDEDOR 3) Un cliente solamente puede enviar una orden de compra al mismo tiempo, cualquier persona que no tenga una orden pendiente no es un cliente. CLIENTE ORDEN DE 4) Un cliente es un cliente sin importar el número de órdenes de compra que tenga pendiente hasta la fecha. Cada orden de compra pertenece solamente a un cliente. ORDEN DE CLIENTE 5) Un vendedor puede tener uno o más clientes.
  • 20. 6) Cada producto que tenemos en stock está compuesto de una o más partes, cada parte es usada en un solo producto. La estructura de una base de datos es el conjunto de tablas relacionadas. Normalización Al realizar procesos sobre las tablas se pueden presentar problemas llamados ANOMALÍAS que pueden ser de inserción, actualización, eliminación, etc.… El proceso que asegura que la tabla este bien estructurada se denomina NORMALIZACIÓN. La normalización esta basada en el concepto de formas normales, cada forma normal tiene un conjunto de reglas que debe ser verificada (1ra forma normal, 2da forma normal, 3ra forma normal). 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. La Dependencia Funcional es la relación que existe entre dos atributos. Ej. X à Y Dado un valor de X, existe un valor de Y, entonces Y es funcionalmente dependiente de X. X Cod_empleado 01 02 Y Codigo_empleado Juan Pérez Nicolas Vera
  • 21. Claves o Llaves. Es el atributo que le da la diferenciación a cada tabla, este atributo hace que no tengamos tuplas o filas repetidas. # Cod_cliente nombre_cliente 001 Juan Pérez 002 Nicolas Vera 003 Nunca repetir Javier Villota Dependencia Transitiva. Es la dependencia que está encadenada. Dado un valor de X, existe un valor de Y, y dado un valor de Y existe un valor de Z que es transitivamente dependiente de X. X Y Z EMPLEADO X Cod_empleado nombre_empleado cod_empleado Y 001 01 002 Ana Felipe 02 03 Jeanine Leal 03 04 Z Juan Pérez Carla Da´Silva 04 DEPARTAMENTO Cod_departam nombre_departa 001 Juan Pérez 002 Ana Felipe
  • 22. Primera Forma Normal. Una tabla esta en primera forma normal si cumple las siguientes restricciones: o Las celdas o campos deben tener valores singulares. o Las entradas de columna o atributo deben ser de la misma clase. o Cada columna debe tener un nombre único. o Dos filas o tuplas no pueden ser iguales. Segunda Forma Normal Todo atributo no clave depende de un atributo clave. "Eliminar dependencias parciales a la clave primaria de una tabla. Tercera Forma Normal Una relación está en tercera forma normal si está en segunda forma normal y tiene dependencia transitiva (dependencia encadenada). Modelo Relacional Reglas de Transformación del Diagrama Entidad / Relación en el Modelo Relacional 1. Toda entidad en el diagrama Entidad / Relación se representa como una tabla separada y sus atributos son las mismas columnas de dicha tabla. 2. Toda relación de uno a muchos se representa replicando las columnas de la clave primaria de la entidad del lado 1 como columnas extras de la tabla de la entidad de lado M (Muchos). Clave Foránea: Es una clave primaria de otra tabla. 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 # #
  • 23. 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
  • 24. lenguajes Relacionales y Comerciales SQL SQL (Structure Query Languaje) DML (Data Manipulation Languaje) Select Insert Update Delete Trabaja a nivel de datos o campos. Maneja datos. DDL (Definition Data Languaje) Create Alter Drop Truncate Trabaja a nivel de estructuras o tablas. Maneja Tablas. TCL (Transacction Control Languaje) Trabaja con el DML. Controlan todas las transacciones. Commit RollBack SENTENCIAS DDL (CREATE, ALTER, DROP, TRUNCATE) CREATE: Máximo 30 Caracteres CREATE TABLE CLIENTE ( Id_Cliente Number, Nombre Varchar2(50), Apellido Varchar2(50), Dirección Varchar2(80), Edad Number ); 1ra Forma CREATE TABLE FACTURA ( Id_Factura Number Num_Fact Number Fecha_Factura Date Id_Cliente Number • • ); CREATE TABLE CLIENTE ( Id_Cliente Number PRIMARY kEY, Nombre Varchar2(50) NOT NULL, Apellido Varchar2(50) NOT NULL, Dirección Varchar2(80), Edad Number ); 2da Forma PRIMARY KEY, NOT NULL, NOT NULL, FOREIGN KEY REFERENCES CLIENTE(Id_Cliente),
  • 25. CREATE TABLE DEPARTAMENTO ( Id_Departamento Number PRIMARY KEY, Nombre Varchar2(30) NOT NULL, Cant_Empleados Number , Region Varchar2(50) CHECK (Region IN (‘GYE’,’UIO’,’Insular’)) ); CREATE TABLE EMPLEADO ( Id_Empleado Number PRIMARY KEY, Nombres Varchar2(30) NOT NULL, Apellidos Varchar2(30) NOT NULL, Cargo Varchar2(30) CHEK (Cargo IN (‘Gerente’,’Ingeniero’,’Analista’,’Vendedor’)), Fecha_Ingreso Date, Id_Manager Number FOREIGN KEY REFERENCES EMPLEADO(Id_Empleado), Id_Dpto Number FOREIGN KEY REFERENCES DEPARTAMENTO(Id_Departamento) ); CREATE TABLE CLIENTE ( Id_Cliente Number PRIMARY KEY, Nombres Varchar2(30) NOT NULL, Apellidos Varchar2(30) NOT NULL, Dirección Varchar2(80), Teléfono Number, Tipo_Cliente Varchar2(30) CHECK (Tipo_Cliente IN (‘Normal’,’VIP1’,’VIP2’,’VIP3’)), Id_Vendedor Number FOREIGN KEY REFERENCES EMPLEADO(Id_Empleado) ); CREATE TABLE ORDEN ( Id_Orden Number PRIMARY KEY, Descripción Varchar2(30) NOT NULL, Total Number , Id_Cliente Number FOREIGN KEY REFERENCES CLIENTE(Id_Cliente) );
  • 26. CONSTRAINTS • • • • 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; • Adicionar Clave Primaria ALTER TABLE DEPARTAMENTO ADD CONSTRAINT PK1 PRIMARY KEY (Id_Departamento); • Adicionar Clave Foránea ALTER TABLE ORDEN ADD CONSTRAINT FK1 FOREIGN KEY (Id_Cliente) REFERENCES CLIENTE(Id_Cliente); • Eliminar Clave Primaria y Clave Foránea ALTER TABLE DEPARTAMENTO DROP CONSTRAINT PK1; ALTER TABLE DEPARTAMENTO DROP CONSTRAINT FK1;
  • 27. DROP: • Eliminar Tablas DROP TABLE ORDEN Observación: 1. Si creo tablas SIN PK y FK puedo crearlas en cualquier orden sin importar relaciones. 2. Si utilizo ALTER puedo definir PK y FK sin importar el orden de las tablas. 3. Si deseo eliminar tablas que tengan establecidos PK y FK, primero debo eliminar las FK(Claves Foráneas), luego PK(Claves Primarias) y por último procedo a eliminar las tablas en cualquier orden. 4. No puedo eliminar tablas en cualquier orden cuando contengan PK y FK establecidos. TRUNCATE: Elimina los datos de la tabla pero no la estructura, y además se libera espacio de la base de datos de la definición de la tabla. No elimina campos solo información. TRUNCATE TABLE ORDEN 1.- Crear Tablas. CREATE TABLE CLIENTE ( Id_Cliente Number, Nombre_Completo Varchar2(50) Direccion Varchar2(80) Telefono1 Number, Edad Number ); NOT NULL, NOT NULL, CREATE TABLE ESTADIA ( Id_Hotel Number, Id_Habitacion Number, Id_Cliente Number, Fecha_Ingreso Date NOT NULL, Fecha_Salida Date NOT NULL, Observaciones Varchar2(80) );
  • 28. CREATE TABLE HABITACION ( Id_Hotel Number, Id_Habitacion Number, Soleada VarChar2(1) ); NOT NULL, CREATE TABLE HOTEL ( Id_Hotel Number, Descripción Varchar2(80), Dirección VarChar2(50), ); 2.- Crear Claves Primarias. ALTER TABLE CLIENTE ADD CONSTRAINT Cliente_PK PRIMARY KEY(Id_Cliente); ALTER TABLE ESTADIA ADD CONSTRAINT Estadia_PK PRIMARY KEY(Id_Hotel,Id_Habitacion,Id_Cliente,Fecha_Ingreso); ALTER TABLE HABITACION ADD CONSTRAINT Habitacion_PK PRIMARY KEY(Id_Hotel,Id_Habitacion); ALTER TABLE HOTEL ADD CONSTRAINT Hotel_PK PRIMARY KEY(Id_Hotel); 3.- Crear Claves Foráneas. ALTER TABLE HABITACION ADD CONSTRAINT Habitacion_Hotel_FK FOREIGN KEY(Id_Hotel) REFERENCES HOTEL(Id_Hotel); ALTER TABLE ESTADIA ADD CONSTRAINT Estadia_Clientel_FK FOREIGN KEY(Id_Cliente) REFERENCES CLIENTE(Id_Cliente);
  • 29. ALTER TABLE ESTADIA ADD CONSTRAINT Estadia_Habitacion_FK FOREIGN KEY(Id_Hotel,Id_Habitacion) REFERENCES HABITACION(Id_Hotel,Id_Habitacion); 4.- Crear Constraints CHECK. ALTER TABLE HABITACION ADD CONSTRAINT Habitacion_CK1 CHECK (Soleada IN (‘S’,’N’)); 5.- Eliminar Claves Foráneas. DROP CONTRAINT Habitación_Hotel_FK DROP CONTRAINT Estadia_Cliente_FK DROP CONTRAINT Estadia_Habitacion_FK 6.- Eliminar Claves Primarias. DROP CONTRAINT Hotel_PK DROP CONTRAINT Habitacion_PK DROP CONTRAINT Estadia_PK DROP CONTRAINT Cliente_PK 7.- Eliminar Tablas. DROP TABLE CLIENTE DROP TABLE ESTADIA DROP TABLE HABITACION DROP TABLE HOTEL
  • 30. SENTENCIAS DML (INSERT, UPDATE, SELECT, DELETE) EQUIPOS Id_equipo 1 2 3 4 5 GRUPOS nombre Brasil Ecuador Alemania Argentina Inglaterra id_jugador H A A C D Id_grupo A B C D E JUGADORES Id_jugador 1 2 3 nombre Grupo A Grupo B Grupo C Grupo D Grupo E POSICIÓN nombre Mendez Ronaldo Dida id_equipo 2 1 1 id_posición 3 4 1 equipo1 equipo2 fecha Id_posición 1 2 3 4 PARTIDOS Id_partido estadio INSERT: INSERT INTO JUGADORES VALUES (4,’Ballack’,3,3); COMMIT; Nota: Puedo hacer muchos INSERT y colocar un solo COMMIT. DELETE: DELETE FROM EQUIPO WHERE Id_Equipo=3; COMMIT; nombre arquero defensa medio delantero
  • 31. SELECT: Mostrar el Nombre de todos los equipos y sus respectivos grupos. SELECT * FROM EQUIPOS; SELECT Nombre, Id_Grupo FROM EQUIPOS; Mostrar el Nombre de los Jugadores del equipo con Código 1, SELECT Nombre FROM EQUIPOS WHERE Id_Equipo = 1 ; CLÁUSULA WHERE: Operadores Aritméticos. = Igualdad <> Desigualdad > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que Seleccionar los jugadores que tengan más de 30 años. SELECT * FROM JUGADORES WHERE Edad > 30; Seleccionar el Nombre de los Equipos que han sido campeones. SELECT Nombre FROM EQUIPOS WHERE Campeon = ‘S’;
  • 32. Operadores Lógicos (AND, OR). Seleccionar los Equipos que no han sido campeones mundiales y que sean del continente de América. SELECT Nombre FROM EQUIPOS WHERE Campeon = ‘N’ AND Continente =’America’; Seleccionar el Nombre y el salario de los Empleados cuya Comisión sea igual a 50 o menor o igual a 100. SELECT Nombre, Salario FROM EMPLEADOS WHERE Comision >= 50 AND Comision <= 100; Seleccionar el Nombre y el Apellido de los Empleados que ganen entre 500 y 1000 o cuya comisión sea nula. SELECT Nombre, Apellido FROM EMPLEADOS WHERE (Salario >= 500 AND Salario <= 1000) OR (Comision IS NULL); Operadores Espaciales. IN Lista de Valores (500, 800, 1000). BETWEEN Valores entre un rango mayor y uno Menor (500 - 1000). LIKE Patrones en cadena de Caracteres. % Cero o más Caracteres. _ Un solo Caracter. IS NULL Valores Nulos. 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%’;
  • 33. 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: Uniones o Igualdades. Si utilizo n tablas tendré n-1 Joins. Si ejecuto: 7 X 3 = 21 Registros SELECT * FROM EMPLEADO, DEPARTAMENTO; Producto Cartesiano Si ejecuto: SELECT * FROM EMPLEADO, DEPARTAMENTO WHERE Id_Departamento = Departamento; 7 Registros Para evitar ambigüedades se utiliza alias: Alias SELECT * FROM EMPLEADO A, DEPARTAMENTO B WHERE A.Id_Departamento = B.Departamento; Visualizar el nombre de los Empleados, su cargo y su Salario de aquellos empleados que sean jefes y su Comisión este entre 50 y 200. SELECT A.Nombre , B.Descripción , A.Salario FROM EMPLEADO A , CARGO B WHERE B.Id_Cargo = A.Cargo AND B.Descripcion = ‘Jefes’ AND A.Comisión BETEWEEN (500, 1000);
  • 34. Mostrar el Nombre y el Cargo de los Empleados cuyo Salario sea 1000, 800 ó 500, que trabajen en el Departamento de Operaciones y cuyo Cargo sea Gerente. SELECT E.Nombre , C.Descripción FROM EMPLEADO E , CARGO C, DEPARTAMENTO D WHERE E.Cargo = C.Id_Cargo AND E.Departamento = D.Id_Departamento AND E.Salario IN (1000, 500, 800) AND D.Nombre = ‘Operaciones’ AND C.Descripción = ‘Gerente’; NON-EQUI-JOIN: Se utiliza cuando no existen ninguna relación entre dos tablas. Visualizar el Nombre de los Empleados, su Salario e indicar el nivel de su Salario. SELECT A.Nombre, A.Salario FROM EMPLEADO E, NIVELES-SALARIO NS WHERE A.Salario BETWEEN B.Nivel_Bajo AND B.Nivel_Alto Resultado L. López M. Ruiz J. Mora M. Aviléz P. Plúas A. Rojas P. Paredes 5000 2500 2500 1500 1500 800 800 B B B C C D D OUTER-JOIN: Es utilizado cuando realizamos consultas entre dos tablas relacionadas pero en su clave foránea pueden haber valores nulos, es decir que haya inconsistencia de datos. Visualizar el nombre del Empleado y su Departamento así no exista su Departamento.
  • 35. Resultado EQUI-JOIN L. López M. Ruiz J. Mora P. Plúas A. Rojas P. Paredes Marketing Ventas Sistemas Operaciones Operaciones Operaciones SELECT A.Nombre, B.Nombre FROM EMPLEADO E, DEPARTAMENTO D WHERE A.Id_Departamento(+) = Id_Dep Resultado L. López M. Ruiz J. Mora M. Aviléz P. Plúas A. Rojas P. Paredes Marketing Ventas Sistemas Operaciones Operaciones Operaciones SELF-JOIN: Se aplica cuando tengo una relación de recursividad. Mostrar el Nombre de los Empleados con el Nombre de sus respectivos Jefes. SELECT A.Nombre, B.Nombre FROM EMPLEADO E, EMPLEADO B WHERE A.Id_Manager = B.Id_Emp Resultado L. López M. Ruiz J. Mora M. Aviléz P. Plúas A. Rojas P. Paredes L. López L. López M. Ruiz J. Mora J. Mora J. Mora
  • 36. SUB - QUERIES: Visualizar el Nombre de los Empleados y sus Salarios de aquellos empleados que tengan igual comisión que M. Aviléz. SELECT C.Nombre, C.Salario FROM EMPLEADOS C WHERE C.Comision = ( SELECT A.Comision FROM EMPLEADOS A WHERE A.Nombre = ‘A. Aviléz’ ) Mostrar el Nombre y el cargo de los Empleados que trabajen en el mismo Departamento en el cual trabaja el empleado A. Rojas SELECT E.Nombre, C.Nombre FROM EMPLEADOS C, CARGO C WHERE E.Id_Cargo = C.Id_Cargo AND C.Id_Cargo = ( SELECT E2.Id_Cargo FROM EMPLEADOS E2 WHERE E2.Nombre = ‘A. Aviléz’ ) BASE DE DATOS DISTRIBUIDA Es una base de datos construida sobre un red computacional y no sobre una maquina aislada, la información constituye una base de datos distribuida esta almacenada en diferentes sitios de la red, y las aplicaciones que se ejecutan accesando datos en distintos sitios. Una base datos distribuidas entonces es una colección de datos que pertenecen lógicamente a un solo sistemas pero se encuentran físicamente en varios sitios de la red. La base de datos distribuida puede ser homogénea y heterogénea Base de datos homogénea todos los sitios tienen los mismos sistemas de gestión de bases de datos. Son consientes de la existencia de los demás sitios y cooperan en el procesamiento de las solicitudes Base de datos heterogénea cada sitio puede tener un sistema de gestión de base de datos distinto así como el esquema puede ser diferente, puede ser que algunos sitios no conozcan a otros, puede ser que solo ofrezcan facilidades limitadas para la cooperación de procesamiento de transacciones. Principios fundamentales de las bases de datos distribuidas Regla 0.- desde el punto de vista del usuario un sistema distribuido deberá ser idéntico a un sistema son distribuido Regla 1.- autonomía local, deberá ser autónomo y no depender de una base de datos que se encuentre en otro sitio de la red en otra ubicación geográfica
  • 37. Regla 2.- no dependencia de un sitio central, no se debe depender de un solo servidor para que no sea vulnerable y nadie puede accesar a la base de datos Regla 3.- operación continua. Si se daña un punto de la base de datos no se debería dañar solo se paraliza ese punto hasta realizar la operación de mantenimiento de la base de datos. Regla 4.- independencia de localización, para el usuario es transparente conocer donde están los datos Regla 5.- independencia de fragmentación de una gran tabla solo se utilizan ciertos datos los mismos que están compartidos. Regla 6.- independencia de la replica, cuando se hacen fragmentos se deben replican la información para actualizar los datos los cuales deben ser trasparentes para el usuario. Regla 7.- procesamiento distribuid por consulta se puede tener diferentes bloques que forman sistemas distribuidos para ello se crean tablas intermedias que pueden acceder solo a los datos requeridos. Regla 8.-manejo distribuido de transacciones, una transacción tiene muchas implicaciones para actualizar los datos los cuales se replican para poder interactuar con muchas plataformas o bases de datos al mismo tiempo Regla 9.- implementación con respecto al equipo, si importar el equipo el sistema debe funcionar igual, es decir debe tener el mismo tiempo de respuesta Regla 10.- no debe depender de un sistema operativo Regla 11.- independencia con respecto a la red. No debe importar el tipo de de red Regla 12.- independencia con respecto al sistema de gestión de base de datos. Se puede actuar en un sistema distribuido de base de datos heterogéneo DATA ARE HOUSE Es una colección de datos históricos acumulados de solo lectura. Los datos pueden ser obtenidos de otras fuentes y generalmente son sumarizadas y almacenadas por periodos de tiempo extenso (años) forman parte del sistema de toma de decisiones gerencial.