Fragmentación de Datos

Slides:



Advertisements
Presentaciones similares
Diseño de Bases de Datos
Advertisements

SQL Y BASES DE DATOS A TRAVÉS DE LA WEB
SQL Sigla del nombre “Structured Query Language”.
integridad referencial
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
Base de Datos Orientada a Objetos (OODBMS)
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a PL/SQL Conceptos básicos.
BASES DE DATOS DISTRIBUIDAS
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Fernando Velasco
Arquitecturas de las BDD
SQL G r u p o
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DDL Ing. Alfonso Vicente, PMP
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
Sistema de gestión de las bases de datos (SGBD).
4/2/ :49 PM BASE DE DATOS © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may.
4.3. Privilegios de usuarios
Bases de Datos Distribuidas Por: Israel Miralles y Vicente Toledo.
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
MySQL M.C. Pedro Bello López.
UNIDAD I Conceptos Básicos.
LENGUAJE “C” Programación.
MSC. RUTH VEGA BASES DE DATOS SQL SERVER
Integrantes: Peter velazques Andres heredia Juan Mendez
Administración de Bases de Datos
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Componentes sintácticos
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Tipos de campos de una base de datos Campos numéricos Fechas Campos de texto.
1 Microcomputación II Unidad II Administración de datos con MS-SQL Server y Visual Basic Introducción a Transact – SQL: Select, Delete, Update. Tema:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Mayo de 2009Dos Ideas - La visión de Sistemas desde el Desarrollo Manipulación de Datos Conceptos básicos.
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
STRUCTURED QUERY LANGUAGE
Tema 2: Base de datos relacionales
INSTRUCCIONES Elaboración de la Presentación:
Introducción a Bases de Datos en Microsoft Access Programación de Computadoras 2 Sección: P.
BASES DE DATOS DISTRIBUIDAS
LENGUAJE SQL.
Structured Query Language (Lenguaje Estructurado de Consultas)
BASES DE DATOS MySQL.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
SQL Sigla del nombre “Structured Query Language”.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.
INSTRUCCIONES Elaboración de la Presentación:
Ing. Eddye Sánchez Castillo FACULTAD DE INGENIERIA Escuela Profesional de Computación y Sistemas BASE DE DATOS I.
MySQL LENGUAJE SQL.
Prof. De Bases de Datos: Lcdo. Luis Peña. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query.
Diseña y administra base de datos avanzadas
Lenguaje SQL. Permite la definición de la base de datos mediante el lenguaje de definición de datos (DDL, Data Definition Lenguaje) Permite a los usuarios.
Tema 11 Bases de Datos y el Lenguaje SQL
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Qué es SQL? Sentencias básicas
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
SQL El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos.
(Lenguaje de consulta estructurado)
Base de Datos Conjunto de tablas organizadas y posiblemente relacionados entre si. Las tablas son las que almacenan la información.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
ORACLE SQL - DCL.
 Definir conceptos fundamentales de las BDD como DTM y DBMS.  Conocer el esquema actual de la Base de datos de la UNACH.  Analizar cuándo utilizar.
SQL: DDL.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Administrador de Bases de Datos.  Características:  Libre.- puede descargarse de forma gratuita  Facilidad de uso.- gracias a aplicaciones como phpMyAdmin.
SQL Lenguaje de Consulta estructurado (structured query language) Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar.
Transcripción de la presentación:

Fragmentación de Datos Bases de Datos Distribuidas

Bases de datos distribuidas Se encuentran en diferentes maquinas, generalmente en localidades geográficas distintas BD Universidad Ingeniería Rectorado Humanidades Recordando la clase anterior

Bases de datos distribuidas Nodos o emplazamientos: Cada uno de los ordenadores que integran la base de datos BD Universidad Ingeniería Rectorado Humanidades

Bases de datos distribuidas Transacciones: Todas las acciones que se generan en la base de datos Locales Globales BD Universidad Ingeniería Rectorado Humanidades

Transacciones Propiedades ACID: Atomicidad Consistencia Aislamiento Durabilidad Atomicidad: una transacción debe de ser una unidad atómica de trabajos, es decir o todas las operaciones se llevan a cabo o no se realiza ninguna de ellas. Consistencia: cuando se termina una transacción se debe de dejar la bases de datos en un estado consistente. Aislamiento: las modificaciones realizadas por una transacción deben de aislarse de posibles transacciones concurrentes. Una transacción debe de ver los datos antes de que otra los modifique o luego de ser modificados, nunca en un estado intermedio. Durabilidad: Una vez que la transacción haya terminado con éxito.

Bases de datos distribuidas Un sistema de Base de datos es distribuido si: Los distintos nodos están informados sobre los demás. Aunque algunas tablas estén almacenadas sólo en algunos nodos, éstos comparten un esquema global común. Cada nodo proporciona un entorno de ejecución de transacciones, tanto local, como global.

Bases de datos distribuidas Ventajas: Compartimiento de datos Autonomía Disponibilidad Compartimiento: Los usuarios de un nodo son capaces de acceder a los datos de otro nodo. Por ejemplo, desde el Rectorado, se puede consultar los datos de los alumnos de Informática. Autonomía: Cada nodo tiene cierto grado de control sobre sus datos, en un sistema centralizado, hay un administrador del sistema responsable de los datos a nivel global. Cada administrador local puede tener un nivel de autonomía local diferente Disponibilidad: Si en un sistema distribuido falla un nodo, los nodos restantes pueden seguir funcionando. Si se duplican los datos en varios nodos, la transacción que necesite un determinado dato puede encontrarlo en cualquiera de los diferentes nodos.

Bases de datos distribuidas Desventajas: Costo de desarrollo del software Mayor probabilidad de errores Mayor sobrecarga de procesamiento Coste de desarrollo del software. La complejidad añadida que es necesaria para mantener la coordinación entre nodos hace que el desarrollo de software sea más costoso. Mayor probabilidad de errores. Como los nodos que constituyen el sistema funcionan en paralelo, es más difícil asegurar el funcionamiento correcto de los algoritmos, asícomo de los procedimientos de recuperación de fallos del sistema. Mayor sobrecarga de procesamiento. El intercambio de mensajes y ejecución de algoritmos para el mantenimiento de la coordinación entre nodos supone una sobrecarga que no se da en los sistemas centralizados.

Arquitectura Referencial Esquema Global Esquema de Fragmentación Esquema de Asignación Esquema de Mapeo local 1 DBMS del sitio 1 Esquema de Mapeo local 2 DBMS del sitio 2 Esquema de Mapeo local N DBMS del sitio N BD1 BD1 BD1

Almacenamiento de Datos Replicación Fragmentación Vertical Horizontal Nuevo contenido

Replicación El sistema conserva varias copias o réplicas idénticas de una tabla. Cada réplica se almacena en un nodo diferente Ventajas: Disponibilidad: Tolerancia a fallos Aumento del paralelismo: Cada emplazamiento puede realizar consultas sobre su replica de datos Desventajas: Sobrecarga en las actualizaciones

Fragmentación Vertical Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de proyección Cada fragmento se sitúa en un nodo Cada fragmento debe incluir la clave primaria de la tabla. Su reconstrucción se realizará con una operación de join de los fragmentos componentes

Fragmentación horizontal: Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen a través de una operación de selección su reconstrucción se realizará con una operación de unión de los fragmentos componentes Cada fragmento se sitúa en un nodo

Esquemas Mixtos Fragmentación Mixta: Replica y fragmentación: Aplicación de la fragmentación horizontal y vertical sobre una misma Tabla Replica y fragmentación: Replicar fragmentos o Fragmentar replicas

Se puede realizar alta disponibilidad en SQL Server En resumen Replicación: El sistema guarda varias réplicas (copias) idénticas de la base de datos y guarda cada réplica en un sitio diferente. Fragmentación: El sistema divide la base de datos en varios fragmentos y guarda cada fragmento en un sitio diferente. También existen híbridas, donde se conjugan ambos aspectos. Se puede realizar alta disponibilidad en SQL Server

¿Qué es SQL? Structured Query Language (Lenguaje de consulta estructurado) es un lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL). Las aplicaciones en red son cada día más numerosas y versátiles. En muchos casos, el esquema básico de operación es una serie de scripts que rigen el comportamiento de una base de datos. Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal.

Historia del SQL Es un lenguaje usado para comunicarse con la base de datos Fue desarrollado originalmente por IBM en la década del 70 Fue inicialmente llamado Sequel En 1986, ANSI presentó un nuevo estándar llamado SQL-86 Existe una versión llamada SQL-99 (SQL3) estándar que es muy utilizada Es ampliamente aceptado como un estándar en implementaciones de RDBMS

El hecho de que sea estándar no quiere decir que sea idéntico para cada base de datos. En efecto, determinadas bases de datos implementan funciones específicas que no tienen necesariamente que funcionar en otras. Aparte de esta universalidad, el SQL posee otras dos características: Presenta una potencia y versatilidad notables Su accesibilidad de aprendizaje.

Los tipos de datos SQL Se clasifican en 13 tipos de datos primarios y de varios sinónimos válidos reconocidos por dichos tipos de datos. Los tipos de datos primarios son: Tipo de Datos Longitud Descripción BINARY 1 byte Para consultas sobre tabla adjunta de productos de bases de datos que definen un tipo de datos Binario. BIT Valores Si/No ó True/False BYTE Un valor entero entre 0 y 255. COUNTER 4 bytes Un número incrementado automáticamente (de tipo Long) CURRENCY 8 bytes Un entero escalable entre 922.337.203.685.477,5808 y 922.337.203.685.477,5807. DATETIME Un valor de fecha u hora entre los años 100 y 9999. SINGLE Un valor en punto flotante de precisión simple con un rango de - 3.402823*1038 a -1.401298*10-45 para valores negativos, 1.401298*10- 45 a 3.402823*1038 para valores positivos, y 0.

Los tipos de datos SQL DOUBLE 8 bytes Un valor en punto flotante de doble precisión con un rango de - 1.79769313486232*10308 a -4.94065645841247*10-324 para valores negativos, 4.94065645841247*10-324 a 1.79769313486232*10308 para valores positivos, y 0. SHORT 2 bytes Un entero corto entre -32,768 y 32,767. LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647. LONGTEXT 1 byte por carácter De cero a un máximo de 1.2 gigabytes. LONGBINARY Según se necesite De cero 1 gigabyte. Utilizado para objetos OLE. TEXT De cero a 255 caracteres

Sinónimos de los tipos de datos definidos: Tipo de Dato Sinónimos BINARY VARBINARY BIT BOOLEAN LOGICAL LOGICAL1 YESNO BYTE INTEGER1 COUNTER AUTOINCREMENT CURRENCY MONEY DATETIME DATE TIME TIMESTAMP SINGLE FLOAT4 IEEESINGLE REAL

Sinónimos de los tipos de datos definidos: Tipo de Dato Sinónimos DOUBLE FLOAT FLOAT8 IEEEDOUBLE NUMBER NUMERIC SHORT INTEGER2 SMALLINT LONG INT INTEGER INTEGER4 LONGBINARY GENERAL OLEOBJECT LONGTEXT LONGCHAR MEMO NOTE TEXT ALPHANUMERIC CHAR - CHARACTER STRING - VARCHAR VARIANT (No Admitido) VALUE

Manipulación de datos SELECT INSERT DELETE UPDATE Tipos de sentencias Dependiendo de las tareas, estas sentencias se pueden clasificar en tres grupos principales (DML, DDL,DCL) y un cuarto grupo de programación avanzada en SQL (PLSQL) SENTENCIA DESCRIPCIÓN DML Manipulación de datos SELECT INSERT DELETE UPDATE Recupera datos de la base de datos. Añade nuevas filas de datos a la base de datos. Suprime filas de datos de la base de datos. Modifica datos existentes en la base de datos. DDL Definición de datos CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SYNOYM DROP SYNONYM Añade una nueva tabla a la base de datos. Suprime una tabla de la base de datos. Modifica la estructura de una tabla existente. Añade una nueva vista a la base de datos. Suprime una vista de la base de datos. Construye un índice para una columna. Suprime el índice para una columna. Define un alias para un nombre de tabla. Suprime un alias para un nombre de tabla.

SQL Programático DECLARE OPEN FETCH CLOSE DDL Definición de datos CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SYNOYM DROP SYNONYM Añade una nueva tabla a la base de datos. Suprime una tabla de la base de datos. Modifica la estructura de una tabla existente. Añade una nueva vista a la base de datos. Suprime una vista de la base de datos. Construye un índice para una columna. Suprime el índice para una columna. Define un alias para un nombre de tabla. Suprime un alias para un nombre de tabla. DCL Control de acceso GRANT REVOKE Control de transacciones COMMIT ROLLBACK Concede privilegios de acceso a usuarios. Suprime privilegios de acceso a usuarios Finaliza la transacción actual. Regresa la transacción actual. PLSQL SQL Programático DECLARE OPEN FETCH CLOSE Define un cursor para una consulta. Abre un cursor para recuperar resultados de consulta. Recupera una fila de resultados de consulta. Cierra un cursor.

Componentes sintácticos La mayoría de sentencias SQL tienen la misma estructura. Todas comienzan por un verbo (select, insert, update, create), a continuación le sigue una o más clausulas que nos dicen los datos con los que vamos a operar (from, where), algunas de estas son opcionales y otras obligatorias como es el caso del from.