Conceptos Avanzados de Programación en Internet

Programación Orientada al Multimèdia, Curso 2003 Página 1 Conceptos Avanzados de Programación en Internet (1) Introducción a las Bases de Datos (2) L

0 downloads 28 Views 34KB Size

Recommend Stories


CASO - Conceptos Avanzados de Sistemas Operativos
Última modificación: 19-02-2016 270066 - CASO - Conceptos Avanzados de Sistemas Operativos Unidad responsable: 270 - FIB - Facultad de Informática d

Seguridad en Internet
Comunicaciones. Firewall. Proxy. Servidor {SSL}. Intranet. Certificado. Compras por Internet. Navegadores. {WWW}. Virus

Story Transcript

Programación Orientada al Multimèdia, Curso 2003 Página 1

Conceptos Avanzados de Programación en Internet (1) Introducción a las Bases de Datos (2) Lenguaje Estándar de Consultas SQL

Programación Orientada al Multimèdia, Curso 2003 Página 2

Lenguaje SQL. Introducción BD • Justificación de las Bases de Datos (BD) – En general: • Estructura ordenada y relacionada de un gran volumen de información (frente el sistema de ficheros tradicional)

– En nuestro caso: Internet (WWW) • Generación dinámica de contenido en los sitios web • Permite desacoplar (separar) el diseño y el contenido (los datos) • Un primer ejemplo: – Listado de todos los productos de una empresa, con las características de cada producto, su imagen, etc... ⇒ Atención! añadir un nuevo producto no implica ninguna modificación del fichero HTML, sino solamente añadir el producto en la BD!

Programación Orientada al Multimèdia, Curso 2003 Página 3

Lenguaje SQL. Introducción BD • Aplicaciones Web + BD. Ejemplos – Catálogo de productos on-line – Mantenimiento del sitio: • Administración de los datos (“updates”) por parte del cliente

– Intranet corporativa – Administrador de contenido (noticias, calendarios, etc.) –…

Programación Orientada al Multimèdia, Curso 2003 Página 4

Lenguaje SQL. Introducción BD • Estructura de la información en una BD (I) – Tabla: productos (cod_prod, nombre, precio) cod_prod

nombre

precio

P1

Camiseta

45

P2

Pantalón

80

P3

Chaqueta

100

• Tabla bidimensional con atributos (columnas) y los datos correspondientes (filas) • Columnas: atributos que reflejan las características o propiedades de la tabla • Filas: contienen los datos que describen los productos • Clave (key): Identificador de la tabla (formado por uno o más atributos de la tabla)

Programación Orientada al Multimèdia, Curso 2003 Página 5

Lenguaje SQL. Introducción BD • Estructura de la información en una BD (II) – Relación entre Tablas: empleados (cod_emp, nombre, sueldo, cod_dept, cod_pro) departamentos (cod_dept, nombre, edificio, ciudad) proyectos (cod_pro, nombre, presupuesto) • Un empleado pertenece a un único departamento. • Un empleado está asignado a un proyecto.

Programación Orientada al Multimèdia, Curso 2003 Página 6

Lenguaje SQL. Introducción BD • Estructura de la información en una BD (II) – Relación entre Tablas (empleados – departamentos) empleados (cod_emp, nombre, sueldo, cod_dept, cod_pro) departamentos (cod_dept, nombre, edificio, ciudad) proyectos (cod_pro, nombre, presupuesto) • El atributo cod_dept de la tabla empleados hace referencia a la tabla departamentos

Programación Orientada al Multimèdia, Curso 2003 Página 7

Lenguaje SQL. Introducción BD • Estructura de la información en una BD (II) – Relación entre Tablas (empleados – proyectos) empleados (cod_emp, nombre, sueldo, cod_dept, cod_pro) departamentos (cod_dept, nombre, edificio, ciudad) proyectos (cod_pro, nombre, presupuesto) • El atributo cod_pro de la tabla empleados hace referencia a la tabla proyectos

Programación Orientada al Multimèdia, Curso 2003 Página 8

Lenguaje SQL. Introducción • SQL = Standard Query Language • Actualmente es el lenguaje estándar para los sistemas de base de datos relacionales – Aceptado por ANSI / X3H2 – Versiones: SQL/86, SQL2 (92), SQL3 (99) – Pero existen variantes del lenguaje en función del Sistema de Gestión de Base de Datos (SGBD) !!! • Trabajaremos con MySQL

Programación Orientada al Multimèdia, Curso 2003 Página 9

Lenguaje SQL. Introducción • Utilización – Permite acceder a los datos mediante un lenguaje bastante “cercano” al lenguaje humano • Ejemplo: “Seleccionar todos los productos con un precio mayor a 50”: cod_prod

nombre

precio

P1

Camiseta

45

P2

Pantalón

80

P3

Chaqueta

100

SELECT cod_prod, nombre, precio FROM productos WHERE precio > 50;

Programación Orientada al Multimèdia, Curso 2003 Página 10

Lenguaje SQL. Introducción • Componentes del lenguaje SQL – DML (Data Manipulation Language) • Manipulación de los datos – Seleccionar / Añadir / Modificar / Borrar

– DDL (Data Definition Language) • Creación de objetos de la BD – Creación de tablas, ...

– DCL (Data Control Language) • Control de acceso de los datos de los usuarios

Programación Orientada al Multimèdia, Curso 2003 Página 11

Lenguaje SQL. DML • DML = Data Manipulation Language (Manipulación de los Datos) – Select • Permite hacer consultas en la BD, obteniendo una nueva “tabla” con los resultados de la consulta

– Insert • Permite añadir datos en la BD (filas de una tabla)

– Update • Permite modificar datos en la BD (filas de una tabla)

– Delete • Permite borrar datos en la BD (filas de una tabla)

Programación Orientada al Multimèdia, Curso 2003 Página 12

Lenguaje SQL. DML (Select) • Consulta de datos: SELECT • Notación: SELECT FROM ; • Ejemplo sobre la tabla empleados: empleados (cod_emp, nombre, sueldo, cod_dept, cod_pro)

SELECT nombre, sueldo FROM empleados;

Programación Orientada al Multimèdia, Curso 2003 Página 13

Lenguaje SQL. DML (Select) • Para mostrar todos los atributos (columnas) de la tabla empleados: SELECT * FROM empleados; • Para evitar mostrar filas duplicadas: SELECT DISTINCT nombre FROM empleados;

Programación Orientada al Multimèdia, Curso 2003 Página 14

Lenguaje SQL. DML (Select) – Filtros (WHERE). Aplicar condiciones (o restricciones) en la selección de datos • Notación: SELECT FROM WHERE ; • Ejemplo: SELECT cod_emp, sueldo FROM empleados WHERE nombre = "Josep";

Programación Orientada al Multimèdia, Curso 2003 Página 15

Lenguaje SQL. DML (Select) • Operadores de comparación aplicables en la cláusula WHERE = > < >= = 3; BETWEEN: SELECT * FROM empleados WHERE cod_emp BETWEEN 2 AND 5; LIKE: SELECT * FROM empleados WHERE nombre LIKE "M%" AND cod_emp >= 3;

Programación Orientada al Multimèdia, Curso 2003 Página 17

Lenguaje SQL. DML (Select) • Ejemplos: IS (NOT) NULL: SELECT * FROM empleados WHERE cod_pro IS NOT NULL; SELECT * FROM empleados WHERE cod_pro IS NULL;

Programación Orientada al Multimèdia, Curso 2003 Página 18

Lenguaje SQL. DML (Select) – Ordenación de los datos presentados (ORDER BY) • Notación: SELECT FROM [ WHERE ] ORDER BY , ..., ; • Ejemplo: SELECT nombre, sueldo FROM empleados ORDER BY sueldo DESC; {por defecto es ASC}

Programación Orientada al Multimèdia, Curso 2003 Página 19

Lenguaje SQL. DML (Select) – Funciones de agregación COUNT() {devuelve el total de filas seleccionadas} SUM() {suma los valores de una columna} MIN() {devuelve valor mínimo columna} MAX() {devuelve valor máximo columna} AVG() {devuelve la mediana de la columna} ... • Ejemplos: SELECT COUNT(*) SELECT AVG(sueldo) FROM empleados; FROM empleados;

Programación Orientada al Multimèdia, Curso 2003 Página 20

Lenguaje SQL. Ejemplos •

Ejemplos (I) 1) Mostrar todos los datos de la tabla empleados. 2) Mostrar el nombre y sueldo de todos los empleados. 3) Obtener el nombre y sueldo de todos los empleados que trabajan en el departamento con código 1. 4) Obtener el nombre y sueldo de todos los empleados que trabajan en el departamento con código 1, tal que su sueldo es mayor de 20000 euros.

Programación Orientada al Multimèdia, Curso 2003 Página 21

Lenguaje SQL. DML (Select) – Consultas en más de una tabla • Notación: SELECT FROM , , ... , [ WHERE ] • Ejemplo (I): empleados (cod_emp, nombre, sueldo, cod_dept, cod_pro) departamentos (cod_dept, nombre, edificio, ciudad) SELECT e.cod_emp, d.cod_dept, d.nombre FROM empleados e, departamentos d WHERE e.cod_dept = d.cod_dept;

Programación Orientada al Multimèdia, Curso 2003 Página 22

Lenguaje SQL. Ejemplos •

Ejemplos (II) 1) Mostrar los nombres de los empleados que trabajan en departamentos ubicados en la ciudad de BARCELONA. 2) Obtener el nombre y sueldo de los empleados que trabajan en el departamento de VENTAS. 3) Mostrar los nombres de los departamentos situados en MADRID, tal que alguno de sus empleados ganan más de 40000 euros. 4) Mostrar el código, nombre, sueldo y nombre del departamento de los empleados cuyo sueldo es mayor de 45000 euros y su departamento está ubicado en Madrid.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.