Professional Documents
Culture Documents
Base de Datos
seguridad.
Volumen 1
Fundamentos de RDBMS
Unidad 1
Introduccin a RDBMS
Objetivos de Aprendizaje Al finalizar esta unidad ud. debera ser capaz de: Definir una base de datos. Describir el DBMS. Enumerar los diversos modelos de datos. Trabajar con RDBMS. Describir los fundamentos de la Administracin de Transacciones. Explicar la necesidad de las propiedades ACID de una transaccin.
Inicio del Manejo de datos Gran cantidad de datos organizados en dispositivos de almacenamiento secundarios (discos y cintas) como archivos de datos.
Los archivos de datos llamados tambin archivos planos, son una coleccin de registros, cada uno teniendo un conjunto de campos.
Las relaciones en los archivos de datos deben ser manejadas por los programadores. Dependiendo de la aplicacin, los archivos de datos se pueden organizar como archivos secuenciales o archivos de acceso aleatorio. Los archivos de datos son completamente dependientes del dispositivo fsico que se utilice.
Copyright IBM Corp. 2007 7
No Concurrencia: Los datos no pueden ser accedidos y modificados por ms de una persona a la vez.
No Integridad: Si ms de una aplicacin utiliza la misma informacin, los datos pueden ser corrompidos.
Coleccin:
Grupo de datos. Colecciones de datos que pertenecen a diversos tipos de datos.
Inter-relacionado:
Datos que proporcionan informacin razonable y coherente.
Ejemplo
ID de Estudiante
Nombre de Estudiante Edad ID de Estudiante Foto de Estudiante
No. de Curso
Nombre de Curso
No. de Curso ID de Estudiante Notas
Qu es una Base de Datos? 3 Una base de datos se usa para almacenar y recuperar grandes cantidades de datos.
8000 Estudiantes
32200 Notas
- Fsicamente, los datos en una computadora se almacenan en forma de archivos. - Es una coleccin computarizada de datos, almacenados como archivos de datos.
Copyright IBM Corp. 200712
Sistema Administrador de Base de Datos Se requiere de un sistema apropiado para administrar una base de datos. Las tareas incluyen:
Recuperar datos. Agregar datos. Modificar datos. Remover datos.
Un DBMS se puede definir como un sistema que trabaja sobre las bases de datos, adems ayuda a los usuarios a administrar la base de datos de acuerdo a sus necesidades.
elementos
Proporciona comandos especiales para llevar a cabo tareas sin programacin de bajo nivel. Proporciona independencia de datos.
Independencia de Datos Independencia de datos fsica: Los programas de aplicacin que usan la base de datos no deben ser afectados por cambios en la organizacin fsica subyacente de la base de datos. Independencia de datos lgica: Capacidad de cambiar el esquema lgico de la base de datos sin causar que las aplicaciones se reescriban.
Modelo de Datos Un modelo de datos es la estructura subyacente de una base de datos. En esta unidad, se estudian los modelos lgicos basados en registros.
Los modelos lgicos basados en registros son llamados as porque la base de datos es estructurada en torno a registros.
Modelo Relacional
El valor de los datos se obtiene por la interseccin de una fila y una columna.
Modelo Relacional1
RegistrosdeEstudiante
IDEstudiante NombreEstudiante Hospedaje CodigoDisciplina
93PS274 97PS087
James Alice
A1 A2
CodigosdeDisciplina
CodigoDisciplina Disciplina
A1 A2
de
recuperacin
Operaciones de conjuntos:
Modelo de Red Los datos se representan mediante una coleccin de registros. Las relaciones entre los datos se representan por enlaces. Los enlaces pueden ser vistos como punteros. Los registros en la base de datos se organizan en una coleccin de grafos arbitrarios.
Modelo de Red1
93PS274 James
Ram Bhawan
A1 A1 Ingeniera Qumica
97PS087 Alice
Meera Bhawan A2
97PS086 Anitha
97PS085 Jose
Meera Bhawan A2
Modelo Jerrquico1
93PS274
James
97PS087
Ram Bhawan
Alice
A1
A2 A1 A2
97PS086
A1 Ingeniera Qumica
A2 Ingeniera Civil
A1 Ingeniera Qumica
A2 Ingeniera Civil
Modelo Relacional Vs. Otros Los otros modelos estn estrechamente ligados con la implantacin subyacente de la base de datos. El Modelo Relacional es superior porque soporta la independencia de datos. El Modelo Relacional establece relaciones entre los registros segn los valores que contienen.
Organiza los datos y las relaciones entre los datos en tablas que se componen de columnas y filas.
Permite la definicin de las estructuras de datos, de las operaciones de almacenamiento y recuperacin, adems de las restricciones de integridad. Ciertos campos pueden ser designados CLAVES para acelerar la bsqueda. como
Proveedores de RDBMS
Proveedor Producto ltima Versin 9.7 2009 11g PIN SQL ultima 11 y tenemos 5.0 5.0.28enterprise 2010 9.1.4
PostgreSQL
PostgreSQL
Administracin de Transacciones
Una transaccin es una coleccin de operaciones que realiza una nica unidad lgica de trabajo.
Una transaccin se considera incompleta si todas las operaciones no ocurren. La administracin de transacciones implica algunas propiedades importantes llamadas propiedades ACID (Atomicity, Consistency, Isolation, and Durability). Una serie de operaciones ocurre entre las sentencias BEGIN TRANSACTION y END TRANSACTION
Copyright IBM Corp. 200727
Atomicidad
Una transaccin se ejecuta exactamente una vez. Una transaccin es atmica; es decir, cuando se hace todo el trabajo o no se hace nada.
Consistencia Una transaccin es una unidad de integridad porque: Preserva la consistencia de datos. Transforma un estado consistente de datos en otro estado consistente. La consistencia requiere que los datos comprometidos con una transaccin se preserven semnticamente.
La Administracin de Transacciones permite que las transacciones concurrentes se comporten como si cada una fuera la nica transaccin ejecutndose en el sistema.
El aislamiento requiere que parezca que slo una transaccin est manipulando la base de datos.
Una transaccin nunca debe poder ver las etapas intermedias de otra transaccin.
Durabilidad Una transaccin es tambin una unidad de recuperacin. Si una transaccin tiene xito, el sistema garantiza que persistirn sus actualizaciones.
de
persistencia
se
llama
Ventajas de RDBMS La redundancia de datos puede ser minimizada. La integridad, la seguridad y la consistencia de los datos pueden ser aseguradas. Mejor rendimiento en recuperacin de datos. el almacenamiento y
Los datos pueden ser adaptados a los cambios del modelo del negocio.
Unidad 2
Diagrama Entidad-Relacin
Objetivos de Aprendizaje Al finalizar esta unidad ud. debera ser capaz de: Explicar los conceptos de diseo de base de datos. Enumerar los pasos para el diseo de base de datos. Discutir acerca de las entidades y sus relaciones. Describir los diagramas Entidad-Relacin (ER) y sus notaciones. Indicar las pautas para construir un modelo ER. Transformar Diseo Conceptual a Diseo Lgico.
El Modelo Conceptual
Modelacin de Datos
Diagramas ER
Entidades y Relaciones
Copyright IBM Corp. 200738
Modelacin de Datos El propsito principal de la identificacin de entidades es la produccin del Diagrama EntidadRelacin (ER) que:
Muestra la naturaleza de las relaciones significativas que existen entre los tipos de entidades. Es una representacin en la aplicacin del mundo real.
Entidades y Relaciones Las entidades son objetos del mundo real que son relevantes al sistema de informacin. Las propiedades de una entidad son sus Atributos, que determinan los datos que deben ser almacenados. Considere como ejemplo un tipo de entidad carro con los atributos:
Nro-Reg (nmero de registro del carro) Modelo Capacidad del motor Color
Los datos reales se pueden describir como los valores de los atributos de las entidades.
Entidades y Relaciones1 Un atributo nico de un tipo de entidad se llama clave o el identificador de la entidad. Dos o ms atributos juntos designados como la clave forman una clave compuesta. El identificador o clave debe identificar unvocamente un registro. Las entidades son asociadas por relaciones. En la sentencia, un cliente ha pedido ciertas mercancas, ha pedido es la relacin.
Por qu Diagramas de Entidad Relacin? La modelacin ER es una buena ayuda para disear bases de datos.
Entidad
Relacin
Entidades
Nombre de Entidad
Representa una coleccin de objetos. Los miembros (instancias) tienen ciertas caractersticas como un objeto.
Entidades 1
Entidad Fuerte
Entidad Dbil
Relaciones Las entidades estn conectadas unas a otras a travs de relaciones. Las relaciones representan un conjunto de conexiones entre objetos.
Nombre de Relacin
Estudiante
Escribe
Examen
Cardinalidad
Especifica si una entidad est relacionada con una o ms instancias de otra entidad en una misma relacin.
Relacin Uno a Uno Tambin se denota por 1:1. Un hombre se puede casar slo con una mujer y una mujer se puede casar slo con un hombre.
Hombre
Se casa con
Mujer
Relacin Uno a Muchos Tambin se denota por 1:M o M:1. Una madre puede dar a luz a muchos nios. Un nio puede tener solamente una madre biolgica.
Madre
Tiene
Nio
Relacin Muchos a Muchos Tambin se denota por M:N. Ms de una persona puede ser autor de un libro. Un autor puede escribir muchos libros.
Libro
Tiene
Autor
Opcionalidad Una relacin puede ser opcional o mandatoria. La opcionalidad puede ser diferente a cada lado de la relacin.
Estudiante
Estudia
Curso
Desarrollar un Diagrama de Entidad Relacin (ER) Considere un Sistema de Orden de Compra. Identifique las entidades del sistema. stas son:
- Proveedor. - Orden de Compra. - Artculo.
Desarrollar un Diagrama de ER 1
Orden de
Proveedor
Obtiene
Compra
Proveedor
Suministra
Artculo
Contiene
Artculo
Desarrollar un Diagrama de ER 2
Proveedor
Obtiene
Orden de Compra
Contiene
Suministra
Artculo
Atributos
Nombre del Atributo
Todos los datos referentes a una entidad estn contenidos en sus atributos.
Un atributo es alguna propiedad de la entidad que es interesante en un contexto especfico. El valor del atributo se almacena en la base de datos Cada instancia del conjunto de entidades tendr el mismo conjunto de atributos, pero puede contener valores diferentes.
Id del Estudiante
Estudiante
Id del Estudiante
Estudiante
Una clave identifica de manera nica las ocurrencias de un tipo de entidad. Una clave candidata es un candidato potencial a convertirse en una clave primaria. La clave candidata seleccionada como identificador se conoce como clave primaria. el
Diagrama ER
Nombre Empleado Id Empleado
Empleado
tien e Dependiente
Trabaja en
Trabaja para
Proyecto
Controla
Departamento
Nombre
Empleado
Supervisa
Relacin Binaria
Factura
Contiene
Artculo
Relacin Ternaria
Empleado
Computadora
Proyecto
FechaEmision
Color
Carro tiene
Marca Tipo Ao
CertificadodeCir culacion
Placa
Idpropietario
Clave Fornea
Tabla Carro Serial Modelo Color Placa Ao Marca IdCertificado
Clave Primaria
IdCertificado
Clave Primaria
Color
Carro
tiene
Puerta
Placa Ao
Marca
Tipo
Color
Clave Fornea
Clave Primaria
IdPuerta Tipo
Clave Primaria
Libro
Genero Ao Editorial
tiene
Autor
Direccion
Nombre
Apellido
Clave Primaria
Clave Primaria
Resumen Se explicaron los conceptos necesarios para realizar el diseo de base de datos. Se describieron los pasos para el diseo de base de datos. Se estudiaron los conceptos de entidades y sus relaciones.
Unidad 3
Objetivos de Aprendizaje Al finalizar esta unidad ud. debera ser capaz de:
Explicar la normalizacin. Describir la importancia de la normalizacin en las bases de datos. Apreciar la necesidad de la normalizacin en las bases de datos. Discutir diversas clases de formas normales.
Normalizacin Normalizacin es el proceso de organizar los datos para minimizar la duplicacin. Generalmente, implica dividir una base de datos en dos o ms tablas y definir las relaciones entre ellas. El objetivo es aislar los datos en una tabla.
Nombre Estudiante
Ubicaci nDomicili o
ID Curso
Curso
S101
Joseph Daniel
New York
CS201
Sistema de Administracin de Base de Datos Anlisis y Diseo Orientado a Objetos Anlisis y Diseo Orientado a Objetos
S102
Jerry Jones
San Jose
CS202
S101
Joseph Daniel
New York
CS202
S103
Carl Baker
Washingt on
CS203
Ingeniera de Software
Proceso de Normalizacin1 Hay un requerimiento del negocio que solicita cambiar el nombre del curso Anlisis y Diseo Orientado a Objetos a Anlisis Orientado a Objetos. Cmo puede ser incorporado este cambio? Se puede evitar la duplicacin si se divide la tabla Estudiante en dos tablas diferentes y despus se enlazan con una relacin de tabla.
Proceso de Normalizacin2
Tabla Estudiante
ID Estudiante S101 S102 Nombre Estudiante Joseph Daniel Jerry Jones Ubicacin Casa New York San Jose
S103
Carl Baker
Washington
Proceso de Normalizacin3
Tabla Curso
ID Curso
CS201
Curso
Sistema de Administracin de Base de Datos Relacional Anlisis y Diseo Orientado a Objetos Ingeniera de Software
CS202
CS203
Proceso de Normalizacin4
Tabla Estudiante-Curso
ID Estudiante ID Curso
S101
S101 S102 S103
CS201
CS202 CS202 CS203
Descomposicin sin Prdida Loss-Less Join Los datos deben ser analizados cuidadosamente antes de que se puedan dividir las tablas.
Cuando se hace una unin (join) de las tablas divididas, se debe obtener la tabla original sin normalizar.
Esta unin se llama Descomposicin sin Prdida Loss-Less Join. No debe haber prdida de datos despus de la normalizacin.
Necesidad de Normalizar
Flexibilidad
Integridad de Datos
Eficiencia
Primera Forma Normal 1NF Debe satisfacer las siguientes condiciones: - Los campos de variables repetidas o grupos de variables repetidas deben ser eliminados. - Todas las filas deben contener el mismo nmero Relaciones de campos.
Fecha Orden
11/30/1998
Cliente
Grado
Puntos
Credito
Unitario
1 1 1 2 2
A A A B B
1 1 1 4 4
5 10 15 20 25
11/30/1998
11/30/1998
12/3/1998 12/3/1998
Problemas por no estar en Primera Forma Normal 1NF Suponga que se necesita cambiar la direccin Email del Cliente Joe Smith. Nombre de Se debe cambiar en 3 Relacin lugares. Esto sera bastante extenso cuando el cliente coloca x rdenes con y items cada uno. Se tendra que cambiar en x*y lugares.
Aplicar 1NF
11/30/1998
Joe Smith
joe@iewr.com
Estudiante
2 12/3/1998 Sam
Escribe
sam@ter.com B
Examen
4
Aplicar 1NF1
Tabla ArtculoOrden
IdOrden 1 1 1 2 2 NombreItem Martillo Sierra Clavos Sierra Clavos Cant Reque 5 10 15 20 25 Precio Unitario $25 $30 $40 $30 $40
Segunda Forma Normal 2NF Un diseo relacional se dice que est en segunda forma normal (2NF) si, y slo si, est en 1NF y adems, cada columna que no est en la clave primaria es dependiente totalmente de la clave primaria. Se casa Hombre La 2NF se aplica a las con tablas que tienen Mujer claves primarias compuestas por dos o ms columnas. Si una Tabla est en 1NF y su clave primaria es simple (tiene una sola columna), entonces tambin est en 2NF.
Segunda Forma Normal 2NF1 La Tabla Orden est en 2FN, ya que su clave primaria es simple. La Tabla ArticuloOrden tiene como clave primaria a las columnas IdOrden y NombreItem, en este caso se aplica la 2NF.
Segunda Forma Normal 2NF2 La tabla ArticuloOrden se divide en 2 Tablas: DetalleOrden Item
Tabla DetalleOrden
IdOrden 1 1 1 2 2 IdItem 1 2 3 2 3 Cant Reque 5 10 15 20 25 Precio UnitarioVenta $25
$30
$40 $30 $40
Segunda Forma Normal 2NF3 En la tabla tem se crea el campo IdItem para identificar unvocamente los registros.
Tabla Item
IdItem 1 2 3 Nombre Item Martillo Sierra Clavos Precio Unitario Tiene $25 $30 $40
Autor
Tercera Forma Normal 3NF Para que un diseo relacional est en 3NF, tiene que estar en 2NF. Cada columna no-clave tiene que ser mutuamente independiente. No debe tener ninguna dependencia transitiva.
Dependencia Transitiva Si se tiene tres columnas A, B y C en una tabla, donde A es la columna clave. La dependencia puede ser especificada como: A =>B, C
Por qu no es 3NF? Las columnas no-clave PuntosCredito y Grado noNombre son del mutuamente independientes. Atributo Las columnas no-clave cliente y emailCliente no son mutuamente independientes.
Tabla Orden
IdOrden 1 Fecha orden 11/30/1998 Cliente Joe Smith EmailCliente joe@iewr.com Grado A Puntos Credito 1
12/3/1998
Sam
sam@ter.com
Tabla Cliente
IdCliente 1 2 Cliente Joe Smith Sam EmailCliente joe@iewr.com sam@ter.com Puntos Credito
Estudiante
1
2 3 4 5 6
7
8 9
C
C C
Tabla Orden
IdOrden 1 2 FechaOrden 11/30/1998 12/3/1998
Madre
Tiene
Nio
Persona
PaisesVisitados
PremiosRecibidos
PremiosRecibidos
Grammy
Scott
Scott
Oscar
Premio Nobel
Tabla PaisesVisitados
Tabla PremiosRecibidos
Persona
Scott Scott
PremiosRecibidos
Grammy Oscar
Scott
Premio Nobel
Unidad 4
Unidad 5