Site hosted by Angelfire.com: Build your free website today!

Bases de Datos (C-306)

Maestría en Ciencias de la Computación
  Fundación Arturo Rosenblueth


Instructor:  J. Jesús María Zavala Ruiz

Introducción

Los prerrequisitos de esta mataria son el dominio de las técnicas de análisis y diseño de sistemas, estructuradas u orientadas a objetos y de preferencia el dominio de UML.  

Es de fundamental importancia que el alumno se esfuerse por leer y analizar de manera crítica los documentos que se sugieren como lecturas con el fin de que cuente con los elementos necesarios para la discusión previos a la clase; asi mismo es muy importante que realice los ejercicios y las tareas extraclase para reforzar la comprensión de los temas tratados. 

Esta es una materia teórico-práctica donde se han elegido tres ejes de aprendizaje: el proyecto, los ejercicios y las críticas y ensayos.

Se recomenda ampliamente la lectura de la obra de clásica de C.J. Date (2003) An Introduction to Database Systems, 8th edition, Pearson Addison-Wesley. Es un libro que todo desarrollador de sistemas debe tener en su biblioteca personal.

El libro de texto es Mata-Toledo, Ramon A. y Cushman, Pauline K. (2000) Schaum's Outline of Fundamentals of Relational Databases, e-book disponible en http://www.netlibrary.com  (suscribirse gratis por tiempo limitado) Es nuestro libro de texto y tareas

También se recomienda suscribirse a la Biblioteca Digital de la ACM, uno de los mejores recursos de consulta en Ciencias de la Computación, donde como miembro de la ACM se podrá acceder a cursos gratuitos de alto nivel a través de la página http://pd.acm.org. Para este curso se recomienda tomar Modelado de Datos (Data Modeling) (WT-1030-180), Análisis de Datos (Data Analysis) (WT-1031-180),  Introducción a SQL Parte 1 (Introduction to SQL Part 1) (WT-1040-180) y Introducción a SQL Parte 2 (Introduction to SQL Part 2) (WT-1041-180).

Se recomienda la revisión de los Proceedings de Conferencia Internacional en Administración de Datos (SIGMOD Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data) y el Simposio en Principios de Sistemas de Bases de Datos (ACM SPODS Symposium on Principles of Database Systems), como las principales publicaciones sobre investigaciones en bases de datos.

Estimado alumno: ¡espero que distrutes este curso tanto como yo y te invito a que nos divirtamos juntos!

Lugares y Fechas

Duración

42 horas

Objetivos
Al concluir el  curso el alumno:

Actividades
Programa

Clase (3-horas)

Tema

Lecturas obligatorias

Tareas extraclase para entregar

1

I. Presentación del Curso
Integración de equipos
Asignación de proyectos
Muestra de las herramientas

Conceptos básicos
* Sistemas de Gestión de Bases de Datos
* Modelos de datos
* Arquitectura de los sistemas de bases de datos
* Conceptos de bases de datos relacionales

Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Temas 1.1 a 1.3 y  2.1


Silberschatz,Korth y S. Sudarshan (2002) Database System Concepts. Parte 6

Proyecto: Asignar proyecto

Ejercicios: (1) Instalar DBMS; (2) Revisar la documentación del DBMS respecto a las propiedades y arquitectura

2,3

Modelo entidad-relación
* Entidades y conjunto de entidades
* Relaciones y conjunto de relaciones
* Atributos
* Restricciones de asignación
* Diagrama entidad-relación
* Agregación
* Reducción de los diagramas entidad-relación a tablas

Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Temas 7.1 a  7.5


Silberschatz,Korth y S. Sudarshan (2002) Database System Concepts. Cap.2

Proyecto: Identificar el modelo entidad-relación

Ejercicios: Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Ejercicios Cap 7.

Crítica: Chen, P.O., "The Entity-Relationship Model: Toward a Unified View of Data," ACM Transactions on Database Systems, Vol.1, No.1. March 1976. (Descargar de la biblioteca digital ACM)

4,5

 

II. Modelo relacional

* Álgebra y cálculo relacional
* Definición matemática de una relación
* Llave candidata y relación de llave primaria
* Llave foránea
* Operaciones de conjuntos
* Operaciones de inserción, borrado y actualización
* Dominios de loa atributos e implementaciones
* Vistas

Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Temas 2.2 a 2.8


Silberschatz,Korth y S. Sudarshan (2002) Database System Concepts. Cap. 3


Proyecto: Identificar el modelo de datos

Ejercicios: Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Ejercicios Cap 2.

Crítica: Ventajas y desventajas del modelo relacional de bases de datos en base al artículo de
David R.Frick & Co., CPA (1999) Characteristics of a Relational Database  - Explicación de las 12 Reglas de EF Codd.

6,7

El lenguaje de consulta estructurado (Structured Query Language SQL)

* DDL
      create
* DML
      select, update, delete, insert
      joins
      funciones de agregados
      diversas


Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Temas 3.1 a 3.3


Silberschatz,Korth y S. Sudarshan (2002) Database System Concepts. Cap. 4

Aiyer, Suresh (January 1998), The 25 Commandments of SQL, DBPD On-Line


Proyecto: Identificar y documentar las sentencias SQL en la creación de la base de datos, carga de datos y SQL embebido.

Ejercicios: (1) Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Ejercicios Cap 3. (2) David R. Frick & Co., CPA (1999) Data Manipulation Language (DML) Exercises

Crítica: Ventajas y desventajas del SQL

8

Dependencias funcionales
* Definición
* Llaves
* Axiomas
* Dependencias redundantes

Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Temas 4.1 a 4.6

Silberschatz,Korth y S. Sudarshan (2002) Database System Concepts. Cap. 6

Proyecto: Identificar dependencias funcionales

Ejercicios: Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Ejercicios Cap 4.

9,10

Normalización
* Introducción (Eq. 1. Tema 5.1)1
* Primera forma Normal (Eq. 1. Temas 5.2 a 5.4)1
* Segunda Forma Normal (Eq. 2. Temas 5.5 a 5.7)1
* Tercera Forma Nornal (Eq. 3. Temas 5.8 y 5.9)1
* Forma Normal Boyce-Codd (Eq. 4. Temas 5.10 a 5.12)1
* Denormalización (Eq. 5)

(1) Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases.

Presentación por equipos.

Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Temas 5.1 a 5.12

Silberschatz,Korth y S. Sudarshan (2002) Database System Concepts. Cap. 7

Tupper, Charles (1998) The Physics of Logical Modeling, DBPD Online


Proyecto: Aplicación de la normalización a su proyecto

Ejercicios: Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Ejercicios Cap. 5.

Ensayo: "Normalización" (completo) y presentación ante el grupo del tema asignado, con entrega en CD-RW.
La exposición por equipo deberá ejemplificar con el proyecto según tema asignado.

* Incluir reflexiones individuales.
* Se evaluará a cada alumno con una pregunta del profesor

11,12

III. Diseño lógico de una base de datos
*
Metodología de diseño
* Metodología de reingeniería
* Metodología de re-diseño

Diseño físico de una base de datos
* Representación de una base
* Organización de la información
* Métodos, técnicas y estrategias de acceso
* Operaciones con la información
* Estrategias de un sistema de bases de datos

Chundur, Suguna (2001) Database Design Methodology Summary, Database Management Systems I, University of Cincinnati.


Silberschatz,Korth y S. Sudarshan (2002) Database System Concepts. Cap. 7

The Third Manifesto   - Es una propuesta para un sistema estrictamente relacional. Tiene la intención de ser más poderoso que los SQL DBMS u ODBMS. Es un archivo PostScript.

Extending the Database Relational Model to Capture More Meaning    - RM/T: modelado semántico en el modelo relacional para la administración de bases de datos.

Proyecto: (1) identificar el diseño lógico; (2) dimensionar el diseño físico para normalizar la base de datos hasta la BCNF con estimación de impacto en código; (3) diseño final de la base de datos (lógico y físico)

Crítica: Ventajas y desventajas del UML para la realziación del  diseño lógico y físico de la base de datos

13

Problemas de seguridad en bases de datos

* La seguridad
* Seguridad física y lógica
* Problemas de mantenimiento
* Problemas del sistema operativo
* Contabilidad e integridad
* Bases de datos web

Mata-Toledo y Cushman (2000) Schaum's Outline of Fundamentals of Relational Databases. Temas 6.1 a 6.7

Silberschatz,Korth y S. Sudarshan (2002) Database System Concepts. Cap. 6

Proyecto:  (1) Niveles de acceso a la base de datos; (2) Políticas de acceso a la base de datos; (3) Usuarios a nivel del sistema operativo y base de datos

14

La tecnología de bases de datos actual
* Mercado de DBMS
* DBMS cerrados
* DBMS open source

Dudas sobre el proyecto
Evaluación del curso

Revisar la página web donde se encuentra una lista de DBMS disponibles, entre ellos:
    * Adabas
    * Btrieve
    * Foxpro
    * GNU SQL
    * IBM DB2
    * Informix
    * Ingres
    * InterBase
    * MS Access
    * MS SQL Server
    * MySQL
    * Oracle
    * Paradox
    * PostgreSQL
    * Progress
    * SapDB
    * SQLite
    * Sybase


Proyecto: Diseño de la base de datos

Ensayo "Elección de un DBMS para mi proyecto; ¿por qué tal DBMS y no otro?"

* El objetivo del ensayo es hacer una revisión crítica sobre la tecnología, la arquitectura del DBMS, las ventajas y desventajas (técnicas, financieras y operativas) de una de ellas respecto a los requerimientos que debe cubrir un DBMS ideal que soporte el modelo relacional

Temas y subtemas obligatorios

1. Conceptos básicos de bases de datos
2. Análisis de objetivos lógicos
3. Modelo entidad-relación
4. Modelo relacional
5. Diseño físico de una base de datos
6. Actualización de datos
7. Recuperación y concurrencia
8. Seguridad e integridad
9. Recursos de administración
Evaluación

Bibliografía

 Herramientas
Sitios de interés Requisitos de las tareas extraclase

La elaboración es individual. En el caso de ensayos y cr´riticas los puntos a evaluar son: completo, organización, profundidad y originalidad de las afirmaciones en la discusión del tema y las conclusiones. La calificación es entre 0 (cero) y 10 (diez). Proyecto final

El proyecto final tiene la finalidad de sintetizar el conocimiento y expresar de una manera práctica lo aprendido. Para lo cual entregará un documento en papel tamaño carta engargolado, con un CD-RW anexo al documento que contenga las versiones electrónicas de los documentos y prototipos desarrollados. Asegurarse de que el CD-RW es legible. 

La entrega final tiene fecha límite la primera clase del siguiente período y será confirmada por e-mail. La fecha es NO PRORROGABLE y la entrega es en las oficinas de la Fundación en la Ciudad de México, donde deberán recabar acuse de recibido. El trabajo será escrito en formato RTF (No en Word), opcionalmente con una copia en PDF. Las imágenes serán en formato jpg, gif o png.

El reporte del proyecto final comprenderá lo siguiente:

Proyectos

Los proyectos tienen como finalidad que el alumno se involucre con un proyecto de mediana a alta complejidad con el fin de que desarrolle las capacidades de análisis desde la perspectiva de la teoría de las bases de datos y que esté en capacidad de reutilizar proyectos open source maduros para sus propias necesidades. Los proyectos se asignarán desde la primera clase y se utilizará una metodología de ingeniería en reversa para realizar un análisis con los siguientes objetivos:
Se escogerá uno de los siguientes.

1. Compiere

Smart ERP+CRM solution for Small-Medium Enterprises in the global marketplace covering all areas from customer management, supply chain and accounting. For $2-200M revenue companies looking for "brick and click" first tier functionality.
Development Status: 5 - Production/Stable
Environment: Web Environment, Win32 (MS Windows), Gnome, KDE
Operating System: MacOS, Windows NT/2000, OS Independent, Linux, SunOS/Solaris
Programming Language: Java, JavaScript, PL/SQL
http://sourceforge.net/projects/compiere/

2. TUTOS
Tutos is the ultimate team organization software, a webbased groupware or ERP/CRM system to manage events/calendars,addresses,teams,projects,tasks,bugs,mailboxes,documents and your time spent with these things
Environment: Web Environment
Operating System: OS Independent
Programming Language: PHP
http://sourceforge.net/projects/tutos/

3. Web-ERP
WEB Based Integrated Accounting System featuring: Multi-currency & inventory location SO, AR, PO, AP, GL, Sales Analysis, multi-level BOM, assemblies, kit-sets, standard costing & variances. PHP based, produces fast, efficient html that runs in any OS.
Environment: Web Environment
Operating System: OS Independent
Programming Language: PHP
http://sourceforge.net/projects/web-erp/

4. Facturalux
Software ERP de código libre. Utiliza C++, Qt 3, QSA y PostgreSQL.Software ERP free code. Uses C++, Qt 3, QSA and PostgreSQL.
Environment: X11 Applications
Operating System: MacOS, Windows, Linux
Programming Language: C++
Topic: Financial, Software Development
http://sourceforge.net/projects/facturalux/

5. Keengest
Complete ERP/CRM for a small company. Contact / customer history / register of documents / rought estimate / work sheet / time report. All integrated all in PHP and MySql. Different Login access (admin, user...)
Environment: Web Environment
Operating System: Linux
Programming Language: PHP
Topic: Office Suites
http://sourceforge.net/projects/keengest/

6. ARIA
ARIA (Accounting, Receiving and Inventory Administration) is a web based accounting and inventory managment package based off the NOLA project. ARIA aim's to be platform and browser independent with multi-language support.
Environment: Web Environment
Operating System: OS Independent
Programming Language: PHP
Topic: Database, Accounting, Point-Of-Sale, Scheduling
http://sourceforge.net/projects/arias/

7. OpenBiblio
OpenBiblio is an easy to use, automated library system written in PHP containing OPAC, circulation, cataloging, and staff administration functionality. OpenBiblio library administration offers an intuitive interface with broad category tabs and sidebar
Environment: Web Environment
Operating System: Windows 95/98/2000, Windows NT/2000, Linux
Programming Language: PHP
Topic: Education
http://sourceforge.net/projects/openbiblio/

8. Open Computers and Softwares Inventory
Open Computers and Softwares Inventory is an application designed to help a network administrator keep track of the computers configuration and the number of copies of software that are installed on the network.
Environment: Web Environment, Win32 (MS Windows)
Operating System: Windows 95/98/2000, Windows NT/2000
Programming Language: ASP, C++
Topic: Networking, Systems Administration
http://sourceforge.net/projects/ocsinventory/

9. SQL-Ledger Accounting
Accounting system for manufacturing, retail and service businesses. Written in perl, multiuser, data is stored in SQL server, web interface, AR, AP, GL, POS, Orders, Inventory, customizable, postscript, PDF, foreign language and currency support, API.
Environment: Console (Text Based), Web Environment
Programming Language: Perl, PL/SQL
Topic: Accounting
http://sourceforge.net/projects/sql-ledger/

10. Asset Tracker
Inventory/asset tracking and management web application. Allows you to track any kind of asset, with a user-configurable number, type, and name of fields. It can hold multiple asset databases, and has a plugin system and simple authentication and access
Environment: Web Environment
Programming Language: PHP
Topic: Front-Ends, Dynamic Content, Office/Business
http://sourceforge.net/projects/asset-tracker/

11. YAMS
YAMS (Yet Another Merchant System). An E-Commerce package incl.: Credit Card authorization (through Signio), persistent shopping carts for registered users, a retail management interface,inventory management tools, and tools to handle 'affiliates.'
Environment: Web Environment
Programming Language: Perl
Topic: CGI Tools/Libraries
http://sourceforge.net/projects/yams/

12. Zephyr Basecamp & Monkey Business Db
Zephyr Basecamp is a functioning enterprise project giving small and midsize businesses the same level of inventory, orders, sales & accounting expected from commercial apps. Uses ODBC & Postgres allowing other Apps to use data. Linux & Windows.
Environment: Win32 (MS Windows), Gnome
Operating System: Windows 95/98/2000, Linux
Programming Language: Ada, PL/SQL
Topic: Front-Ends, Accounting, Office Suites
http://sourceforge.net/projects/zephyr/

13. Information Resource Manager
IRM is a Web-based asset and problem tracking system built for IT departments and helpdesks. It keeps detailed information, both hardware and software, about each computer, as well as a complete history of all work requests ever placed.
Development Status: 6 - Mature
Environment: Web Environment
Operating System: OS Independent
Programming Language: PHP
Topic: Front-Ends, Internet, Systems Administration
http://sourceforge.net/projects/irm/

14. The Manhattan Virtual Classroom
A system for delivering courses via the web, Manhattan includes a closed web-based email system, a variety of discussion groups, electronic submission of assignments, live chat, facilities for delivering multimedia and more. Grant funded.
Development Status: 5 - Production/Stable
Environment: Web Environment
Operating System: Linux
Programming Language: C
Topic: Conferencing, Computer Aided Instruction (CAI)
http://sourceforge.net/projects/manhattan/

15. Moodle
Moodle is PHP software that aims to make quality online courses (eg distance education) easy to develop and conduct. Both learning & development are guided by strong pedagogical theory. Implemented on thousands of sites and over 30 languages.
Development Status: 5 - Production/Stable
Environment: Web Environment
Operating System: MacOS X, Windows NT/2000, Other OS, BSD, Linux, SunOS/Solaris
Programming Language: PHP
Topic: Communications, Computer Aided Instruction (CAI), Testing, CGI Tools/Libraries, Message Boards, Site Management
http://sourceforge.net/projects/moodle/

Reglas Registro 
Será responsabilidad de los alumnos registrarse antes de iniciar el curso aquí, con el fin de obtener sus datos generales y de contacto. Por favor verifiquen la captura de sus datos, principalmente los de su correo electrónico. Los participantes que ya tomaron el curso comentan... lo que les disgustó?...

Comentarios, recomendaciones y sugerencias al instructor

Desde el 02 de enero del 2004, 22:00 hr CST, tu eres el visitante

Fecha de última actualización: 05 de enero del 2004, 02:19 hr CST

Email: jzavalar@yahoo.com

Regresar