Está en la página 1de 54

INGENIERIA EN SISTEMAS COMPUTACIONALES BASE DE DATOS PARA WEB UNIDAD 2

ASIGNATURA:

ING. HERMINIO CARLIN QUEVEDO


EQUIPO. 2: DIANA GABRIELA SANCHEZ ZARATE YEHUMAR TOMEZ MONTIEL ARACELI BERENICE MENDOZA POXTAN KARLA GUADALUPE CORRO RUIZ LUIS ANGEL FERNANDEZ YPEZ ANA KAREN SANTIAGO GONZLEZ

DOCENTE:

7 SEMESTRE - GRUPO ZA
H Y G. LERDO DE TEJADA, VER., A 06 DE OCTUBRE DE 2011

2.1: Creacin de la base de datos

2.1.1: Estructura de la base de datos

Definicin de Base de Datos: coleccin o depsito integrado de

datos almacenados en soporte secundario (= no voltil), y con redundancia controlada. Los datos han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independiente de ellos y su definicin (= estructura de la base de datos) nica y almacenada junto con los datos, se ha de apoyar en un modelo de datos, el cual ha de permitir captar las interrelaciones existentes en el mundo real. Los procedimientos de actualizacin y recuperacin comunes y bien determinados, facilitarn la seguridad del conjunto de los datos.

NIVELES DE ABSTRACCIN DE UNA BASE DE DATOS


Esquema externo (= estructura lgica de usuario): visin que tiene

de la base de datos cada usuario en particular


Esquema conceptual (= estructura lgica global): enfoque del

conjunto de la empresa
Esquema interno (= estructura fsica): organizacin de los datos en

el almacenamiento fsico.

MODELO RELACIONAL
Propuesto por E. Codd. Es un modelo basado en la teora

matemtica de las relaciones, donde los datos se estructuran lgicamente, en forma de relaciones (= tablas) siendo un objetivo fundamental del modelo mantener la independencia de esta estructura lgica respecto al modo de almacenamiento y otras caractersticas de tipo fsico.

ESTTICA DEL MODELO RELACIONAL.


Relacin: Elemento bsico del modelo relacional y se puede

representar como una tabla o matriz. En ella se puede distinguir su nombre, un conjunto de columnas denominadas atributos, que representan las propiedades de la tabla y que tambin estn caracterizadas por su nombre, y un conjuntos de filas llamadas tuplas que contienen los valores que toman cada uno de los atributos de la relacin.
Clases de relaciones

- Persistentes - Con nombre


Relacin - Temporales

- Sin nombre

2.1.2: Dominios definidos por el DBA

Dominio y atributo
Dominio: conjunto finito de valores homogneos y atmicos,

caracterizados por un nombre y un tipo de datos; adems de ciertas restricciones en algunos casos Los dominios se pueden definir por extensin (= Espaa, Costa Rica, Etc.) o por intensin (Edad > 10 < 15).

Atributo: un atributo A, es el papel que juega un dominio D en una

relacin; se dice que D es el dominio de A y se denota Dom(A); as el atributo Nacionalidad de la tabla Autor, definidos sobre el dominio Nacionalidades, nos indica que dicho dominio tiene el papel de nacionalidad del autor en la tabla Autor.

2.1.3: Esquema general de la base de datos

Claves Clave Candidata: atributo o conjunto de atributos que identifican de forma nica y mnimamente cada tupla de la relacin.
Clave Primaria: aquella candidata que el usuario,

por razones ajenas al modelo relacional, escoger para representar cada tupla de la relacin. (= PK)

Clave Alternativa: aquellas candidatas que no han sido escogidas

como primaria (= Unique)

Clave Ajena: se denomina clave ajena de una relacin R2 a un

conjunto (no vaco) de atributos cuyos valores han de coincidir con los valores de la clave primaria (completa) de una relacin R1. (R2 y R1 no son necesariamente distintas.) La clave ajena ha de ser definida sobre el mismo dominio de la clave primaria a la cual referencia. Adems, se dice que la clave ajena por naturaleza es nula; es el usuario, segn el mundo real que est modelando, quien la vuelve obligatoria.

2.1.4: Creacin de vistas de la base de datos


En el modelo de datos relacional la forma de guardar la informacin no es la

mejor para ver los datos


Una vista es una consulta, que refleja el contenido de una o ms tablas, desde

la que se puede acceder a los datos como si fuera una tabla.

Dos son las principales razones por las que podemos crear vistas.
Seguridad, nos pueden interesar que los usuarios tengan acceso a una parte de

la informacin que hay en una tabla, pero no a toda la tabla.

Comodidad, como hemos dicho el modelo relacional no es el ms

cmodo para visualizar los datos, lo que nos puede llevar a tener que escribir complejas sentencias SQL, tener una vista nos simplifica esta tarea. Las vistas no tienen una copia fsica de los datos, son consultas a los datos que hay en las tablas, por lo que si actualizamos los datos de una vista, estamos actualizando realmente la tabla, y si actualizamos la tabla estos cambios sern visibles desde la vista.

Para crear una vista debemos utilizar la sentencia CREATE VIEW,

debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT vlida.

CREATE VIEW <nombre_vista> AS (<sentencia_select>);

Ejemplo: Crear una vista sobre nuestra tabla alquileres, en la que se

nos muestre el nombre y apellidos del cliente en lugar de su cdigo.

CREATE VIEW vAlquileres AS (SELECT nombre, apellidos, matricula FROM tAlquileres, tClientes WHERE ( tAlquileres.codigo_cliente = tClientes.codigo ))
Si queremos, modificar la definicin de nuestra vista podemos

utilizar la sentencia ALTER VIEW, de forma muy parecida a como lo haciamos con las tablas. En este caso queremos aadir los campos fx_alquiler y fx_devolucion a la vista.

ALTER VIEW vAlquileres

AS (SELECT nombre, apellidos, matricula, fx_alquiler, fx_devolucion FROM tAlquileres, tClientes WHERE ( tAlquileres.codigo_cliente = tClientes.codigo ))

Por ltimo podemos eliminar la vista a travs de la sentencia DROP

VIEW. Para eliminar la vista que hemos creado anteriormente se uitlizara: DROP VIEW vAlquileres; Una vista se consulta como si fuese una tabla.

2.2 Definicin del Esquema de Integridad

Texto

2.2.1 Validar y Verificar Integridad de Entidad e Integridad Referencial. Integridad de Entidad


Pretende que cada entidad que se guarda en la base de datos sea identificable de un modo nico, es decir, que evitemos la informacin redundante. La identificacin de entidades no es nica, podemos tener varios modos de entidad para un mismo objeto real .

Estas pueden ser de diferente carcter:


Entidades fsicas: un libro, un empleado. Entidades conceptuales: una empresa. Entidades como eventos: una alerta de nuestra agenda que nos recuerda una tarea.

La integridad de entidad define una fila como entidad nica para una tabla determinada. Exige la integridad de las columnas, de los identificadores o la clave principal de una tabla, mediante ndices y restricciones UNIQUE, o restricciones PRIMARY KEY o IDENTITY Una tabla puede tener solo una restriccin PRIMARY KEY, y ninguna columna que participa de la clave primaria puede aceptar nulos. Cuando se especifica una restriccin PRIMARY KEY para una tabla, SQL asegura la unicidad de los datos creando un ndice principal para las columnas de la clave primaria. Cada tabla puede tener slo una columna de identificacin, la que contendr una secuencia de valores generados por el sistema que unvocamente identifican a cada fila de la tabla

Por ejemplo, si dos o ms tuplas tuvieran nulo en su clave primaria, tal vez no podramos distinguirlas.

Integridad Referencial
A menudo queremos asegurar que un valor que aparece en una relacin para un conjunto de atributos dado tambin aparece para un cierto conjunto de atributos en otra relacin. Esto se llama integridad referencial.
Las restricciones de integridad referencial se representan frecuentemente. Si obtenemos el esquema de base de datos relacional construyendo tablas desde diagramas E-R, entonces todas las relaciones que surgen de un conjunto de relaciones tienen restricciones de integridad referencial.

Entonces la integridad referencial:

Protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas.
Se basa en las relaciones entre claves externas y claves principales, mediante restricciones FOREIGN KEY y CHECK. Garantiza que los valores de clave sean coherentes en las distintas tablas.

Para conseguir esa coherencia, es preciso que no haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se cambien en consecuencia en toda la base de datos.

Cuando se exige la integridad referencial, SQL impide a los usuarios:

Agregar o cambiar filas en una tabla relacionada si no hay ninguna fila asociada en la tabla principal.
Cambiar valores en una tabla principal que crea filas hurfanas en una tabla relacionada. Eliminar filas de una tabla principal cuando hay filas relacionadas coincidentes

Texto

Por ejemplo, en las tablas Sales.SalesOrderDetail y Production.Product de una base de datos X, la integridad referencial se basa en la relacin entre la clave externa (ProductID) de la tabla Sales.SalesOrderDetail y la clave principal (ProductID) de la tabla Production.Product. Esta relacin garantiza que un pedido de ventas no pueda nunca hacer referencia a un producto que no existe en la tabla Production.Product.

2.2.2 Creacin de disparadores (Triggers)


Un trigger (o disparador) en una Base de datos , es un procedimiento que se ejecuta cuando se cumple una condicin establecida al realizar una operacin.
Dependiendo de la base de datos, los triggers pueden ser de insercin (INSERT), actualizacin (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos. Texto

Usos
La estructura bsica de un trigger es:
Llamada de activacin: es la sentencia que permite "disparar" el cdigo a ejecutar.

Restriccin: es la condicin necesaria para realizar el cdigo. Esta restriccin puede ser de tipo condicional o de tipo nulidad.
Accin a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.

Texto

Tipos
Existen dos tipos de disparadores que se clasifican segn la cantidad de ejecuciones a realizar:
Row Triggers (Disparadores de fila): son aquellas que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al trigger Statement Triggers (Disparadores de secuencia): son aquellos que sin importar la cantidad de veces que se cumpla con la condicin, su ejecucin es nica. Pueden ser de sesin y almacenados; pero no son de fiar.

Efectos y caractersticas
No aceptan parmetros o argumentos (pero podran almacenar los datos afectados en tablas temporales).
No pueden ejecutar las operaciones COMMIT o ROLLBACK por que estas son parte de la sentencia SQL del disparador (nicamente a travs de transacciones autnomas). Pueden causar errores de mutaciones en las tablas, si se han escrito de manera deficiente.

Ejemplo
Usando una sintaxis bsica: create trigger NOMBREDISPARADOR on NOMBRETABLA for EVENTO- insert, update o delete as SENTENCIAS

"create trigger" junto al nombre del disparador. "on" seguido del nombre de la tabla o vista para la cual se establece el trigger. luego de "for", se indica la accin (evento, el tipo de modificacin) sobre la tabla o vista que activar el trigger. Puede ser "insert", "update" o "delete". Debe colocarse al menos UNA accin, si se coloca ms de una, deben separarse con comas. Luego de "as" viene el cuerpo del trigger, se especifican las condiciones y acciones del disparador; es decir, las condiciones que determinan cuando un intento de insercin, actualizacin o borrado provoca las acciones que el trigger realizar.

2.2.3: Creacin de procedimientos almacenados Un procedimiento almacenado (stored procedure en ingls) es un programa (o procedimiento) el cual es almacenado fsicamente en una base de datos. Su implementacin vara de un gestor de bases de datos a otro. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una peticin de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y slo necesita enviar sus resultados de regreso al usuario, deshacindose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.

Usos
Validacin de datos siendo integrados a la estructura de base de datos (los procedimientos almacenados utilizados para este propsito a menudo son llamados disparadores; triggers en ingls), o encapsular un proceso grande y complejo. Otro uso comn es la 'encapsulacin' de un API para un proceso complejo o grande que podra requerir la 'ejecucin' de varias consultas SQL, tales como la manipulacin de un 'dataset' enorme para producir un resultado resumido. Tambin pueden ser usados para el control de gestin de operaciones, y ejecutar procedimientos almacenados dentro de una transaccin de tal manera que las transacciones sean efectivamente transparentes para ellos.

Ventajas
Los procedimientos pueden ser ventajosos: Cuando una base de datos es manipulada desde muchos programas externos. Al incluir la lgica de la aplicacin en la base de datos utilizando procedimientos almacenados, la necesidad de embeber la misma lgica en todos los programas que acceden a los datos es reducida. Esto puede simplificar la creacin y, particularmente, el mantenimiento de los programas involucrados.

Podemos ver un claro ejemplo de estos procedimientos cuando requerimos realizar una misma operacin en un servidor dentro de algunas o todas las bases de datos y a la vez dentro de todas o algunas de las tablas de las bases de datos del mismo. Para ello podemos utilizar a los Procedimientos almacenados auto creables que es una forma de generar ciclos redundantes a travs de los procedimientos almacenados. Adems, un procedimiento almacenado, en respuesta a una peticin de usuario, est directamente bajo el control del motor del manejador de bases de datos, lo cual corre generalmente en un servidor separado de manejador de bases de datos aumentando con ello, la rapidez de procesamiento de requerimientos del manejador de bases de datos.

El servidor de la base de datos tiene acceso directo a los datos necesarios para manipular y slo necesita enviar el resultado final al usuario. Los procedimientos almacenados pueden permitir que la lgica del negocio se encuentre como un API en la base de datos, que pueden simplificar la gestin de datos y reducir la necesidad de codificar la lgica en el resto de los programas cliente. Esto puede reducir la probabilidad de que los datos sean corrompidos por el uso de programas clientes defectuosos o errneos. De este modo, el motor de base de datos puede asegurar la integridad de los datos y la consistencia, con la ayuda de procedimientos almacenados.

Ejemplo
Desde MySQL 5 los procedimientos almacenados empezaron a ser soportados, como suele suceder en MySQL las sentencias se ejecutan luego de escribir el signo punto y coma (;) por esta razn antes de escribir el procedimiento almacenado la funcin del punto y coma se asigna a otros caracteres usando la sentencia DELIMITER seguida de un caracter tal como |, de esta manera el procedimiento puede ser escrito usando los punto y comas sin que se ejecute mientras se escribe; despus de escrito el procedimiento, se escribe nuevamente la sentencia DELIMITER; para asignar al punto y coma su funcin habitual.

2.4: DEFINICION DEL ESQUEMA DE RECUPERACION

ESQUEMA DE RECUPERACION
El esquema de recuperacin propuesto usa un

recurso ontolgico como repositorio y fuente de representacin de los conceptos, y un algoritmo de ranking. A partir del mismo, se presentan cinco modelos de recuperacin que son obtenidos utilizando a WordNet como recurso ontolgico y diferentes mtodos de ranking. La evaluacin de los modelos es realizada en la tarea de Desambiguacin del Sentido de las Palabras y en la descripcin de colecciones de textos.

Diseo y creacin de la bitcora


que es una bitacora ? Las bitcoras existen por doquier. En tiempos recientes se ha desatado toda una carrera por crear bitcoras. Con el uso creciente de filtros para correo electrnico, las compaas ya no confan en mandar boletines informativos, ahora utilizan las bitcoras para mejorar la comunicacin con su sitio, especialmente si est en constante cambio. Bsicamente una bitcora, es un lugar que se actualiza regularmente, a veces diario, con la participacin ms reciente en la parte superior. Existe generalmente un calendario o lista de participaciones anteriores con acceso a ellas. Una bitcora puede significar diferentes actividades. Algunas existen como un diario personal que registra los pensamientos y los acontecimientos del da. Se pueden compartir puntos de vista en temas diversos con el resto del mundo. Las participaciones en las bitcoras son generalmente casuales y no demasiado extensas. Para otros, puede ser un instrumento poderoso de marketing atrayendo personas a su sitio web para leer acerca de las ltimas noticias. En resumen, una bitcora es una forma ms personal de llegar al usuario, compartir informacin y construir un sentido de comunidad todo al mismo tiempo.

Recuperacin a partir de la bitcora


Recuperacion de transacciones: Una transaccin es una unidad lgica de trabajo.

Supongamos, que la tabla P, la de partes, contiene un campo adicional CANTTOTAL que representa la cantidad total enviada de la parte en cuestin; el valor de CANTTOTAL para una parte dada es igual a la suma de todos los valores SP.CANT de todos los registros SP correspondientes a esa parte. Consideremos ahora la siguiente secuencia de operaciones, cuya intencin es aadir un nuevo envo (S5, P1, 1000) a la BD:

EJEMPLO

EXEC SQL WHENEVER SQLERROR GO TO ANUAR; EXEC SQL INSERT INTO SP (S#, P#, CANT) VALUES (S5, P1, 1000); EXEC SQL UPDATE P SET CANTTOTAL = CANTTOTAL + 100 WHERE P# = P1; EXEC SQL COMMIT; GO TO TERMINAR; ANULAR: EXEC SQL ROLLBACK; TERMINAR: RETURN;

Esta operacin implica en realidad 2 modificaciones

de la BD. La BD ni siquiera es consistente entre esas 2 modificaciones; viola en forma temporal el requerimiento segn el cual el valor de CANTTOTAL para la parte P1 debe ser igual a la suma de todos los valores SP.CANT correspondientes a esa parte.

Respaldar bases de datos


Como respaldar una base de datos

Oprima el botn Respaldar.

Aparecer la siguiente pantalla

Seleccione la unidad o carpeta donde desea guardar el archivo de

respaldo de la base de datos. Se recomienda guardar el archivo en otra computadora o en un dispositivo de almacenamiento ( Memoria USB, Unidad ZIP etc..). que se realizo el respaldo forman parte del nombre del archivo que se genero, puede guardar el archivo con el nombre que se genera automticamente o editarlo.( La base de datos se guarda en un archivo.pvd).

El nombre del archivo aparece automticamente. La fecha y hora en

Oprima el botn Save (Guardar). Aparecer la siguiente ventana:

Aparecera la siguiente pantalla

Recuperar bases de datos


Como recuperar la base de datos ? Normalmente, los datos se restauran antes de ser recuperados. Sin embargo, es posible recuperar la base de datos sin restaurar una copia de seguridad; por ejemplo, en archivos de slo lectura coherentes con la base de datos. Esto se conoce como restauracin de slo recuperacin. Una restauracin de slo recuperacin se aplica a aquellos casos en los que los datos ya son coherentes con la base de datos y slo es necesario lograr que estn disponibles. El objetivo es completar la recuperacin y poner en lnea los datos afectados. En una operacin de restauracin de slo recuperacin los datos del grupo de archivos sin conexin pasan a estar en lnea; no se produce ninguna fase de copia de datos, rehacer ni deshacer. Para obtener informacin

acerca de las fases de la restauracin, vea Una restauracin de slo recuperacin puede tener lugar para un archivo, un grupo de archivos o una base de datos completa, como se describe a continuacin:

Una restauracin de slo recuperacin puede resultar til en la siguiente situacin: Una base de datos se restaura por etapas. Una vez finalizada la restauracin del grupo de archivos principal, uno o varios de los archivos no restaurados son coherentes con el nuevo estado de la base de datos; esto puede deberse a que la base de datos ha sido de slo lectura durante algn tiempo. Estos archivos slo necesitan recuperarse, no es necesario copiar los datos. La sintaxis de RESTORE para un restauracin de slo recuperacin de archivos es: RESTORE DATABASE database_name { FILE =logical_file_name | FILEGROUP =logical_filegroup_name }[ ,...n ] WITH RECOVERY Una restauracin de slo recuperacin de base de datos puede resultar til en las siguientes situaciones:
No se recuper la base de datos al restaurar la ltima copia de

seguridad en una secuencia de restauracin, pero ahora se desea recuperar la base de datos para ponerla en lnea. La base de datos est en modo de espera y desea que se pueda actualizarla sin aplicar otra copia de seguridad de registros. La sintaxis de RESTORE para un restauracin de slo recuperacin de bases de datos es: RESTORE DATABASE database_name WITH RECOVERY

2.5: Diseo y Procedimiento de Transacciones

2.5.1: Definicin de Transacciones


Una transaccin es una unidad lgica de trabajo, la cual no necesariamente
consta de una sola operacin en la base de datos; ms bien, es en general una secuencia de varias de esas operaciones mediante la cual un estado consistente de la base de datos se transforma en otro estado consistente, sin conservar por fuerza la consistencia en todos los puntos intermedios.

El punto importante aqu es asegurar que la base de datos regresa a un estado consistente al fin de la ejecucin de una transaccin. Una transaccin es tambin la invocacin a un procedimiento remoto (RPC) que ejecuta un conjunto de operaciones sobre una base de datos bajo el principio de todo o nada.

El concepto transaccin es usado dentro del dominio de la base de datos como una unidad bsica de cmputo consistente y confiable.

TIPOS DE TRANSACCIONES
Transacciones simples distribuidas. Una T simple puede correr en sitios mltiples y actualizar recursos localizados dentro de administradores de recursos mltiples. Un syncpoint es un punto de sincronizacin que permite el guardado peridico

del trabajo acumulado dentro de una transaccin, permitiendo de esta forma


dar marcha atrs al trabajo sin, abortar la transaccin. Sin embargo este trabajo no es almacenado permanentemente, por lo que si el sistema se colapsa el trabajo se pierde. Las transacciones encadenadas son una variacin de los syncpoint que convierten en durable el trabajo acumulado.

Transacciones anidadas
Transacciones anidadas. Ofrecen la posibilidad de definir transacciones dentro de otras transacciones. cada subtransaccin puede emitir una grabacin o retroceso para las piezas de trabajo asignadas.

Transacciones simples.
Todas las operaciones se llevan acabo en el mismo nivel dentro de una T La
Transaccin empieza con un begin_transaction y termina ya sea con un commit_transaction o abort_transaction. Toda la transaccin es indivisible. En un principio las Transacciones simples fueron suficientes por su sencillez y por su adaptacin a operaciones bancarias breves

2.5.2: Ejecucin de Transacciones planas


El lenguaje SQL puede actuar como si fuera un lenguaje husped, es decir, que puede interactuar dentro de un lenguaje distinto como puede ser el cobol, el visual Basic, el C++, etc.

El codigo javascript con php, el php se ejecuta primero as que es el php el

que crea el javascript

<?php mensaje(){

$error="este es el error"; ?> <script languaje="javascript"> function var error=<?php echo $error; ?>; alert(error); }

2.5.3: Ejecucin de Transacciones anidadas


nos ofrece el SQL Server es utilizar transacciones anidadas Esto quiere decir que podemos tener transacciones dentro de transacciones, es decir, podemos empezar una nueva transaccin sin haber terminado la

anterior.
La dificultad de trabajar con transacciones anidadas est en el comportamiento que tienen ahora las sentencias COMMIT TRAN y

ROLLBACK TRAN
ROLLBACK TRAN: Dentro de una transaccin anidada esta sentencia deshace todas las transacciones internas hasta la instruccin BEGIN TRANSACTION ms externa.