La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CONSTRUCCIÓN DE BASES DE DATOS

Presentaciones similares


Presentación del tema: "CONSTRUCCIÓN DE BASES DE DATOS"— Transcripción de la presentación:

1 CONSTRUCCIÓN DE BASES DE DATOS
UNIVERSIDAD LATINA BASES DE DATOS CONSTRUCCIÓN DE BASES DE DATOS

2 Roles del implementador de la Base de Datos
Crear el esquema de la Base de Datos a partir de las instrucciones SQL Para la implementación de una Base de Datos se deben conocer las instrucciones mínimas de SQL que son de creación (CREATE DATABASE nombreBD) crear la Base de Datos Crear las tablas de la Base de Datos (CREATE TABLE nombreTabla) crea las llaves primarias y los campos relacionados. Implementar el esquema de la BD en el Manejador de la Base de Datos Inserción de datos (INSERT INTO nombreTabla) Selección de datos (SELECT campos FROM nombreTabla) Agregar llaves foraneas (ALTER TABLE tablas ADD CONSTRAINT fk_compras_1 FOREIGN KEY fk_compras_(cliente_cod) REFERENCES cliente(cliente_cod) Nota: En la actualidad existen herramientas en los manejadores de Bases de Datos que evitan el trabajo en línea de comandos.

3 Tablas Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo. Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y columnas de celdas que se pueden rellenar con textos y gráficos Las tablas se componen de dos estructuras: •Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección. •Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc. A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos. Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida) La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar.

4 Tipos de Tablas Tablas con particiones.- son tablas cuyos datos se han dividido horizontalmente entre unidades que pueden repartirse por más de un grupo de archivos de una base de datos. Tablas temporales. Hay dos tipos de tablas temporales: locales y globales. Las tablas temporales locales son visibles sólo para sus creadores. Las tablas temporales globales están visibles para cualquier usuario y conexión una vez creadas, y se eliminan cuando todos los usuarios que hacen referencia a la tabla se desconectan Tablas del sistema.- SQL Server almacena los datos que definen la configuración del servidor y de todas sus tablas en un conjunto de tablas especial, conocido como tablas del sistema. Tablas persistentes.- Son aquellas que permiten que los registros sean eliminados o borrados manualmente y tenemos de tres tipos: Base.- Es en donde se encuentra toda la información de todos los registros sin que se haga ninguna validación adicional. Vistas.- Es una vista o relación que se hace en referencia a una fila o columna específica. Instantáneos.- Son aquellos registros que se los puede ver de manera inmediata con solo una referencia. Tablas de datos.- Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo.

5 Índices El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones, permitiendo un rápido acceso a los registros de una tabla en una base de datos. Al aumentar la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuales se hacen frecuentes búsquedas. Los índices pueden ser creados usando una o más columnas, proporcionando la base tanto para búsquedas rápidas al azar como de un ordenado acceso a registros de forma eficiente. Create index pk_empleado1 on asistencia(id_empleado);

6 Vistas Una vista es la facilidad de almacenar o predefinir consultas como si fuera un objeto de la base de datos para su posterior uso. Las tablas consultadas en una vista son llamadas tablas bases. Con algunas excepciones, una sentencia SELECT puede ser llamada y almacenada como una vista. Los ejemplos mas comunes de vistas incluyen. Un extracto de campos y registros de una tabla base. La unión de dos o más tablas bases. Un join de dos o más tablas bases. Resultados estadísticos de una tabla base. Una parte de una vista o una combinación de vistas y tablas base. Ejemplo 1. Este ejemplo crea la vista VistaEmpleados en la base de datos nómina. La vista despliega 4 campos de la tabla empleados CREATE VIEW VistaEmpleados AS SELECT ID_EMPLEADO, A_PATERNO,A_MATERNO,NOMBRE FROM EMPLEADOS; Para ver los resultados SELECT * FROM VistaEmpleados; id_empleado | a_paterno | a_materno | nombre 1 | Cabrera | Lopez | Mario 2 | Gonzalez | nario | Jose 3 | Martinez | Perez | Maria 4 | Ordaz | Mana | Mario

7 Join La sentencia join en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL) hay tres tipo de JOIN: interno, externo y cruzado. Combinación interna (INNER JOIN).- Con esta operación se calcula el producto cruzado de todos los registros; así cada registro en la tabla A es combinado con cada registro de la tabla B; pero sólo permanecen aquellos registros en la tabla combinada que satisfacen las condiciones que se especifiquen. Este es el tipo de JOIN más utilizado, por lo que es considerado el tipo de combinación predeterminado. Combinación externa (OUTER JOIN).- Mediante esta operación no se requiere que cada registro en las tablas a tratar tenga un registro equivalente en la otra tabla. El registro es mantenido en la tabla combinada si no existe otro registro que le corresponda. Cruzada (Cross join).- Presenta el producto cartesiano de todos los registros de las dos tablas. El código SQL para realizar este producto cartesiano enuncia las tablas que serán combinadas, pero no incluye algún predicado que filtre el resultado. Ejemplo de combinación cruzada explícita: SELECT * FROM empleado CROSS JOIN departamento Ejemplo de combinación cruzada implícita: FROM empleado, departamento; Matemáticamente, JOIN es composición relacional, la operación fundamental en el álgebra relacional, y, generalizando, es una función de composición.

8 Stored Procedures Los Stored Procedures son un método de encapsulación repetitiva de tareas que se ejecutan eficientemente. Los Stored Procedures soportan variables definidas por el usuario, condiciones de ejecución otras poderosas herramientas de programación. Pueden: 1.Contener sentencias que realicen operaciones en la base de datos, incluyendo la habilidad de llamar otros Stored Procedures. 2.Acepta parámetros de entrada. 3.Regresa un valor del status de la transacción indica sí esta falla y el motivo del fallo. 4.Regresa múltiples valores en forma de parámetros de salida.

9 Stored Procedures Creación:
CREATE PROC[EDURE] Nombre_del_procedimiento parameter tipo_de_dato ] AS Sentecias_sql Ejemplo: CREATE PROCEDURE CONSULTA_EMPLEADOS SELECT * FROM EMPLEADOS o tambien CREATE PROC CONSULTA_EMPLEADOS Ejecución: EXECUTE CONSULTA_EMPLEADOS o EXEC CONSULTA_EMPLEADOS

10 Stored Procedures Este ejemplo crea y ejecuta un Stored Procedure dentro de una sentencia INSERT. CREATE PROCEDURE SP_EMPLEADOS AS SELECT SUBSTRING(A_PATERNO,1,3)+ SUBSTRING(A_MATERNO,1,2)+NOMBRE, SUBSTRING(COLONIA,1,1) FROM EMPLEADOS EJECUTANDO EL STORED PROCEDURE INSERT CAT_CONCEPTOS EXEC SP_EMPLEADOS

11 Triggers Son objetos relacionados con tablas y almacenados en la base datos que se ejecutan o se muestran cuando sucede algún evento sobre sus tablas asociadas. Los eventos pueden ser las sentencias INSERT, DELETE, UPDATE que modifican los datos de una tabla. Los triggeres se pueden ejecutar antes (BEFORE) y/o después (AFTER) de que sean modificados los datos. Los triggers tienen dos palabras clave, OLD y NEW que se refieren a los valores que tienen las columnas antes y después de la modificación. Los INSERT permiten NEW, los DELETE sólo OLD y los UPDATE ambas. Un ejemplo de trigger seria uno asociado a la sentencia DELETE en una tabla de clientes, para impedir que se elimine uno que tenga un saldo distinto de cero. Otro trigger seria guardar los datos que se modifican de un cliente en otra base de datos que serviria de auditoria. CREATE TRIGGER trigger_auditoria_clientes AFTER UPDATE ON clientes FOR EACH ROW INSERT INTO auditoria_clientes(name, anterior_seccion, usuario, modificado ) VALUES (OLD.nombre, OLD.seccion, CURRENT_USER(), NOW() );

12 Triggers -- SQL Server Syntax
Trigger on an INSERT, UPDATE, or DELETE statement to a table or view (DML Trigger) CREATE TRIGGER [ schema_name . ]trigger_name ON { table | view } [ WITH <dml_trigger_option> [ ,...n ] ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > } <dml_trigger_option> ::= [ ENCRYPTION ] [ EXECUTE AS Clause ] <method_specifier> ::= assembly_name.class_name.method_name

13 Ejemplo de Triggers CREATE TRIGGER dbo.clientes_Trigger ON dbo.Clientes AFTER INSERT AS PRINT 'Se modificaron filas en Clientes'; -- Luego que este creado el Trigger insertamos una fila en la tabla Clientes: INSERT INTO Clientes (Cod_id,Nombre, Apellido) VALUES ('342','Pirata','Fuentes');

14 Manejo de Transacciones
Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica. Un SGBD se dice transaccional, si es capaz de mantener la integridad de los datos, haciendo que estas transacciones no puedan finalizar en un estado intermedio. Cuando por alguna causa el sistema debe cancelar la transacción, empieza a deshacer las órdenes ejecutadas hasta dejar la base de datos en su estado inicial (llamado punto de integridad), como si la orden de la transacción nunca se hubiese realizado. Para esto, el lenguaje de consulta de datos SQL (Structured Query Language), provee los mecanismos para especificar que un conjunto de acciones deben constituir una transacción. BEGIN TRAN: Especifica que va a empezar una transacción. COMMIT TRAN: Le indica al motor que puede considerar la transacción completada con éxito. ROLLBACK TRAN: Indica que se ha alcanzado un fallo y que debe restablecer la base al punto de integridad.

15 Manejo de Transacciones
EJEMPLO: USE empresa; GO BEGIN TRANSACTION; DELETE FROM Empleados WHERE id_empleado = 2; COMMIT TRANSACTION;

16 Es devolver a la Base de datos a un estado consistente
Recuperación Un sistema de recuperación consiste en restaurar una Base de Datos a un estado que se sepa correcto, tras cualquier fallo que la haya dejado en un estado incorrecto Es devolver a la Base de datos a un estado consistente

17 Programación de la Base de Datos
Es la generación de aplicaciones utilizando lenguajes de programación y conectandolos con una Base de Datos para lograr los resultados esperados en la misma.


Descargar ppt "CONSTRUCCIÓN DE BASES DE DATOS"

Presentaciones similares


Anuncios Google