SlideShare una empresa de Scribd logo
1 de 276
Resumen: Fundamentos de Sistemas de
de Bases de Datos
Aula 40
VERÓNICA VALENCIA Y ANDRÉS MORENO
• INTRODUCCION
CAPÍTULO 1: Bases de datos y usuarios
de bases de datos
VERÓNICA VALENCIA Y ANDRÉS MORENO
EJEMPLO
VERÓNICA VALENCIA Y ANDRÉS MORENO
CARACTRISTICAS BASES DE DATOS
VERÓNICA VALENCIA Y ANDRÉS MORENO
Evelyn Jami
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
EJEMPLIFICACION No/a: TipoEspecialidad se define
como un tipo enumerado con todas
las especialidades conocidas.
XXXXNNNN se utiliza para definir
un tipo con cuatro caracteres
alfanuméricos seguidos
por cuatro dígitos.
Evelyn JamiVERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
Evelyn Jami
VERÓNICA VALENCIA Y ANDRÉS MORENO
Evelyn Jami
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
Evelyn Jami
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
CAPÍTULO 2: Conceptos y arquitectura de los sistemas de bases de datos
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
VERÓNICA VALENCIA Y ANDRÉS MORENO
CAPÍTULO 3: Modelado de datos con el modelo Entidad-Relación (ER)
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
CAPÍTULO 4: El modelo Entidad-Relación mejorado (EER)
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
María Rosario y Alexander Chasi
CAPÍTULO 5: El modelo de datos relacional y las restricciones de una base de datos relacional
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
CAPÍTULO 6: El álgebra relacional y los cálculos relacionales
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
KARLA LARA Y ANDREI IZA
DISEÑO DE UNA BASE DE DATOS RELACIONAL UTILIZANDO EL MAPEADO ER-a-RELACIONAL
CAPÍTULO 7: Diseño de bases de datos relacionales por mapeado ER- y EER-a-relacional
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
CAROLINA ARTEAGA Y MELI CATUCUAMBA
Metodologías de
programación
de bases de datos
Incrustación de comandos de
bases de datos
en un lenguaje de
programación
de propósito general.
Uso de una biblioteca de
funciones
de bases de datos
Diseño de un lenguaje
completamente nuevo
En el lenguaje de programación hast
se dispone de una biblioteca de
funciones para las llamadas
a la base de datos.
Por ejemplo, puede haber
funciones para conectar con una
base de datos, ejecutar una consulta,
ejecutar una actualización, etcétera.
Las sentencias de base de datos se
incrustan en el lenguaje de programación
host, identificándolas con un prefijo
especial.
Por ejemplo, el prefijo para SQL
incrustado es la cadena EXEC SQL.
Desde el principio para que sea
compatible con el modelo de base
de datos y el lenguaje de consulta.
Capítulo 9: TÉCNICAS DE
PROGRAMACIÓN DE SQL
La mayoría de los sistemas de bases de datos tienen una interfaz interactiva donde se pueden escribir
directamente estos comandos SQL para entrar en el sistema de bases de datos. Por ejemplo, en un computador
que tenga instalado Oracle RDBMS, el comando SQLPLUS inicia la interfaz interactiva.
ALEJANDRA SARANGO
Al escribir un programa de este tipo, una secuencia de interacción puede ser la siguiente:
SECUENCIA TÍPICA DE
INTERACCIÓN
EN LA PROGRAMACIÓN
DE BASES DE DATOS
Cuando el programa cliente requiere acceso a una base de datos particular, el programa
primero debe establecer o abrir una conexión con el servidor de bases de datos.
Normalmente, esto implica especificar la dirección de Internet (URL)
Una vez establecida la conexión, el programa puede interactuar con la base de
datos emitiendo consultas,actualizaciones y otros comandos de bases de datos.
Cuando el programa ya no necesita acceso a una base de datos en particular,
debe terminar o cerrar la conexión con la base de datos.
Recuperación de tuplas sencillas con SQL incrustado
• Para ilustrar los conceptos de SQL incrustado, utilizaremos e como lenguaje de programación
host.4 Dentro de un comando de SQL incrustado, nos podemos referir a las variables del
programa e especialmente declaradas. Son las denominadas variables compartidas, porque se
utilizan en el programa e y en las sentencias SQL incrustadas. Las variables van prefijadas con
dos puntos (:) cuando aparecen en una sentencia SQL. De este modo, se distinguen los
nombres de las variables del programa de los nombres de las estructuras de esquema de la
base de datos, como los atributos y las relaciones.
• Los nombres de las estructuras del esquema de la base de datos (como los atributos y las
relaciones) sólo se pueden utilizar en los comandos SQL, pero las variables del programa
compartidas se pueden utilizar en cualquier parte del programa e sin el prefijo de los dos puntos
(:). ALEJANDRA SARANGO
Recuperación de varias tuplas con SQL incrustado y utilizando cursores
Podemos pensar en un cursor como en un puntero que apunta a una sola tupla (fila) del resultado de una consulta que recupera varias tuplas.
El cursor se declara cuando se declara el comando de consulta SQL en el programa. Más tarde en el programa, un comando OPEN CURSOR
toma el resultado de la consulta de la base de datos y establece el cursor a una posición anterior a la primera fila de dicho resultado. Ésta se
convierte en la fila actual para el cursor. A continuación, se ejecutan comandos FETCH en el programa; cada uno mueve el cursor a la
siguiente fila del resultado de la consulta, convirtiéndola en la fila actual y copiando los valores de sus atributos en las variables del programa e
(lenguaje host) especificadas en el comando FETCH mediante una cláusula INTO. La variable de cursor es básicamente un iterador que itera
por las tuplas del resultado de la consulta (una tupla a la vez). Esto es parecido al procesamiento tradicional por registros.
Aplicación
O) prompt("Introduzca el nombre del departamento: " nombredpto)
1) EXEC SQL
2) select NumeroDpto into :numdpto
3) from DEPARTAMENTO where NombreDpto = :nombredpto
4) EXEC SQL DECLARE EMP CURSOR FOR
5) select Dni, Nombre, Apellido1, Sueldo
6) from EMPLEADO where Dno = :numdpto
7) FOR UPDATE OF Sueldo ;
8) EXEC SQL OPEN EMP ;
9) EXEC SQL FETCH from EMP into :dni, :nombrepila, : apellido1 ,
:sueldo
10) while (SQLCODE == O) {
11) printf ("Nombre del empleado: ", Nombre, Apellido1) ;
12) prompt (" Introduzca la subida del sueldo: ", subida) ;
13) EXEC SQL
14) update EMPLEADO
15) set Sueldo = Sueldo + :subida
16) where CURRENT OF EMP ;
17) EXEC SQL FETCHALEJANDRA SARANGO from EMP into :dni,
:nombrepila, :apellido1, :sueldo
18) )
19) EXEC SQL CLOSE EMP ;
Fragmento de programa E2: fragmento de un programa C que utiliza cursores con SOL incrustado con propósitos de actualización.
//Fragmento de programa E2:
ALEJANDRA SARANGO
ESPECIFICACIÓN DE CONSULTAS EN TIEMPO DE
EJECUCIÓN CON SQL DINÁMICO
En algunos casos, es conveniente escribir un programa que pueda ejecutar diferentes consultas o
actualizaciones SQL (u otras operaciones) dinámicamente en tiempo de ejecución.
Queremos escribir un programa que acepte una consulta SQL escrita desde el monitor, la ejecute y
muestre su resultado, como si se tratara de las interfaces interactivas disponibles en la mayoría de los
DBMSs.
Cuando una interfaz amigable genera consultas SQL dinámicamente para el usuario basándose en operaciones
"apuntar y clic" en un esquema gráfico por ejemplo, una interfaz parecida a QBE.
Fragmento de programa E3: fragmento de programa C que utiliza SQL dinámico para actualizar una tabla.
//Fragmento de programa E3:
O) EXEC SQL BEGIN DECLARE SECTION
1)varchar sqlupdatestring [256]
2)EXEC SQL END DECLARE SECTION ;
3)prompt(lIIntroduzca el comando de actualización: ", sqlupdatestring)
4)EXEC SQL PREPARE sqlcommand FROM :sqlupdatestring ;
5)EXEC SQL EXECUTE sqlcommand ;
ALEJANDRA SARANGO
SQLJ: comandos SQL incrustados en Java
En SQLJ, los comandos de SQL incrustados dentro de un programa de Java van precedidos por #sql, como se muestra en la
línea 3 de J1, a fin de ser identificados por el preprocesador. SQLJ utiliza una cláusula INTO (parecida a la que se utiliza en
SQL incrustado) para devolver los valores de atributo recuperados de la base de datos por una consulta SQL en las variables
del programa Java. Estas últimas van precedidas por los dos puntos (:) en la sentencia SQL, como en SQL incrustado. En J1,
la consulta SQLJ incrustada sólo selecciona una tupla; por eso podemos asignar los valores de sus atributos directamente a
las variables del programa Java en la cláusula INTO de la línea 4. Para las consultas que recuperan muchas tuplas, SQLJ
utiliza el concepto de iterador, que es algo parecido a un cursor en SQL incrustado.
Fragmento de programa J1: fragmento de programa Java con SQLJ.
//Fragmento de programa Jl:
1) dni = readEntry("Introduzca un número de DNI: ") ;
2) try {
3) #sql { select Nombre, Apellidol, Direccion, Sueldo
4) into :nombrepila, :apellidol, :direcc, :sueldo
5) from EMPLEADO where Dni = : dni} ;
6) catch (SQLException se) {
7) System.out.println("Este número de DNI no existe: " + dni) ;
8) Return ;
9) }
10) System.out.println(nombrepila + " " + apellidol + " " + direcc + " " + sueldo)
ALEJANDRA SARANGO
RECUPERACIÓN DE
VARIAS TUPLAS EN
SQLJ UTILIZANDO
ITERADORES
1
Un iterador con nombre está asociado con el resultado de
una consulta enumerando los nombres y los tipos de los
atributos que aparecen en dicho resultado.
2
Un iterador posicional sólo enumera los tipos de
atributos que aparecen en el resultado de la
consulta.
Los nombres de atributo deben corresponderse
con las variables del programa Java,
En los dos casos, la lista debe tener el mismo
orden que los atributos de la cláusula SELECT
de la consulta.
1.nombredpto ~ readEntry ( "Introduzca el nombre del departamento: ")
2.try {
3.#sql { select NumeroDpto into :numdpto
4.from DEPARTAMENTO where NombreDpto ~ :nombredpto} ;
5.catch (SQLException se)
6.System. out .println ("El departamento no existe: " + nombredpto)
7.Return ;
8.}
9.System.out.printline("Información del empleado de este departamento: "
+ nombredpto)
10.#sql iterator Emp(String dni, String nombrepila, String apellido1,
double sueldo) ;
11.Emp e ~ null ;
12.#sql e ~ { select dni, nombrepila, apellido1, sueldo
13.from EMPLEADO where Dno ~ :numdpto}
14.while (e. next ()) {
15. System.out.printline(e.dni + " " + e.nombrepila
+ " " + e.apellido1 + " " + e. sueldo) ;
16. } ;
17.e. close ()
Fragmento de programa J2A: fragmento de programa Java que utiliza un iterador con nombre para imprimir información de un empleado de un departamento
en particular. //Fragmento de pograma J2A:
ALEJANDRA SARANGO
ITERADORES POSICIONALES
La principal diferencia entre un iterador posicional y uno con nombre es que en el primero no hay atributos (correspondientes a los nombres
de las variables del programa), sólo tipos de atributos. Aun así, deben ser compatibles con los tipos de los atributos del resultado de la
consulta SQL y aparecer en el mismo orden. La línea 10 muestra cómo se crea en el programa la variable de iterador posicional e del tipo
Emppos y después se asocia con una consulta (líneas 11 y 12). El iterador posicional se comporta de una forma que es más parecida a SQL
incrustado (consulte la Sección 9.2.2). Se necesita un comando FETCH INTO para obtener la siguiente tupla del resultado de una consulta.
La primera vez que se ejecuta fetch, se obtiene la primera tupla (línea l3 de la Figura 9.9). La línea 16 obtiene la siguiente tupla hasta que
no haya más tuplas en el resultado de la consulta. Para controlar el bucle, se utiliza una función de iterador posicional, e. endFetch (). Esta
función se establece a TRUE cuando el iterador está inicialmente asociado con una consulta SQL (línea 11), y se establece a FALSE cada
vez que un comando fetch devuelve una tupla válida del resultado de la consulta. Se establece de nuevo a TRUE cuando un comando fetch
ya no encuentra más tuplas. La línea 14 muestra cómo se controla el bucle mediante la negación.
IIFragmento de programa J2B:
0. nombredpto = readEntry(IIIntroduzca el nombre del departamento:
“)
1. try (
2. #sql ( select NumeroDpto into :numdpto
3. from DEPARTAMENTO where NombreDpto = :nombredpto} ;
4. catch (SQLException se) (
5. System. out. println ("El departamento no existe: 11 +
nombredpto)
6. Return;
7. }
8. System.out.printline(IIInformación del empleado de este
departamento: 11 + nombredpto)
9. #sql iterator Emppos(String, String, String, double)
10. Emppos e = null) ;
11. #sql e = ( select dni, nombrepila, apellido1, sueldo
12. from EMPLEADO where Dno = :numdpto} ;
13. #sql { fetch :e into :dni, :np, :ap1, :sal}
14. while (! e . endFetch ()) (
15. System.out .printline (dni + 11 11 + np + 11 11 + ap1 + 11 11 +
sal)
16. #sql { fetch :e into :dni, :np, :ap1, :sal}
17. } ; 18) e. close ( )
ALEJANDRA SARANGO
Programación de bases de datos con SQUCLI
utilizando C como lenguaje host
Declare las variables de manejador de los tipos SQLHSTMT, SQLHDBC, SQLHENV Y SQLHDESC para las sentencias, conexiones, entornos
y descripciones necesarias en el programa, respectivamente
En el programa C debe incluirse la biblioteca de funciones que abarca SQLlCLI. Se llama sqlcli . h,
En el programa debe configurarse un registro de entorno con SQLAllocHandle. Como en ningún otro registro se guarda un registro de entorno,
el parámetro <manejador_l> es el manejador NULL SQL_NULL_HANDLE (puntero NULL) al crear un entorno.
En el programa se configura un registro de conexión utilizando SQLAllocHandle. Se establece entonces una conexión
en con1 con un servidor concreto de bases de datos utilizando la función SQLConnect de SQLlCLI
En el programa se configura un registro de sentencia utilizando SQLAllocHandle. El registro de sentencia creado tiene el manejador stmt1
y utiliza la conexión conl.
La sentencia se ha preparado utilizando la función SQLlCLI SQLPrepare. En la línea 10, esto asigna
la cadena de sentencia SQL (la consulta en nuestro ejemplo) a la sentencia handle stmtl.
Antes de ejecutar la consulta, debe enlazarse cualquier parámetro de la cadena de consulta con las variables del programa utilizando la función
SQLlCU SQLBindParameter.
Siguiendo estas preparaciones, ahora podemos ejecutar la sentencia SQL especificada por el manejador stmt1, utilizando la función SQLExecute
Para determinar dónde se devuelve el resultado de la consulta, se suele recurrir a la técnica de columnas enlazadas. Aquí, cada columna del
resultado de una consulta se enlaza a una variable del programa C utilizando la función SQLBindCol.
Por último, para recuperar los valores de columna en las variables del programa C, se utiliza la función SQLFetch
ALEJANDRA SARANGO
Procedimientos almacenados de bases de datos y SQUPSM
El término utilizado en el estándar SQL para los procedimientos almacenados es módulos almacenados persistentes, porque el DBMS
almacena persistentemente estos programas, algo parecido a los datos persistentes almacenados por el DBMS. Los procedimientos:
Son útiles en las siguientes
circunstancias
Si varias aplicaciones necesitan un mismo programa de bases de base de datos,
este último se puede almacenar en el servidor e invocarlo desde esas aplicaciones.
Esto reduce la duplicidad del esfuerzo y mejora la modularidad del software.
1.
La ejecución de un programa en el servidor puede reducir el coste derivado de
la transferencia y la comunicación de datos entre el cliente y el servidor en
ciertas situaciones.
2.
Estos procedimientos pueden mejorar la potencia de modelado de las vistas al
permitir que los usuarios de bases de datos cuenten con tipos más complejos
de datos derivados. Además, se pueden utilizar esos tipos para comprobar
restricciones más complejas que quedan fuera de la especificación de aserciones
y triggers. En general, muchos DBMSs
3.
ALEJANDRA SARANGO
SQL/PSM: AMPLIACIÓN DE SAL PARA ESPECIFICAR
MÓDULOS ALMACENADOS PERSISTENTES
SQLlPSM es la parte del estándar SQL encargada de especificar cómo han de escribirse los módulos
almacenados persistentes. Incluye las sentencias para crear las funciones y los procedimientos que
describimos en la sección anterior. También incluye las estructuras de programación adicionales que permiten
mejorar la potencia de SQL con el propósito de escribir el código ( o cuerpo) de los procedimientos o funciones
almacenados.
La sentencia de bifurcación condicional en SQL/PSM tiene la siguiente forma:
IF <condición> THEN <lista de sentencias>
ELSEIF <condición> THEN <lista de sentencias>
ELSEIF <condición> THEN <lista de sentencias>
ELSE END <lista de sentencias>
IF;
Declaración de una función en SQL/PSM.
//Función PSM1:
1. CREATE FUNCTION TamDpto(IN nodpto INTEGER)
2. RETURNS VARCHAR [7]
3. DECLARE NumEmps INTEGER ;
4. SELECT COUNT(*) INTO NumEmps
5. FROM EMPLEADO WHERE Dno ~ nodpto
6. IF NumEmps > 100 THEN RETURN "ENORME"
7. ELSEIF NumEmps > 25 THEN RETURN "GRANDE"
8. ELSEIF NumEmps > 10 THEN RETURN "MEDIO"
9. ELSE RETURN "PEQUEÑO"
ALEJANDRA SARANGO
CAPÍTULO 10: Dependencias funcionales y normalización en
bases de datos relacionales
Estos modelos hacen que el diseñador
identifique los tipos de entidad y de relación y
sus respectivos atributos, lo que nos lleva a un
agrupamiento natural y lógico de los atributos en
relaciones cuando van seguidos por los
procedimientos de mapeado del Capítulo 7.
Hay dos niveles:
* El primero es el nivel lógico (o
conceptual)
*El segundo nivel es el de
implementación (o almacenamiento)
Johanna Manguay y Bryan Marcillo
Dependencias funcionales y
normalización en bases de datos
relacionales
Nivel lógico (o conceptual): cómo los
usuarios interpretan los esquemas de
relación y el significado de sus
atributos. Disponer de un buen
esquema de relación a este nivel
permite a los usuarios comprender
con claridad el significado de los
datos en la relaciones y, por
consiguiente, formular sus consultas
correctamente.
Nivel es el de implementación (o
almacenamiento): de qué modo se
almacenan y actualizan las tuplas en una
relación base. Este nivel se aplica sólo a
esquemas de relación base (cómo se
almacenarán físicamente los ficheros),
mientras que a nivel lógico nos interesan
tanto las relaciones base como las vistas
(relaciones virtuales). Se aplica
fundamentalmente a las relaciones base
Johanna Manguay y Bryan Marcillo
Como se debe llevar acabo
usando estas metodologías?:
* Una metodología de diseño de tipo ascendente: llamada
también diseño por síntesis, tiene como punto de partida
las relaciones básicas entre atributos Dependencias
funcionales y normalización en bases de datos relacionales
individuales, y los usa para construir los esquemas de
relación. Esta metodología no es muy popular , ya que
tiene el problema de tener que recopilar al principio una
gran cantidad de relaciones binarias entre los atributos.
* Una metodología descendente,
conocida también como desafío
por análisis, se empieza con varios
agrupamientos de atributos de una
relación que están juntos de forma
natural, como por ejemplo, en una
factura, un formulario o un informe.
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan
Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
CAPÍTULO 11: Algoritmos de diseño de bases de datos relacionales y dependencias
adicionales
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
Johanna Manguay y Bryan Marcillo
EL PAPEL DE LOS SISTEMAS DE
INFORMACIÓN EN LAS EMPRESAS
Un sistemas de base de datos debe permitir establecer estructuras de almacenamiento , ser eficientes ,
seguros, y otros.
Michelle Yantibug y Mary Ponce
Capítulo 12: Metodología práctica de diseño de bases de datos y uso de
los diagramas UML
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
EL DISEÑO DE LA BASE DE DATOS Y EL
PROCESO DE IMPLEMENTACIÓN
 Los objetivos del diseño de una base de datos son varios:
 Satisfacer los requisitos de información de los usuarios y aplicaciones especificados.
 Ofrecer una estructuración de la información natural y fácil de comprender.
 Soportar las necesidades de procesamiento y cualquier objetivo de rendimiento, como el tiempo de
respuesta, el tiempo de procesamiento y el espacio de almacenamiento.
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
USO DE DIAGRAMAS UML COMO AYUDA
A LA ESPECIFICACIÓN DEL DISEÑO DE
LA BASE DE DATOS
La industria siempre necesita algunas metodologías estándar para cubrir todo este espectro
de análisis de los requisitos, modelado, diseño, implementación e implantación. El método
que está recibiendo más atención y aceptación y que también ha sido propuesto como
estándar es el método UML (Lenguaje unificado de modelado), que proporciona un
mecanismo en forma de notación diagramática y sintaxis de lenguaje asociado para abarcar
todo el ciclo vital.
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
Michelle Yantibug y Mary Ponce
Capítulo 13:Almacenamiento en disco, estructuras básicas
de ficheros y dispersión
Dennis Cando y Gustavo Escobar
Dennis Cando y Gustavo Escobar
Ubicación de los registros de ficheros
en disco
 Registro y Tipo de Registros: Los datos se almacenan en forma de registro los cuales pueden
adquirir valores que son cuantificados en forma de bit. El tipo de dato de campo normalmente es estándar
se utiliza en programación (numéricos, caracteres y booleanos).
 Ficheros, registros le longitud fija y variable: Secuencia de registros de longitud fija
(tienen el mismo numero de bytes) y registros de longitud variable ( pueden contar con registros
individuales y diferentes).
Dennis Cando y Gustavo Escobar
 Bloque de registros y registros extendidos frente a no extendidos: Los registros se asignan en
bloques de disco ya que pueden contener varios registro aunque algunos puedan tener registros que por su tamaño no entran
en el bloque.
 Asignación de bloques de fichero a disco: Asignación de ficheros continuos que se asignan a bloques de
discos consecutivos, haciéndose mas compleja expandir el fichero, por otro lado se hace una asignación enlazada
haciendo mas sencilla la expansión del fichero pero mas lenta su lectura.
Dennis Cando y Gustavo Escobar
Otras organizaciones principales de ficheros
 Ficheros de registros mezclados: Las organizaciones de ficheros son un mismo tipo de registro, pero cada
fichero contiene registros de un solo tipo y pueden presentarse mediante campos de conexión y normalmente se
asigna un área del disco para albergar registros de mas de un tipo y se pueden agrupar físicamente.
Paralelismo del acceso al disco mediante tecnología RAID
Se aplica a pequeños discos independientes que actúan como un solo disco lógico de alto rendimiento para lo cual se
segmenta los datos y se los distribuye de forma transparente en varios discos para mejorar su velocidad.
Dennis Cando y Gustavo Escobar
Dennis Cando y Gustavo Escobar
Dennis Cando y Gustavo Escobar
CAPITULO 14: Estructuras de indexación para los
ficheros
ESTRUCTURAS DE INDEXACIÓN PARA LOS FICHEROS
La idea de los índices es enumerar al final de la obra los términos importantes en forma alfabética.
Normalmente se define una estructura de índice con un solo campo de fichero a esto se lo conoce como
campo de indexación ya que almacena valores junto con una lista de punteros a todos los bloques de disco
que contiene los registros con ese valor de campo.
Índices Principales: Fichero que ordena registros según su longitud en dos campos siendo el primer campo la clave
principal y el segundo el registro del índice
Dennis Cando y Gustavo Escobar
Dennis Cando y Gustavo Escobar
 Índices Agrupados: Ordenados físicamente por un campo que no tiene valor distinto para
cada registro, a esto se le denomina campo agrupado a diferencia de el índice principal este no
requiere de una ordenación de ficheros. Para evitar errores se suele reservar un bloque entero
para cada valor del campo agrupado
 Índices Secundarios: Proporciona un acceso secundario al fichero para el que ya existe
un acceso principal, puede ser una “no clave” con valores duplicados. La estructura de este
índice es un campo clave que tiene un valor distinto para cada registro, dicho campo recibe a
veces el nombre de clave secundaria. El índice secundario normalmente necesita mas espacio
de almacenamiento y un tiempo de búsqueda mayor que un índice principal debido a su mayor
cantidad de entradas.
Índices Multinivel
Reduce el espacio de búsqueda rápidamente. La búsqueda en un índice requiere
aproximadamente de logfobi acceso a bloques que es un numero mas pequeño que para
la búsqueda binaria
Dennis Cando y Gustavo Escobar
Dennis Cando y Gustavo Escobar
Dennis Cando y Gustavo Escobar
Índices en claves múltiples
 Índice ordenado por varios atributos: Una ordenación lexicográfica de los valores de
esta tupla establece un orden en esta clave de búsqueda compuesta, por tanto <3, n> precede a
<4,m> para cualquier valor de m y n.
 Dispersión Partida: Es una extensión de la dispersión externa estática que permite el acceso
sobre varias claves y se la usa en comparaciones de igualdad y esta diseñada para producir un
resultado con n direcciones de dispersión separadas
 Fichero Rejilla: Otra alternativa es reorganizar el fichero como un fichero rejilla si queremos,
acceder a un fichero con dos claves podemos construir una array rejilla con una escala lineal por cada
uno de los atributos de búsqueda.
Dennis Cando y Gustavo Escobar
Dennis Cando y Gustavo Escobar
CAPITULO 15
Algoritmos para procesamiento y optimización de
consultas
El optimizador de consultas se encarga de generar un plan de ejecución y el generador
de código se encarga de generar el código para ejecutar dicho plan.
CAPÍTULO 15: Algoritmos para procesamiento y optimización de
consultas
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.1 Traducción de consultas SQL al álgebra
relacional
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.2 Algoritmos para ordenación externa
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.3 Algoritmos para operaciones SELEC Y JOIN
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.4 Algoritmos para operaciones de proyección y
conjunto
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.5 Implementación de las operaciones de agregación y
de OUTER JOIN
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.6 Combinación de operaciones mediante flujos
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.7 Utilización de la heurística en la
optimización de consultas
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.8 Componentes de coste de ejecución de una consulta El coste de ejecución de
una consulta incluye los siguientes componentes:
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.9 Revisión de la optimización de consultas
en Oracle
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
15.10 Optimización semántica de consultas
JENNIFER JARAMILLO Y STALIN GUACHAMÍN
En éste capitulo explicamos algunos problemas que afectan al
rendimiento de una aplicación que se ejecuta en un DBMS. En
particular, explicamos las opciones disponibles que los
administradores de bases de datos tienen para almacenar
bases de datos y algunas de las soluciones y técnicas que
utilizar para refinar la base de datos a fin de mejorar su
rendimiento
Pamela Garcés y Karla Gualavisí
CAPÍTULO 16: Diseño físico y refinación de la base de
datos
Pamela Garcés y Karla Gualavisí
1.1.- Factores que influyen en el diseño físico de una base
de datos
Pamela Garcés y Karla Gualavisí
1.2.- Decisiones sobre el diseño físico de la base de datos
• La mayoría de los sistemas relacionales representan cada relación base como un
fichero de base de datos físico.
• Las opciones de ruta de acceso incluyen especificar el tipo de fichero para cada
relación y los atributos sobre los que deben especificarse los índices. Como
máximo, uno de los índices de cada fichero puede ser un índice principal o
agrupado. Es posible crear cualquier cantidad de índices secundarios.
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
Desmoralización como decisión de diseño para
acelerar las consultas
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
PASOS PARA LA REFINACION DE CONSULTAS
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
DIRECTRICES ADICIONALES PARA LA
REFINACION DE UNA CONSULTA
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
Los sistemas de procesamiento de transacciones son sistemas
con grandes bases de datos y cientos de usuarios concurrentes
ejecutando transacciones de bases de datos. Entre estos
sistemas podemos citar los de reservas en aerolíneas, banca,
procesamiento de tarjetas de crédito, mercado de acciones,
etcétera. Estos sistemas requieren una alta disponibilidad y una
respuesta rápida para cientos de usuarios simultáneos
Pamela Garcés y Karla Gualavisí
CAPÍTULO 17: Introducción a los conceptos y la teoría
sobre el procesamiento de transacciones
Pamela Garcés y Karla Gualavisí
EJEMPLO
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
EJEMPLO
Pamela Garcés y Karla Gualavisí
Propiedades deseables de las transacciones
 Las transacciones deben poseer varias propiedades, a menudo denominadas propiedades
ACID, que deben ser: implementadas por el control de la concurrencia y los métodos de
recuperación del DBMS. Las propiedades ACID son las siguientes:
 Atomicidad. Una transacción es una unidad atómica de procesamiento; o se ejecuta en su totalidad o no se
ejecuta en absoluto.
 Conservación de la consistencia. Una transacción está conservando la consistencia si su ejecución completa
lleva a la base de datos de un estado consistente a otro.
 Aislamiento. Una transacción debe aparecer como si estuviera ejecutándose de forma aislada a las demás. Es
decir, la ejecución de una transacción no debe interferir con la ejecución de ninguna otra transacción
simultánea.
 Durabilidad. Los cambios aplicados a la base de datos por una transacción confirmada deben persistir en la
base de datos. Estos cambios no deben perderse por culpa de un fallo.
Pamela Garcés y Karla Gualavisí
CLASIFICACIÓN DE LAS PLANIFICACIONES EN
BASE A LA RECUPERABILIDAD
Pamela Garcés y Karla Gualavisí
EJEMPLO 1
Pamela Garcés y Karla Gualavisí
EJEMPLO 2
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
EJEMPLO 1
Pamela Garcés y Karla Gualavisí
EJEMPLO 2
Pamela Garcés y Karla Gualavisí
Pamela Garcés y Karla Gualavisí
EJEMPLO
Pamela Garcés y Karla Gualavisí
CAPÍTULO 18: TÉCNICAS DE CONTROL DE LA
CONCURRENCIA
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
CAPÍTULO 19: TÉCNICAS DE RECUPERACIÓN DE BASES DE DATOS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
NICOLE SORIA Y GABRIEL VILLACIS
CAROLINA HERRERA Y CARLA CASQUETI
CAPÍTULO 20: Bases de datos de objetos y relaciones de objetos
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
CAROLINA HERRERA Y CARLA CASQUETI
TICS 2
RESUMEN DEL LIBRO
CAPITULO 23
MARIA EGUEZ Y ROCIO SOTALIN
Introducción
a los temas
de seguridad
en las bases
de datos
Tipos de seguridad
Medidas de control
La seguridad en
bases de datos
y el OBA
Protección de accesos,
cuentas de usuario
y auditorías de
bases de datos
Aspectos legales y éticos
al derecho de acceso a
determinada información.
Información que no debe
estar disponible pública-
mente como la concesión
de créditos o informes
médicos personales.
Temas relativos al sistema,
una función de seguridad
debería ser manipulada
a nivel físico del hardware,
o nivel del sistema operativo.
Identificar niveles de
seguridad: alto secreto,
secreto, confidencial
y no clasificado.
Amenazas a las
bases de datos
Pérdida de integridad.
Pérdida de disponibilidad.
Pérdida de confidencialidad.
Mecanismos de
seguridad discrecionales.
Mecanismos de
seguridad obligatorios.
Control de accesos.
Control de inferencias.
Control de flujo.
Cifrado de datos.
Creación de cuentas.
Concesión de privilegios.
Retirada de privilegios.
Asignación del nivel de seguridad.
Cuenta de usuario
y una contraseña.
Iniciar sesión.
Registro de sucesos
del sistema.
Auditoría de la
base de datos.
Registro de auditoría.
Capítulo 23-Seguridad en las bases de datos
MARIA EGUEZ Y ROCIO SOTALIN
Control de acceso discrecional basado en la
concesión y revocación de privilegios
Especificación de privilegios
mediante vistas
Revocación de privilegios
Propagación de los privilegios
mediante GRANT OPTION
Especificación de los
límites a la propagación
de privilegios
Tipos de privilegios
discrecionales
• El nivel de cuenta.
• El nivel de relación (o tabla).
• Privilegio de selección (recuperación lectura)
sobre R.
• Privilegio de modificación sobre R.
• Privilegio de referencia de R.
El mecanismo de vistas es un importante
mecanismo de autorización discrecional por
sí mismo.
En algunos casos, es deseable conceder un
privilegio a un usuario de manera temporal.
Siempre que el propietario A de
una relación R concede un privilegio
a otra cuenta B, dicho privilegio se puede conceder a B
con o sin la opción GRANT OPTION. Si aparece esta
opción, significa que B también puede conceder ese
privilegio sobre R a otras cuentas.
Limitar la propagación horizontal un
número entero i significa que una cuenta
B a la que se ha dado la opción GRANT OPTION puede
conceder el privilegio a, como mucho, otras i cuentas. La
propagación vertical es más complicada; limita la profundidad de
la
concesión de los privilegios.
MARIA EGUEZ Y ROCIO SOTALIN
Control de acceso obligatorio y control
de acceso basado en roles para
la seguridad multinivel2
Comparación del
control de acceso
discrecional y el
control de acceso
obligatorio.
Control de accesos
basado en roles.Control de acceso XMl.
Políticas de
control de acceso
para el comercio
electrónico y la Web.
Las políticas de Control
de acceso discrecional (DAC)
se caracterizan por su
alto grado de flexibilidad
y por el contrario,
las políticas obligatorias
aseguran un alto grado
de protecció.
Gestión y el reforzamiento
de la seguridad en
sistemas empresariales
a gran escala.
Garantiza que sólo los
usuarios autorizados tienen
acceso a determinados
datos o recursos.
Cada sesión se
puede asignar a
muchos roles,
pero se corresponde
con un único
usuario o sujeto.
Firmas digitales y los estándares
de criptografíapara XML.
La especificación de sintaxis y
procesamiento de firmas en XML
describe una sintaxis XML para la
representación de las asociaciones
entre firmas criptográficas y documentos
XML u otros recursos electrónicos.
El control de acceso se realiza normalmente
mediante un conjunto de autorizaciones
definidas por los encargados de la seguridad.
El control de acceso basado en
contenidos permite expresar
políticas de control de acceso
que tomen en cuenta el contenido
del objeto a proteger.
Un tercer requisito está relacionado
con la heterogeneidad de los sujetos,
lo cual necesita de políticas de control
basadas en las características
del usuario y sus cualificaciones.
MARIA EGUEZ Y ROCIO SOTALIN
Introducción a la seguridad en bases de datos estadísticas
Las bases de datos estadísticas se utilizan principalmente para obtener estadísticas sobre
poblaciones diversas. La base de datos puede contener información confidencial sobre individuos que
debería ser protegida de su acceso por parte de los usuarios.
En algunos casos es posible deducir los valores de tuplas
individuales a partir de una secuencia de consultas
estadísticas.
Es responsabilidad de un sistema de gestión de bases de datos asegurar la
confidencialidad de la información relacionada con los individuos y, a la vez,
proporcionar a los usuarios resúmenes estadísticos de los datos acerca de esos
individuos.
La posibilidad de deducir información individual a partir de
consultas estadísticas se reduce si no se permiten las consultas estadísticas
siempre que el número de tuplas de la población especificada por
la condición de selección esté por debajo de determinado
nivel.
MARIA EGUEZ Y ROCIO SOTALIN
Introducción al control de flujo
El control de flujo regula la
distribución o flujo de información entre objetos
accesibles. Los controles de flujo comprueban que la
información contenida en algunos objetos no fluye
explícita o implícitamente hacia objetos
menos protegidos.
Canales ocultos
Un canal oculto permite que la información
pase desde un nivel de clasificación más alto
hacia un nivel de clasificación más bajo a través
de algún medio que no es el normal.
Canal de temporización la información se
transmite tras una temporización de
eventos
Canales de almacenamiento
no necesitan una sincronización temporal, ya
que la información
se transmite accediendo a
infonnación del sistema
MARIA EGUEZ Y ROCIO SOTALIN
23.6) Cifrados e infraestructura de clave
publica
 El cifrado es un medio de mntener la seguridad de los datos en un entorno no
seguro.
 Consiste de aplicar un logaritmo a los datos utilizando utulizando un clave de
cifrado predefinida
 Los datos resultantes tienen que ser decifrados mediante una clave de decifrado
para recuperar los datos originales.
MARIA EGUEZ Y ROCIO SOTALIN
23.6.1) los datos y estandares avanzados de
cifrado
 El algoritmo DES es una cuidadosa y compleja combinacion de dos de los bloques
fundamentales utilizados en la consruccion del cifrado: la sustitucion y la
permutacion
 el texto plano del mensaje se cifra en boques de 64 bits
 El instituo nacional de estandares introdujo al algoritmo AES, tiene un tamano de
bloque de 128 bits.
MARIA EGUEZ Y ROCIO SOTALIN
23.6.1) Cifrado con clave pública
MARIA EGUEZ Y ROCIO SOTALIN
MARIA EGUEZ Y ROCIO SOTALIN
Algoritmo RSA de cifrado con clave publica
 El esquema RSA ha sido desde entonces uno de los mas extendidos y uno de los
modelos de cifrado con clave publica mas implementados.
 RSA incorpora nociones de la teoria numerica combinadas con la dificultad de
otencion de los factores primos de un elemento.
 El algoritmo RSA tmbien trabaja con la aritmetica modular (mod Ƞ)
MARIA EGUEZ Y ROCIO SOTALIN
MARIA EGUEZ Y ROCIO SOTALIN
23.7) Mantenimiento de la privacidad
 Las tecnicas utilizadas mas habitualmente para tratar estos temas son evitar la
construccion de randes almacenes de datos centralizados en un unico repositorio
con toda la informacion importante
 Otra posible medida es la modificacion o la distorcion intencionada de los datos.
MARIA EGUEZ Y ROCIO SOTALIN
MARIA EGUEZ Y ROCIO SOTALIN
MARIA EGUEZ Y ROCIO SOTALIN
23.9) Resumen
 Tecnicas para reforzar la seguridad en base de datos
 Medidas de control: control de acceso,control de inferencias, control de flujo y
cifrado
 Comandos SQL para conceder y revocar privilegios
 Conceptos clave que subyacen al modelos relacional multinivel
 Cifrado de datos, clves publicas y firmas digitales.
MARIA EGUEZ Y ROCIO SOTALIN
Capítulo 24: Modelos de datos mejorados para
aplicaciones avanzadas
Las bases de datos orientadas a objetos y los sistemas objeto-relacional
proporcionan características que permiten a los usuarios extender sus sistemas
especificando tipos de datos abstractos adicionales para cada aplicación, es
necesario crear modelos que puedan representarlas.
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Modelo generalizado para las bases de datos
activas y los triggers de Oracle
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
Estefanía Obando y Jessica Zhicay
CAPÍTULO 25: BASES DE DATOS DISTRIBUIDAS Y ARQUITECTURAS CLIENTE-SERVIDOR
En este capítulo vamos a centrar nuestra atención
en:
- Los DDBS (Sistema de bases de datos
distribuidas)
- Los DDBMS (Sistemas de administración de
bases de datos distribuidas),y en cómo se usa la
arquitectura cliente-servidor como plataforma para
el desarrollo de aplicaciones de bases de datos.
La tecnología DDB emergió gracias a la unión de otras dos
tecnologías:
- Base de datos; y
- comunicación de datos y de redes.
Lo más reciente son los enormes avances dados en el área de las
tecnologías alámbricas e inalámbricas (desde las comunicaciones por
satélite y celulares hasta las MAN [Redes de área metropolitana], la
estandarización de protocolos como Ethernet, TCP/IP y ATM [Modo de
transferencia asíncrono], así como la explosión de Internet). Mientras
en los 70 y principios de los 80 las bases de datos se movían hacia la
centralización produciendo unas monolíticas y gigantescas
estructuras, la tendencia a finales de esa década era la contraria: más
descentralización y autonomía de procesamiento.
Con los avances en la computación desarrolló muchos prototipos. Sin
embargo lun DDBMS totalmente operativo que incluyera la
funcionalidad y técnicas propuestas por la investigación DDB nunca
emergió como un producto comercialmente viable. La mayoría de
fabricantes no centró sus esfuerzos en el desarrollo de un producto
DDBMS puro, sino en la generación de sistemas basados en cliente-
servidor, o a traves de tecnologías para el acceso a fuentes de datos
distribuidos de manera heterogénea.
LARA ELIZABETH Y LARA TATIANA
CONCEPTOS DE BASES DE DATOS DISTRIBUIDAS
Tecnología paralela frente a distribuida
existen dos tipos fundamentales de
arquitecturas de sistema multiprocesador:
Las bases de datos distribuidas aportan las ventajas del
procesamiento distribuido al dominio de la administración
de una base de datos. Un sistema de computación
distribuido consiste en un número de elementos de
procesamiento, no necesariamente homogéneos, que
están interconectados mediante una red de
computadores, y que cooperan para la realización de
ciertas tareas asignadas.
Podemos definir una DDB (Base de datos distribuida)
como una colección de múltiples bases de datos
distribuidas interrelacionadas de forma lógica sobre una
red de computadores, y un DDBMS (Sistema de
administración de bases de datos distribuidas, Distributed
DataBase Management System) como el software
encargado de administrar la base de datos distribuida
mientras hace la distribución.
Arquitectura de memoria compartida
(estrechamente acoplada o tightly
coupled). Varios procesadores
comparten el almacenamiento
secundario (disco) y la memoria
primaria
Arquitectura de disco compartido
(débilmente acoplada o loosely coupled).
Varios procesadores
comparten el almacenamiento secundario
(disco), pero cada uno de ellos tiene su
propia memoria primaria.
LARA ELIZABETH Y LARA TATIANA
VENTAJAS DE LAS BASES DE
DATOS DISTRIBUIDAS
La administración de bases de
datos distribuidas ha sido propuesta
por varias razones que van desde la
centralización organizativa y el
procesamiento económico a una
mayor autonomía. Vamos a ver
ahora algunas de estas ventajas.
4. Expansión más sencilla.
La expansión del sistema en términos de incorporación de
más datos, incremento del tamaño de las bases de datos
o la adición de más procesadores es mucho más sencilla.
2. Incremento de la fiabilidad y la disponibilidad. La
fiabilidad está definida ampliamente como la
probabilidad de que un sistema está funcionando. La
disponibilidad es la probabilidad de que el sistema está
continuamente disponible durante un intervalo de
tiempo.
1. Administración de datos distribuidos con distintos niveles de
transparencia.
Transparencia de red o de distribución.
Transparencia de replicación.
Transparencia de fragmentación.
La transparencia de diseño y de ejecución
3. Rendimiento mejorado.
Un DBMS distribuido fragmenta la base de datos
manteniendo lo más cerca posible del punto donde es
más necesaria.
LARA ELIZABETH Y LARA TATIANA
LA TRANSPARENCIA DE DISEÑO Y DE EJECUCIÓN
Algunos tipos de arquitecturas de base de datos.
(a) Arquitectura "nada compartido".
(b)Arquitectura en red con una base de datos centralizada en una de sus ubicaciones.
(c)Arquitectura de base de datos distribuida auténtica.
DISTRIBUCION DE DATOS Y REPLICACIÓN
ENTRE BASES DE DATOS DISTRIBUIDAS.
LARA ELIZABETH Y LARA TATIANA
* Seguimiento de los datos. La capacidad de controlar la distribución de los datos, la fragmentación y la replicación
expandiendo el catálogo DDBMS.
* Procesamiento de consultas distribuidas. La posibilidad de acceder a sitios remotos y de transmitir consultas y
datos a lo largo de todos esos sitios mediante una red de comunicación.
* Administración de transacciones distribuidas. La facultad de diseñar estrategias de ejecución de consultas y
transacciones que accedan a los datos desde más de una ubicación y de sincronizar el acceso a los datos distribuidos
y de mantener la integridad de toda la base de datos.
* Administración de datos replicados. La capacidad de decidir a qué copia de un dato acceder y de mantener la
consistencia de las copias de un elemento de datos replicado.
FUNCIONES ADICIONALES DE LAS BASES DE DATOS DISTRIBUIDAS
LARA ELIZABETH Y LARA TATIANA
* Recuperación de una base de datos distribuida. La facultad de recuperarse de las caídas de una localización individual u
otro tipo de fallos, como los fallos en los enlaces de comunicación.
* Seguridad. Las transacciones distribuidas deben ejecutarse con una adecuada administración de la seguridad de los datos y
contando con los privilegios de autorización/acceso de los usuarios.
* Administración del directorio (catálogo) distribuido. Un directorio contiene información (metadatos) sobre los datos de la base
de datos. Puede ser global a toda la DDB, o local para cada sitio. La colocación y distribución del directorio son temas
relacionados con el diseño y las políticas.
Estas funciones en sí mismas aumentan la complejidad de un DDBMS en relación a un DBMS centralizado
LARA ELIZABETH Y LARA TATIANA
.
Fragmentación horizontal
Fragmentación de datos Fragmentación Vertical.
Fragmentación mixta (híbrida).
Ubicación de fragmentos en los sitios. (a) Relación de fragmentos del sitio 2 correspondiente al
departamento 5. (b) Relación de fragmentos del sitio 3 correspondiente. al departamento 4.
TÉCNICAS DE FRAGMENTACIÓN,
REPLICACIÓN Y ASIGNACIÓN DE DATOS PARA
EL DISEÑO DE BASES DE DATOS DISTRIBUIDAS
REPLICACIÓN Y UBICACIÓN DE LOS DATOS
EJEMPLO DE FRAGMENTACIÓN, UBICACIÓN Y
REPLICACIÓN
LARA ELIZABETH Y LARA TATIANA
TIPOS DE SISTEMAS DE BASES
DE DATOS DISTRIBUIDAS
PROCESAMIENTO DE CONSULTAS EN BASES DE DATOS
DISTRIBUIDAS
EL CONTROL DE LA CONCURRENCIA Y LA
RECUPERACIÓN EN BASES DE DATOS DISTRIBUIDAS
UNA APROXIMACIÓN A LA ARQUITECTURA CLIENTE-SERVIDOR
DE TRES NIVELES
BASES DE DATOS DISTRIBUIDAS EN ORACLE7
Lo que todos estos sistemas tienen en común es el hecho de que tanto los datos como el software están
distribuidos a lo largo de distintas localizaciones que están conectadas por algún tipo de red de
comunicaciones.
Son muchos los problemas que aparecen en un DBMS distribuido que no se dan en un entorno centralizado;
entre ellos: Tratar con múltiples copias de los datos. Fallo de los sitios individuales. Fallo de los enlaces de
comunicación. Confirmación distribuida. Estancamiento distribuido.
La base de datos Oracle está dividida en dos partes: unfront end (frontal)
como parte cliente y un back end como parte servidor. Oracle soporta enlaces que defienen una ruta de comunicación
en un único sentido desde una base de datos Oracle a otra.
LARA ELIZABETH Y LARA TATIANA
CAPÍTULO 26: PROGRAMACIÓN DE UNA BASE DE DATOS WEB USANDO PHP
TECNOLOGÍAS EMERGENTES
El método más corriente de especificar los contenidos y formatear este tipo de páginas es mediante los
documentos de hipertexto.
HTML
(Lenguaje de marcado de
hipertexto, HyperText
Markup Language).
XML
(Lenguaje de marcado
extensible, eXtensible
Markup Language)
XSL
(Lenguaje de
hojas de estilo extensible)
LARA ELIZABETH Y LARA TATIANA
DATOS ESTRUCTURADOS, SEMIESTRUCTURADOS Y NO ESTRUCTURADOS
La información contenida en una base de datos se dice que es estructurada porque está representada de una forma estricta.
Por ejemplo, cada registro de una tabla de una base de datos relacional .
LARA ELIZABETH Y LARA TATIANA
VISIÓN GENERAL DE LAS CARACTERÍSTICAS BÁSICAS DE PHP
VARIABLES, TIPOS DE DATOS Y ESTRUCTURAS DE
PROGRAMACIÓN DE PHP
Los nombres de variable de PHP empiezan con el símbolo $ y pueden incluir caracteres letras y el carácter de subrayado U. No
están permitidos otros caracteres especiales. Los nombres de variable hacen distinción entre mayúsculas y minúsculas, y el
primer carácter no puede ser un número. Las variables no tienen tipo; su tipo queda determinado por los valores que se les
asignan. De hecho, la misma variable puede cambiar de tipo en cuanto se le asigna un nuevo valor. La asignación se realiza
mediante el operador =
Como PHP está orientado al procesamiento de texto, dispone de diferentes tipos de valores de cadena.
1. Cadenas con comillas simples. 2. Cadenas con comillas dobles.
3. Documentos "here" (o
documentos aquí).
4. Comillas simples y dobles.
LARA ELIZABETH Y LARA TATIANA
VISIÓN GENERAL DE LA PROGRAMACIÓN DE BASES DE DATOS PHP
Los Arrays son muy importantes en PHP, ya que permiten listas de elementos. Se utilizan con frecuencia en los formularios
que emplean menús desplegables. Un array unidimensional se utiliza para almacenar la lista de opciones de un menú
desplegable. Hay dos tipos de arrays.
2.- Array
asociativo.
.
1.- Array
numérico
.
LARA ELIZABETH Y LARA TATIANA
Hay varias técnicas para acceder a las bases de datos con un lenguaje de programación, cómo acceder a una base de datos SQL
utilizando los lenguajes de programación C y Java.
En particular, explicamos SQL incrustado, JDBC, SQLlCLI (parecido a ODBC) y SQLJ.
cómo acceder a la base de datos utilizando el lenguaje de scripting PHP, que resulta muy adecuado para crear interfaces web para
buscar en las bases de datos y actualizarlas, así como páginas web dinámicas.
LARA ELIZABETH Y LARA TATIANA
CONEXIÓN A UNA BASE DE DATOS
LARA ELIZABETH Y LARA TATIANA
Damaris Vergara Y Maricela Catota
CAPÍTULO 27: XNL (Lenguaje de Marcado Extensible)
Modelo dedatosjerárquico
(árbol) deXML
Tipos de
elementos
Construccióndeun
documentoXML
Elementos complejos
Construidos jerárquicamente apartir de otros elementos
Elementos simples
Contienenvalores de datos.
Elementos
Atributos
Tipos principales
de documentos XML:
Documentos XMLcentrados enlos datos.
Documentos XMLcentrados eneldocumento.
Documentos XMLhíbridos.
Damaris Vergara Y Maricela Catota
Damaris Vergara Y Maricela Catota
Damaris Vergara Y Maricela Catota
Damaris Vergara Y Maricela Catota
Damaris Vergara Y Maricela Catota
Definición de minería de datos
 Minería de datos es la exploración y análisis de grandes cantidades de datos con
el objeto de encontrar patrones y reglas significativas (conocimiento)
Damaris Vergara Y Maricela Catota
CAPÍTULO 28: Conceptos de minería de datos
Datos y Modelos => Conocimiento
Los datos se obtienen de:
 Bases de datos (relacionales,
espaciales, temporales,
documentales, multimedia, etc)
 World Wide Web
 Modelos descriptivos: identifican patrones que
explican o resumen los datos
 Reglas de asociación: expresan patrones de
comportamiento en los datos
 Clustering: agrupación de casos homogéneos
 Modelos predictivos: estiman valores de variables
de interés (a predecir) a partir de valores de otras
variables (predictoras)
 Regresión: Variable a predecir continua
 Clasificación supervisada: Variable a predecir
discreta
Damaris Vergara Y Maricela Catota
Tipos de conocimientos adquirido durante
la minería de datos
 Clasificación
 Secuenciales
 Pronóstico
 Asociación
 Agrupamiento
Damaris Vergara Y Maricela Catota
La minería de datos es un campo
multidisciplinario
Minería de datos
Inteligencia
Artificial
(“Machine
Learning”)
Estadística
Bases de
Datos
(VLDB)
Graficación y
visualización
Ciencias de
la información
Otras
disciplinas
Damaris Vergara Y Maricela Catota
¿Por qué de la minería de datos?
 Datos se encuentran disponibles
 Poder computacional es cada vez menos costoso
 Las presiones competitivas son enormes
 Software para minería de datos se encuentra disponible
Damaris Vergara Y Maricela Catota
Principales técnicas de minería de datos
 Análisis de canasta de supermercado
 K vecinos más cercanos
 Detección de grupos
 Análisis de encadenamiento
 Árboles de decisión
 Redes neuronales artificiales
 Algoritmos genéticos
Damaris Vergara Y Maricela Catota
CAPÍTULO 29: Visión general del almacenamiento de datos y OLAP
Mónica Erazo y Andrea Sampértegui
Mónica Erazo
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui
 En este capítulo dirigimos nuestra atención a dos tipos de desarrollos en continua evolución en el área
de las bases de datos:
 Las tecnologías emergentes de bases de datos: tiene que ver con la creación de nuevas
funcionalidades en los DBMS para poder trabajar con diferentes tipos de nuevas aplicaciones,
entre las que se incluyen las bases de datos móviles que permiten a los usuarios el acceso
universal y flexible a los datos desde cualquier lugar y desde cualquier equipo, y las bases de
datos multimedia que proporcionan la posibilidad de almacenamiento y procesamiento de
información multimedia .
 Principales campos de aplicación: los dominios de aplicación que se han basado
tradicionalmente en el procesamiento manual de los sistemas de archivos, también llamados
soluciones con sistemas a medida.
CAPÍTULO 30:TECNOLOGÍAS Y APLICACIONES EMERGENTES DE
BASE DE DATOS
Mónica Erazo y Andrea Sampértegui
 Los recientes avances en la tecnología móvil e inalámbrica han conducido a la computación móvil, una
nueva dimensión en la comunicación y el procesamiento de los datos.
 Sin embargo, existen varios problemas en el hardware y en el software que deben ser resueltos antes
de que se puedan utilizar en su totalidad las posibilidades de la computación móvil.
 En la computación móvil, sin embargo, estos problemas resultan más complicados, principalmente
debido a que la conectividad en las comunicaciones inalámbricas es a veces limitada e intermitente, a
que la duración de la batería es limitada en las unidades móviles y a la topología cambiante de la red.
BASES DE DATOS MÓVILES
Mónica Erazo y Andrea Sampértegui
 Plataforma móvil basada en infraestructura. La arquitectura general de una
plataforma móvil se muestra en la Figura 30.1.
 Se trata de una arquitectura distribuida en la que varios computadores, a los que
se les denomina generalmente Host fijo (FS) y Estación base (BS), se
interconectan a través de una red de cable de alta velocidad.
 Los hosts fijos son, por lo general, computadores dedicados que no están
equipados normalmente para la gestión de unidades móviles pero que pueden ser
configurados para ello.
ARQUITECTURA DE LA COMPUTACIÓN
MÓVIL
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui
 Plataforma móvil no basada en infraestructura. La arquitectura de comunicaciones que acabamos de
describir está diseñada para dar al cliente la impresión de que se encuentra conectado a una red fija,
emulando la arquitectura cliente/servidor tradicional.
 Además de lo anterior, las comunicaciones inalámbricas posibilitan otros tipos de arquitecturas. Una
de ellas es una plataforma móvil sin infraestructura, también llamada red móvil ad hoc (MANET) y que
se muestra en la Figura 30.2.
 En una MANET, las unidades móviles que pertenecen a ella no necesitan comunicarse a través de una
red fija, sino que forman una propia entre ellas utilizando tecnologías de bajo coste como Bluetooth.
 Según esto, las aplicaciones MANET añaden un nivel adicional de complejidad a los temas
relacionados con la computación móvil y la gestión de datos en entornos móviles.
Mónica Erazo y Andrea Sampértegui
 Las principales características de las aplicaciones MANET son las siguientes:
• Desconexiones frecuentes. No es posible suponer que todos los dispositivos móviles se
encuentren siempre conectados en el desarrollo de aplicaciones cooperativas. Es necesario tratar con
las desconexiones frecuentes, a veces intencionadas, de las unidades móviles.
• Particionado frecuente de la red. Las desconexiones frecuentes y el cambio de posición de los
dispositivos móviles pueden provocar frecuentes particionados de la red. El particionado de la red es
un serio problema a tener en cuenta durante el desarrollo de aplicaciones MANET.
• Control centralizado dificultoso. A veces, un servidor central en una MANET no resulta útil o no es
posible. Por ejemplo, un servidor central en el caso de particionado de la red inutilizará los dispositivos
en todas las particiones excepto en una.
• Heterogeneidad de los nodos. Obviamente, existe heterogeneidad entre los nodos en el hardware
y el software, incluidos los sistemas operativos, lenguajes y bases de datos disponibles en cada
plataforma. Aparte de esto, los nodos son heterogéneos en cuanto a capacidades de computación
como CPU y almacenamiento, ancho de banda y capacidad de batería. Es esencial realizar un
balanceo de cargas en función de sus capacidades.
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui
 Las características de la computación en entornos móviles podemos incluir la alta latencia de
comunicaciones, la conectividad inalámbrica intermitente, la duración limitada de las baterías y, por
supuesto, el cambio en la ubicación de los clientes.
 La latencia está motivada por los procesos inherentes al medio inalámbrico, como la codificación de
los datos para su transmisión inalámbrica, y la sintonización y el filtrado de las señales inalámbricas en
el receptor. La duración de las baterías está directamente relacionada con su tamaño, e
indirectamente relacionada con las capacidades del dispositivo móvil y su rendimiento global.
 Las desconexiones no intencionadas suceden en áreas no cubiertas por la señal inalámbrica, por
ejemplo en ascensores o en túneles. Las desconexiones intencionadas se producen por deseo del
usuario, por ejemplo durante el despegue de un avión o cuando se apaga un dispositivo móvil.
CARACTERÍSTICAS DE LOS
ENTORNOS MÓVILES
Mónica Erazo y Andrea Sampértegui
 Toda la base de datos se encuentra distribuida principalmente entre los componentes cableados, quizá
con replicación total o parcial. Una estación base o un host fijo gestiona su propia base de datos
mediante una funcionalidad de tipo DBMS, con funcionalidad adicional para la localización de
unidades móviles y con funciones adicionales de consulta y tratamiento de transacciones que cumplan
los requisitos de los entornos móviles.
 La base de datos está distribuida entre los componentes cableados e inalámbricos. La responsabilidad
de la gestión de los datos se reparte entre las estaciones base o entre los hosts fijos y las unidades
móviles.
GESTIÓN DE DATOS
Mónica Erazo y Andrea Sampértegui
 En los próximos años se espera que los sistemas de información multimedia dominen nuestra
actividad diaria. Nuestras casas estarán cableadas para permitir grandes anchos de banda que
permitan interactuar con aplicaciones multimedia interactivas. Nuestras televisiones de alta definición o
nuestras estaciones de trabajo tendrán acceso a un gran número de bases de datos, incluyendo
librerías digitales, que distribuirán inmensas cantidades de contenido multimedia de diferentes fuentes.
BASE DE DATOS MULTIMEDIA
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui
 GIS puede verse también como un área interdisciplinaria que incorpora muchos campos de estudio
diferentes, como la Geodesia (proyecciones, vigilancia, cartografía, etc.), la Sensación Remota, la
Fotogravimetría, la Ciencia Medioambiental, la Planificación de ciudades, la Ciencia Cognitiva y otras.
 Como resultado, GIS se basa en los avances realizados en campos como la informática, las bases de
datos, la estadística y la inteligencia artificial.
 Pero en ésta nuestro interés irá encaminado a describir los desafíos planteados por GIS como uno de
los dominios de aplicación emergentes para la tecnología de bases de datos.
SISTEMAS DE INFORMACIÓN
GEOGRÁFICA
Mónica Erazo y Andrea Sampértegui
 Hardware y software. El hardware está relacionado con los dispositivos utilizados por los usuarios
finales, como los dispositivos gráficos o los plotters y los escáneres. La manipulación y el
almacenamiento de los datos se consigue utilizando varios procesadores.
 Datos. Los datos geográficos pueden dividirse en dos grupos principales: vectores y rasterizaciones.
Las capas vectoriales en GIS se refieren a objetos discretos representados por puntos, líneas y
polígonos. Las líneas están formadas por la conexión de uno o más puntos, mientras que los
polígonos son conjuntos cerrados de líneas. Las capas representan geometrías que comparten un
conjunto de atributos.
 Personas. Las personas están implicadas en todas las fases del desarrollo de un sistema GIS y en la
recopilación de los datos. Entre ellos se incluyen los cartógrafos y estudiosos que crean los mapas y
http://libreria-universitaria.blogspot.com m Capítulo 30 Tecnologías y aplicaciones emergentes de
bases de datos estudian el terreno, y los usuarios del sistema que recopilan los datos, los cargan en
él, lo manipulan y analizan los resultados.
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui
Mónica Erazo y Andrea Sampértegui

Más contenido relacionado

La actualidad más candente

Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQLRonald Rivas
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacionalLuis Jherry
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos SemanticasErik Guerrero
 
2 database system concepts and architecture
2 database system concepts and architecture2 database system concepts and architecture
2 database system concepts and architectureKumar
 
Nested Queries Lecture
Nested Queries LectureNested Queries Lecture
Nested Queries LectureFelipe Costa
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspBoris Salleg
 
Definiciones base de datos
Definiciones base de datosDefiniciones base de datos
Definiciones base de datosCamilo Tellez
 
Advanced SQL
Advanced SQLAdvanced SQL
Advanced SQLSabiha M
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacionjosebunbury
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionlongojose
 
Base de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datosBase de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datosAlejandro Rodriguez
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalizaciónMarcelo Herrera
 
Optimization SQL Server for Dynamics AX 2012 R3
Optimization SQL Server for Dynamics AX 2012 R3Optimization SQL Server for Dynamics AX 2012 R3
Optimization SQL Server for Dynamics AX 2012 R3Juan Fabian
 

La actualidad más candente (20)

Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQL
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos Semanticas
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Funciones del DBA, SA Y DA
Funciones del DBA, SA Y DAFunciones del DBA, SA Y DA
Funciones del DBA, SA Y DA
 
2 database system concepts and architecture
2 database system concepts and architecture2 database system concepts and architecture
2 database system concepts and architecture
 
Nested Queries Lecture
Nested Queries LectureNested Queries Lecture
Nested Queries Lecture
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
DbMs
DbMsDbMs
DbMs
 
Ibm db2
Ibm db2Ibm db2
Ibm db2
 
Definiciones base de datos
Definiciones base de datosDefiniciones base de datos
Definiciones base de datos
 
Advanced SQL
Advanced SQLAdvanced SQL
Advanced SQL
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
 
diseno de base de datos relacionados
diseno de base de datos relacionadosdiseno de base de datos relacionados
diseno de base de datos relacionados
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Ejemplo de aplicación cliente-servidor en C#
Ejemplo de aplicación cliente-servidor  en C#Ejemplo de aplicación cliente-servidor  en C#
Ejemplo de aplicación cliente-servidor en C#
 
Base de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datosBase de datos y sistemas de gestion de datos
Base de datos y sistemas de gestion de datos
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalización
 
Optimization SQL Server for Dynamics AX 2012 R3
Optimization SQL Server for Dynamics AX 2012 R3Optimization SQL Server for Dynamics AX 2012 R3
Optimization SQL Server for Dynamics AX 2012 R3
 

Destacado

Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)Karina Lucio
 
Concepto erp
Concepto erpConcepto erp
Concepto erprcheo22
 
Administración de base de datos oracle - sesion 12
Administración de base de datos oracle -  sesion 12Administración de base de datos oracle -  sesion 12
Administración de base de datos oracle - sesion 12Sefira111
 
Oracle Database 12c: Privilegios, Usuarios y Roles
Oracle Database 12c: Privilegios, Usuarios y RolesOracle Database 12c: Privilegios, Usuarios y Roles
Oracle Database 12c: Privilegios, Usuarios y RolesDeiby Gómez
 
Diseño de salida de un Sistema
Diseño de salida de un SistemaDiseño de salida de un Sistema
Diseño de salida de un Sistemadianasjfp
 
Sentencia SQL INSERT
Sentencia SQL INSERTSentencia SQL INSERT
Sentencia SQL INSERTEmerson Garay
 
Seguridad Oracle 11g R2
Seguridad Oracle 11g R2Seguridad Oracle 11g R2
Seguridad Oracle 11g R2Carmen Soler
 
Guía crear reportes con ireport 5.6
Guía crear reportes con ireport 5.6Guía crear reportes con ireport 5.6
Guía crear reportes con ireport 5.6Emerson Garay
 
Conexion mysql con java usando netbeans
Conexion mysql con java usando netbeansConexion mysql con java usando netbeans
Conexion mysql con java usando netbeansEmerson Garay
 
DISEÑO DE BASES DE DATOS DISTRIBUIDAS
DISEÑO DE BASES DE DATOS DISTRIBUIDASDISEÑO DE BASES DE DATOS DISTRIBUIDAS
DISEÑO DE BASES DE DATOS DISTRIBUIDASNatalia Ludeña
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansEmerson Garay
 
Unidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos DistribuidasUnidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos DistribuidasDeysi Hdz
 

Destacado (20)

Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
Fundamentos de Sistemas de Base de Datos (Capítulo 7 y 8)
 
Que es Accesss
Que es AccesssQue es Accesss
Que es Accesss
 
Concepto erp
Concepto erpConcepto erp
Concepto erp
 
Sql4
Sql4Sql4
Sql4
 
Seguridad de datos teoría
Seguridad de datos   teoríaSeguridad de datos   teoría
Seguridad de datos teoría
 
Oracle
OracleOracle
Oracle
 
Administración de base de datos oracle - sesion 12
Administración de base de datos oracle -  sesion 12Administración de base de datos oracle -  sesion 12
Administración de base de datos oracle - sesion 12
 
Fundamentos de bases de datos
Fundamentos de bases de datosFundamentos de bases de datos
Fundamentos de bases de datos
 
Oracle Database 12c: Privilegios, Usuarios y Roles
Oracle Database 12c: Privilegios, Usuarios y RolesOracle Database 12c: Privilegios, Usuarios y Roles
Oracle Database 12c: Privilegios, Usuarios y Roles
 
Tema9
Tema9Tema9
Tema9
 
Diseño de salida de un Sistema
Diseño de salida de un SistemaDiseño de salida de un Sistema
Diseño de salida de un Sistema
 
Sentencia SQL INSERT
Sentencia SQL INSERTSentencia SQL INSERT
Sentencia SQL INSERT
 
Seguridad Oracle 11g R2
Seguridad Oracle 11g R2Seguridad Oracle 11g R2
Seguridad Oracle 11g R2
 
Guía crear reportes con ireport 5.6
Guía crear reportes con ireport 5.6Guía crear reportes con ireport 5.6
Guía crear reportes con ireport 5.6
 
Seguridad sql server
Seguridad sql serverSeguridad sql server
Seguridad sql server
 
Conexion mysql con java usando netbeans
Conexion mysql con java usando netbeansConexion mysql con java usando netbeans
Conexion mysql con java usando netbeans
 
DISEÑO DE BASES DE DATOS DISTRIBUIDAS
DISEÑO DE BASES DE DATOS DISTRIBUIDASDISEÑO DE BASES DE DATOS DISTRIBUIDAS
DISEÑO DE BASES DE DATOS DISTRIBUIDAS
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
 
Unidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos DistribuidasUnidad1 Bases De Datos Distribuidas
Unidad1 Bases De Datos Distribuidas
 
BASE DE DATOS DISTRIBUIDAS
BASE DE DATOS DISTRIBUIDASBASE DE DATOS DISTRIBUIDAS
BASE DE DATOS DISTRIBUIDAS
 

Similar a Resumen fundamentos de sistemas de bases de datos

13 Guía_Fundamentos de Base de Datos.docx
13 Guía_Fundamentos de Base de Datos.docx13 Guía_Fundamentos de Base de Datos.docx
13 Guía_Fundamentos de Base de Datos.docxLeydyVeronicaDelgado
 
13 Guía_Fundamentos de Base de Datos (1).docx
13 Guía_Fundamentos de Base de Datos (1).docx13 Guía_Fundamentos de Base de Datos (1).docx
13 Guía_Fundamentos de Base de Datos (1).docxLeydyVeronicaDelgado
 
Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)
Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)
Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)Karina Lucio
 
Linq to sql 6
Linq to sql 6Linq to sql 6
Linq to sql 6jcfarit
 
58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasico58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasicoLucia Zambrano Franco
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desdejbersosa
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gioRobert Wolf
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddlyehisam
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddlyehisam
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosAndreitap de Granda
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gioRobert Wolf
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddlusamn
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datosPatricia Reyna
 

Similar a Resumen fundamentos de sistemas de bases de datos (20)

13 Guía_Fundamentos de Base de Datos.docx
13 Guía_Fundamentos de Base de Datos.docx13 Guía_Fundamentos de Base de Datos.docx
13 Guía_Fundamentos de Base de Datos.docx
 
13 Guía_Fundamentos de Base de Datos (1).docx
13 Guía_Fundamentos de Base de Datos (1).docx13 Guía_Fundamentos de Base de Datos (1).docx
13 Guía_Fundamentos de Base de Datos (1).docx
 
Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)
Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)
Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)
 
Linq to sql 6
Linq to sql 6Linq to sql 6
Linq to sql 6
 
Seguridad En Programación
Seguridad En ProgramaciónSeguridad En Programación
Seguridad En Programación
 
58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasico58517228 postgre sql-desarrolladoresbasico
58517228 postgre sql-desarrolladoresbasico
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Connection
ConnectionConnection
Connection
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 

Último

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 

Último (20)

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 

Resumen fundamentos de sistemas de bases de datos

  • 1. Resumen: Fundamentos de Sistemas de de Bases de Datos Aula 40
  • 2. VERÓNICA VALENCIA Y ANDRÉS MORENO • INTRODUCCION CAPÍTULO 1: Bases de datos y usuarios de bases de datos
  • 3. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 5. CARACTRISTICAS BASES DE DATOS VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 7. VERÓNICA VALENCIA Y ANDRÉS MORENO EJEMPLIFICACION No/a: TipoEspecialidad se define como un tipo enumerado con todas las especialidades conocidas. XXXXNNNN se utiliza para definir un tipo con cuatro caracteres alfanuméricos seguidos por cuatro dígitos.
  • 8. Evelyn JamiVERÓNICA VALENCIA Y ANDRÉS MORENO
  • 9. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 10. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 11. Evelyn Jami VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 12. Evelyn Jami VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 13. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 14. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 15. Evelyn Jami VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 16. VERÓNICA VALENCIA Y ANDRÉS MORENO CAPÍTULO 2: Conceptos y arquitectura de los sistemas de bases de datos
  • 17. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 18. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 19. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 20. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 21. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 22. VERÓNICA VALENCIA Y ANDRÉS MORENO
  • 23. CAPÍTULO 3: Modelado de datos con el modelo Entidad-Relación (ER) María Rosario y Alexander Chasi
  • 24. María Rosario y Alexander Chasi
  • 25. María Rosario y Alexander Chasi
  • 26. María Rosario y Alexander Chasi
  • 27. María Rosario y Alexander Chasi
  • 28. María Rosario y Alexander Chasi
  • 29. María Rosario y Alexander Chasi
  • 30. María Rosario y Alexander Chasi
  • 31. María Rosario y Alexander Chasi CAPÍTULO 4: El modelo Entidad-Relación mejorado (EER)
  • 32. María Rosario y Alexander Chasi
  • 33. María Rosario y Alexander Chasi
  • 34. María Rosario y Alexander Chasi
  • 35. María Rosario y Alexander Chasi
  • 36. María Rosario y Alexander Chasi
  • 37. María Rosario y Alexander Chasi
  • 38. CAPÍTULO 5: El modelo de datos relacional y las restricciones de una base de datos relacional KARLA LARA Y ANDREI IZA
  • 39. KARLA LARA Y ANDREI IZA
  • 40. KARLA LARA Y ANDREI IZA
  • 41. KARLA LARA Y ANDREI IZA
  • 42. KARLA LARA Y ANDREI IZA
  • 43. KARLA LARA Y ANDREI IZA
  • 44. KARLA LARA Y ANDREI IZA CAPÍTULO 6: El álgebra relacional y los cálculos relacionales
  • 45. KARLA LARA Y ANDREI IZA
  • 46. KARLA LARA Y ANDREI IZA
  • 47. KARLA LARA Y ANDREI IZA
  • 48. KARLA LARA Y ANDREI IZA
  • 49. KARLA LARA Y ANDREI IZA
  • 50. DISEÑO DE UNA BASE DE DATOS RELACIONAL UTILIZANDO EL MAPEADO ER-a-RELACIONAL CAPÍTULO 7: Diseño de bases de datos relacionales por mapeado ER- y EER-a-relacional CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 51. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 52. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 53. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 54. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 55. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 56. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 57. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 58. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 59. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 60. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 61. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 62. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 63. CAROLINA ARTEAGA Y MELI CATUCUAMBA
  • 64. Metodologías de programación de bases de datos Incrustación de comandos de bases de datos en un lenguaje de programación de propósito general. Uso de una biblioteca de funciones de bases de datos Diseño de un lenguaje completamente nuevo En el lenguaje de programación hast se dispone de una biblioteca de funciones para las llamadas a la base de datos. Por ejemplo, puede haber funciones para conectar con una base de datos, ejecutar una consulta, ejecutar una actualización, etcétera. Las sentencias de base de datos se incrustan en el lenguaje de programación host, identificándolas con un prefijo especial. Por ejemplo, el prefijo para SQL incrustado es la cadena EXEC SQL. Desde el principio para que sea compatible con el modelo de base de datos y el lenguaje de consulta. Capítulo 9: TÉCNICAS DE PROGRAMACIÓN DE SQL La mayoría de los sistemas de bases de datos tienen una interfaz interactiva donde se pueden escribir directamente estos comandos SQL para entrar en el sistema de bases de datos. Por ejemplo, en un computador que tenga instalado Oracle RDBMS, el comando SQLPLUS inicia la interfaz interactiva. ALEJANDRA SARANGO
  • 65. Al escribir un programa de este tipo, una secuencia de interacción puede ser la siguiente: SECUENCIA TÍPICA DE INTERACCIÓN EN LA PROGRAMACIÓN DE BASES DE DATOS Cuando el programa cliente requiere acceso a una base de datos particular, el programa primero debe establecer o abrir una conexión con el servidor de bases de datos. Normalmente, esto implica especificar la dirección de Internet (URL) Una vez establecida la conexión, el programa puede interactuar con la base de datos emitiendo consultas,actualizaciones y otros comandos de bases de datos. Cuando el programa ya no necesita acceso a una base de datos en particular, debe terminar o cerrar la conexión con la base de datos. Recuperación de tuplas sencillas con SQL incrustado • Para ilustrar los conceptos de SQL incrustado, utilizaremos e como lenguaje de programación host.4 Dentro de un comando de SQL incrustado, nos podemos referir a las variables del programa e especialmente declaradas. Son las denominadas variables compartidas, porque se utilizan en el programa e y en las sentencias SQL incrustadas. Las variables van prefijadas con dos puntos (:) cuando aparecen en una sentencia SQL. De este modo, se distinguen los nombres de las variables del programa de los nombres de las estructuras de esquema de la base de datos, como los atributos y las relaciones. • Los nombres de las estructuras del esquema de la base de datos (como los atributos y las relaciones) sólo se pueden utilizar en los comandos SQL, pero las variables del programa compartidas se pueden utilizar en cualquier parte del programa e sin el prefijo de los dos puntos (:). ALEJANDRA SARANGO
  • 66. Recuperación de varias tuplas con SQL incrustado y utilizando cursores Podemos pensar en un cursor como en un puntero que apunta a una sola tupla (fila) del resultado de una consulta que recupera varias tuplas. El cursor se declara cuando se declara el comando de consulta SQL en el programa. Más tarde en el programa, un comando OPEN CURSOR toma el resultado de la consulta de la base de datos y establece el cursor a una posición anterior a la primera fila de dicho resultado. Ésta se convierte en la fila actual para el cursor. A continuación, se ejecutan comandos FETCH en el programa; cada uno mueve el cursor a la siguiente fila del resultado de la consulta, convirtiéndola en la fila actual y copiando los valores de sus atributos en las variables del programa e (lenguaje host) especificadas en el comando FETCH mediante una cláusula INTO. La variable de cursor es básicamente un iterador que itera por las tuplas del resultado de la consulta (una tupla a la vez). Esto es parecido al procesamiento tradicional por registros. Aplicación O) prompt("Introduzca el nombre del departamento: " nombredpto) 1) EXEC SQL 2) select NumeroDpto into :numdpto 3) from DEPARTAMENTO where NombreDpto = :nombredpto 4) EXEC SQL DECLARE EMP CURSOR FOR 5) select Dni, Nombre, Apellido1, Sueldo 6) from EMPLEADO where Dno = :numdpto 7) FOR UPDATE OF Sueldo ; 8) EXEC SQL OPEN EMP ; 9) EXEC SQL FETCH from EMP into :dni, :nombrepila, : apellido1 , :sueldo 10) while (SQLCODE == O) { 11) printf ("Nombre del empleado: ", Nombre, Apellido1) ; 12) prompt (" Introduzca la subida del sueldo: ", subida) ; 13) EXEC SQL 14) update EMPLEADO 15) set Sueldo = Sueldo + :subida 16) where CURRENT OF EMP ; 17) EXEC SQL FETCHALEJANDRA SARANGO from EMP into :dni, :nombrepila, :apellido1, :sueldo 18) ) 19) EXEC SQL CLOSE EMP ; Fragmento de programa E2: fragmento de un programa C que utiliza cursores con SOL incrustado con propósitos de actualización. //Fragmento de programa E2: ALEJANDRA SARANGO
  • 67. ESPECIFICACIÓN DE CONSULTAS EN TIEMPO DE EJECUCIÓN CON SQL DINÁMICO En algunos casos, es conveniente escribir un programa que pueda ejecutar diferentes consultas o actualizaciones SQL (u otras operaciones) dinámicamente en tiempo de ejecución. Queremos escribir un programa que acepte una consulta SQL escrita desde el monitor, la ejecute y muestre su resultado, como si se tratara de las interfaces interactivas disponibles en la mayoría de los DBMSs. Cuando una interfaz amigable genera consultas SQL dinámicamente para el usuario basándose en operaciones "apuntar y clic" en un esquema gráfico por ejemplo, una interfaz parecida a QBE. Fragmento de programa E3: fragmento de programa C que utiliza SQL dinámico para actualizar una tabla. //Fragmento de programa E3: O) EXEC SQL BEGIN DECLARE SECTION 1)varchar sqlupdatestring [256] 2)EXEC SQL END DECLARE SECTION ; 3)prompt(lIIntroduzca el comando de actualización: ", sqlupdatestring) 4)EXEC SQL PREPARE sqlcommand FROM :sqlupdatestring ; 5)EXEC SQL EXECUTE sqlcommand ; ALEJANDRA SARANGO
  • 68. SQLJ: comandos SQL incrustados en Java En SQLJ, los comandos de SQL incrustados dentro de un programa de Java van precedidos por #sql, como se muestra en la línea 3 de J1, a fin de ser identificados por el preprocesador. SQLJ utiliza una cláusula INTO (parecida a la que se utiliza en SQL incrustado) para devolver los valores de atributo recuperados de la base de datos por una consulta SQL en las variables del programa Java. Estas últimas van precedidas por los dos puntos (:) en la sentencia SQL, como en SQL incrustado. En J1, la consulta SQLJ incrustada sólo selecciona una tupla; por eso podemos asignar los valores de sus atributos directamente a las variables del programa Java en la cláusula INTO de la línea 4. Para las consultas que recuperan muchas tuplas, SQLJ utiliza el concepto de iterador, que es algo parecido a un cursor en SQL incrustado. Fragmento de programa J1: fragmento de programa Java con SQLJ. //Fragmento de programa Jl: 1) dni = readEntry("Introduzca un número de DNI: ") ; 2) try { 3) #sql { select Nombre, Apellidol, Direccion, Sueldo 4) into :nombrepila, :apellidol, :direcc, :sueldo 5) from EMPLEADO where Dni = : dni} ; 6) catch (SQLException se) { 7) System.out.println("Este número de DNI no existe: " + dni) ; 8) Return ; 9) } 10) System.out.println(nombrepila + " " + apellidol + " " + direcc + " " + sueldo) ALEJANDRA SARANGO
  • 69. RECUPERACIÓN DE VARIAS TUPLAS EN SQLJ UTILIZANDO ITERADORES 1 Un iterador con nombre está asociado con el resultado de una consulta enumerando los nombres y los tipos de los atributos que aparecen en dicho resultado. 2 Un iterador posicional sólo enumera los tipos de atributos que aparecen en el resultado de la consulta. Los nombres de atributo deben corresponderse con las variables del programa Java, En los dos casos, la lista debe tener el mismo orden que los atributos de la cláusula SELECT de la consulta. 1.nombredpto ~ readEntry ( "Introduzca el nombre del departamento: ") 2.try { 3.#sql { select NumeroDpto into :numdpto 4.from DEPARTAMENTO where NombreDpto ~ :nombredpto} ; 5.catch (SQLException se) 6.System. out .println ("El departamento no existe: " + nombredpto) 7.Return ; 8.} 9.System.out.printline("Información del empleado de este departamento: " + nombredpto) 10.#sql iterator Emp(String dni, String nombrepila, String apellido1, double sueldo) ; 11.Emp e ~ null ; 12.#sql e ~ { select dni, nombrepila, apellido1, sueldo 13.from EMPLEADO where Dno ~ :numdpto} 14.while (e. next ()) { 15. System.out.printline(e.dni + " " + e.nombrepila + " " + e.apellido1 + " " + e. sueldo) ; 16. } ; 17.e. close () Fragmento de programa J2A: fragmento de programa Java que utiliza un iterador con nombre para imprimir información de un empleado de un departamento en particular. //Fragmento de pograma J2A: ALEJANDRA SARANGO
  • 70. ITERADORES POSICIONALES La principal diferencia entre un iterador posicional y uno con nombre es que en el primero no hay atributos (correspondientes a los nombres de las variables del programa), sólo tipos de atributos. Aun así, deben ser compatibles con los tipos de los atributos del resultado de la consulta SQL y aparecer en el mismo orden. La línea 10 muestra cómo se crea en el programa la variable de iterador posicional e del tipo Emppos y después se asocia con una consulta (líneas 11 y 12). El iterador posicional se comporta de una forma que es más parecida a SQL incrustado (consulte la Sección 9.2.2). Se necesita un comando FETCH INTO para obtener la siguiente tupla del resultado de una consulta. La primera vez que se ejecuta fetch, se obtiene la primera tupla (línea l3 de la Figura 9.9). La línea 16 obtiene la siguiente tupla hasta que no haya más tuplas en el resultado de la consulta. Para controlar el bucle, se utiliza una función de iterador posicional, e. endFetch (). Esta función se establece a TRUE cuando el iterador está inicialmente asociado con una consulta SQL (línea 11), y se establece a FALSE cada vez que un comando fetch devuelve una tupla válida del resultado de la consulta. Se establece de nuevo a TRUE cuando un comando fetch ya no encuentra más tuplas. La línea 14 muestra cómo se controla el bucle mediante la negación. IIFragmento de programa J2B: 0. nombredpto = readEntry(IIIntroduzca el nombre del departamento: “) 1. try ( 2. #sql ( select NumeroDpto into :numdpto 3. from DEPARTAMENTO where NombreDpto = :nombredpto} ; 4. catch (SQLException se) ( 5. System. out. println ("El departamento no existe: 11 + nombredpto) 6. Return; 7. } 8. System.out.printline(IIInformación del empleado de este departamento: 11 + nombredpto) 9. #sql iterator Emppos(String, String, String, double) 10. Emppos e = null) ; 11. #sql e = ( select dni, nombrepila, apellido1, sueldo 12. from EMPLEADO where Dno = :numdpto} ; 13. #sql { fetch :e into :dni, :np, :ap1, :sal} 14. while (! e . endFetch ()) ( 15. System.out .printline (dni + 11 11 + np + 11 11 + ap1 + 11 11 + sal) 16. #sql { fetch :e into :dni, :np, :ap1, :sal} 17. } ; 18) e. close ( ) ALEJANDRA SARANGO
  • 71. Programación de bases de datos con SQUCLI utilizando C como lenguaje host Declare las variables de manejador de los tipos SQLHSTMT, SQLHDBC, SQLHENV Y SQLHDESC para las sentencias, conexiones, entornos y descripciones necesarias en el programa, respectivamente En el programa C debe incluirse la biblioteca de funciones que abarca SQLlCLI. Se llama sqlcli . h, En el programa debe configurarse un registro de entorno con SQLAllocHandle. Como en ningún otro registro se guarda un registro de entorno, el parámetro <manejador_l> es el manejador NULL SQL_NULL_HANDLE (puntero NULL) al crear un entorno. En el programa se configura un registro de conexión utilizando SQLAllocHandle. Se establece entonces una conexión en con1 con un servidor concreto de bases de datos utilizando la función SQLConnect de SQLlCLI En el programa se configura un registro de sentencia utilizando SQLAllocHandle. El registro de sentencia creado tiene el manejador stmt1 y utiliza la conexión conl. La sentencia se ha preparado utilizando la función SQLlCLI SQLPrepare. En la línea 10, esto asigna la cadena de sentencia SQL (la consulta en nuestro ejemplo) a la sentencia handle stmtl. Antes de ejecutar la consulta, debe enlazarse cualquier parámetro de la cadena de consulta con las variables del programa utilizando la función SQLlCU SQLBindParameter. Siguiendo estas preparaciones, ahora podemos ejecutar la sentencia SQL especificada por el manejador stmt1, utilizando la función SQLExecute Para determinar dónde se devuelve el resultado de la consulta, se suele recurrir a la técnica de columnas enlazadas. Aquí, cada columna del resultado de una consulta se enlaza a una variable del programa C utilizando la función SQLBindCol. Por último, para recuperar los valores de columna en las variables del programa C, se utiliza la función SQLFetch ALEJANDRA SARANGO
  • 72. Procedimientos almacenados de bases de datos y SQUPSM El término utilizado en el estándar SQL para los procedimientos almacenados es módulos almacenados persistentes, porque el DBMS almacena persistentemente estos programas, algo parecido a los datos persistentes almacenados por el DBMS. Los procedimientos: Son útiles en las siguientes circunstancias Si varias aplicaciones necesitan un mismo programa de bases de base de datos, este último se puede almacenar en el servidor e invocarlo desde esas aplicaciones. Esto reduce la duplicidad del esfuerzo y mejora la modularidad del software. 1. La ejecución de un programa en el servidor puede reducir el coste derivado de la transferencia y la comunicación de datos entre el cliente y el servidor en ciertas situaciones. 2. Estos procedimientos pueden mejorar la potencia de modelado de las vistas al permitir que los usuarios de bases de datos cuenten con tipos más complejos de datos derivados. Además, se pueden utilizar esos tipos para comprobar restricciones más complejas que quedan fuera de la especificación de aserciones y triggers. En general, muchos DBMSs 3. ALEJANDRA SARANGO
  • 73. SQL/PSM: AMPLIACIÓN DE SAL PARA ESPECIFICAR MÓDULOS ALMACENADOS PERSISTENTES SQLlPSM es la parte del estándar SQL encargada de especificar cómo han de escribirse los módulos almacenados persistentes. Incluye las sentencias para crear las funciones y los procedimientos que describimos en la sección anterior. También incluye las estructuras de programación adicionales que permiten mejorar la potencia de SQL con el propósito de escribir el código ( o cuerpo) de los procedimientos o funciones almacenados. La sentencia de bifurcación condicional en SQL/PSM tiene la siguiente forma: IF <condición> THEN <lista de sentencias> ELSEIF <condición> THEN <lista de sentencias> ELSEIF <condición> THEN <lista de sentencias> ELSE END <lista de sentencias> IF; Declaración de una función en SQL/PSM. //Función PSM1: 1. CREATE FUNCTION TamDpto(IN nodpto INTEGER) 2. RETURNS VARCHAR [7] 3. DECLARE NumEmps INTEGER ; 4. SELECT COUNT(*) INTO NumEmps 5. FROM EMPLEADO WHERE Dno ~ nodpto 6. IF NumEmps > 100 THEN RETURN "ENORME" 7. ELSEIF NumEmps > 25 THEN RETURN "GRANDE" 8. ELSEIF NumEmps > 10 THEN RETURN "MEDIO" 9. ELSE RETURN "PEQUEÑO" ALEJANDRA SARANGO
  • 74. CAPÍTULO 10: Dependencias funcionales y normalización en bases de datos relacionales Estos modelos hacen que el diseñador identifique los tipos de entidad y de relación y sus respectivos atributos, lo que nos lleva a un agrupamiento natural y lógico de los atributos en relaciones cuando van seguidos por los procedimientos de mapeado del Capítulo 7. Hay dos niveles: * El primero es el nivel lógico (o conceptual) *El segundo nivel es el de implementación (o almacenamiento) Johanna Manguay y Bryan Marcillo
  • 75. Dependencias funcionales y normalización en bases de datos relacionales Nivel lógico (o conceptual): cómo los usuarios interpretan los esquemas de relación y el significado de sus atributos. Disponer de un buen esquema de relación a este nivel permite a los usuarios comprender con claridad el significado de los datos en la relaciones y, por consiguiente, formular sus consultas correctamente. Nivel es el de implementación (o almacenamiento): de qué modo se almacenan y actualizan las tuplas en una relación base. Este nivel se aplica sólo a esquemas de relación base (cómo se almacenarán físicamente los ficheros), mientras que a nivel lógico nos interesan tanto las relaciones base como las vistas (relaciones virtuales). Se aplica fundamentalmente a las relaciones base Johanna Manguay y Bryan Marcillo
  • 76. Como se debe llevar acabo usando estas metodologías?: * Una metodología de diseño de tipo ascendente: llamada también diseño por síntesis, tiene como punto de partida las relaciones básicas entre atributos Dependencias funcionales y normalización en bases de datos relacionales individuales, y los usa para construir los esquemas de relación. Esta metodología no es muy popular , ya que tiene el problema de tener que recopilar al principio una gran cantidad de relaciones binarias entre los atributos. * Una metodología descendente, conocida también como desafío por análisis, se empieza con varios agrupamientos de atributos de una relación que están juntos de forma natural, como por ejemplo, en una factura, un formulario o un informe. Johanna Manguay y Bryan Marcillo
  • 77. Johanna Manguay y Bryan Marcillo
  • 78. Johanna Manguay y Bryan Marcillo
  • 79. Johanna Manguay y Bryan Marcillo
  • 80. Johanna Manguay y Bryan Marcillo
  • 81. Johanna Manguay y Bryan Marcillo
  • 82. Johanna Manguay y Bryan Marcillo
  • 83. Johanna Manguay y Bryan Marcillo
  • 84. Johanna Manguay y Bryan Marcillo
  • 85. Johanna Manguay y Bryan Marcillo
  • 86. Johanna Manguay y Bryan Marcillo
  • 87. Johanna Manguay y Bryan Marcillo
  • 88. Johanna Manguay y Bryan Marcillo
  • 89. Johanna Manguay y Bryan Marcillo CAPÍTULO 11: Algoritmos de diseño de bases de datos relacionales y dependencias adicionales
  • 90. Johanna Manguay y Bryan Marcillo
  • 91. Johanna Manguay y Bryan Marcillo
  • 92. Johanna Manguay y Bryan Marcillo
  • 93. Johanna Manguay y Bryan Marcillo
  • 94. Johanna Manguay y Bryan Marcillo
  • 95. Johanna Manguay y Bryan Marcillo
  • 96. Johanna Manguay y Bryan Marcillo
  • 97. Johanna Manguay y Bryan Marcillo
  • 98. Johanna Manguay y Bryan Marcillo
  • 99. Johanna Manguay y Bryan Marcillo
  • 100. Johanna Manguay y Bryan Marcillo
  • 101. Johanna Manguay y Bryan Marcillo
  • 102. Johanna Manguay y Bryan Marcillo
  • 103. EL PAPEL DE LOS SISTEMAS DE INFORMACIÓN EN LAS EMPRESAS Un sistemas de base de datos debe permitir establecer estructuras de almacenamiento , ser eficientes , seguros, y otros. Michelle Yantibug y Mary Ponce Capítulo 12: Metodología práctica de diseño de bases de datos y uso de los diagramas UML
  • 104. Michelle Yantibug y Mary Ponce
  • 105. Michelle Yantibug y Mary Ponce
  • 106. EL DISEÑO DE LA BASE DE DATOS Y EL PROCESO DE IMPLEMENTACIÓN  Los objetivos del diseño de una base de datos son varios:  Satisfacer los requisitos de información de los usuarios y aplicaciones especificados.  Ofrecer una estructuración de la información natural y fácil de comprender.  Soportar las necesidades de procesamiento y cualquier objetivo de rendimiento, como el tiempo de respuesta, el tiempo de procesamiento y el espacio de almacenamiento. Michelle Yantibug y Mary Ponce
  • 107. Michelle Yantibug y Mary Ponce
  • 108. USO DE DIAGRAMAS UML COMO AYUDA A LA ESPECIFICACIÓN DEL DISEÑO DE LA BASE DE DATOS La industria siempre necesita algunas metodologías estándar para cubrir todo este espectro de análisis de los requisitos, modelado, diseño, implementación e implantación. El método que está recibiendo más atención y aceptación y que también ha sido propuesto como estándar es el método UML (Lenguaje unificado de modelado), que proporciona un mecanismo en forma de notación diagramática y sintaxis de lenguaje asociado para abarcar todo el ciclo vital. Michelle Yantibug y Mary Ponce
  • 109. Michelle Yantibug y Mary Ponce
  • 110. Michelle Yantibug y Mary Ponce
  • 111. Michelle Yantibug y Mary Ponce
  • 112. Michelle Yantibug y Mary Ponce
  • 113. Michelle Yantibug y Mary Ponce
  • 114. Michelle Yantibug y Mary Ponce
  • 115. Michelle Yantibug y Mary Ponce
  • 116. Michelle Yantibug y Mary Ponce
  • 117. Capítulo 13:Almacenamiento en disco, estructuras básicas de ficheros y dispersión Dennis Cando y Gustavo Escobar
  • 118. Dennis Cando y Gustavo Escobar
  • 119. Ubicación de los registros de ficheros en disco  Registro y Tipo de Registros: Los datos se almacenan en forma de registro los cuales pueden adquirir valores que son cuantificados en forma de bit. El tipo de dato de campo normalmente es estándar se utiliza en programación (numéricos, caracteres y booleanos).  Ficheros, registros le longitud fija y variable: Secuencia de registros de longitud fija (tienen el mismo numero de bytes) y registros de longitud variable ( pueden contar con registros individuales y diferentes). Dennis Cando y Gustavo Escobar
  • 120.  Bloque de registros y registros extendidos frente a no extendidos: Los registros se asignan en bloques de disco ya que pueden contener varios registro aunque algunos puedan tener registros que por su tamaño no entran en el bloque.  Asignación de bloques de fichero a disco: Asignación de ficheros continuos que se asignan a bloques de discos consecutivos, haciéndose mas compleja expandir el fichero, por otro lado se hace una asignación enlazada haciendo mas sencilla la expansión del fichero pero mas lenta su lectura. Dennis Cando y Gustavo Escobar
  • 121. Otras organizaciones principales de ficheros  Ficheros de registros mezclados: Las organizaciones de ficheros son un mismo tipo de registro, pero cada fichero contiene registros de un solo tipo y pueden presentarse mediante campos de conexión y normalmente se asigna un área del disco para albergar registros de mas de un tipo y se pueden agrupar físicamente. Paralelismo del acceso al disco mediante tecnología RAID Se aplica a pequeños discos independientes que actúan como un solo disco lógico de alto rendimiento para lo cual se segmenta los datos y se los distribuye de forma transparente en varios discos para mejorar su velocidad. Dennis Cando y Gustavo Escobar
  • 122. Dennis Cando y Gustavo Escobar
  • 123. Dennis Cando y Gustavo Escobar
  • 124. CAPITULO 14: Estructuras de indexación para los ficheros ESTRUCTURAS DE INDEXACIÓN PARA LOS FICHEROS La idea de los índices es enumerar al final de la obra los términos importantes en forma alfabética. Normalmente se define una estructura de índice con un solo campo de fichero a esto se lo conoce como campo de indexación ya que almacena valores junto con una lista de punteros a todos los bloques de disco que contiene los registros con ese valor de campo. Índices Principales: Fichero que ordena registros según su longitud en dos campos siendo el primer campo la clave principal y el segundo el registro del índice Dennis Cando y Gustavo Escobar
  • 125. Dennis Cando y Gustavo Escobar
  • 126.  Índices Agrupados: Ordenados físicamente por un campo que no tiene valor distinto para cada registro, a esto se le denomina campo agrupado a diferencia de el índice principal este no requiere de una ordenación de ficheros. Para evitar errores se suele reservar un bloque entero para cada valor del campo agrupado  Índices Secundarios: Proporciona un acceso secundario al fichero para el que ya existe un acceso principal, puede ser una “no clave” con valores duplicados. La estructura de este índice es un campo clave que tiene un valor distinto para cada registro, dicho campo recibe a veces el nombre de clave secundaria. El índice secundario normalmente necesita mas espacio de almacenamiento y un tiempo de búsqueda mayor que un índice principal debido a su mayor cantidad de entradas. Índices Multinivel Reduce el espacio de búsqueda rápidamente. La búsqueda en un índice requiere aproximadamente de logfobi acceso a bloques que es un numero mas pequeño que para la búsqueda binaria Dennis Cando y Gustavo Escobar
  • 127. Dennis Cando y Gustavo Escobar
  • 128. Dennis Cando y Gustavo Escobar
  • 129. Índices en claves múltiples  Índice ordenado por varios atributos: Una ordenación lexicográfica de los valores de esta tupla establece un orden en esta clave de búsqueda compuesta, por tanto <3, n> precede a <4,m> para cualquier valor de m y n.  Dispersión Partida: Es una extensión de la dispersión externa estática que permite el acceso sobre varias claves y se la usa en comparaciones de igualdad y esta diseñada para producir un resultado con n direcciones de dispersión separadas  Fichero Rejilla: Otra alternativa es reorganizar el fichero como un fichero rejilla si queremos, acceder a un fichero con dos claves podemos construir una array rejilla con una escala lineal por cada uno de los atributos de búsqueda. Dennis Cando y Gustavo Escobar
  • 130. Dennis Cando y Gustavo Escobar
  • 131. CAPITULO 15 Algoritmos para procesamiento y optimización de consultas
  • 132. El optimizador de consultas se encarga de generar un plan de ejecución y el generador de código se encarga de generar el código para ejecutar dicho plan. CAPÍTULO 15: Algoritmos para procesamiento y optimización de consultas JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 133. 15.1 Traducción de consultas SQL al álgebra relacional JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 134. 15.2 Algoritmos para ordenación externa JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 135. 15.3 Algoritmos para operaciones SELEC Y JOIN JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 136. 15.4 Algoritmos para operaciones de proyección y conjunto JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 137. 15.5 Implementación de las operaciones de agregación y de OUTER JOIN JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 138. 15.6 Combinación de operaciones mediante flujos JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 139. 15.7 Utilización de la heurística en la optimización de consultas JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 140. JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 141. 15.8 Componentes de coste de ejecución de una consulta El coste de ejecución de una consulta incluye los siguientes componentes: JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 142. JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 143. 15.9 Revisión de la optimización de consultas en Oracle JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 144. 15.10 Optimización semántica de consultas JENNIFER JARAMILLO Y STALIN GUACHAMÍN
  • 145. En éste capitulo explicamos algunos problemas que afectan al rendimiento de una aplicación que se ejecuta en un DBMS. En particular, explicamos las opciones disponibles que los administradores de bases de datos tienen para almacenar bases de datos y algunas de las soluciones y técnicas que utilizar para refinar la base de datos a fin de mejorar su rendimiento Pamela Garcés y Karla Gualavisí CAPÍTULO 16: Diseño físico y refinación de la base de datos
  • 146. Pamela Garcés y Karla Gualavisí
  • 147. 1.1.- Factores que influyen en el diseño físico de una base de datos Pamela Garcés y Karla Gualavisí
  • 148. 1.2.- Decisiones sobre el diseño físico de la base de datos • La mayoría de los sistemas relacionales representan cada relación base como un fichero de base de datos físico. • Las opciones de ruta de acceso incluyen especificar el tipo de fichero para cada relación y los atributos sobre los que deben especificarse los índices. Como máximo, uno de los índices de cada fichero puede ser un índice principal o agrupado. Es posible crear cualquier cantidad de índices secundarios. Pamela Garcés y Karla Gualavisí
  • 149. Pamela Garcés y Karla Gualavisí
  • 150. Desmoralización como decisión de diseño para acelerar las consultas Pamela Garcés y Karla Gualavisí
  • 151. Pamela Garcés y Karla Gualavisí
  • 152. Pamela Garcés y Karla Gualavisí
  • 153. Pamela Garcés y Karla Gualavisí
  • 154. PASOS PARA LA REFINACION DE CONSULTAS Pamela Garcés y Karla Gualavisí
  • 155. Pamela Garcés y Karla Gualavisí
  • 156. Pamela Garcés y Karla Gualavisí
  • 157. DIRECTRICES ADICIONALES PARA LA REFINACION DE UNA CONSULTA Pamela Garcés y Karla Gualavisí
  • 158. Pamela Garcés y Karla Gualavisí
  • 159. Los sistemas de procesamiento de transacciones son sistemas con grandes bases de datos y cientos de usuarios concurrentes ejecutando transacciones de bases de datos. Entre estos sistemas podemos citar los de reservas en aerolíneas, banca, procesamiento de tarjetas de crédito, mercado de acciones, etcétera. Estos sistemas requieren una alta disponibilidad y una respuesta rápida para cientos de usuarios simultáneos Pamela Garcés y Karla Gualavisí CAPÍTULO 17: Introducción a los conceptos y la teoría sobre el procesamiento de transacciones
  • 160. Pamela Garcés y Karla Gualavisí
  • 161. EJEMPLO Pamela Garcés y Karla Gualavisí
  • 162. Pamela Garcés y Karla Gualavisí
  • 163. EJEMPLO Pamela Garcés y Karla Gualavisí
  • 164. Propiedades deseables de las transacciones  Las transacciones deben poseer varias propiedades, a menudo denominadas propiedades ACID, que deben ser: implementadas por el control de la concurrencia y los métodos de recuperación del DBMS. Las propiedades ACID son las siguientes:  Atomicidad. Una transacción es una unidad atómica de procesamiento; o se ejecuta en su totalidad o no se ejecuta en absoluto.  Conservación de la consistencia. Una transacción está conservando la consistencia si su ejecución completa lleva a la base de datos de un estado consistente a otro.  Aislamiento. Una transacción debe aparecer como si estuviera ejecutándose de forma aislada a las demás. Es decir, la ejecución de una transacción no debe interferir con la ejecución de ninguna otra transacción simultánea.  Durabilidad. Los cambios aplicados a la base de datos por una transacción confirmada deben persistir en la base de datos. Estos cambios no deben perderse por culpa de un fallo. Pamela Garcés y Karla Gualavisí
  • 165. CLASIFICACIÓN DE LAS PLANIFICACIONES EN BASE A LA RECUPERABILIDAD Pamela Garcés y Karla Gualavisí
  • 166. EJEMPLO 1 Pamela Garcés y Karla Gualavisí
  • 167. EJEMPLO 2 Pamela Garcés y Karla Gualavisí
  • 168. Pamela Garcés y Karla Gualavisí
  • 169. EJEMPLO 1 Pamela Garcés y Karla Gualavisí
  • 170. EJEMPLO 2 Pamela Garcés y Karla Gualavisí
  • 171. Pamela Garcés y Karla Gualavisí
  • 172. EJEMPLO Pamela Garcés y Karla Gualavisí
  • 173. CAPÍTULO 18: TÉCNICAS DE CONTROL DE LA CONCURRENCIA NICOLE SORIA Y GABRIEL VILLACIS
  • 174. NICOLE SORIA Y GABRIEL VILLACIS
  • 175. NICOLE SORIA Y GABRIEL VILLACIS
  • 176. NICOLE SORIA Y GABRIEL VILLACIS
  • 177. NICOLE SORIA Y GABRIEL VILLACIS
  • 178. NICOLE SORIA Y GABRIEL VILLACIS
  • 179. NICOLE SORIA Y GABRIEL VILLACIS
  • 180. CAPÍTULO 19: TÉCNICAS DE RECUPERACIÓN DE BASES DE DATOS NICOLE SORIA Y GABRIEL VILLACIS
  • 181. NICOLE SORIA Y GABRIEL VILLACIS
  • 182. NICOLE SORIA Y GABRIEL VILLACIS
  • 183. NICOLE SORIA Y GABRIEL VILLACIS
  • 184. NICOLE SORIA Y GABRIEL VILLACIS
  • 185. NICOLE SORIA Y GABRIEL VILLACIS
  • 186. NICOLE SORIA Y GABRIEL VILLACIS
  • 187. CAROLINA HERRERA Y CARLA CASQUETI CAPÍTULO 20: Bases de datos de objetos y relaciones de objetos
  • 188. CAROLINA HERRERA Y CARLA CASQUETI
  • 190. CAROLINA HERRERA Y CARLA CASQUETI
  • 191. CAROLINA HERRERA Y CARLA CASQUETI
  • 192. CAROLINA HERRERA Y CARLA CASQUETI
  • 193. CAROLINA HERRERA Y CARLA CASQUETI
  • 194. CAROLINA HERRERA Y CARLA CASQUETI
  • 195. CAROLINA HERRERA Y CARLA CASQUETI
  • 196. CAROLINA HERRERA Y CARLA CASQUETI
  • 197. CAROLINA HERRERA Y CARLA CASQUETI
  • 198. CAROLINA HERRERA Y CARLA CASQUETI
  • 199. CAROLINA HERRERA Y CARLA CASQUETI
  • 200. CAROLINA HERRERA Y CARLA CASQUETI
  • 201. TICS 2 RESUMEN DEL LIBRO CAPITULO 23 MARIA EGUEZ Y ROCIO SOTALIN
  • 202. Introducción a los temas de seguridad en las bases de datos Tipos de seguridad Medidas de control La seguridad en bases de datos y el OBA Protección de accesos, cuentas de usuario y auditorías de bases de datos Aspectos legales y éticos al derecho de acceso a determinada información. Información que no debe estar disponible pública- mente como la concesión de créditos o informes médicos personales. Temas relativos al sistema, una función de seguridad debería ser manipulada a nivel físico del hardware, o nivel del sistema operativo. Identificar niveles de seguridad: alto secreto, secreto, confidencial y no clasificado. Amenazas a las bases de datos Pérdida de integridad. Pérdida de disponibilidad. Pérdida de confidencialidad. Mecanismos de seguridad discrecionales. Mecanismos de seguridad obligatorios. Control de accesos. Control de inferencias. Control de flujo. Cifrado de datos. Creación de cuentas. Concesión de privilegios. Retirada de privilegios. Asignación del nivel de seguridad. Cuenta de usuario y una contraseña. Iniciar sesión. Registro de sucesos del sistema. Auditoría de la base de datos. Registro de auditoría. Capítulo 23-Seguridad en las bases de datos MARIA EGUEZ Y ROCIO SOTALIN
  • 203. Control de acceso discrecional basado en la concesión y revocación de privilegios Especificación de privilegios mediante vistas Revocación de privilegios Propagación de los privilegios mediante GRANT OPTION Especificación de los límites a la propagación de privilegios Tipos de privilegios discrecionales • El nivel de cuenta. • El nivel de relación (o tabla). • Privilegio de selección (recuperación lectura) sobre R. • Privilegio de modificación sobre R. • Privilegio de referencia de R. El mecanismo de vistas es un importante mecanismo de autorización discrecional por sí mismo. En algunos casos, es deseable conceder un privilegio a un usuario de manera temporal. Siempre que el propietario A de una relación R concede un privilegio a otra cuenta B, dicho privilegio se puede conceder a B con o sin la opción GRANT OPTION. Si aparece esta opción, significa que B también puede conceder ese privilegio sobre R a otras cuentas. Limitar la propagación horizontal un número entero i significa que una cuenta B a la que se ha dado la opción GRANT OPTION puede conceder el privilegio a, como mucho, otras i cuentas. La propagación vertical es más complicada; limita la profundidad de la concesión de los privilegios. MARIA EGUEZ Y ROCIO SOTALIN
  • 204. Control de acceso obligatorio y control de acceso basado en roles para la seguridad multinivel2 Comparación del control de acceso discrecional y el control de acceso obligatorio. Control de accesos basado en roles.Control de acceso XMl. Políticas de control de acceso para el comercio electrónico y la Web. Las políticas de Control de acceso discrecional (DAC) se caracterizan por su alto grado de flexibilidad y por el contrario, las políticas obligatorias aseguran un alto grado de protecció. Gestión y el reforzamiento de la seguridad en sistemas empresariales a gran escala. Garantiza que sólo los usuarios autorizados tienen acceso a determinados datos o recursos. Cada sesión se puede asignar a muchos roles, pero se corresponde con un único usuario o sujeto. Firmas digitales y los estándares de criptografíapara XML. La especificación de sintaxis y procesamiento de firmas en XML describe una sintaxis XML para la representación de las asociaciones entre firmas criptográficas y documentos XML u otros recursos electrónicos. El control de acceso se realiza normalmente mediante un conjunto de autorizaciones definidas por los encargados de la seguridad. El control de acceso basado en contenidos permite expresar políticas de control de acceso que tomen en cuenta el contenido del objeto a proteger. Un tercer requisito está relacionado con la heterogeneidad de los sujetos, lo cual necesita de políticas de control basadas en las características del usuario y sus cualificaciones. MARIA EGUEZ Y ROCIO SOTALIN
  • 205. Introducción a la seguridad en bases de datos estadísticas Las bases de datos estadísticas se utilizan principalmente para obtener estadísticas sobre poblaciones diversas. La base de datos puede contener información confidencial sobre individuos que debería ser protegida de su acceso por parte de los usuarios. En algunos casos es posible deducir los valores de tuplas individuales a partir de una secuencia de consultas estadísticas. Es responsabilidad de un sistema de gestión de bases de datos asegurar la confidencialidad de la información relacionada con los individuos y, a la vez, proporcionar a los usuarios resúmenes estadísticos de los datos acerca de esos individuos. La posibilidad de deducir información individual a partir de consultas estadísticas se reduce si no se permiten las consultas estadísticas siempre que el número de tuplas de la población especificada por la condición de selección esté por debajo de determinado nivel. MARIA EGUEZ Y ROCIO SOTALIN
  • 206. Introducción al control de flujo El control de flujo regula la distribución o flujo de información entre objetos accesibles. Los controles de flujo comprueban que la información contenida en algunos objetos no fluye explícita o implícitamente hacia objetos menos protegidos. Canales ocultos Un canal oculto permite que la información pase desde un nivel de clasificación más alto hacia un nivel de clasificación más bajo a través de algún medio que no es el normal. Canal de temporización la información se transmite tras una temporización de eventos Canales de almacenamiento no necesitan una sincronización temporal, ya que la información se transmite accediendo a infonnación del sistema MARIA EGUEZ Y ROCIO SOTALIN
  • 207. 23.6) Cifrados e infraestructura de clave publica  El cifrado es un medio de mntener la seguridad de los datos en un entorno no seguro.  Consiste de aplicar un logaritmo a los datos utilizando utulizando un clave de cifrado predefinida  Los datos resultantes tienen que ser decifrados mediante una clave de decifrado para recuperar los datos originales. MARIA EGUEZ Y ROCIO SOTALIN
  • 208. 23.6.1) los datos y estandares avanzados de cifrado  El algoritmo DES es una cuidadosa y compleja combinacion de dos de los bloques fundamentales utilizados en la consruccion del cifrado: la sustitucion y la permutacion  el texto plano del mensaje se cifra en boques de 64 bits  El instituo nacional de estandares introdujo al algoritmo AES, tiene un tamano de bloque de 128 bits. MARIA EGUEZ Y ROCIO SOTALIN
  • 209. 23.6.1) Cifrado con clave pública MARIA EGUEZ Y ROCIO SOTALIN
  • 210. MARIA EGUEZ Y ROCIO SOTALIN
  • 211. Algoritmo RSA de cifrado con clave publica  El esquema RSA ha sido desde entonces uno de los mas extendidos y uno de los modelos de cifrado con clave publica mas implementados.  RSA incorpora nociones de la teoria numerica combinadas con la dificultad de otencion de los factores primos de un elemento.  El algoritmo RSA tmbien trabaja con la aritmetica modular (mod Ƞ) MARIA EGUEZ Y ROCIO SOTALIN
  • 212. MARIA EGUEZ Y ROCIO SOTALIN
  • 213. 23.7) Mantenimiento de la privacidad  Las tecnicas utilizadas mas habitualmente para tratar estos temas son evitar la construccion de randes almacenes de datos centralizados en un unico repositorio con toda la informacion importante  Otra posible medida es la modificacion o la distorcion intencionada de los datos. MARIA EGUEZ Y ROCIO SOTALIN
  • 214. MARIA EGUEZ Y ROCIO SOTALIN
  • 215. MARIA EGUEZ Y ROCIO SOTALIN
  • 216. 23.9) Resumen  Tecnicas para reforzar la seguridad en base de datos  Medidas de control: control de acceso,control de inferencias, control de flujo y cifrado  Comandos SQL para conceder y revocar privilegios  Conceptos clave que subyacen al modelos relacional multinivel  Cifrado de datos, clves publicas y firmas digitales. MARIA EGUEZ Y ROCIO SOTALIN
  • 217. Capítulo 24: Modelos de datos mejorados para aplicaciones avanzadas Las bases de datos orientadas a objetos y los sistemas objeto-relacional proporcionan características que permiten a los usuarios extender sus sistemas especificando tipos de datos abstractos adicionales para cada aplicación, es necesario crear modelos que puedan representarlas. Estefanía Obando y Jessica Zhicay
  • 218. Estefanía Obando y Jessica Zhicay
  • 219. Modelo generalizado para las bases de datos activas y los triggers de Oracle Estefanía Obando y Jessica Zhicay
  • 220. Estefanía Obando y Jessica Zhicay
  • 221. Estefanía Obando y Jessica Zhicay
  • 222. Estefanía Obando y Jessica Zhicay
  • 223. Estefanía Obando y Jessica Zhicay
  • 224. Estefanía Obando y Jessica Zhicay
  • 225. Estefanía Obando y Jessica Zhicay
  • 226. Estefanía Obando y Jessica Zhicay
  • 227. Estefanía Obando y Jessica Zhicay
  • 228. Estefanía Obando y Jessica Zhicay
  • 229. Estefanía Obando y Jessica Zhicay
  • 230. CAPÍTULO 25: BASES DE DATOS DISTRIBUIDAS Y ARQUITECTURAS CLIENTE-SERVIDOR En este capítulo vamos a centrar nuestra atención en: - Los DDBS (Sistema de bases de datos distribuidas) - Los DDBMS (Sistemas de administración de bases de datos distribuidas),y en cómo se usa la arquitectura cliente-servidor como plataforma para el desarrollo de aplicaciones de bases de datos. La tecnología DDB emergió gracias a la unión de otras dos tecnologías: - Base de datos; y - comunicación de datos y de redes. Lo más reciente son los enormes avances dados en el área de las tecnologías alámbricas e inalámbricas (desde las comunicaciones por satélite y celulares hasta las MAN [Redes de área metropolitana], la estandarización de protocolos como Ethernet, TCP/IP y ATM [Modo de transferencia asíncrono], así como la explosión de Internet). Mientras en los 70 y principios de los 80 las bases de datos se movían hacia la centralización produciendo unas monolíticas y gigantescas estructuras, la tendencia a finales de esa década era la contraria: más descentralización y autonomía de procesamiento. Con los avances en la computación desarrolló muchos prototipos. Sin embargo lun DDBMS totalmente operativo que incluyera la funcionalidad y técnicas propuestas por la investigación DDB nunca emergió como un producto comercialmente viable. La mayoría de fabricantes no centró sus esfuerzos en el desarrollo de un producto DDBMS puro, sino en la generación de sistemas basados en cliente- servidor, o a traves de tecnologías para el acceso a fuentes de datos distribuidos de manera heterogénea. LARA ELIZABETH Y LARA TATIANA
  • 231. CONCEPTOS DE BASES DE DATOS DISTRIBUIDAS Tecnología paralela frente a distribuida existen dos tipos fundamentales de arquitecturas de sistema multiprocesador: Las bases de datos distribuidas aportan las ventajas del procesamiento distribuido al dominio de la administración de una base de datos. Un sistema de computación distribuido consiste en un número de elementos de procesamiento, no necesariamente homogéneos, que están interconectados mediante una red de computadores, y que cooperan para la realización de ciertas tareas asignadas. Podemos definir una DDB (Base de datos distribuida) como una colección de múltiples bases de datos distribuidas interrelacionadas de forma lógica sobre una red de computadores, y un DDBMS (Sistema de administración de bases de datos distribuidas, Distributed DataBase Management System) como el software encargado de administrar la base de datos distribuida mientras hace la distribución. Arquitectura de memoria compartida (estrechamente acoplada o tightly coupled). Varios procesadores comparten el almacenamiento secundario (disco) y la memoria primaria Arquitectura de disco compartido (débilmente acoplada o loosely coupled). Varios procesadores comparten el almacenamiento secundario (disco), pero cada uno de ellos tiene su propia memoria primaria. LARA ELIZABETH Y LARA TATIANA
  • 232. VENTAJAS DE LAS BASES DE DATOS DISTRIBUIDAS La administración de bases de datos distribuidas ha sido propuesta por varias razones que van desde la centralización organizativa y el procesamiento económico a una mayor autonomía. Vamos a ver ahora algunas de estas ventajas. 4. Expansión más sencilla. La expansión del sistema en términos de incorporación de más datos, incremento del tamaño de las bases de datos o la adición de más procesadores es mucho más sencilla. 2. Incremento de la fiabilidad y la disponibilidad. La fiabilidad está definida ampliamente como la probabilidad de que un sistema está funcionando. La disponibilidad es la probabilidad de que el sistema está continuamente disponible durante un intervalo de tiempo. 1. Administración de datos distribuidos con distintos niveles de transparencia. Transparencia de red o de distribución. Transparencia de replicación. Transparencia de fragmentación. La transparencia de diseño y de ejecución 3. Rendimiento mejorado. Un DBMS distribuido fragmenta la base de datos manteniendo lo más cerca posible del punto donde es más necesaria. LARA ELIZABETH Y LARA TATIANA
  • 233. LA TRANSPARENCIA DE DISEÑO Y DE EJECUCIÓN Algunos tipos de arquitecturas de base de datos. (a) Arquitectura "nada compartido". (b)Arquitectura en red con una base de datos centralizada en una de sus ubicaciones. (c)Arquitectura de base de datos distribuida auténtica. DISTRIBUCION DE DATOS Y REPLICACIÓN ENTRE BASES DE DATOS DISTRIBUIDAS. LARA ELIZABETH Y LARA TATIANA
  • 234. * Seguimiento de los datos. La capacidad de controlar la distribución de los datos, la fragmentación y la replicación expandiendo el catálogo DDBMS. * Procesamiento de consultas distribuidas. La posibilidad de acceder a sitios remotos y de transmitir consultas y datos a lo largo de todos esos sitios mediante una red de comunicación. * Administración de transacciones distribuidas. La facultad de diseñar estrategias de ejecución de consultas y transacciones que accedan a los datos desde más de una ubicación y de sincronizar el acceso a los datos distribuidos y de mantener la integridad de toda la base de datos. * Administración de datos replicados. La capacidad de decidir a qué copia de un dato acceder y de mantener la consistencia de las copias de un elemento de datos replicado. FUNCIONES ADICIONALES DE LAS BASES DE DATOS DISTRIBUIDAS LARA ELIZABETH Y LARA TATIANA
  • 235. * Recuperación de una base de datos distribuida. La facultad de recuperarse de las caídas de una localización individual u otro tipo de fallos, como los fallos en los enlaces de comunicación. * Seguridad. Las transacciones distribuidas deben ejecutarse con una adecuada administración de la seguridad de los datos y contando con los privilegios de autorización/acceso de los usuarios. * Administración del directorio (catálogo) distribuido. Un directorio contiene información (metadatos) sobre los datos de la base de datos. Puede ser global a toda la DDB, o local para cada sitio. La colocación y distribución del directorio son temas relacionados con el diseño y las políticas. Estas funciones en sí mismas aumentan la complejidad de un DDBMS en relación a un DBMS centralizado LARA ELIZABETH Y LARA TATIANA
  • 236. . Fragmentación horizontal Fragmentación de datos Fragmentación Vertical. Fragmentación mixta (híbrida). Ubicación de fragmentos en los sitios. (a) Relación de fragmentos del sitio 2 correspondiente al departamento 5. (b) Relación de fragmentos del sitio 3 correspondiente. al departamento 4. TÉCNICAS DE FRAGMENTACIÓN, REPLICACIÓN Y ASIGNACIÓN DE DATOS PARA EL DISEÑO DE BASES DE DATOS DISTRIBUIDAS REPLICACIÓN Y UBICACIÓN DE LOS DATOS EJEMPLO DE FRAGMENTACIÓN, UBICACIÓN Y REPLICACIÓN LARA ELIZABETH Y LARA TATIANA
  • 237. TIPOS DE SISTEMAS DE BASES DE DATOS DISTRIBUIDAS PROCESAMIENTO DE CONSULTAS EN BASES DE DATOS DISTRIBUIDAS EL CONTROL DE LA CONCURRENCIA Y LA RECUPERACIÓN EN BASES DE DATOS DISTRIBUIDAS UNA APROXIMACIÓN A LA ARQUITECTURA CLIENTE-SERVIDOR DE TRES NIVELES BASES DE DATOS DISTRIBUIDAS EN ORACLE7 Lo que todos estos sistemas tienen en común es el hecho de que tanto los datos como el software están distribuidos a lo largo de distintas localizaciones que están conectadas por algún tipo de red de comunicaciones. Son muchos los problemas que aparecen en un DBMS distribuido que no se dan en un entorno centralizado; entre ellos: Tratar con múltiples copias de los datos. Fallo de los sitios individuales. Fallo de los enlaces de comunicación. Confirmación distribuida. Estancamiento distribuido. La base de datos Oracle está dividida en dos partes: unfront end (frontal) como parte cliente y un back end como parte servidor. Oracle soporta enlaces que defienen una ruta de comunicación en un único sentido desde una base de datos Oracle a otra. LARA ELIZABETH Y LARA TATIANA
  • 238. CAPÍTULO 26: PROGRAMACIÓN DE UNA BASE DE DATOS WEB USANDO PHP TECNOLOGÍAS EMERGENTES El método más corriente de especificar los contenidos y formatear este tipo de páginas es mediante los documentos de hipertexto. HTML (Lenguaje de marcado de hipertexto, HyperText Markup Language). XML (Lenguaje de marcado extensible, eXtensible Markup Language) XSL (Lenguaje de hojas de estilo extensible) LARA ELIZABETH Y LARA TATIANA
  • 239. DATOS ESTRUCTURADOS, SEMIESTRUCTURADOS Y NO ESTRUCTURADOS La información contenida en una base de datos se dice que es estructurada porque está representada de una forma estricta. Por ejemplo, cada registro de una tabla de una base de datos relacional . LARA ELIZABETH Y LARA TATIANA
  • 240. VISIÓN GENERAL DE LAS CARACTERÍSTICAS BÁSICAS DE PHP VARIABLES, TIPOS DE DATOS Y ESTRUCTURAS DE PROGRAMACIÓN DE PHP Los nombres de variable de PHP empiezan con el símbolo $ y pueden incluir caracteres letras y el carácter de subrayado U. No están permitidos otros caracteres especiales. Los nombres de variable hacen distinción entre mayúsculas y minúsculas, y el primer carácter no puede ser un número. Las variables no tienen tipo; su tipo queda determinado por los valores que se les asignan. De hecho, la misma variable puede cambiar de tipo en cuanto se le asigna un nuevo valor. La asignación se realiza mediante el operador = Como PHP está orientado al procesamiento de texto, dispone de diferentes tipos de valores de cadena. 1. Cadenas con comillas simples. 2. Cadenas con comillas dobles. 3. Documentos "here" (o documentos aquí). 4. Comillas simples y dobles. LARA ELIZABETH Y LARA TATIANA
  • 241. VISIÓN GENERAL DE LA PROGRAMACIÓN DE BASES DE DATOS PHP Los Arrays son muy importantes en PHP, ya que permiten listas de elementos. Se utilizan con frecuencia en los formularios que emplean menús desplegables. Un array unidimensional se utiliza para almacenar la lista de opciones de un menú desplegable. Hay dos tipos de arrays. 2.- Array asociativo. . 1.- Array numérico . LARA ELIZABETH Y LARA TATIANA
  • 242. Hay varias técnicas para acceder a las bases de datos con un lenguaje de programación, cómo acceder a una base de datos SQL utilizando los lenguajes de programación C y Java. En particular, explicamos SQL incrustado, JDBC, SQLlCLI (parecido a ODBC) y SQLJ. cómo acceder a la base de datos utilizando el lenguaje de scripting PHP, que resulta muy adecuado para crear interfaces web para buscar en las bases de datos y actualizarlas, así como páginas web dinámicas. LARA ELIZABETH Y LARA TATIANA
  • 243. CONEXIÓN A UNA BASE DE DATOS LARA ELIZABETH Y LARA TATIANA
  • 244. Damaris Vergara Y Maricela Catota CAPÍTULO 27: XNL (Lenguaje de Marcado Extensible)
  • 245. Modelo dedatosjerárquico (árbol) deXML Tipos de elementos Construccióndeun documentoXML Elementos complejos Construidos jerárquicamente apartir de otros elementos Elementos simples Contienenvalores de datos. Elementos Atributos Tipos principales de documentos XML: Documentos XMLcentrados enlos datos. Documentos XMLcentrados eneldocumento. Documentos XMLhíbridos. Damaris Vergara Y Maricela Catota
  • 246. Damaris Vergara Y Maricela Catota
  • 247. Damaris Vergara Y Maricela Catota
  • 248. Damaris Vergara Y Maricela Catota
  • 249. Damaris Vergara Y Maricela Catota
  • 250. Definición de minería de datos  Minería de datos es la exploración y análisis de grandes cantidades de datos con el objeto de encontrar patrones y reglas significativas (conocimiento) Damaris Vergara Y Maricela Catota CAPÍTULO 28: Conceptos de minería de datos
  • 251. Datos y Modelos => Conocimiento Los datos se obtienen de:  Bases de datos (relacionales, espaciales, temporales, documentales, multimedia, etc)  World Wide Web  Modelos descriptivos: identifican patrones que explican o resumen los datos  Reglas de asociación: expresan patrones de comportamiento en los datos  Clustering: agrupación de casos homogéneos  Modelos predictivos: estiman valores de variables de interés (a predecir) a partir de valores de otras variables (predictoras)  Regresión: Variable a predecir continua  Clasificación supervisada: Variable a predecir discreta Damaris Vergara Y Maricela Catota
  • 252. Tipos de conocimientos adquirido durante la minería de datos  Clasificación  Secuenciales  Pronóstico  Asociación  Agrupamiento Damaris Vergara Y Maricela Catota
  • 253. La minería de datos es un campo multidisciplinario Minería de datos Inteligencia Artificial (“Machine Learning”) Estadística Bases de Datos (VLDB) Graficación y visualización Ciencias de la información Otras disciplinas Damaris Vergara Y Maricela Catota
  • 254. ¿Por qué de la minería de datos?  Datos se encuentran disponibles  Poder computacional es cada vez menos costoso  Las presiones competitivas son enormes  Software para minería de datos se encuentra disponible Damaris Vergara Y Maricela Catota
  • 255. Principales técnicas de minería de datos  Análisis de canasta de supermercado  K vecinos más cercanos  Detección de grupos  Análisis de encadenamiento  Árboles de decisión  Redes neuronales artificiales  Algoritmos genéticos Damaris Vergara Y Maricela Catota
  • 256. CAPÍTULO 29: Visión general del almacenamiento de datos y OLAP Mónica Erazo y Andrea Sampértegui
  • 257. Mónica Erazo Mónica Erazo y Andrea Sampértegui
  • 258. Mónica Erazo y Andrea Sampértegui
  • 259. Mónica Erazo y Andrea Sampértegui
  • 260. Mónica Erazo y Andrea Sampértegui
  • 261. Mónica Erazo y Andrea Sampértegui
  • 262.  En este capítulo dirigimos nuestra atención a dos tipos de desarrollos en continua evolución en el área de las bases de datos:  Las tecnologías emergentes de bases de datos: tiene que ver con la creación de nuevas funcionalidades en los DBMS para poder trabajar con diferentes tipos de nuevas aplicaciones, entre las que se incluyen las bases de datos móviles que permiten a los usuarios el acceso universal y flexible a los datos desde cualquier lugar y desde cualquier equipo, y las bases de datos multimedia que proporcionan la posibilidad de almacenamiento y procesamiento de información multimedia .  Principales campos de aplicación: los dominios de aplicación que se han basado tradicionalmente en el procesamiento manual de los sistemas de archivos, también llamados soluciones con sistemas a medida. CAPÍTULO 30:TECNOLOGÍAS Y APLICACIONES EMERGENTES DE BASE DE DATOS Mónica Erazo y Andrea Sampértegui
  • 263.  Los recientes avances en la tecnología móvil e inalámbrica han conducido a la computación móvil, una nueva dimensión en la comunicación y el procesamiento de los datos.  Sin embargo, existen varios problemas en el hardware y en el software que deben ser resueltos antes de que se puedan utilizar en su totalidad las posibilidades de la computación móvil.  En la computación móvil, sin embargo, estos problemas resultan más complicados, principalmente debido a que la conectividad en las comunicaciones inalámbricas es a veces limitada e intermitente, a que la duración de la batería es limitada en las unidades móviles y a la topología cambiante de la red. BASES DE DATOS MÓVILES Mónica Erazo y Andrea Sampértegui
  • 264.  Plataforma móvil basada en infraestructura. La arquitectura general de una plataforma móvil se muestra en la Figura 30.1.  Se trata de una arquitectura distribuida en la que varios computadores, a los que se les denomina generalmente Host fijo (FS) y Estación base (BS), se interconectan a través de una red de cable de alta velocidad.  Los hosts fijos son, por lo general, computadores dedicados que no están equipados normalmente para la gestión de unidades móviles pero que pueden ser configurados para ello. ARQUITECTURA DE LA COMPUTACIÓN MÓVIL Mónica Erazo y Andrea Sampértegui
  • 265. Mónica Erazo y Andrea Sampértegui
  • 266.  Plataforma móvil no basada en infraestructura. La arquitectura de comunicaciones que acabamos de describir está diseñada para dar al cliente la impresión de que se encuentra conectado a una red fija, emulando la arquitectura cliente/servidor tradicional.  Además de lo anterior, las comunicaciones inalámbricas posibilitan otros tipos de arquitecturas. Una de ellas es una plataforma móvil sin infraestructura, también llamada red móvil ad hoc (MANET) y que se muestra en la Figura 30.2.  En una MANET, las unidades móviles que pertenecen a ella no necesitan comunicarse a través de una red fija, sino que forman una propia entre ellas utilizando tecnologías de bajo coste como Bluetooth.  Según esto, las aplicaciones MANET añaden un nivel adicional de complejidad a los temas relacionados con la computación móvil y la gestión de datos en entornos móviles. Mónica Erazo y Andrea Sampértegui
  • 267.  Las principales características de las aplicaciones MANET son las siguientes: • Desconexiones frecuentes. No es posible suponer que todos los dispositivos móviles se encuentren siempre conectados en el desarrollo de aplicaciones cooperativas. Es necesario tratar con las desconexiones frecuentes, a veces intencionadas, de las unidades móviles. • Particionado frecuente de la red. Las desconexiones frecuentes y el cambio de posición de los dispositivos móviles pueden provocar frecuentes particionados de la red. El particionado de la red es un serio problema a tener en cuenta durante el desarrollo de aplicaciones MANET. • Control centralizado dificultoso. A veces, un servidor central en una MANET no resulta útil o no es posible. Por ejemplo, un servidor central en el caso de particionado de la red inutilizará los dispositivos en todas las particiones excepto en una. • Heterogeneidad de los nodos. Obviamente, existe heterogeneidad entre los nodos en el hardware y el software, incluidos los sistemas operativos, lenguajes y bases de datos disponibles en cada plataforma. Aparte de esto, los nodos son heterogéneos en cuanto a capacidades de computación como CPU y almacenamiento, ancho de banda y capacidad de batería. Es esencial realizar un balanceo de cargas en función de sus capacidades. Mónica Erazo y Andrea Sampértegui
  • 268. Mónica Erazo y Andrea Sampértegui
  • 269.  Las características de la computación en entornos móviles podemos incluir la alta latencia de comunicaciones, la conectividad inalámbrica intermitente, la duración limitada de las baterías y, por supuesto, el cambio en la ubicación de los clientes.  La latencia está motivada por los procesos inherentes al medio inalámbrico, como la codificación de los datos para su transmisión inalámbrica, y la sintonización y el filtrado de las señales inalámbricas en el receptor. La duración de las baterías está directamente relacionada con su tamaño, e indirectamente relacionada con las capacidades del dispositivo móvil y su rendimiento global.  Las desconexiones no intencionadas suceden en áreas no cubiertas por la señal inalámbrica, por ejemplo en ascensores o en túneles. Las desconexiones intencionadas se producen por deseo del usuario, por ejemplo durante el despegue de un avión o cuando se apaga un dispositivo móvil. CARACTERÍSTICAS DE LOS ENTORNOS MÓVILES Mónica Erazo y Andrea Sampértegui
  • 270.  Toda la base de datos se encuentra distribuida principalmente entre los componentes cableados, quizá con replicación total o parcial. Una estación base o un host fijo gestiona su propia base de datos mediante una funcionalidad de tipo DBMS, con funcionalidad adicional para la localización de unidades móviles y con funciones adicionales de consulta y tratamiento de transacciones que cumplan los requisitos de los entornos móviles.  La base de datos está distribuida entre los componentes cableados e inalámbricos. La responsabilidad de la gestión de los datos se reparte entre las estaciones base o entre los hosts fijos y las unidades móviles. GESTIÓN DE DATOS Mónica Erazo y Andrea Sampértegui
  • 271.  En los próximos años se espera que los sistemas de información multimedia dominen nuestra actividad diaria. Nuestras casas estarán cableadas para permitir grandes anchos de banda que permitan interactuar con aplicaciones multimedia interactivas. Nuestras televisiones de alta definición o nuestras estaciones de trabajo tendrán acceso a un gran número de bases de datos, incluyendo librerías digitales, que distribuirán inmensas cantidades de contenido multimedia de diferentes fuentes. BASE DE DATOS MULTIMEDIA Mónica Erazo y Andrea Sampértegui
  • 272. Mónica Erazo y Andrea Sampértegui
  • 273.  GIS puede verse también como un área interdisciplinaria que incorpora muchos campos de estudio diferentes, como la Geodesia (proyecciones, vigilancia, cartografía, etc.), la Sensación Remota, la Fotogravimetría, la Ciencia Medioambiental, la Planificación de ciudades, la Ciencia Cognitiva y otras.  Como resultado, GIS se basa en los avances realizados en campos como la informática, las bases de datos, la estadística y la inteligencia artificial.  Pero en ésta nuestro interés irá encaminado a describir los desafíos planteados por GIS como uno de los dominios de aplicación emergentes para la tecnología de bases de datos. SISTEMAS DE INFORMACIÓN GEOGRÁFICA Mónica Erazo y Andrea Sampértegui
  • 274.  Hardware y software. El hardware está relacionado con los dispositivos utilizados por los usuarios finales, como los dispositivos gráficos o los plotters y los escáneres. La manipulación y el almacenamiento de los datos se consigue utilizando varios procesadores.  Datos. Los datos geográficos pueden dividirse en dos grupos principales: vectores y rasterizaciones. Las capas vectoriales en GIS se refieren a objetos discretos representados por puntos, líneas y polígonos. Las líneas están formadas por la conexión de uno o más puntos, mientras que los polígonos son conjuntos cerrados de líneas. Las capas representan geometrías que comparten un conjunto de atributos.  Personas. Las personas están implicadas en todas las fases del desarrollo de un sistema GIS y en la recopilación de los datos. Entre ellos se incluyen los cartógrafos y estudiosos que crean los mapas y http://libreria-universitaria.blogspot.com m Capítulo 30 Tecnologías y aplicaciones emergentes de bases de datos estudian el terreno, y los usuarios del sistema que recopilan los datos, los cargan en él, lo manipulan y analizan los resultados. Mónica Erazo y Andrea Sampértegui
  • 275. Mónica Erazo y Andrea Sampértegui Mónica Erazo y Andrea Sampértegui
  • 276. Mónica Erazo y Andrea Sampértegui