Procesamiento de Datos

Slides:



Advertisements
Presentaciones similares
SQL Sigla del nombre “Structured Query Language”.
Advertisements

integridad referencial
CRISTINA TIGLLA NOVENO F
Arquitecturas de BD Modelo ANSI/SPARC
Sistemas de Gestión de Bases de Datos (SGBD’s)
BASE DE DATOS OBJETO RELACIONAL
Introducción a LAS Bases de Datos
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
Fernando Velasco
Teórico: Modelo Relacional
Introducción a los Sistemas de Bases de Datos
SQL G r u p o
¿QUÉ SON LAS BASES DE DATOS?
Modelos de Datos Modelado y Diseño de Bases de Datos
INTELIGENCIA ARTIFICIAL
Estadística Computacional I
Introduccion a base de datos
Sistema de gestión de las bases de datos (SGBD).
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Introducción a los Conceptos de Bases de Datos Docente: Ing. Marleny Soria Medina.
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.
SQL Lenguaje de consulta estructurado
Introducción a los SGBD Profesor Julio Telot González Universidad de Matanzas “Camilo Cienfuegos” Cuba.
Lenguajes Formales de Consulta
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
Viviana Poblete López Módulo: Modelo 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
Introducción a la Base de Datos
Introducción A Las Bases De Datos
BASE DE DATOS BY: Julián Villar Vázquez.
UNIVERSIDAD LATINA BASES DE DATOS.
Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015.
Modelos de Bases de Datos
COMANDOS SQL.
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL Ing. Johanna Vargas Esp. Gerencia de proyectos.
Tema 2: Base de datos relacionales
Introducción a Bases de Datos en Microsoft Access Programación de Computadoras 2 Sección: P.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
LENGUAJE SQL.
Seminario de Informática Elementos Conceptuales
Bases de Datos Sql.
Structured Query Language (Lenguaje Estructurado de Consultas)
Restricciones de Integridad
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Métrica v2.1 Técnicas: Modelado de datos (Parte 1)
Lenguaje Estructurado de Consulta
SQL Sigla del nombre “Structured Query Language”.
¿Qué es una Base de datos?
SISTEMA DE BASE DE DATOS
INSTRUCCIONES Elaboración de la Presentación:
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.
Tema 11 Bases de Datos y el Lenguaje SQL
Tipos de Datos.
Bases de Datos Modelo Relacional.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
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.
(Lenguaje de consulta estructurado)
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.
Lenguaje SQL.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
Unidad 6. Tema 4. Lenguaje de consultas SQL
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
SQL: DDL.
INTEGRACION DE LAS TECNOLOGIAS DE LA INFORMACION Y COMUNICACION Implementación de base de datos (Lenguaje de manipulación de datos) Ing. Linda Masias Morales.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
Transcripción de la presentación:

Procesamiento de Datos Universidad de Los Lagos Miguel Angel Barahona Ingeniero Informático – UTFSM Magíster en Gestión y Tecnología UC PMP Certificated

Visión de los Datos …… Nivel Lógico Nivel Físico Nivel de Vistas Un sistema de Base de Datos es una colección de datos interrelacionados y un conjunto de programas que permiten a los usuarios tener acceso a los datos y modificarlos. Una de las principales finalidades de los sistemas de BD es ofrecer a los usuarios una visión abstracta de los datos, es decir, el sistema oculta ciertos detalles del modo en como se almacenan y mantienen los datos. Se ocultan la complejidad a los usuarios mediante varios niveles de abstracción para simplificar la interacción de los usuarios con el sistema: Nivel de Vistas …… Vista 1 Vista 2 Vista N Nivel Lógico Nivel Físico

Modelos de Datos Bajo la estructura de las BD se encuentra el modelo de datos, que es una colección de herramientas conceptuales para describir los datos, sus relaciones, su semántica y las relaciones de consistencia. Los modelos de datos pueden clasificarse en cuatro categorias diferentes: Modelo Relacional: Usa una colección de tablas para representar tanto los datos como sus relaciones. Cada tabla tiene varias columnas y cada columna tiene un nombre único. Este modelo esta basado en registros. Cada tabla contiene registros, cada registro contiene un número fijo de campos o attributos. Las columnas de la tabla corresponden a los atributos del registro. Ampliamente usado. Modelo Entidad-Relación (E-R): Se basa en una percepción del mundo real. Ampliamente usado. Modelo de datos Orientado a Objetos: El modelo de datos OO es otro modelo que esta teniendo una utilización creciente. Es una extensión del E-R sumada la encapsulación. Modelo de Datos Semiestructurado: XML.

Modelo Entidad-relación

Lenguajes de Bases de Datos Los Sistemas de BD proporcionan un lenguaje de definición de datos para especificar el esquema de la BD y un lenguaje de manipulación de datos para expresar las consultas y la manipulación de la BD. En la práctica, los lenguajes de definición y manipulación de los datos no son dos lenguajes diferentes, simplemente forman parte de un único lenguaje de BD, como por ejemplo SQL. Lenguaje de Manipulación de Datos (LMD): El LMD es un lenguaje que permite a los usuarios tener acceso a los datos organizados mediante el modelo de datos correspondiente o manipularlos. Los tipos de acceso son: La recuperación de la información almacenada en la BD La inserción de información nueva en la BD El borrado de la información de la BD La modificación de la información almacenada en la BD

Restricciones de Integridad de las BD Restricciones de Dominio: Se debe asociar un dominio de valores posible a cada atributo, por ejemplo: enteros, carácter, fecha/hora, etc.. La declaración de un atributo como parte de un dominio concreto actúa como restricción de los valores que puede adoptar. Esta es la forma más elemental de restricción de integridad. Integridad Referencial: Hay casos en los que se desea asegurar que un valor que aparece en una relación para un conjunto de atributos dado aparece también para un conjunto de atributos de una relación. Por ejemplo, NDEPTO de EMPLEADO debe coincidir con el DNUMERO de alguna tupla de la relación DEPARTAMENTO: EMPLEADO Nombre Apellido RUT Fecha_Nac DIRECCION SEXO SUELDO NDEPTO Juan Pérez 12345678 09-01-1955 Toesca 965 M 120 5 Alicia Zelaya 99988777 19-07-1958 Blanco 2120 F 105 4 DEPARTAMENTO Nombre DNUMERO RUT_Gte Of. Central 1 88866555 Administración 4 98765432 Investigación 5 33344555 Autorización: Se pueden diferenciar los usuarios en cuanto al tipo de acceso que se les puede dar a las distintas BD o tablas de estas. Las modalidades más frecuentes de autorización son: lectura, inserción, eliminación, actualización. para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificación y protección de los datos.

Bases de Datos Relacionales Las BD relacionales se basan en el modelo relacional y usan un conjunto de tablas para representar tanto los datos como las relaciones entre ellos. Incluyen un LMD y un LDD. La mayor parte de las BD utilizan el lenguaje SQL. Tablas Una BD posee una o muchas tablas, cada tabla tiene varias columnas y cada columna tiene un nombre único. Por ejemplo: Clientes Id_Cliente Nombre Direccion Ciudad 12456789 Juan Arauco 123 Santiago 14440720 Carlos Alameda 234 15890521 Olivia Ahumada 230 El modelo relacional es un ejemplo de modelo basado en registros de formato fijo de varios tipos. Cada tabla contiene registros de un tipo dado. Cada tipo de registros define un número fijo de campos o atributos. Las columnas de la tabla corresponden a los atributos del registro. Las tablas pueden ser almacenadas en archivos, delimitando los atributos de la tabla.

Arquitectura de Bases de Datos Hoy en día la mayor parte de los usuarios de los sistemas de BD no esta presente en el lugar físico en que se encuentra el sistema de BD, si no que se conectan a el a través de una red. Las aplicaciones de BD suelen dividirse en 2 o 3 partes, o mejor dicho en una arquitectura de dos o tres capas. En una arquitectura de dos capas la aplicación se divide en una componente que reside en la máquina cliente, que llama a la funcionalidad del sistema de BD en la máquina servidora mediante instrucciones del lenguaje de consultas. Los estándares de interfaces de programas de aplicación como ODBC y JDBC se usan para la interacción entre el cliente y el servidor. En una arquitectura tres capas, la máquina cliente actúa simplemente como una parte visible al usuario y no contiene ninguna llamada directa a la BD. La funcionalidad anterior es derivada al servidor de aplicaciones, quien posee la lógica del negocio.

Arquitectura de dos y tres capas Arquitectura de dos capas Arquitectura de tres capas Usuario Usuario Lógica de Negocio Cliente Aplicación Cliente de Aplicaciones RED RED Lógica de Negocio Servidor de Aplicaciones Sistema de BD Servidor Sistema de BD

Administrador de BD Una de las principales razones de usar SGBS es tener un control centralizado tanto de los datos como de las aplicaciones que tienen acceso a esos datos. La persona que tiene ese control sobre la BD se denomina Administrador de BD, cuyas funciones son: Definición del Esquema La modificación del esquema, y de la organización física (rendimiento). La concesión de la autorización para el acceso a los datos. El mantenimiento rutinario. Copia de seguridad Espacio libre en disco Supervisar trabajos sobre la BD y verificar que el rendimiento no se degrade.

Bases de Datos Relacionales Un modelo de datos es un conjunto de herramientas conceptuales para la descripción de los datos, las relaciones entre ellos, su semántica y las restricciones de consistencia. El modelo relacional utiliza un conjunto de tablas para representar tanto los datos como las relaciones entre ellos. Estructura básica. Consideremos la siguiente tabla CUENTA: En esta tabla podemos visualizar 3 columnas o atributos: Cuenta, Nombre_Sucursal y Saldo. Para cada atributo hay un conjunto de valores permitidos, denominado dominio de ese atributo. Num_Cuenta Nombre_Sucursal Saldo 101 Santiago Centro 500 102 Ñuñoa 400 103 Las Condes 300 104 San Miguel 900 105 Providencia 700 106 Quilicura 600

SQL IBM desarrolló la versión original de SQL, llamada Sequel, como parte del proyecto System R a principios de los 70’s. Sequel ha evolucionado en el tiempo y su nombre a pasado a ser SQL. SQL  Structured Query Languaje, Lenguaje Estructurado de Consultas Hoy numerosos productos son compatibles con SQL y se ha establecido como estándar para las BD relacionales. En 1986, ANSI (American National Standards Institute) e ISO (International Standards Organization) publicaron una norma SQL, denominada SQL-86. La versión más reciente es SQL-2003.

SQL El SQL tiene varios componentes: Lenguaje de Definición de Datos (LDD). Proporciona comandos para la definición de esquemas de relación, borrado de relaciones y modificación de los esquemas de la relación. Lenguaje de Manipulación de Datos (LMD). El LMD de SQL incluye un lenguaje de consultas basado en álgebra relacional. También contiene comandos para insertar, modificar y eliminar tuplas. Integridad. El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la BD. Las actualizaciones que violan las restricciones de integridad se rechazan. Definición de Vistas. Se incluyen comandos de definición de Vistas. Control de Transacciones. SQL incluye comandos para especificar el comienzo y fin de las transacciones. SQL Dinámico e Incorporado. Definen como se pueden incorporar instrucciones de SQL en lenguajes de programación de propósito general, como C, C++, Java, Cobol, etc.. Autorización. EL LDD de SQL incluye comandos para especificar los derechos de acceso a las tablas y las vistas.

Tipos Básicos de Dominio (LDD) SQL provee una gran variedad de tipos de dominio predefinidos, entre ellos: Char(n). Una cadena de caracteres de longitud fija, con una longitud n. También se puede utilizar character. Varchar(n). Una cadena de caracteres de longitud variable, con una longitud máxima de n. Int. Un entero. También integer. Smallint. Un entero pequeño. Numeric(p,d). Un número con decimal, p dígitos con d decimales. Real. Número con coma flotante. Float(n). Un número de coma flotante cuya precisión es al menos n dígitos.

Definición Básica de Esquemas en SQL Las tablas o relaciones se definen mediante el comando create table: Create table r (A1D1, A2D2, …AnDn, <restricción de integridad1>, <restricción de integridad2>) Dentro de las restricciones de integridad está por ejemplo, la especificación de una clave primaria.

Definición de datos en SQL Create table cliente (nombre_cliente char(20), rut_cliente char(11), edad numeric(2), primary key (rut_cliente))

Operaciones Básicas en SQL Si queremos insertar un registro en una tabla usamos el comando INSERT Insert into cliente values (‘Juan’, ‘1-9’,21) Para borrar registros o tuplas de una tabla se debe utilizar el comando DELETE. Delete from cuenta (where nombre_cliente=‘Juan’) Para eliminar una tabla de la BD se utiliza el comando DROP Drop table cliente Si queremos añadir campos o atributos a una tabla utilizaremos el comando ALTER TABLE Alter table cliente add comuna char(30)

Ejercicio El supermercado “El Abarrote” posee una variedad de productos para ofrecerles a su distinguida clientela, además, de contar con precios muy convenientes. Se cuenta con un sistema de puntos para los clientes, premiando su fidelidad. Se desea construir una BD con las siguientes tablas: Clientes ( rut_cli, nombre, dirección, comuna, total_puntos) Ventas(numero_boleta, rut_cajero, rut_cliente, valor_venta) Cajeros(rut_cajero, nombre, dirección, comuna) Utilizando SQL, se desea: Crear esquemas Insertar 5 clientes creados por Ud., uno de ellos con rut 2-7. Eliminar cliente 2-7 Agregar el campo teléfono en tabla cliente

Estructura básica de las consultas en SQL Las consultas habituales en SQL tienen la siguiente forma: Select A1, A2, A3,.., An From r1,r2,…,rm Where P La cláusula select se corresponde con la operación de proyección del álgebra relacional. La cláusula from corresponde al producto cartesiano del álgebra relacional. La cláusula where corresponde al predicado selección del álgebra relacional.

La Cláusula Select Consideremos la consulta simple del siguiente ejemplo: Seleccionar todas las sucursales de la tabla préstamo. Select nombre_sucursal From prestamo El resultado es una lista del único atributo de la tabla préstamo llamado nombre_sucursal En caso en que se desee forzar la eliminación de los valores duplicados, se inserta la clave distinct después del select. Select distinct nombre_sucursal From préstamo SQL permite utilizar la palabra claver all para especificar de manera explícita que no se eliminen los valores duplicados. Select all nombre_sucursal

La Cláusula Select El símbolo * se utiliza para denotar “todos los atributos” Select * From prestamo El resultado es una lista de todos los atributos de la tabla préstamo. La cláusula Select puede contener expresiones aritméticas que contengan los operadores +, -, * y /. Estas deben operar sobre cosntantes o atributos de la tupla. Select número_préstamo, nombre_sucursal, importe * 100 From préstamo

La Cláusula Where Consideremos la consulta: obtener los números de préstamos otorgados en la sucursal Ahumada, mayores a 100.000 pesos. Select número_préstamo From prestamo Where nombre_sucursal = ‘Ahumada’ and monto > 100.000 SQL utiliza las conectivas lógicas and, or, y not para la cláusula where. Los operandos de las conectivas lógicas pueden ser expresiones que contengan los operadores de comparación <, <=, >, >=, =, <>. SQL permite utilizar los operadores de comparación para comparar cadenas y expresiones aritméticas, a si como tipos especiales, como las fechas. SQL incluye un operador between para simplificar las cláusulas where, el cual especifica que un valor sea menor o igual que un valor y mayor o igual que otro valor. Por ejemplo, obtener números de préstamos cuyo monto este entre 90.000 y 100.000. From préstamo between 90000 and 100000

La Cláusula From La cláusula from define por si misma un producto cartesiano de las tabla que aparecen en la cláusula. Por ejemplo, para todos los clientes que tienen un préstamos en el Banco, obtener el nombre del cliente, el número de préstamo y el monto del préstamo. Préstamo(número_préstamo, nombre_sucursal, monto) Cliente(rut,nombre,número_préstamo) Select nombre, cliente.número_préstamo, monto From préstamo, cliente Where cliente.número_préstamo = préstamo.número_préstamo Podemos agregar un poco de dificultad y además exigir que el préstamo haya sido otorgado en la sucursal Ahumada

La Cláusula From Select nombre, cliente.número_préstamo, monto From préstamo, cliente Where cliente.número_préstamo = préstamo.número_préstamo And nombre_sucursal = ‘Ahumada’