Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ASIGNATURA:
DOCENTE:
7 SEMESTRE - GRUPO ZA
H Y G. LERDO DE TEJADA, VER., A 06 DE OCTUBRE DE 2011
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.
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.
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
- Sin nombre
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).
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.
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)
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.
Dos son las principales razones por las que podemos crear vistas.
Seguridad, nos pueden interesar que los usuarios tengan acceso a una parte de
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.
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.
AS (SELECT nombre, apellidos, matricula, fx_alquiler, fx_devolucion FROM tAlquileres, tClientes WHERE ( tAlquileres.codigo_cliente = tClientes.codigo ))
VIEW. Para eliminar la vista que hemos creado anteriormente se uitlizara: DROP VIEW vAlquileres; Una vista se consulta como si fuese una tabla.
Texto
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.
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.
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.
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.
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.
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;
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.
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).
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
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
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
<?php mensaje(){
$error="este es el error"; ?> <script languaje="javascript"> function var error=<?php echo $error; ?>; alert(error); }
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.