Introducción A SQL
nelson287516 de Febrero de 2013
12.238 Palabras (49 Páginas)357 Visitas
Introducción
a
SQL
Términos y Conceptos Básicos - Objetivos
Al concluir esta sección estará capacitado para:
• Definir SQL
• Definir un sistema manejador de bases de datos relacional
• Listar y definir los términos de una base de datos
• Listar las tablas que están en la base de datos IMCLASS
• Reconocer como se insertan y extraen datos desde una base de datos.
Objetivos En esta sección aprenderá los conceptos básicos de una base de datos, y serán definidos los términos usados para referenciar entidades. También se incluye una breve explicación del sistema manejador de bases de datos relacionales y como se insertan y extraen datos en una base de datos.
SQL
• Structured Query Language (Lenguaje de consulta estructurado)
• Es una forma estándar de consulta de datos específicos
• Es una forma de extraer y manipular datos de una base de datos
• Usado para todas las funciones de bases de datos, incluyendo administración, creación de esquemas y datos recuperables
• Puede ser usado de forma implícita dentro de una aplicación
Base de Datos
• Definición: Un cuerpo o conjunto de datos en el cual existen relaciones entre sus elementos
Ejemplo:
SURCE97 SURCE97
Mov_Est Proyecto
Est_fin
Oficio Ofi_Pro
Sistema Manejador De Base De Datos (DBMS)
• Definición: Es un programa que permite la definición de estructuras de bases de datos, el almacenamiento y la recuperación de datos de estas estructuras.
Tabla
Columna
Renglón
Llave Primaria
Llave Foránea • Conjunto de renglones o lista de valores
• Análogo a un “archivo”
• Análogo a un “campo” de un registro
• Cada columna en un renglón dado tiene un valor único de dato
• Cada columna es de un tipo de dato único
• Análogo a un “registro” de un archivo
• Todos los renglones de una tabla tienen el mismo conjunto de columnas
• Una o más columnas cuyo contenido es único dentro de la tabla y puede ser usado para identificar los renglones de otra tabla.
• Una o más columnas de una tabla que existe como llave primaria en otra tabla. Los nombres de las columnas de las llaves foráneas no tienen que ser iguales a los nombres de las columnas de las llaves primarias.
Tablas
Nombres de Columnas
Ent_fed Proyec Munici Eje_fis
22 97/000001 01 1997
Renglones 22 97/000002 02 1997
22 97/000003 01 1997
Columnas
Ejemplo: La tabla PROYECTO contiene información de los proyectos
Llaves Primarias
• Cada renglón puede ser accesado por una “llave primaria” única
• En todos los renglones, algunas columnas o grupos de columnas deberán identificar únicamente este renglón.
Tabla Proyecto
Llave Primaria
Ent_fed Proyec Munici Eje_fis
22 97/000001 01 1997
22 97/000002 02 1997
22 97/000003 01 1997
La concatenación de “Ent_fed + Proyec” es un identificador único para cada producto, por eso es una llave primaria.
Visión General: Crear una Tabla
1. El Diseñador de una base de datos crea las tablas
create table PROYECTO
(ent_fed char(2) not null,
proyec char(12) not null,
munici char(3) not null,
progra char(2) null)
2. En una tabla que esta creada, se pueden insertar datos
insert PROYEC
(‘26’,’97/000002’,’02’,’SS’)
Visión General: Extraer datos de una Tabla
• Extraer datos de una tabla
select * from PROYECTO
• Nombres Convencionales
• Forma corta
nombre_tabla.nombre_columna
• Forma completa
base_datos.propietario.nombre_tabla.nombre_columna
• Ejemplo:
PROYECTO.name
SURCE97.dba.PROYECTO.munici
SURCE97.admdeleg.PROYMIO.nom_com
• Nombres convencionales Defaults
• El valor default para el propietario es el de la base actual
• El valor default para la base de datos es el de la base de datos actual
Usar el dba
• Propietario de la base de datos
• Utilice “dba” si el propietario de la tabla es también el propietario de la base de datos.
Sumario
• Structured Query Language (SQL) -es una forma estándar para obtener y manipular datos de una base de datos.
• Base de datos - Un cuerpo de datos en el cual existe una relación entre sus elementos.
• Sistema manejador de base de datos - Programa que permite la definición de estructuras de bases de datos, el almacenamiento y la recuperación de estas estructuras.
• Términos - Tabla, columna, renglón, llave primaria.
• Nombres convencionales - BD.propietario.nom_tabla.nom_columna
Joins y Subconsultas - Objetivos
Al concluir esta sección estará capacitado para:
• Elaborar consultas y subconsultas en base a una o varias operaciones join
• Realizar subconsultas con joins externos
• Extraer un conjunto de renglones de la misma tabla con más de una subconsulta
• Renombrar el resultado de una subconsulta
La cláusula KEY JOIN
• KEY JOIN indica una operación join
• Una consulta puede ser simplificada en su estructura al utilizar un KEY JOIN
• Ejemplo (sin utlizar KEY JOIN)
select proyec, nom_ofi
from PROYECTO, MUNICI
where PROYECTO.ent_fed = MUNICI.ent_fed
and PROYECTO.munici = MUNICI.munici
• Ejemplo (utlizando KEY JOIN)
select proyec, nom_ofi
from PROYECTO key join MUNICI
Resultado sin KEY JOIN Resultado con KEY JOIN
proyec munici proyec munici
97/000029 Ensenada 97/000029 Ensenada
97/000030 Ensenada 97/000030 Ensenada
97/000031 Ensenada 97/000031 Ensenada
97/000063 Ensenada 97/000063 Ensenada
97/000064 Ensenada 97/000064 Ensenada
97/000065 Ensenada 97/000065 Ensenada
97/001905 Ensenada 97/001905 Ensenada
97/000069 Ensenada 97/000069 Ensenada
97/000070 Ensenada 97/000070 Ensenada
97/000071 Ensenada 97/000071 Ensenada
97/000072 Ensenada 97/000072 Ensenada
97/000066 Ensenada 97/000066 Ensenada
97/000067 Ensenada 97/000067 Ensenada
97/000068 Ensenada 97/000068 Ensenada
97/000006 Ensenada 97/000006 Ensenada
KEY JOIN con más de una tabla
• Listar los proyectos, su tipo y el municipio al que pertenecen para el fondo 1 y el programa ‘SB’
select proyec, nom_ofi, descri
from PROYECTO key join MUNICI
key join LINEAM
where fondo = 1 and progra = 'SB'
order by PROYECTO.munici
Resultado
proyec nom_ofi descri
97/000355 Ensenada Social
97/000356 Ensenada Social
97/000351 Mexicali Social
97/000352 Mexicali Social
97/000358 Tecate Social
97/000357 Tecate Social
97/000353 Tijuana Social
97/000354 Tijuana Social
97/0307 Tijuana Apoyo
97/000359 Concejo Mpal. de playas de Rosarito Social
97/000360 Concejo Mpal. de playas de Rosarito Social
KEY LEFT OUTER JOIN / KEY RIGHT OUTER JOIN
• Al especificar una operación join en una consulta puede suceder el caso que alguna de las tablas no contenga datos para establecer la relación, esto reflejaría un resultado incompleto o bien no se obtendría ningún registro
• Supongamos dos tablas A y B
A key left outer join B
El resultado incluye los renglones de A que no esten contenidos
...