1 / 16

Procesos y Algoritmos I-2006

Procesos y Algoritmos I-2006. Clase 3: Bases de datos relacionales e introducción a SQL. Objetivos. Resumen de la clase pasada. DB relacionales (DBR) ¿Qué es SQL? Los DBMS como MS Access. Glosario. 1. Resumen de la clase pasada.

medea
Download Presentation

Procesos y Algoritmos I-2006

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Procesos y AlgoritmosI-2006 Clase 3: Bases de datos relacionales e introducción a SQL.

  2. Objetivos • Resumen de la clase pasada. • DB relacionales (DBR) • ¿Qué es SQL? • Los DBMS como MS Access. • Glosario

  3. 1. Resumen de la clase pasada • Una DB es una colección de datos agrupados de manera unificada, sistemática y estructural, cuyo fin es facilitar el manejo rápido de consultas y actualizaciones sobre una gran cantidad de información. • El principio básico del diseño de DB es el de la independencia entre datos y aplicaciones. • Una DB no es una hoja de cálculo; mientras que la función esta última es la de manipular cuantitativamente un cuerpo de datos, la función de la primera es almacenar datos y permitir su acceso y actualización. • La unidad básica de información en una DB es el registro (record); éste es una estructura de datos, definida por una colección de campos (elementos), cada uno con un nombre y un tipo de datos definido. Los campos de un registro representan diferentes tipos o categorías de información. • Una DB plana guarda la totalidad de los datos en una única tabla de registros. Las primera DB en computadoras eran DB planas. El problema fundamental de este tipo de DB es el de la duplicación innecesaria de la información (lo cual aumenta el tamaño de almacenamiento y el tiempo de acceso, y dificulta la actualización –añadir, suprimir, cambiar– de los datos).

  4. 2. Bases de datos relacionales (RDB) A diferencia de las DB planas, las DB relacionales distribuyen la información en múltiples tablas. Lo que permite que los datos de las diferentes tablas sigan estando conectadas es la definición explícita de relaciones entre ellas. Para ello, el esquema de la RDB no sólo debe especificar la definición de las tablas y sus campos, sino además la definición de las relaciones. El modelo relacional de diseño de DB nos permite evitar las complicaciones propias de las DB planas.

  5. En el modelo relacional, pasamos de una tabla plana: A varias tablas relacionadas (tres, en este ejemplo): Noten que, de no ser por esta tercera tabla, las otras dos quedarían sin relación alguna.

  6. Como dijimos antes, las relaciones entre las tablas deben hacer parte del esquema de la RDB. Por eso hay que definirlas explícitamente en el momento de diseñar la DB. Así lo haríamos, por ejemplo, en Microsoft Access:

  7. Ventajas de las RDB: • Evitan la duplicación innecesaria de los datos. • Permiten la actualización, eliminación e introducción de registros y campos sin comprometer la integridad referencial. • Hoy en día se estima que más del 95% de las DB del mercado son relacionales. Algunos ejemplos de manejadores de bases de datos relacionales (RDBMS) comerciales son los siguientes: • Microsoft Access • Microsoft SQL Server • Microsoft Visual FoxPro • MySQL • DB2 • dBase • FileMaker Pro • Oracle • Firebird • PostgrpSQL • Paradox

  8. 3. ¿Qué es SQL? Como podemos notar en la lista anterior de RDBMS, muchos de ellos incluyen las siglas 'SQL' en sus nombres. 'SQL' (se lee 'sequel' en inglés) son las siglas de: STRUCTURED QUERY LANGUAGE (LENGUAJE DE CONSULTAS ESTRUCTURADAS). SQL es el lenguaje de diseño, definición y acceso de las RDB. En ese sentido, todo RDBMS está basado en últimas en SQL. Más precisamente, SQL es el lenguaje estándar para definir y acceder a los datos usado por todos los RDBMS.

  9. Recordemos tres tesis que discutimos en la primera clase: • Una DB es un modelo de la realidad. • Todo modelo debe poder ser descrito en un lenguaje. • Para modelar con ayuda de una DB necesitamos simultáneamente de dos lenguajes diferentes: • Un lenguaje de definición de datos (DDL) • Un lenguaje de manipulación de datos (DML) • Cuando hablamos de la definición de los datos, nos referimos a la definición del esquema de la DB. (Eso, como ya sabemos, concierne las tablas, los campos y dominios, así como las relaciones entre las tablas.) • Cuando hablamos de la manipulación de los datos, nos referimos tanto a la introducción, eliminación y actualización de registros y campos, como a la ejecución de consultas. • SQL es precisamente eso: un DDL y un DML para RDB.

  10. Un breve excurso: lenguajes de computador • Cuando se habla de lenguajes de computador, puede referirse a varias cosas: • a. Lenguajes de programación (imperativos): • Con ellos se crean los programas que corren en los computadores (los juegos, los procesadores de palabras, las aplicaciones de hojas de cálculo, los DBMS, las aplicaciones de correo electrónico y mensajería, los navegadores de internet, los virus informáticos, los sistemas operativos, etc.). En general, si algo puede ser ejecutado en un computador, debió haber sido programado en un lenguaje de este tipo. • Se dice que son imperativos pues le dan órdenes específicas al computador (al hardware) que éste deberá ejecutar. • Ejemplos de estos lenguajes son: • C, C++, C#, Visual Fox Pro, Pascal, Delphi, Visual Basic, Java, Pearl, LISP, Prolog, etc., etc., etc.

  11. b. Lenguajes de marcado (markup languages) Estos lenguajes no se usan para crear programas que han de ser ejecutados por el computador, sino para describir de manera precisa cómo ha de mostrarse algo en pantalla o en la impresora. Los lenguajes de marcado combinan texto con información adicional (llamadas marcas) acerca la estructura o presentación de éste. El lenguaje de marcado más común en el mundo es HTML (hypertext markup language), usado por todos los navegadores de internet. El HTML incluye información acerca de cómo han de mostrarse en pantalla las páginas de internet, además de permitir el uso de hipervínculos. Por lo general, estos lenguajes son mucho más sencillos de aprender y usar que los lenguajes de programación. Hay muchos lenguajes de marcado además del HTML, por ejemplo: XML, TeX, LaTeX, Lilypond, DocBook, MathML, SVG, Open eBook, TEI, XBRL, etc.

  12. c. Lenguajes de acceso y definición de DB: SQL Además de los anteriores tipos de lenguajes, existen otros lenguajes de computador diseñados expresamente para trabajar con DB. Estos lenguajes sirven exclusivamente para definir las bases de datos (sus tablas, sus relaciones, etc.) y acceder a los datos que ellas almacenan (añadir, suprimir, cambiar, alterar). Como dijimos antes, el lenguaje estándar para las RDB es SQL, que es a la vez un DDL y un DML. Éste comprehende un conjunto pequeño de instrucciones para definir y manipular datos y DB. Hay diferentes variedades o 'dialectos' de SQL, todas ellas derivadas de la definición estándar del ANSI / ISO SQL. Cada DBMS añade o mejor funcionalidades del SQL para suplir necesidades particulares. Por ejemplo, Microsoft Access 2003 trabaja por defecto con la versión ANSI-89 del SQL, aunque puede manejar también la versión ANSI-92 (compatible con Microsoft SQL Server).

  13. Queramos o no, sepámoslo o no, cada vez que definimos una DB en un RDBMS como Access o Visual Fox Pro, o cada vez que le añadimos datos o hacemos un consulta, estamos ejecutando instrucciones en SQL. Aprender SQL es fácil debido a su sintaxis tan reducida y clara. Por ejemplo, para crear una DB llamada 'Mi_primera_DB', la instrucción en SQL es: CREATE DATABASE Mi_primera_DB; Para crear una tabla llamada 'Ventas', con los campos 'Num_Factura' (numérico) y 'Título_vendido' (texto de 200 caracteres), usamos la instrucción: CREATE TABLE Ventas (Num_Factura Integer, Título_Vendido Char(200)); Aunque podríamos aprender a hacer muchas cosas en MS Access sin usar SQL, hay otras que requieren necesariamente de su utilización (e.g., consultas unidas). En este curso vamos a aprender un poquito de SQL.

  14. 4. Los DBMS como MS Access Así como hemos hecho la distinción entre las aplicaciones de hojas de cálculo (e.g., Excel o Calc) y las hojas de cálculo, y así como la haríamos también entre los procesadores de palabra (e.g., Word y Write) y los documentos de texto, también debemos hacer otra distinción análoga entre los manejadores de DB (DBMS) y las DB. Un DBMS es un programa de computador (típicamente una suite o conjunto de programas) diseñado expresamente para manejar o gestionar DBs, y para correr operaciones sobre los datos solicitadas por los usuarios. En ese sentido, además de servir como DDL y DML, los DBMS permiten crear formularios, informes, páginas web, etc., a partir de los datos de las DB.

  15. Un DBMS como Microsoft Access 2003 nos permite, entre otras: • Crear y manipular RDB. • Crear y manipular tablas. • Crear y manipular registros y datos en detalle. • Realizar todo tipo de consultas (implícita o explícitamente en SQL). • Crear formularios (forms) para visualizar, añadir o actualizar datos a las tablas. • Crear reportes para analizar o imprimir datos en un formato específico. • Importar y exportar datos desde y hacia otras fuentes de datos (e.g., hojas de cálculo, bases de datos de otros fabricantes, etc.) • Crear páginas web estáticas o dinámicas para acceder y cambiar datos. • Crear complejas y completas aplicaciones para trabajar a fondo con DB (usando lenguajes de programación implantados en el DBMS, como por ejemplo Visual Basic for Applications [VBA]).

  16. 6. Glosario • DB: Database (base de datos) • DBS: Database system (sistema de bases de datos) • RDB: Relational database (base de datos relacional) • DBMS: Database management system (manejador de bases de datos) • SQL: Structured Query Language (Lenguaje de Consultas Estructuradas) • DDL: Data definition language (lenguaje de definición de datos) • DML: Data manipulation languaje (lenguaje de manipulación de datos) • Query: consulta. • Registro: un conjunto completo de datos organizado en una fila de una tabla. • Campo: cada uno del datos de un registro, organizado en columnas. • Dominio: el tipo de datos de un campo. • Tupla: el conjunto lógico de todos los campos de un registro (usado en álgebra relacional). • Esquema: la definición de las tablas, los campos y relaciones de una RDB.

More Related