Computación Web (Curso 2015/2016)

Documentos relacionados
Crear BD en. Isis Bonet Cruz, PhD

Temario. Índices simples Árboles B Hashing

MANUAL BÁSICO DE MYSQL

SQL Server FEMEPA SQL Server 2000

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

Modulo I: Introducción Gestores de Bases De Datos

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Bases de Datos: Structured Query Language (SQL)

3ra. Parte. Bases de Datos Relacionales

FUNCIONES EN SQL SERVER

A.1. Definiciones de datos en SQL

Tema 2 Modelos de Base de Datos. Profesor Luis Gmo. Zúñiga Mendoza UMCA

Procedimientos para agrupar y resumir datos

ÍNDICE INTRODUCCIÓN...13

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

SQL (DML) Carlos A. Olarte Gestión y Modelación de SQL Datos (DML)

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

ÍNDICE INTRODUCCIÓN...17

Introducción a las bases de datos.

Bases de Datos Relacionales

8 SQL SERVER 2008 RA-MA

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

ÍNDICE PRIMERA PARTE... 17

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Práctica A: Trabajo con subconsultas

MANUAL BÁSICO DEL LENGUAJE SQL

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

SQL (Structured Query Language)

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

SQL: Lenguaje de acceso a bases de datos

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

S.Q.L. (Lenguaje de Consulta Estructurada)

Tipo de Dato TRANSACT SQL

INDICE Primera Parte. Panorámica general de SQL 2. Rápido repaso de SQL 3. SQL en Perspectiva

Bases de Datos 2. Teórico

Jaime Hernández P. SIG

APÉNDICE SQL (Structures Query Language)

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción:

Tutorial de SQL - El comando SELECT

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

SQL: Lenguaje de acceso a bases de datos

Tema 4. SQL. Juan Ignacio Rodríguez de León

SENTENCIAS Y CONSULTAS EN SQL SERVER

BASE DE DATOS TIPOS DE DATOS, VARIABLES, OPERADORES Y CONTROLES EN SQL SERVER

BASES DE DATOS. TEMA 7. SQL. EL LENGUAJE DE CONSULTA.

MANUAL BÁSICO DEL LENGUAJE SQL

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

El lenguaje SQL es un lenguaje estándar para el acceso y

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

SQL. Álgebra Relacional Selección y proyección Operaciones sobre conjuntos: unión, intersección, diferencia, producto Reunión natural

Bases de datos: Sistemas de bases de datos:

2- Creación de tablas y manejos de datos.

Objetos de la Base de Datos

Sql Basico. Seminar Introduction

SQL. Orígenes y Evolución

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

Gestión de la Información Práctica 1

Tema: Uso de sentencias SQL

Guía práctica de SQL

Taller de Programación II J2EE

Unidad. Lenguaje SQL. (Structured Query Language)

Prácticas EDAT Curso 12/13

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

Conceptos Avanzados de Programación en Internet

Conceptos Avanzados de Bases de datos

Taller SQL - SUP. Introducción al Lenguaje SQL. Claúsula Where. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete

Diseña y Administra Bases de Datos Guía de Estudio

TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA

FileMaker 13. Referencia de SQL

Introducción a Transact-SQL

Práctica A: Procedimientos para agrupar y resumir datos

Tema 33. El lenguaje SQL

TEMA. Sistema de Gestión de Bases de Datos. Sistemas Avanzados de Recuperación de Información (SARI)

Introducción a Transact-SQL

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

SERVICIO NACIONAL DE APRENDIZAJE SENA

Trabajo con Subconsultas

Manual Práctico de SQL. ORIENTADO A SQL 7.0 Preparado por: Alvaro E. García alvaroegarcia@ubbi.com

Bases de Datos SQL - Ejemplos

Descriptor del curso. Nombre del curso: Haciendo consultas en SQL Server Descripción:

Desarrollo de sitios web con PHP y MySQL

Existen muchos tipos de base de daos en función del modo en que almacenan y acceden a la información que almacenan.

Base de datos relacional

LENGUAJE SQL. Bárbula, Febrero de Historia y Definición

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

BASE DE DATOS RELACIONALES

Manipulación de datos en SQL

Tema 7. Elaboración de consultas básicas de selección. Lenguajes de bases de datos. SQL básico 15/12/2011

DDL (Lenguaje de manipulación de datos) : permiten crear y definir nuevas bases de datos, campos e índices.

Tema: Combinación de tablas

Datos Agregados por medio de Funciones de Grupo. Copyright Oracle Corporation, All rights reserved.

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

TEMA 20: CONCEPTOS BÁSICOS DE SQL

Transcripción:

Bases de Datos (I) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (I) p. 1

Bases de datos relacionales Colección de datos almacenados en una o más tablas. Las tablas constan de filas y columnas. Las tablas pueden estar relacionadas entre sí. Bases de Datos (I) p. 2

Ejemplo CustomerID FirstName LastName 1 William Smith 2 Natalie Lopez 3 Brenda Harper OrderID CustomerID OrderAmount 1 1 50.00 2 1 60.00 3 2 33.50 4 3 20.00 Bases de Datos (I) p. 3

Sistema gestor de bases de datos relacionales Programa que da soporte al uso de bases de datos relacionales. Ejemplos: Oracle Database, Microsoft SQL Server, IBM DB2, IBM Informix, MySQL, PostgreSQL, SQLite, Derby, etc. Bases de Datos (I) p. 4

El lenguaje SQL SQL es un lenguaje estándar para utilizar y mantener bases de datos relacionales. Utilizado en los principales gestores de bases de datos relacionales: Aunque hay pequeñas variaciones dependiendo del gestor. Bases de Datos (I) p. 5

El lenguaje SQL Bases de Datos (I) p. 6

Tipos de datos Las columnas tienen un tipo de datos asociado. Principales grupos de tipos de datos: Numéricos. Cadenas. Fechas / horas. Los tipos de datos concretos varían según el gestor de bases de datos. Valor especial NULL: ausencia de valor. Bases de Datos (I) p. 7

Tipos de datos en MySQL Numéricos: INTEGER, SMALLINT, BIGINT, BIT, DECIMAL, NUMERIC, FLOAT, DOUBLE, etc. Cadenas: CHAR, VARCHAR, TEXT, BINARY, VARBINARY, BLOB, ENUM, SET. Fechas / horas: DATE, DATETIME, TIMESTAMP, TIME, YEAR. Bases de Datos (I) p. 8

Recuperación de datos Sentencia SELECT. 1 SELECT <columnas> 2 FROM <tabla> 3 WHERE <condición>; Bases de Datos (I) p. 9

Ejemplos 1 SELECT * 2 FROM Customers; 3 4 SELECT FirstName, LastName 5 FROM Customers; Bases de Datos (I) p. 10

Ejemplos 1 SELECT FirstName, LastName 2 FROM Customers 3 WHERE LastName = ³ Harper ³; 4 5 SELECT * 6 FROM Orders 7 WHERE CustomerID = 1; Bases de Datos (I) p. 11

Lógica Booleana Operadores Booleanos: AND, OR, NOT. Expresiones de comparación: =, <>, <, >, <=, >=, BETWEEN. Otros operadores: IN, IS NULL, IS NOT NULL. Bases de Datos (I) p. 12

Ejemplos 1 SELECT * 2 FROM Orders 3 WHERE OrderAmount >= 50.0; 4 5 SELECT * 6 FROM Orders 7 WHERE OrderAmount >= 50.0 AND CustomerID = 1; 8 9 SELECT * 10 FROM Orders 11 WHERE OrderAmount >= 50.0 12 OR (OrderAmount >= 20.0 AND CustomerID = 1); Bases de Datos (I) p. 13

Ejemplos 1 SELECT * 2 FROM Orders 3 WHERE OrderAmount BETWEEN 50.00 AND 70.00; 4 5 SELECT * 6 FROM Customers 7 WHERE State IN ( ³IL ³, ³NY ³); Bases de Datos (I) p. 14

Ordenación y restricción del número de resultados Ordenación: ORDER BY <Columnas>. Sentido de ordenación: ASC (por defecto), DESC. Restricción del número de resultados: Palabra clave LIMIT. Palabra clave OFFSET para seleccionar el rango. Bases de Datos (I) p. 15

Ejemplos 1 SELECT * 2 FROM Orders 3 WHERE OrderAmount > 10.0 4 ORDER BY OrderAmount; 5 6 SELECT * 7 FROM Orders 8 WHERE OrderAmount > 10.0 9 ORDER BY OrderAmount DESC; 10 11 SELECT * 12 FROM Customers 13 ORDER BY LastName, Name; Bases de Datos (I) p. 16

Ejemplos 1 SELECT * 2 FROM Orders 3 WHERE OrderAmount > 10.0 4 ORDER BY OrderAmount DESC 5 LIMIT 10; 6 7 SELECT * 8 FROM Customers 9 ORDER BY LastName, Name 10 LIMIT 10 OFFSET 20; Bases de Datos (I) p. 17

Agregación de datos: datos únicos DISTINCT permite eliminar resultados duplicados. 1 SELECT 2 DISTINCT 3 Artist 4 FROM SongTitles; Bases de Datos (I) p. 18

Agregación de datos: sumas, medias, etc. Cómputo sobre las filas obtenidas: SUM, AVG, MIN, MAX. 1 SELECT 2 SUM(Fee) AS ³Total Gym Fees ³ 3 FROM Fees 4 WHERE FeeType = ³Gym ³; Bases de Datos (I) p. 19

Cuenta del número de resultados 1 SELECT COUNT permite contar el número de resultados de la consulta. 2 COUNT(*) AS ³Count of Homework Rows ³ 3 FROM Grades 4 WHERE GradeType = ³ Homework ³; 5 6 SELECT 7 COUNT(DISTINCT FeeType) AS ³Number of Fee Types ³ 8 FROM Fees; Bases de Datos (I) p. 20

Agregación de datos: agrupación GROUP BY permite hacer cómputos (suma, media, etc.) sobre grupos de resultados. 1 SELECT 2 GradeType AS ³ Grade Type ³, 3 AVG(Grade) AS ³ Average Grade ³ 4 FROM Grades 5 GROUP BY GradeType; 6 7 SELECT 8 GradeType AS ³ Grade Type ³, 9 Student AS ³Student ³, 10 AVG(Grade) ³ AS Average ³ Grade 11 FROM Grades 12 GROUP BY GradeType, Student 13 ORDER BY GradeType, Student; Bases de Datos (I) p. 21

Agregación de datos: filtrado de grupos HAVING permite seleccionar grupos que cumplan ciertos requisitos. 1 SELECT 2 Student AS ³Student ³, 3 AVG(Grade) AS ³Average Quiz Grade ³ 4 FROM Grades 5 WHERE GradeType ³ = ³ Quiz 6 GROUP BY Student 7 HAVING AVG(Grade) >= 70 8 ORDER BY Student; Bases de Datos (I) p. 22

Claves primarias y foráneas Claves primarias: identifican unívocamente una fila de una tabla. Garantizan que sólo una fila de la tabla pueda tener una clave primaria dada. Pueden estar formadas por una o más columnas. Claves foráneas: referencias a la clave primaria de filas de otras tablas. En combinación con las claves primarias, permiten relacionar datos de distintas tablas entre sí. Bases de Datos (I) p. 23

Ejemplos CustomerID FirstName LastName 1 William Smith 2 Natalie Lopez 3 Brenda Harper 4 Adam Petrie OrderID CustomerID Quantity OrderAmount 1 1 4 50.00 2 2 10 60.00 3 2 12 33.50 4 3 5 20.00 Bases de Datos (I) p. 24

Consultas en múltiples tablas (INNER JOIN) Con INNER JOIN se puede realizar consultas sobre datos de varias tablas. 1 SELECT * 2 FROM Customers 3 INNER JOIN Orders 4 ON Customers.CustomerID = Orders.CustomerID; Bases de Datos (I) p. 25

Ejemplo 1 SELECT * 2 FROM Customers 3 INNER JOIN Orders 4 ON Customers.CustomerID = Orders.CustomerID; Customer First Last Order Customer Quantity OrderAmount ID Name Name ID ID 1 William Smith 1 1 4 50.00 2 Natalie Lopez 2 2 10 60.00 2 Natalie Lopez 3 2 12 33.50 3 Brenda Harper 4 3 5 20.00 Bases de Datos (I) p. 26

Consulta equivalente a INNER JOIN Las siguientes dos consultas son equivalentes: 1 SELECT * 2 FROM Customers 3 INNER JOIN Orders 4 ON Customers.CustomerID = Orders.CustomerID; 5 6 SELECT * 7 FROM Customers, Orders 8 WHERE Customers.CustomerID = Orders.CustomerID; Bases de Datos (I) p. 27

Ejemplos 1 SELECT FirstName, LastName, Quantity, PricePerItem 2 FROM Customers 3 INNER JOIN Orders 4 ON Customers.CustomerID = Orders.CustomerID; First Last Quantity Price Name Name PerItem William Smith 4 2.50 Natalie Lopez 10 1.25 Natalie Lopez 12 1.50 Brenda Harper 5 4.00 Bases de Datos (I) p. 28

Alias de nombres 1 SELECT Customers.LastName 2 FROM Customers 3 INNER JOIN Orders 4 ON Customers.CustomerID = Orders.CustomerID; 5 6 SELECT C.LastName AS ³Last ³ Name 7 FROM Customers AS C 8 INNER JOIN Orders AS O 9 ON C.CustomerID = O.CustomerID; Bases de Datos (I) p. 29

Columnas calculadas 1 SELECT 2 LastName AS ³ Last Name ³, 3 PricePerItem * Quantity AS ³Total Price ³ 4 FROM Customers 5 INNER JOIN Orders 6 ON Orders.CustomerID = Customers.CustomerID; Last Name Total Price Smith 10 Lopez 12.5 Lopez 18 Harper 20 Bases de Datos (I) p. 30

Referencias The Language of SQL, Larry Rockoff. Course Technology PTR (2010). Accesible en Safari: http://proquest. safaribooksonline.com/book/databases/sql/9781435457515 Capítulos: 1, 2, 5, 7, 8, 10, 11. Gran parte de los ejemplos de estas transparencias proceden de este libro. Bases de Datos (I) p. 31