base de datos pdf

37
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.

Upload: madexitap-pexiozzita

Post on 23-Jun-2015

557 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Base de datos pdf

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.

Page 2: Base de datos pdf

Métodos de Acceso

DATOS

DBMS

USUARIO

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 20 $500 Ana Alban 28 $1000 José Mora 30 $1500

Page 3: Base de datos pdf

NIVELES DE ABSTRACCIÓN DE BASE DE DATOS.

CONCEPTUAL

INTERNO

EXTERNO 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.

Motor/Núcleo

DBMS

Herramientas de definición

Interfase de Procesamiento

Desarrollo de Aplicaciones

Diccionario de Datos

S.O

E/S Físicas Usuario de

Aplicación

Page 4: Base de datos pdf

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 Sueldo del cliente Juan Pérez $ 150 Juan Pérez $ 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

. .

Page 5: Base de datos pdf

• 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 (Char) entero

• Tipo de dato. • Valor de dato • Valores claves o

nulos • Integridad referencial

Validación

Page 6: Base de datos pdf

• 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

Cliente

V1 V2 V3 . . VN

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)

Page 7: Base de datos pdf

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

Page 8: Base de datos pdf

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

Page 9: Base de datos pdf

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. SISTEMA DE FACTURACIÓN REQUERIMIENTO

____

DISEÑO Entidad Es el objeto sobre el cu Relación Es la asociación signifi

FAC Atributo Son las propiedades quCLIENTE Las entidades se las repMAYUSCULA.

____________________

FISICO

DISEÑO LOGICO

al se requiere mantener o almacenar información.

cativa y establece entre dos entidades.

TURA CLIENTE

e describen o califican una entidad. Ejemplo: entidad

resenta mediante cajas donde se las coloca con letra

PERSONA

Page 10: Base de datos pdf

Las relaciones se representan con líneas que conectan las cajas de las entidades. origen de originado por

PEDIDOS CLIENTE

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:

Page 11: Base de datos pdf

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 debe

OPCIONAL OBLIGATORIA Tercer grado o Leyenda Es una expresión que describe el rol de cada entidad en la relación. tiene pertenece leyendas COMO SE LEE EL GRADO O CARDINALIDAD UNO A MUCHOS

B A

DEPARTAMENTO EMPLEADO

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

DEPARTAMENTO EMPLEADO

Page 12: Base de datos pdf

Un departamento puede estar compuesto por uno o varios empleados y un empleado pertenecen a un solo departamento. MUCHOS A MUCHOS 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

A B

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

A B 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.

HOMBRE MUJER Un hombre puede ser esposo de una sola mujer y una mujer solo puede ser esposa de un solo hombre.

Page 13: Base de datos pdf

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 Jefe de

ARTICULO

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.:

# codigo * nombre * direcci * fono1 º fono2 º fono3

CLIENTE

# Numero * Fecha_coloca º fecha_pago

FACTURA 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.

Page 14: Base de datos pdf

# codigo * nombre * sexo * salario

PROFESOR

* beca

ALUMNO

* salario

PROFESOR

# codigo * nombre * sexo * salario

PERSONA

# codigo * nombre * sexo * beca

ALUMNO 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.

Page 15: Base de datos pdf

"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

Reparación

Mantenimiento

Equipos Tipo_Equipo

Bote

Cliente

Tripulación

Viajes

Page 16: Base de datos pdf

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 Actores Clientes Tipos_peliculas Alquiler Pelicula

Modelo Entidad / Relación Tienda de Videos

Cassette Tipo_Película

Película

Alquiler

Cliente

Actor

Page 17: Base de datos pdf

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• Estancias • Actos Vandálicos • Tipo Mueble • Tipo Cliente

• Clientes • Hotel • Habitación • Mobiliario

Modelo Entidad Relación Actos Vandálicos

Page 18: Base de datos pdf

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.

Tipo_Cliente Hotel

Clientes Estancias

Muebles Actos_Vandálicos

Tipo_Muebles

Habitación

Page 19: Base de datos pdf

Maestro

Ejemplos de Enunciados

1) Cada orden de compra da lugar a una factura.

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

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.

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.

5) Un vendedor puede tener uno o más clientes.

Pinacoteca Cuadro Pintor Escuela

Mecena

FACTURA ORDEN DE PAGO

VENDEDOR EMPLEADO

ORDEN DE CLIENTE

CLIENTEORDEN DE

Page 20: Base de datos pdf

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 Y

Cod_empleado Codigo_empleado

01 Juan Pérez 02 Nicolas Vera

Page 21: Base de datos pdf

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 Nunca repetir

002 Nicolas Vera

003 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

Cod_empleado nombre_empleado cod_empleado

001 Juan Pérez 01

002 Ana Felipe 02

03 Jeanine Leal 03

04 Carla Da´Silva 04

DEPARTAMENTO

X Y

Z

Cod_departam nombre_departa

001 Juan Pérez

002 Ana Felipe

Page 22: Base de datos pdf

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.

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.

#

B A

#

B A

#

Page 23: Base de datos pdf

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.

# #

B

Eo Io

A B A

Page 24: Base de datos pdf

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 );

CREATE TABLE CLIENTE ( Id_Cliente Number PRIMARY kEY, Nombre Varchar2(50) NOT NULL, Apellido Varchar2(50) NOT NULL, Dirección Varchar2(80), Edad Number );

1ra Forma 2da Forma CREATE TABLE FACTURA ( Id_Factura Number PRIMARY KEY, Num_Fact Number NOT NULL, Fecha_Factura Date NOT NULL, Id_Cliente Number FOREIGN KEY REFERENCES CLIENTE(Id_Cliente),

• • );

Page 25: Base de datos pdf

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) );

Page 26: Base de datos pdf

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;

Page 27: Base de datos pdf

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) NOT NULL, Direccion Varchar2(80) NOT NULL, Telefono1 Number, Edad Number );

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) );

Page 28: Base de datos pdf

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);

Page 29: Base de datos pdf

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

Page 30: Base de datos pdf

SENTENCIAS DML (INSERT, UPDATE, SELECT, DELETE)

EQUIPOS

Id_equipo nombre id_jugador 1 Brasil H 2 Ecuador A 3 Alemania A 4 Argentina C 5 Inglaterra D

Id_grupo nombre A Grupo A B Grupo B C Grupo C D Grupo D E Grupo E

GRUPOS

Id_jugador nombre id_equipo id_posición 1 Mendez 2 3 2 Ronaldo 1 4 3 Dida 1 1

JUGADORES

Id_posición nombre 1 arquero 2 defensa 3 medio 4 delantero

POSICIÓN

Id_partido equipo1 equipo2 fecha estadio

PARTIDOS

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;

Page 31: Base de datos pdf

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 < Menor que <> Desigualdad >= Mayor o igual que > Mayor 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’;

Page 32: Base de datos pdf

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%’;

Page 33: Base de datos pdf

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

QUI-JOIN:

contenga la ‘O’ o que sean del Departamento 10.

E

aldades. Si utilizo n tablas tendré n-1 Joins.

i ejecuto:

ara evitar ambigüedades se utiliza alias:

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 * PLEADO, DEPARTAMENTO;

7 X 3 = 21 Re

SELECT Nombre, Salario FROM EMPLEADOS

D Comision NOT IS NULL AND Apellido LIKE ‘_OWHERE (Salario >800 ANOR Departamento = 10 ;

Uniones o Igu

Si ejecuto: gistros

FROM EM

Producto Cartesiano

SELECT * PLEADO, DEPARTAMENTO

ento = Departamento; 7 Re

S

gistros FROM EMWHERE Id_Departam

P

SELECT * FROM EMPLEADO A, DEPARTAMENTO B

_Departamento = B.DeparWHERE A.Id tamento;

Alias

SELECT A.Nombre , B.Descripción , A.Salario FROM EMPLEADO A , CARGO B

= ‘Jefes’ WHERE B.Id_Cargo = A.Cargo AND B.Descripcion AND A.Comisión BETEWEEN (500, 1000);

Page 34: Base de datos pdf

Mostrar el Nombre y el Cargo de los Empleados cuyo Salario sea 1000, 800 ó 500, que trabajen en el Departamento de Operaciones y cuyo

ON-EQUI-JOIN:

Cargo sea Gerente.

N

existen ninguna relación entre dos tablas.

el nivel de su Salario.

UTER-JOIN:

Se utiliza cuando no

Visualizar el Nombre de los Empleados, su Salario e indicar

O

do realizamos consultas entre dos tablas relacionadas pero en su clave foránea pueden haber valores nulos, es decir que haya

del Empleado y su Departamento así no exista su Departamento.

SELECT E.Nombre , C.Descripción FROM EMPLEADO E , CARGO C, DEPARTAMENTO D

E.Departamento = D.Id_Departamento = ‘Operaciones’

.Nombre, A.Salario FROM EMPLEADO E, NIVELES-SALARIO NS

Nivel_Bajo AND B.Nivel_Alto

WHERE E.Cargo = C.Id_Cargo AND AND E.Salario IN (1000, 500, 800) AND D.NombreAND C.Descripción = ‘Gerente’;

SELECT A

WHERE A.Salario BETWEEN B.

ResultadoL. López 5000 B 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

Es utilizado cuan

inconsistencia de datos.

Visualizar el nombre

Page 35: Base de datos pdf

Resultado EQUI-JOIN

SELF-JOIN:

Se aplica cuando tengo una relación de recursividad.

Mostrar el Nombre de los Empleados con el Nombre de sus respectivos

L. López Marketing MJ. MorP. Plúas Operaciones

s s es

SELECT A.Nombre, B.NombreFROM EMPLEADO E, DEPARTAMWHERE A.Id_Departamento(+) = Id_Dep

. Ruiz Ventas a Sistemas

A. Rojas OperacioneP. Parede Operacion

ENTO D

Resultado

L. López Marketing

s nes

s es

M EMPLEADO E, EMPLEADO B ERE A.Id_Manager = B.Id_Emp

M. Ruiz Ventas J. Mora Sistemas M. Aviléz P. Plúas OperacioneA. Rojas OperacioP. Parede Operacion

Jefes.

SELECT A.Nombre, B.Nombre FROWH

Resultado

L. López

Mora

s

P. Plúas J.A. Rojas J. Mora P. Parede J. Mora

M. Ruiz L. López J. Mora L. López M. Aviléz M. Ruiz

Page 36: Base de datos pdf

SUB - QUERIES:

ombre de los Empleados y sus Salarios de aquellos empleados que tengan igual comisión que M. Aviléz.

trabajen en el mismo Departamento en el cual trabaja el empleado A. Rojas

Es una base de datos construida sobre un red computacional y no sobre una maquina aislada, la datos distribuida

ro se encuentran físicamente en

énea todos los sitios tienen los mismos sistemas de emás sitios

e ser diferente, puede ser

la red en otra ubicación geográfica

FROM EMPLEADOS C T A.Comision M EMPLEADOS A

Aviléz’ )

SELECT E.Nombre, C.Nombre FROM EMPLEADOS C, CARGO C

.Id_Cargo LEADOS E2

A. Aviléz’ )

Visualizar el N

SELECT C.Nombre, C.Salario

WHERE C.Comision = ( SELECFROWHERE A.Nombre = ‘A.

Mostrar el Nombre y el cargo de los Empleados que

WHERE E.Id_Cargo = C.Id_Cargo AND C.Id_Cargo = ( SELECT E2

FROM EMPHERE E2.W Nombre = ‘

BASE DE DATOS DISTRIBUIDA

información constituye una base deesta 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 pevarios sitios de la red. La base de datos distribuida puede ser homogénea y heterogénea Base de datos homoggestión de bases de datos. Son consientes de la existencia de los dy 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 puedque 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

Page 37: Base de datos pdf

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

tán compartidos.

atos los cuales deben ser

as distribuidos para ello se crean tablas

an para poder

o de

ndependencia con respecto a la red. No debe importar el tipo de

e actuar en un sistema distribuido de base de datos heterogéneo

Es una colección de datos históricos acumulados de solo lectura.

os) forman

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 esRegla 6.- independencia de la replica, cuando se hacen fragmentos se deben replican la información para actualizar los dtrasparentes para el usuario. Regla 7.- procesamiento distribuid por consulta se puede tener diferentes bloques que forman sistemintermedias 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 replicinteractuar 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 tiemprespuesta Regla 10.- no debe depender de un sistema operativo Regla 11.- ide red Regla 12.- independencia con respecto al sistema de gestión de base de datos. Se pued

DATA ARE HOUSE

Los datos pueden ser obtenidos de otras fuentes y generalmente son sumarizadas y almacenadas por periodos de tiempo extenso (añparte del sistema de toma de decisiones gerencial.