Está en la página 1de 21

PROGRAMACIÓN

EN PHP, JAVASCRIPT
Y MySQL

Guía de estudio
Quedan rigurosamente prohibidas, sin la autorización escrita de los
titulares del Copyright, bajo las sanciones establecidas en las leyes,
la reproducción total o parcial de esta obra por cualquier medio
o procedimiento, comprendidos la reprografía y el tratamiento
informático, y la distribución de ejemplares de ella mediante
alquiler o préstamo públicos. Diríjase a CEDRO (Centro Español de
Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o
escanear algún fragmento de esta obra.

INICIATIVA Y COORDINACIÓN
DEUSTO FORMACIÓN

COLABORADORES
Realización:
Oneclick Diseño y Software, S. L.

Supervisión técnica y pedagógica:


Departamento de Enseñanza de Planeta DeAgostini Formación

Supervisión editorial y metodológica:


Departamento de Producto de Planeta DeAgostini Formación

© Planeta DeAgostini Formación, S.L.U.


Barcelona (España), 2018
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

ÍNDICE

TU CURSO................................................................................................ 4
Estructura del curso.............................................................................. 4
Material didáctico................................................................................. 8
Qué aprenderás en el curso.................................................................. 8
Método de aprendizaje......................................................................... 9
Cómo realizar las pruebas de evaluación................................................ 10

SERVICIOS AL ALUMNO............................................................................ 11
El Campus de Alumnos de Deusto Formación......................................... 11
Contacta con nosotros.......................................................................... 11
Contacta con tu profesor/a..................................................................... 12
Contacta con el Servicio de Consultoría................................................. 12
Contacta con el Servicio de Secretaría Académica..................................... 12
Contacta con el Servicio Técnico............................................................ 13

PROGRAMA DEL CURSO........................................................................... 14

3
Guía de estudio

TU CURSO
En un momento en el que la tecnología se encuentra presente en múltiples ámbitos, la web es
un entorno de constante presencia en nuestras vidas en la actualidad. Los desarrolladores de
estos sistemas son perfiles cada vez más demandados por el mercado laboral.

En este curso, de enfoque práctico, aprenderemos, paso a paso, a programar aplicaciones o


sitios webs dinámicos de una forma práctica y sencilla. Esto habilitará al alumno como un pro-
fesional autosuficiente, permitiéndole de manera inmediata acceder al mercado de trabajo.

Desde los fundamentos más básicos de la programación y los lenguajes HTML5 y CSS3, el
alumno irá aprendiendo a manejar las bases del front end con JavaScript, así como con PHP,
el lenguaje de servidor más utilizado orientado al desarrollo de aplicaciones web dinámicas
con acceso a información almacenada en una base de datos. Es libre, por lo que se presenta
como una alternativa de fácil acceso para todos. Además, debido a su flexibilidad ha tenido
una gran acogida como lenguaje base para las aplicaciones web de manejo de contenido, y
su uso es fundamental.

El alumno aprenderá también el uso de las bases de datos, con especial atención al sistema de
gestión de bases de datos relacional MySQL, uno de los más robustos en el mercado actual,
logrando así una visión completa del desarrollo web.

Este curso va dirigido a todas aquellas personas interesadas en el mundo de la programación,


sin conocimientos previos, que deseen aprender desde el grado más básico hasta llegar a un
nivel en el que podrán crear sus propias aplicaciones y sitios web dinámicos, completamente
funcionales y compatibles con todos los dispositivos y navegadores.

La realización de este curso ofrece las bases necesarias para cualquiera que desee tener una
carrera profesional en el campo de la programación y el desarrollo web.

Estructura del curso


Este curso se compone de 13 módulos. En el siguiente cuadro se muestra la distribución del
curso con indicación de sus principales contenidos.

4
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

MÓDULOS CONTENIDOS

Introducción al desarrollo • Internet y la web


web • Dominios y alojamiento web

Entornos de desarrollo • Entornos de desarrollo


y HTML • HTML

Introducción a CSS y DOM • Introducción al CSS


• ¿Qué es el Modelo de Objetos del Documento (DOM)?
• ¿Qué es el Modelo de Objetos del Navegador (BOM)?

JavaScript (I) • Introducción a JavaScript


• Primeros pasos en JavaScript
• Operadores y expresiones
• Flujo de datos

JavaScript (II) • Funciones


• Objetos especiales
• Manejo de eventos
• JQuery
• AJAX
• Llamadas a AJAX vía jQuery

PHP básico (I) • Introducción a la programación con PHP


• Aspectos básicos
• Hola Mundo
• Funciones
• Variables
• Constantes
• Operadores
• Estructuras de control

5
Guía de estudio

MÓDULOS CONTENIDOS

PHP básico (II) • Formularios


• Arrays multidimensionales
• String Vs. array
• Control de iteración
• Enviar un array por un campo hidden
• Cookies y sesiones
• Ficheros
• Tratamiento de errores y excepciones
• Librerías

Introducción a las bases • Introducción a las bases de datos


de datos • Sistemas de gestión de bases de datos
• Modelo de datos
• Modelo de entidad-relación o entidad-interrelación
• Diseño de bases de datos relacionales

Diseño de bases de datos • Estudio previo y plan de trabajo


• Modelo de entidad-relación extendido (EE/R)
• SQL

• Seguridad

• Recuperación de bases de datos


• Sistemas NoSQL

Introducción a MySQL • MySQL

• Servidor básico
• Tablas

• Tipos de datos de una tabla


• Registros

• Varias tablas
• Unión de consultas
• Vistas

6
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

MÓDULOS CONTENIDOS

MySQL y bases de datos • Diagramas entidad-relación


no relacionales • phpMyAdmin

• Bases de datos no relacionales


• Instalar MongoDB y Robomongo
• Conectar PHP con una base de datos

PHP avanzado (I) • PHP avanzado


• Buenas prácticas con PHP
• Manejo de eventos
• Introducción a la programación orientada a objetos con
PHP
• Glosario

PHP avanzado (II) • PHP y MySQL. PDO


• Test driven development con PHP y PHPUnit
• Glosario

Al final de cada módulo encontrarás un Anexo de enlaces web que te servirá para ampliar tus
conocimientos sobre contenidos relevantes del curso.

7
Guía de estudio

Material didáctico
En formato papel Material didáctico online Material de aprendizaje
- 13 módulos - 13 módulos El programa se refuerza y com-
- 13 pruebas de evaluación plementa con videoconferencias
- 3 proyectos finales online y en directo, impartidas por
- 23 videotutoriales profesores expertos, sobre temáti-
- Guía de estudio cas complementarias al curso.

Qué aprenderás en el curso


A lo largo de los 13 módulos que componen este curso conocerás el funcionamiento del com-
plejo mundo de la programación en JavaScript, PHP y MySQL:

• Identificarás conceptos como el de dirección IP, dominio, servidor DNS, protocolos


HTTP o FTP, con el fin de entender bien los procesos intrínsecos que suceden cuando
se visita un sitio web.

• Comprenderás el concepto de IDE y los principales editores de código utilizados por


los programadores web, y aprenderás a instalar y utilizar clientes FTP, así como algu-
nas herramientas de análisis que ofrecen los navegadores de internet. Estudiarás la
estructura lógica y organizativa de una página web a través del lenguaje de etique-
tado HTML y usarás nuevos componentes que el HTML5 integra de forma nativa, sin
necesidad de plugins o software de terceros.

• Serás capaz de programar las primeras líneas de código a través de la creación de


variables, y entenderás los métodos más conocidos y la forma de realizar el control
de flujo de datos, ifs y bucles, además de identificar los operadores más conocidos de
JavaScript. Profundizarás en JavaScript a través del manejo de eventos gestionados
por el HTML. Conocerás el uso de funciones y variables internas, así como objetos
especiales, como el tipo de fecha.

• Descubrirás eventos básicos asociados a etiquetas HTML, como onlick, onsubmit y


otros, que se ejecutan al abrir y cerrar ventanas, y aplicaciones como jQuery, fra-
mework y AJAX. Dominarás todo lo necesario para poder desarrollar tus primeras
páginas web con PHP y podrás realizar pequeñas modificaciones, para ir escalando en
la dificultad.

8
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

• Se tratará ampliamente el tema de bases de datos, su evolución, el funcionamiento de


un sistema de gestión de bases de datos y la arquitectura a tres niveles de ANSI-X3-
SPARC.

• Entenderás el funcionamiento de las bases de SQL y aprenderás a recuperar una base


de datos, realizar una consulta o recibir una vista. También se describirán los tipos
básicos de joins, la base de datos NoSQL y su uso en big data. Generarás la primera
base de datos en MySQL y utilizarás el entorno de trabajo MySQL Workbench para
crear las tablas dinámicas y consultas, además de adquirir conocimientos para el man-
tenimiento y mejora del servidor.

• Conocerás cómo funcionan de las consultas ordenadas de datos y realizarás consultas


mixtas, uniendo varias de ellas, para conseguir dinamismo en la web. Profundizarás en
el uso de MySQL Workbench como herramienta de creación de base de datos a partir
de esquemas gráficos.

• Aprenderás a conectar a una base de datos desde PHP, tanto en MySQL como enMon-
goDB, y a usar phpMyAdmin para la creación y manejo de bases de datos.

• Profundizarás en cuestiones concretas sobre lenguaje y buenas prácticas para lograr


un código sólido, y en la programación orientada a objetos.

• Te familiarizarás con el uso de MySQL en PHP y con las funciones de las extensiones
legacy de MySQL y PDO, así como con el test driven development y el PHPUnit, la he-
rramienta por excelencia para ejecutar test en PHP.

Método de aprendizaje
El estudio debe iniciarse por el primer módulo, en el que encontrarás el desarrollo de la temá-
tica que se estudiará de la siguiente manera:

• Primera lectura global del módulo.

• Lectura en profundidad, recogiendo las ideas fundamentales en forma de esquema o


resumen.

• Si tras esta lectura te surge alguna duda, dispones del Campus Online personalizado,
donde tu profesor te resolverá todas tus dudas.

• Realizar las series de ejercicios de autocomprobación que se incluyen en cada módulo.

9
Guía de estudio

• En caso de que el módulo incluya un videotutorial: visualización y práctica del procedi-


miento explicado.

• Evaluación de conocimientos: a través del Campus Online personalizado, encontrarás el


apartado Pruebas de evaluación online.

Cómo realizar las pruebas de evaluación


La prueba de evaluación tiene como finalidad averiguar los conocimientos adquiridos en los mó-
dulos que forman el curso. Al finalizar el estudio de cada uno de estos módulos, debes realizar
la prueba de evaluación correspondiente, que encontrarás en el Campus Online, y enviarla al
Centro para su evaluación.

Para enviar las pruebas de evaluación por Internet, si no te has registrado ya en el Campus
Online, debes hacerlo con tu número de matrícula, tu contraseña y tu dirección de correo elec-
trónico. Una vez estés en el Campus Online, entra en la sección Aula y luego en el apartado
Pruebas de evaluación online. Selecciona la prueba de evaluación que desees hacer y contes-
ta los ejercicios correspondientes. Para hacer la prueba de evaluación, primero realiza una lectura
global de la prueba o la sección de la misma que vas a hacer; con esto, te harás una idea del tipo
de conceptos que tendrás que trabajar.
Verás que las pruebas de evaluación contienen diferentes tipos de ejercicios o pruebas, en fun-
ción de la temática del módulo en cuestión: Prueba de alternativas, donde te planteamos una
cuestión, te ofrecemos varias respuestas y tú debes marcar la opción correcta (pues solo una de
esas respuestas es válida); Prueba abierta, donde has de desarrollar por escrito las preguntas
que te proponemos; Actividad práctica, donde tendrás que realizar la práctica que se te pide.
Con ella, pretendemos que vivas situaciones reales para que aprendas a resolver todos los pro-
blemas con los que te puedes encontrar cuando estés al frente de tu propia empresa. Antes
de dar la prueba por terminada, repasa tus respuestas. Si quieres plantearle una pregunta a tu
profesor, tienes un espacio reservado para hacerlo.

Una vez hayas acabado la prueba, haz clic en el botón Enviar prueba para que tu profesor la
reciba. Cuando la prueba esté corregida, te mandaremos un correo electrónico para avisarte de
que ya puedes entrar en el Campus para ver la corrección. Cuando recibas la prueba, dedica
una sesión de estudio a revisarla. Fíjate en los errores que has cometido y repasa los conceptos
que no tenías claros, ya que pueden suponer una laguna en tu proceso de aprendizaje. Es prefe-
rible consolidar lo que ya has trabajado antes de abordar temas nuevos en los que tendrás que
asimilar nuevos conceptos.

La última prueba de evaluación consiste en desarrollar un proyecto final. Encontrarás tres op-
ciones, de las cuales tienes que escoger solo una para su resolución: la que mejor se adapte a
tu entorno profesional o a tus intereses.

10
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

SERVICIOS AL ALUMNO
El Campus de Alumnos de Deusto Formación
Puedes acceder al Campus a través de la siguiente dirección:

http://campus.deustoformacion.com

Para acceder a tu Campus personalizado, debes registrarte en el Campus Online con tu núme-
ro de matrícula y tu contraseña.

El Campus Online no solo te permite enviar las pruebas de evaluación por Internet, sino que
también te facilita el acceso a muchos otros servicios que te permitirán tener una relación más
estrecha con el/la profesor/a y con el Centro.

Es importante que entres en el Campus Online y visites todas sus secciones. De este modo
conocerás con más detalle todos los servicios que te ofrecemos y que podrás utilizar durante
el plazo de vigencia del curso.

Contacta con nosotros


A través del Campus Online, sección Consultas, el Centro pone a tu disposición diferentes
canales para que puedas contactar con nosotros: el Servicio de Secretaría Académica, el Servicio
Técnico, tu Profesor/a y el Servicio de Consultoría.

Según cuál sea tu consulta, deberás dirigirte a uno de estos cuatro servicios. En cualquiera de
estos casos, recuerda que debes dar los siguientes datos:

• Nombre y apellidos.
• Número de matrícula.

11
Guía de estudio

Contacta con tu profesor/a


Para las dudas relacionadas con el estudio de tu programa, debes contactar con tu profesor/a,
que atiende a cuestiones como:

• Resolver las dudas que se te planteen al estudiar las unidades didácticas.


• Aclarar el enunciado de las preguntas de la prueba de evaluación.

Podrás contactar con tu profesor a través del Campus Online, entrando en Consultas.

Contacta con el Servicio de Consultoría


Para consultas relacionadas con el funcionamiento del curso y planificación académica, puedes
contactar con nosotros a través del teléfono y dirección de email que encontrarás en el apartado
de Consultas del Campus Online.

Contacta con el Servicio de Secretaría


Académica
Debes dirigirte al Servicio de Atención al Alumno para cuestiones de tipo administrativo,
como por ejemplo:

• Modificar tus datos personales o ampliarlos (por ejemplo, con un número de teléfono
adicional).
• Pedir certificados de estudios.
• Pedir una factura.
• Saber cuál es la situación de tus pagos; por ejemplo, cuántos recibos te quedan por abonar.

Podrás contactar con el Servicio de Atención al Alumno a través del Campus Online, entrando
en la sección Consultas.

12
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

Contacta con el Servicio Técnico


En caso de que tengas alguna consulta técnica que realizar sobre el funcionamiento del Cam-
pus, puedes ponerte en contacto con el Servicio Técnico a través del Campus Online, entrando
en Consultas.

13
Guía de estudio

PROGRAMA DEL CURSO

Módulo: Introducción al desarrollo web


1. Internet y la web
1.1. ¿Qué es internet?
1.2. Direcciones de internet
1.2.1. Direcciones IP y dominios
1.2.2. URI y URL
1.2.3. TLD, subdominios y redirecciones
1.2.4. Servidores raíz
1.3. Arquitectura cliente-servidor
1.3.1. Características de un cliente
1.3.2. Características de un servidor
1.3.3. Ventajas del modelo cliente-servidor
1.3.4. Desventajas del modelo cliente-servidor
1.3.5. Otros tipos de arquitectura
1.4. Aplicaciones web
1.5. Accesibilidad
1.5.1. ¿Qué se entiende por accesibilidad en páginas web?
1.5.2. WCAG: niveles de accesibilidad (A, AA, AAA)
1.5.3. Pautas para cumplir con el nivel WAI-A de WCAG 2.0
1.6. Usabilidad
1.6.1. Recomendaciones para crear sitios web usables
1.6.2. Herramientas de accesibilidad y usabilidad
1.6.3. Herramientas avanzadas
2. Dominios y alojamiento web
2.1. ¿Qué se necesita para publicar una web?
2.2. Registradores de dominios gratuitos y de pago
2.3. Pasos para registrar un dominio propio de pago
2.3.1. Registro de dominios ccTLD.es
2.3.2. Registro de dominios gTLD genéricos
2.4. Pasos para registrar un dominio gratuito
2.5. ¿En qué consiste el hosting o alojamiento?
2.5.1. Conceptos básicos de servicios de alojamiento
2.5.2. Operaciones para enlazar dominios y alojamiento
2.5.3. Servidores de alojamiento gratuitos y de pago (hosting)
2.5.4. Pasos para configurar un servidor web de pago
2.5.5. Pasos para configurar un servidor web gratuito
2.6. Crear un servidor web con XAMPP
2.6.1. Introducción
2.6.2. Instalación y configuración XAMPP
2.6.3. Alternativas a XAMPP: WAMP, LAMP, MAMP
2.6.4. DNS dinámicos
2.7. Actividades prácticas guiadas

Módulo: Entornos de desarrollo y HTML


1. Entorno de desarrollo
1.1. Introducción
1.2. Editores de código
1.3. Clientes FTP
1.3.1. Introducción
1.3.2. Clientes FTP más utilizados
1.3.3. Instalación y configuración de FileZilla

14
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

1.4. Herramientas de análisis (navegadores)


1.4.1. Firefox para desarrolladores
1.4.2. Chrome para desarrolladores
1.4.3. Introducción al análisis SEO y optimización
1.5. IDEs completos
1.5.1. BlueGriffon
2. HTML
2.1. Introducción
2.2. Estructura general
2.3. Estructura de body
2.4. Otras API y etiquetas

Módulo: Introducción a CSS y DOM


1. Introducción al CSS
1.1. ¿Qué es CSS y para qué sirve?
1.2. Versiones de CSS
1.2.1. CSS interno
1.2.2. CSS externo
1.3. Navegadores que lo admiten
1.4. Hoja CSS de ejemplo
1.5. Propiedades de CSS
1.5.1. Unidades
1.5.2. Propiedades de fuentes
1.5.3. Propiedades de color
1.5.4. Propiedades de párrafo
1.5.5. Propiedades de cajas
1.5.6. Propiedades de display
1.5.7. Propiedades agregadas en CSS 3
1.6. Selectores de CSS
2. ¿Qué es el Modelo de Objetos del Documento (DOM)?
2.1. Objeto nodo
2.2. Objeto document
2.3. Objeto element
2.4. Objeto attr
2.5. Moverse por el árbol
3. ¿Qué es el Modelo de Objetos del Navegador (BOM)?
3.1. Objeto window
3.1.1. Objeto history
3.1.2. Objeto location
3.2. Objeto navigator
3.3. Objeto screen

Módulo: JavaScript (I)


1. Introducción a JavaScript
1.1. ¿Qué es JavaScript y para qué sirve?
1.2. Características de JavaScript
1.3. JavaScript Vs. Java
2. Primeros pasos en JavaScript
2.1. Hola Mundo
2.2. Entradas y salidas
2.3. Variables
2.3.1. Tipos de variables
2.3.2. Arrays
2.3.3. Objetos
3. Operadores y expresiones
3.1. Asignación
3.2. Incremento, decremento y resto
3.3. Operadores lógicos

15
Guía de estudio

3.4. Otros operadores


3.5. Expresiones
4. Flujo de datos
4.1. Estructura if, else y elseif
4.2. Switch
4.3. Try and catch
4.4. While
4.5. Bucle for y forEach
4.6. Funciones

Módulo: JavaScript (II)


1. Funciones
1.1. Parámetros de entrada
1.2. Parámetros de salida
2. Objetos especiales
2.1. Math
2.1.1. Random
2.2. Date
3. Manejo de eventos
3.1. Tabla de eventos más comunes
3.2. Eventos más usados
4. jQuery
4.1. Selectores
4.2. Eventos
4.3. Manipuladores y efectos en elementos
5. AJAX
5.1. Métodos más comunes
5.2. Mi primer request
5.3. Métodos de objeto XMLHttpRequest
5.4. Envío de parámetros
6. Llamadas a AJAX vía jQuery
6.1. AJAX
6.2. Funciones más usuales
6.3. FormData

Módulo: PHP básico (I)


1. Introducción a la programación con PHP
2. Aspectos básicos
3. Hola Mundo
3.1. Mostrar datos
4. Funciones
4.1. Parámetros por defecto
4.2. Parámetros por referencia
4.3. Funciones variables
4.4. Tipo en los parámetros
4.5. Retorno de valores
5. Variables
5.1. Tipo de datos
5.1.1. String
5.1.2. Int
5.1.3. Float
5.1.4. Bool
5.1.5. Array
5.1.6. Object
5.1.7. Null
5.1.8. Resource
5.2. Alcance
5.3. Variables estáticas
5.4. Manejo de variables

16
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

5.5. Arrays
5.5.1. Indexados
5.5.2. Asociados
5.5.3. Operadores
5.5.4. Manejar arrays
6. Constantes
6.1. Const
6.2. Constantes predefinidas
6.3. Constantes mágicas
7. Operadores
8. Estructuras de control
8.1. If
8.2. Switch
8.3. While
8.4. Do while
8.5. For
8.6. Foreach

Módulo: PHP básico (II)


1. Formularios
1.1. $_GET
1.2. $_POST
1.3. Preparar el formulario
1.4. Validación de formularios
1.5. Autoprocesamiento
1.6. Login con autoprocesamiento
1.7. Rellenar el formulario
2. Arrays multidimensionales
3. String Vs. array
4. Control de iteración
5. Enviar un array por un campo hidden
6. Cookies y sesiones
7. Ficheros
7.1. Abrir y cerrar un fichero
7.2. Escribir un fichero
7.3. Trabajar con directorios
7.4. Leer un fichero
7.5. Funciones para tratar ficheros
8. Tratamiento de errores y excepciones
9. Librerías

Módulo: Introducción a las bases de datos


1. Introducción a las bases de datos
1.1. ¿Qué es una base de datos?
1.2. Historia de las bases de datos
1.2.1. Primera generación
1.2.2. Segunda generación
1.2.3. Tercera generación
1.3. Ventajas e inconvenientes de las bases de datos
1.4. Niveles de abstracción de una base de datos
1.4.1. Tipos de usuarios en una base de datos
2. Sistemas de gestión de bases de datos
2.1. La arquitectura a tres niveles de ANSI-X3-SPARC
2.1.1. Nivel externo (vistas individuales de los usuarios)
2.1.2. Nivel medio (vista conceptual)
2.1.3. Nivel interno (vista de almacenamiento)
2.2. Funcionamiento de un sistema de gestión de bases de datos
2.2.1. Lenguajes de las bases de datos

17
Guía de estudio

3. Modelo de datos
3.1. Conceptos de modelación de datos
3.2. Clasificación de modelos de datos
3.3. Componentes de un modelo de datos
3.3.1. Formalización del concepto de modelo de datos
3.3.2. Estática de los modelos de datos
3.4. Los modelos de datos en el proceso de diseño
4. Modelo entidad-relación o entidad-interrelación
4.1. Estructuras
4.1.1. Diagramas entidad-relación (ERD)
4.1.2. Entidad (‘entity’)
4.1.3. Interrelación (‘relationship’)
4.1.4. Dominios y valores
4.1.5. Propiedades o atributos
4.1.6. Propiedades identificadoras
4.2. Restricciones de integridad
4.2.1. Restricciones inherentes
4.2.2. Restricciones explícitas
4.3. Modelo relacional de Codd
4.3.1. Estructuras
4.3.2. Contexto matemático del modelo relacional
4.3.3. Restricciones
4.3.4. Reglas de integridad del modelo relacional
5. Diseño de bases de datos relacionales
5.1. Dependencias funcionales
5.1.1. Grafo de dependencias funcionales (GDF)
5.1.2. Axiomas de Ärmstrong
5.1.3. Cierre de un descriptor
5.1.4. Cierre de un conjunto de dependencias
5.2. Formas normales de Codd
5.2.1. Descomposiciones sin pérdidas
5.3. Primera forma normal (1FN)
5.4. Segunda forma normal (2FN)
5.5. Tercera forma normal (3FN)
5.6. Forma normal de Boyce-Codd (FNBC)
5.6.1. Comparación 3FN y FNBC
5.7. Diseño de bases de datos relacionales
5.7.1. Enfoque de síntesis: síntesis básica de Bernstein

Módulo: Diseño de bases de datos


1. Estudio previo y plan de trabajo
1.1. Estudio previo
1.1.1. Concepción y selección del equipo de trabajo
1.2. Entradas y salidas del proceso de diseño
1.2.1. Entradas
1.2.2. Salidas
1.3. Fases del diseño
1.3.1. Análisis de requerimientos
1.3.2. Diseño conceptual
1.3.3. Diseño lógico
1.3.4. Diseño físico
2. Modelo entidad-relación extendido (EE/R)
2.1. Entidades débiles
2.1.1. Entidad débil en existencia
2.1.2. Entidad débil en identificación
2.1.3. Subclase-superclase
2.1.4. Diagramas EE/R
2.1.5. Herencia de atributos

18
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

2.1.6. Especialización
2.1.7. Generalización
2.1.8. Caracterización de la especificación/generalización
2.1.9. Jerarquía de la especificación/generalización
2.2. Agregación y asociación
2.3. Mapeo EE/R a RM/B
2.4. Ejemplo de EE/R y mapeo a RM/B
3. SQL
3.1. Definición de datos en SQL (DDL)
3.1.1. Dominios SQL2
3.1.2. Create table
3.2. Consultas
3.2.1. Consultas de varias tablas y empleo de alias o etiquetas
3.2.2. Exists
3.2.3. In
3.2.4. Between
3.2.5. Distinct
3.2.6. Like
3.2.7. Order by
3.3. Consultas avanzadas
3.3.1. Join natural y Outer join
3.3.2. Funciones agregadas
3.3.3. Group by
3.3.4. Having
3.4. Actualización de datos
3.4.1. Insert
3.4.2. Delete
3.4.3. Update
3.5. Vistas
4. Seguridad
4.1. Seguridad en SQL
5. Recuperación de bases de datos
5.1. Tipos de fallos
5.1.1. Políticas de recuperación
5.2. Arquitectura de gestión de transacciones
5.2.1. Gestor de transacciones (GT)
5.2.2. Planificador de tareas (PT)
5.2.3. Gestor de memoria caché (GM)
5.2.4. Gestor de recuperación de la base de datos (GR)
5.3. Tipos de actualizaciones de la memoria externa
5.4. Perfiles de algoritmos de recuperación
6. Sistemas NoSQL

Módulo: Introducción a MySQL


1. MySQL
1.1. ¿Qué es MySQL?
1.2. Instalación de MySQL Server en Windows o en Linux
1.3. MySQL Workbench
2. Servidor básico
2.1. El primer esquema
2.2. Usuarios
2.3. Estatus y conexiones
2.4. Exportar e importar bases de datos
3. Tablas
3.1. Crear una tabla
3.1.1. Índices de una tabla
3.2. Modificar una tabla
3.3. Vaciar tablas

19
Guía de estudio

3.4. Borrar tablas


3.5. Relacionar tablas
4. Tipos de datos de una tabla
4.1. Datos básicos
4.2. BLOB
4.3. Otros valores
4.4. Tabla de ejemplo
5. Registros
5.1. Crear un registro
5.2. Editar un registro
5.3. Borrar un registro
5.4. Visualizar un registro
5.5. Contar o agrupar registros
5.6. Seleccionar con patrones
5.7. Otros operadores de registros
5.8. Sumas, medias, máximos y mínimos de registros
6. Varias tablas
6.1. Join
6.2. Natural y cross join
6.3. Left y right join
6.4. Inner y outer join
6.5. Diagrama de Venn de uniones
7. Unión de consultas
8. Vistas

Módulo: MySQL y bases de datos no relacionales


1. Diagramas entidad-relación
1.1. Crear una base de datos desde el diagrama entidadrelación
1.2. Crear el diagrama entidad-relación desde una base de datos
2. phpMyAdmin
2.1. Introducción
2.2. Acceso a phpMyAdmin
2.3. Paneles
2.4. Crear una base de datos
2.5. Crear tablas y campos
2.6. Insertar valores en la tabla
2.7. Crear un nuevo usuario
2.8. Otras operaciones sobre tablas o bases de datos
2.8.1. Buscar
2.8.2. Ejecutar operaciones SQL en phpMyAdmin
2.8.3. Exportar
2.8.4. Importar
3. Bases de datos no relacionales
3.1. ¿Qué es NoSQL?
3.2. Bases de datos documentales
3.3. MongoDB
4. Instalar MongoDB y Robomongo
4.1. Instalar un servidor de MongoDB
4.2. Instalar el framework Robomongo
4.3. Crear una base de datos usando Robomongo
4.4. Crear usuarios MongoDB y obligar el uso de este
5. Conectar PHP con una base de datos
5.1. Conectar PHP a MySQL
5.2. Conectar PHP a MongoDB

Módulo: PHP avanzado (I)


1. PHP avanzado
1.1. Manejo de sesiones

20
PROGRAMACIÓN EN PHP, JAVASCRIPT Y MySQL

1.2. El bucle foreach


1.3. Funciones lambda
1.4. Referencias y alias
1.5. Cadenas heredoc y templating
1.6. Manejo de excepciones
1.7. Frameworks: más allá de PHP
2. Buenas prácticas con PHP
2.1. Convenciones de nombrado, legibilidad y comentado de código
2.2. Errores
2.3. Tratamiento de datos de usuario como potencialmente nocivos
2.4. Tags de PHP
2.5. Type hinting para parámetros y retorno de funciones
2.6. Namespaces
3. Introducción a la programación orientada a objetos con PHP
3.1. Clases y objetos
3.2. Modelado y sintaxis de clases
3.3. Instanciando objetos y deferenciando miembros,
constructor y destructor
3.4. Visibilidad de miembros
3.5. Miembros estáticos
3.6. Herencia
3.7. Interfaces
3.8. Principio de responsabilidad única, separación
de responsabilidades, modelo de aplicación
4. Glosario

Módulo: PHP avanzado (II)


1. PHP y MySQL. PDO
1.1. Nociones previas y driver de MySQL
1.2. Bases de datos compatibles
1.3. Funciones legacy
1.3.1. Conectar a una base de datos y desconectar de ella
1.3.2. Seleccionar una base de datos. Crear y eliminar bases de datos
1.3.3. Creación y eliminación de tablas, mysql_query()
1.3.4. Inserción de datos
1.3.5. Recuperación de datos
1.3.6. Modificación de datos
1.3.7. Eliminación de datos
1.4. Transacciones
1.5. Inyecciones de SQL y seguridad
1.6. PDO como intermediario
1.6.1. Conectar y desconectar
1.6.2. Ejecutar sentencias con query() y exec()
1.6.3. Sentencias preparadas y PDOStatement
1.6.4. Transacciones en PDO
2. Test driven development con PHP y PHPUnit
2.1. Qué es test driven development
2.2. Una aproximación en PHP
2.3. PHPUnit e instalación
2.4. PHPUnit en la práctica
2.5. Un último paso
3. Glosario

21

También podría gustarte