La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the.

Presentaciones similares


Presentación del tema: "Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the."— Transcripción de la presentación:

1 Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Diseño de Base de datos y Programación SQL

2 DAY 3: MODULO 4: Fundamentos de Genero TOPICOS: Características del lenguaje Tipos de datos Literales Operadores Expresiones y Excepciones Variables y constantes Registros y Arreglos Funciones Estructuras de control Laboratorio 4 DAY 4: MODULO 4: Programación SQL en Genero TOPICOS: Conexiones Transacciones SQL dinámico y estático Results Sets Laboratorio 4 DAY 5: MODULO 5: Programación SQL en Genero TOPICOS: Instrucciones I/O de SQL Programación Rendimiento Portabilidad Laboratorio 5 Agenda DAY 1: MODULO 1: Bases de Datos TOPICOS: Conceptos Normalización y Diseño Laboratorio 1 DAY 2: MODULO 2: SQL Básico TOPICOS: Conceptos Tipos de datos Operadores y funciones Tipos de comandos DLL DML Laboratorio 2 MODULO 3: SQL Avanzado TOPICOS: Store Procedures Laboratorio 3

3 Course Logistics

4 Jenny Archundia soporte@4js.com Instructora

5 Presentación

6 Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Modulo 1: Bases de Datos

7 Ubicación y avance del Curso Diseño de Base de Datos Y Progrmación con SQL 1. Base de Datos 2. SQL Básico 3. SQL Avanzado 4. Fundamentos de Genero 5. Programación SQL en Genero

8 Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Conceptos

9 Base de datos: Es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. Archivo: La información de un archivo informático normalmente consiste de paquetes más pequeños de información (a menudo llamados registros o líneas) que son individualmente diferentes pero que comparten algún rasgo en común. Registro: Conjunto de datos pequeño, en otras palabras son líneas de información.

10 Conceptos Dato: Es una representación simbólica (numérica, alfabética, etc.), atributo o característica de una entidad. Información: Es un conjunto organizado de datos, que constituyen un mensaje sobre un determinado ente o fenómeno

11 Base de datos relacional Es un conjunto de dos o mas tablas estructuradas en registros (líneas) y campos (columnas), que se vinculan entre sí por un campo en común, en ambos casos posee las mismas características.

12 Diagrama Entidad-Relación Entidad Relaciones Atributos

13 Cardinalidad Las relaciones, pueden involucrar a un número distinto de instancias de cada entidad. Así, son posibles tres tipos de cardinalidades: Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente una de la entidad B. Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B. Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B

14 Normalización Consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo E-R (entidad-relación) al modelo relacional.

15 Ventajas del modelo relacional Garantiza herramientas para evitar la duplicidad de registros, a través de campos claves o llaves. Garantiza la integridad referencial: Así al eliminar un registro elimina todos los registros relacionados dependientes. Favorece la normalización por ser más comprensible y aplicable.

16 Diseño de base de datos De forma general, las etapas son: Conocer cuál será la información que se almacenará. Identificar cuales son las entidades que participarán. Para cada entidad identificar los atributos. Normalizar.

17 Ejemplo-Usuarios Diseñar una base de datos para almacenar información de los usuarios de un sistema. Los datos que se requieren: –Nombre –Empresa –Dirección –mail –Direcciones URL de la empresa

18 Ejemplo - Usuarios Donde la entidad que podemos identificar es: Usuarios NombreEmpresaDireccion_empurl1url2 AngelFourjsAlborada4js.latin.com4js.com JennyFourjsAlborada4js.latin.com4js.com AngelFourjs LatAlborada4js.com Problemas: -Si se requiere otra URL, como se almacenará ? -Cuando se requiera buscar el nombre “Angel”, el resultado serán dos registros.

19 Ejemplo-Usuarios: Normalización 1FN Primer Nivel de Normalización No hay campos múltiples. Todas las filas deben tener el mismo numero de columnas. REGLAS Eliminar los grupos repetitivos de las entidades. Crear una entidad separada por cada grupo de datos relacionados. Identificar cada grupo de datos relacionados con una clave primaria cve-usuarionombreempresaDirecciónurl 1AngelFourjsAlborada4js.latin.com 2JennyFourjsAlborada4js.latin.com 3AngelFourjs LatMéxico4js.com Entidad - Usuarios

20 Ejemplo-Usuarios: Normalización 2FN Segundo Nivel de Normalización Todo campo que no sea clave debe depender por completo de toda la clave. REGLAS Crear entidades separadas para aquellos grupos de datos que se aplican a varios registros. Relacionar estas entidades mediante una clave externa. cve-urlrel-usuariodesc-url 114js.latin.com 21 324js.com cve-usuarionombreempresaDirección 1AngelFourjsAlborada 2JennyFourjsAlborada 3AngelFourjs LatMéxico Entidad - Usuarios Entidad - Urls

21 Ejemplo-Usuarios: Normalización 3FN Tercer Nivel de Normalización No hay dependencias transitivas. Un campo debe depender de la clave y no de otro campo. REGLAS Eliminar aquellos campos que no dependan de la clave. cve-usuarionombrerel-empresa 1Angel1 2Jenny1 3Angel2 Entidad - Usuarios

22 Ejemplo-Usuarios: Normalización 3FN cve-empresanom_empresadir_empresa 1FourJsAlvorada 2FourJs LatMéxico cve-urlrel-usuariodesc-url 114js.latin.com 21 324js.es Entidad - Empresas Entidad - Urls

23 Ejemplo-Usuarios: Normalización 4FN Cuarto Nivel de Normalización Una fila no debe contener dos o más campos multi-valorados (aquellos que pueden contener más de un valor simultaneamente) sobre una entidad. REGLAS Revisar relaciones entre entidades cve-usuarionombrerel-empresa 1Angel1 2Jenny1 3Angel2 Entidad - Usuarios

24 Ejemplo-Usuarios: Normalización 4FN cve-empresanom_empresadir_empresa 1FourJsAlvorada 2FourJs LatMéxico cve-urldesc-url 14js.latin.com 24js.com cve_usu_urlrel_usurel-url 111 211 332 Entidad - Empresas Entidad - Urls Entidad – Rel_Usuario_Urls

25 Laboratorio 1 Se requiere optimizar la información de un directorio donde hasta el momento se tienen los siguientes problemas: –Es complicado buscar todas las direcciones de una persona –No es posible capturar todos los teléfonos y correos de una persona. Entidad: Personas NombreDir1Dir2Dir3TelcelTelfijMail

26 Laboratorio 2 Instalar y configurar GeneroDB en: c:\fourjs\generodb Instalar GeneroDB Enterprise Manager Instalar Power Designer

27 Laboratorio 2 Diseñar una base de datos para realizar el proceso de: –Pedidos de libros en Internet

28

29 Práctica Final SQL Diseñar la base de datos para el proceso de registrar un pedido. Desarrollar el store procedure que permita actualizar los precios de los libros cada vez que se requiera.

30 Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Modulo 2: SQL básico

31 Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Conceptos

32 SQL (Standar Query Languaje) –Es un lenguaje estandarizado de base de datos relacionales, mediante el cuál se realizan diferentes operaciones sobre la base de datos.

33 Tipos de datos INT ó INTEGER –Almacena un entero de 32 bits (4,294,967,296) SMALLINT –Almacena un entero de 16 bits (65,536) BIGINT –Almacena un entero de 64 bits (18446744073709551616)

34 Tipos de datos DOUBLE, DOUBLE PRECISION, REAL –Almacena un número real de 64 bits DECIMAL(p, s) –Almacena un número de precisión (p) y fracción (s) NUMERIC(p, s) or NUMBER(p, s) –Almacena un número de precisión (p) y fracción (s) La principal diferencia entre NUMERIC y DECIMAL es que el tipo de dato NUMERIC garantiza la precisión especificada y DECIMAL al menos garantiza la precisión especificada. La precisión (p) debe ser 15 o menor.

35 Tipos de datos MONEY –Almacena un número con precisión cercana a 19 y fracción 4, específicamente puede almacenar valores entre -922,337,203,685,477.5807 y 922,337,203,685,477.5807. –Este rango es mucho mayor que cualquier otro tipo de dato numérico.

36 Tipos de comandos Existen dos tipos de comandos SQL: –Los DLL que permiten crear y definir nuevas bases de datos, campos e índices. –Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

37 Tipos de comandos Comandos DLL CREATE Utilizado para crear nuevas tablas, campos e índices DROP Empleado para eliminar tablas e índices ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.

38 Tipos de comandos Comandos DML SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación. UPDATE Utilizado para modificar los valores de los campos y registros especificados DELETE Utilizado para eliminar registros de una tabla de una base de datos

39 Cláusulas Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular: FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar GROUP BY Utilizada para separar los registros seleccionados en grupos específicos HAVING Utilizada para expresar la condición que debe satisfacer cada grupo ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico

40 Operadores lógicos AND Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas. OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta. NOT Negación lógica. Devuelve el valor contrario de la expresión.

41 Operadores de comparación < Menor que > Mayor que <> Distinto de <= Menor ó Igual que >= Mayor ó Igual que = Igual que BETWEEN Utilizado para especificar un intervalo de valores. LIKE Utilizado en la comparación de un modelo IN Utilizado para especificar registros de una base de datos

42 Funciones de agregado AVG Utilizada para calcular el promedio de los valores de un campo determinado COUNT Utilizada para devolver el número de registros de la selección SUM Utilizada para devolver la suma de todos los valores de un campo determinado MAX Utilizada para devolver el valor más alto de un campo especificado MIN Utilizada para devolver el valor más bajo de un campo especificado

43 Consultas de Predicado ALL Devuelve todos los campos de la tabla TOP Devuelve un determinado número de registros de la tabla DISTINCT Omite los registros cuyos campos seleccionados coincidan totalmente DISTINCTROW Omite los registros duplicados basándose en la totalidad del registro y no sólo en los campos seleccionados.

44 Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Módulo 3: SQL Avanzado

45 Stores Procedures Es un programa o función el cual está físicamente almacenado en una base de datos. La exacta implementación de un stored procedure incluyendo lo que es y como es implementado varía de un manejador de bases de datos a otro.

46 Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the publisher. Módulo 4: Fundamentos de Genero

47 Extensiones

48 Tipos de datos Para tipos de datos CARÁCTER: CHAR VARCHAR STRING Para tipos de datos FECHA: DATE

49 Tipos de datos INTEGER SMALLINT FLOAT (almacena hasta 8 bytes) SMALLFLOAT (almacena hasta 4 bytes) DECIMAL MONEY

50 Estructura de un programa El código fuente se encuentra en un archivo con extensión 4gl. Por ejemplo: miprograma.4gl MAIN. END MAIN FUNCTION nombre (parámetros). RETURN (variable) END FUNCTION

51 Definición y asignación de variables MAIN # Comentarios -- Comentarios CONSTANT c1 = "Drink" --Define una constante de tipo carácter CONSTANT c2 = 4711 --Define una constante de tipo entero DEFINE cadena VARCHAR(255) # Esta es una definición LET cadena = “Hola, estamos en curso” # Esta es una asignación END MAIN


Descargar ppt "Copyright 2006 Four J's Development Tools, Inc. No part of this book may be reproduced or transmitted in any form without prior written permission of the."

Presentaciones similares


Anuncios Google