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:
- Analizará los elementos de la teoría de bases de
datos relacionales
- Analizará los conceptos fundamentales de los manejadores
de bases de datos (DBMS)
- Aplicará la teoría de bases de datos en casos
prácticos
- Ampliará su criterio para la elección del
diseño más adecuado de una base de datos (no-oficial)
- Analizará de manera crítica las alternativas
tecnológicas que existen en el mercado de sistemas manejadores
de bases de datos (no
oficial)
Actividades
- Con docente:
- Explicación de conceptos fundamentales de la
teoría de bases de datos relacionales a partir de la
exposición del profesor
- Participación en clase, externando dudas o comentarios
sobre los temas abordados en la clase
- Exposición de algunos temas indicados por el profesor
- Independientes:
- Resolución de diferentes casos prácticos que le
dará el profesor para aplicar cada uno de los temas que se ven
en clase
- Elaboración de programas computacionales extraclase
- Desarrollo de proyecto final en el que integrará todos
los elementos necesarios para el análisis, diseño y
modelado de bases de datos
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
- Definiciones de bases de datos
- Componentes de una base de datos
- Sistemas de bases de datos
- Sistemas administradores de bases de datos
- Lenguajes de consulta en distintos manejadores
- El lenguaje de consulta SQL
2.
Análisis de objetivos
lógicos
- Análisis de información y de necesidades
- Integridad de la base de datos
- Análisis relacional
3. Modelo entidad-relación
- Entidades y conjunto de entidades
- Relaciones y conjunto de relaciones
- Atributos
- Restricciones de asignación
- Diagrama entidad-relación
- Reducción de los diagramas entidad-relación a tablas
- Agregación
- Diseño de un esquema de base de datos
entidad-relación
4. Modelo relacional
- Estructura de las bases de datos relacionales
- El álgebra y el cálculo relacional
- Modificación de la base de datos
- Vistas
5. 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
6. Actualización de datos
- Actualizaciones de bases de datos
- Integridad de datos
- Procesamiento de transacciones
- Monitoreo de transacciones
7. Recuperación y concurrencia
- Recuperación de transacciones
- Recuperación del sistema y de los medios de almacenamiento
- Problemas de concurrencia
- Bloqueo
8. Seguridad e integridad
- Consideraciones generales de seguridad
- Seguridad en SQL
- Consideraciones generales de integridad
9. Recursos de administración
- Aplicaciones orientadas a la administración
- Utilerías y comandos del sistema
- Administración del desempeño
Evaluación
- 30% Exposición
- 40% Tareas extraclase (elaboración de programas,
investigaciones de tópicos, trabajos de análisis)
- 30% Proyecto final
- Se evaluará lo completo de las especificaciones del
documento del proyecto y la consistencia entre los modelos, el
prototipo y la documentación, por lo que es importante que sean
consecuentes en su proceso. La evaluación será entre 0
(CERO) y 10 (DIEZ)
- La estrega de calificaciones será el viernes siguiente de
entregado el proyecto, por lo que deberán acudir a la
Fundación Arturo Rosenblueth para su consulta
- El proyecto será evaluado punto por punto
Bibliografía
- David R. Frick & Co., CPA (1999) Database Theory
- excelente recurso sobre la teoría de bases de datos
- Atzeni, Paolo y Parker, Stott D. (1982) Assumptions
in relational database theory, Proceedings
of the 1st ACM SIGACT-SIGMOD Symposium on Principles of Database Systems,
March
- Dilip's
Brief Introduction to Relational Databases - Provee una
introducción muy básica a la teoría de las bases
de
datos relacionales
- Codd, E.F. (1970) A
Relational Model of Data for Large Shared Data Banks, ACM Classsics
1995, - El paper que
sentó las bases de todo. El primer establecimiento
público del Modelo Relacional
- Codd, E.F. 12
Rules - Las 12 Reglas de las bases de datos relacionales
- Codd, E.F. The Third
Manifesto - Material adicional relacionado con el libro
- Conceptual,
Logical, and Physical design of Persistent Data using UML, Rational
Software, 1998.
- Mapping
Object to Data Models with the UML, Rational Software, 2000
- McLellan, Tim (1995) Data
Modeling: Finding the Perfect Fit - An Introduction to Data
Modeling
- Silva López, Rafaela Blanca (1997) Diseño y
Optimización de Bases de Datos Relacionales, Material de Apoyo, Universidad
Autónoma Metropolitana, Sistema de Aprendizaje Individualizado
- Pratt, Philip J. (1985) A
relational approach to database design, Proceedings of the sixteenth SIGCSE
Technical Symposium on Computer Science Education, Volume
17 , 17 Issue 1 , 1, March.
- Smith, Henry C. (1985) Database
design: composing fully normalized tables from a rigorous dependency
diagram, Communications of the
ACM, Volume 28 Issue 8, August
- L. Y. Yuan, Z. M. Ozsoyoglu (1987) Logical
design of relational database schemes, Proceedings of the Sixth ACM
SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems,
June
- Teorey, Toby J.; Yang, Dongqing y Fry, James P. (1986) A
logical design methodology for relational databases using the extended
entity-relationship model
ACM Computing Surveys (CSUR),
Volume 18 Issue 2, June 1986
- S. Finkelstein, M. Schkolnick, P. Tiberio (1988) Physical
database design for relational databases, ACM Transactions on Database Systems (TODS),
Volume 13 Issue 1, March
- Graefe, Goetz (1993) Options
in physical database design, ACM
SIGMOD Record, Volume 22 Issue 3, September
- Arnow, David M. y Tenenbaum, Aaron M. (1984) Physical
database design: An empirical comparison of B-trees, compact B-trees
and multiway trees, Proceedings of the 1984 ACM SIGMOD
international conference on Management of data, June
- Premerlani, Rumbaugh, Blaha y Varwig (1990) An
object-oriented relational database, Communications of the ACM, Volume
33 Issue 11 November.
- Blaha, Premerlani y Rumbaugh (1988) Relational
database design using an object-oriented methodology, Communications of the ACM, Volume
31 Issue 4, April
- Imielinski, Tomasz y Lipski, Witold (1982) A
systematic approach to relational database theory, Proceedings of the 1982 ACM SIGMOD
International Conference on Management of Data, June
- Ramanathan, Shekar y Hodges, Julia (1997) Extraction
of object-oriented structures from existing relational databases, ACM SIGMOD Record, Volume 26 Issue
1, March
- Ramakanth Subrahmanya Devarakonda (2001) Object-relational
database systems — the road ahead, Crossroads, Volume 7 Issue
3, March
Herramientas
- Curso en SQL Course - Interactive Online SQL Training for
Beginners, útil para practicar SQL.
- Silberschatz, Abraham; Korth, Henry F. y S. Sudarshan (2002) Database
System Concepts Fourth
Edition, transparencias disponibles.
- DbModeller
es una aplicación
de modelado de bases de datos para los diseños físicos de
la base de datos. Se puede conectar a una base de datos existente
obteniendo el esquema o crearlo desde cero. Actualmente permite el
modelado de tablas y restricciones de integridad referencial y genera
código SQL para el modelo. Guarda el esquema en un formato
abierto XML.
- Existen otras aplicaciones similares: TOra - Toolkit For Oracle.
- Rational Rose es una
herramienta de modelado UML para varios lenguajes de
programación.
- ArgoUML es una
herramienta
de modelado UML para Java
- Knoppix CD Live que
contiene el sistema operativo Linux basado en Debian, útil para
los
ejercicios (se entregará una copia)
- MySQL RDBMS open source
multiplataforma,
útil
para los
ejercicios extraclase.
- PostgreSQL ORDBMS open
source multiplataforma, útil para los
ejercicios extraclase.
- Ocelot DBMS open source para
MS-Windows95/98/Me/NT completamente compatible con SQL ISO y SQL ANSI,
útil para los ejercicios extraclase.
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).
- Los ensayos y críticas deberán contener el
formato de un "paper científico":
- Título (del ensayo o "Crítica a (Título
de la Lectura) con nota al pie de página al final en la
literatura citada)
- Nombre del Autor (el alumno)
- Datos de contacto del autor (e-mail)
- Institución a la que pertenece (FAR-MCC)
- Fecha de Elaboración
- Summary (de 120 palabras en inglés)
- Introducción (algo general destacando la
importancia del tema para el autor y para su estudio)
- Marco Teórico (donde se expondrán los conceptos
y conocimientos necesarios para que el lector entienda e interprete el
documento)
- Desarrollo(donde se desarrollará la
teoría, supuesto, tesis o hipótesis que sostiene el autor
del paper. Se discutirá, argumentará a favor en
contra o propondrá su propia experiencia y visión del
tema, pudiéndose intercalar comentarios de los autores que
haya revisado con comentarios y reflexiones propias)
- Conclusiones y Recomendaciones (definirá las
conclusiones y recomedaciones si hubiera, del tema)
- Literatura Citada (deberán citarse todos los autores
consultados identificando la o las páginas donde se tomó
la cita o l referencia internet).
- Los nombre de los apartados (Marco
Teórico y Desarrollo del Tema) pueden variar aunque el objetivo
debe ser el mismo.
- La extensión del ensayo será de 7 a 10
cuartillas. La crítica será un mini-ensayo con la
misma
estructura pero de una extensión menor de 2 a 3 cuartillas a
mano,
más centrado en la discusión de los planteamientos de la
lectura y las
experiencias del autor.
- El trabajo será escrito a mano (no se aceptarán
versiones en computadora), bien organizado, en limpio, sin
corrector, con letra legible y sin faltas
de ortografía, con márgenes de 2.5 cm
(superior, inferior, derecho) y de 3 cm (izquierdo), en papel blanco
bond y engrapado. Si requiere figuras, éstas
deberán
recortarse y pegarse con la técnica "Cut & Paste"
no digital (tijeras y resistol), debiendo poner en todas el
número de figura y el título. Cada hecho, dato, frase,
afirmación y demás
deberá estar documentado por una cita bibliográfica. No
se
aceptarán hojas de cuaderno. Trabajo
que no
reuna los requisitos no se tomará en cuenta como
calificación.
- Los ensayos y las críticas tienen la finalidad de
fomentar las habilidades
de lectura, escritura y reflexión del estudiante.
- La entrega de las tareas tiene fecha límite la
siguiente clase. Se sugiere sacar una copia y
compartirla con los demás compañeros de clase como apoyo
a la propia clase
- Las tareas y los ejercicios
deberán realizarse a
más tardar la siguiente clase y deberá incluir los datos
del problema y los
resultados del ejercicio.
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:
- Portada
- Objetivos
- Justificación
- Delimitación del problema
- Marco teórico y antecedentes del problema
- Especificación de requerimientos
- Diagrama de casos de uso
- Reportes necesarios (¿qué preguntas se desea
que responda la base de datos?)
- Perfiles de usuario y permisos sobre la base de datos
- Necesidades de concurrencia
- Necesidades de transaccionalidad
- Necesidades de seguridad
- Necesidades de desempeño (tiempo de respuesta)
- Necesidades de recupeación de desastres (plan)
- Necesidades de historia de los datos
- Casos de Prueba (de todos los casos de uso)
- Análisis técnico-financiero de la
tecnología disponible para la implentación
- Diseño de la base de datos
- Arquitectura de la aplicación
- Entidades (tabla cartesiana mostrando: semántica,
cardinalidad, dependencia de existencia)
- Clases documentadas en los diagramas con notas
- atributos
- tipo de datos
- dominio de cada atributo
- valores iniciales
- valores nulos
- unicidad
- excepciones
- persistencia
- validación de integridad de los datos
- Diagrama de clases (entidades y mostrar evolución)
- Diagrama de objetos mostrando la validación del
diagrama de clases
- Diagrama de objetos
- Diagrama entidad-relación
- Restricciones referenciales (inserción y borrado)
- Normalización
- Mostrar proceso de normalización y
de-normalización por performance
- Interfases de usuario (prototipos con controles html para
validar los requerimientos)
- Desarrollo de las consultas con álgebra relacional
- Prueba de reportes
- Implementación del prototipo
- Esquema de la base de datos
- Plan de creación de la base de datos (precedencia) y
carga de datos
- Scripts de instrucciones SQL para generar el esquema de la
base de datos
- Scripts de carga de datos
- Scripts de Pruebas y control de calidad (Proponer un script
de
pruebas para los casos de prueba y criterios de aceptación de
las pruebas)
- Diagrama de Despliegue (distribución del código
y procesos ejecutables ya operando)
- Plan de recuperación de desastres
- Scripts de las consultas con sentencias SQL y prueba de
resultados
- Scripts de SQL embebido
- Implementación de reportes
- Configuración del sistema
- Instalación del sistema operativo
- Usuarios en el sistema operativo
- Instalación del servidor de base de datos
- Usuarios en el servidor de base de datos
- Instalación del servidor de web
- Usuarios en el servidor de web
- Afine del sistema (si existe)
- Experiencias
- Experiencias y problemas encontrados durante el desarrollo del
proyecto
- Sugerencias y Recomendaciones
- Anexo 1: Todos los borradores y demás documentos obtenidos
para definir los requerimientos como formatos, archivos, etc., y
aquellos generados en el proceso (incluyendo aquellos hechos a
mano), con fecha de control y páginas numeradas
- Anexo 2: Todas las versiones de las instrucciones SQL generadas
en el
proceso mostrando los resultados.
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:
- Obtener la arquitectura de la aplicación
- Identificar el código del esquema de la base de datos
- Obtener el
modelo de la base de datos (modelo E-R y modelo relacional)
- Identificar el orden de creación y carga de datos
- Identificar la implementación de la garantía de
integridad
- Identificar el código SQL embebido en la aplicación
- Obtener el equivalente de las consultas y los reportes que se
implementan en álgebra relacional
- Identificar el nivel de normalización de la base de datos
y proponer los cambios para obtener la
normalización y su denormalización para mejorar el
desempeño
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
- Regirá el reglamento vigente para alumnos
- Asistir puntualmente a clases
- Las tareas deben incluir la referencia
completa
- Solicitar ayuda al profesor vía correo electrónico,
misma que será contestada a más tardar 24 horas
después y excepcionalmente 72 horas después
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