PDF de programación - Héroe en SQL: Manual de Iniciación

Imágen de pdf Héroe en SQL: Manual de Iniciación

Héroe en SQL: Manual de Iniciacióngráfica de visualizaciones

Publicado el 5 de Diciembre del 2018
2.529 visualizaciones desde el 5 de Diciembre del 2018
1,8 MB
79 paginas
Creado hace 9a (18/11/2014)
Héroe en SQL: manual de iniciación
Válido para SQL Server, MySQL, Oracle y las bases de datos
más populares
José Manuel Alarcón Aguín - CampusMVP

Los mejores cursos online para programadores
www.campusMVP.es

Sobre el autor
José Manuel Alarcón Aguín

José Manuel es ingeniero industrial y especialista en consultoría de

empresa. Es socio fundador de campusMVP, empresa que dirige en la
actualidad. Es también un reconocido profesional técnico, especiali-
zado en desarrollo web desde los inicios de la Web, y al que Microsoft ha
reconocido en 10 ocasiones como Most Valuable Professional (MVP). Es
autor de varios libros y cientos de artículos en revistas del sector como PC
World, o Windows TI Magazine.
Twitter: @jm_alarcon
Blog: jasoft.org

Los mejores cursos online para programadores
www.campusMVP.es

2

¿Qué vas a encontrar?

1. ¿Qué es el lenguaje SQL?



2. Diseñando una base de datos en el modelo relacional



4

6

3. VÍDEO: Cómo instalar paso a paso la base de datos Northwind

14

4. Cómo realizar consultas simples con SELECT

5. Consultas SELECT multi-tabla - JOIN



6. Consultas SELECT multi-tabla - Tipos de JOIN

7. Operaciones con conjuntos



8. Agrupaciones y funciones de agregación

9. Funciones escalares en consultas de selección

10. Inserción de datos - INSERT



11. Actualización de datos - UPDATE



16

25

30

38

46

54

59

63

12. Eliminación de datos - DELETE 68

13. Transacciones



71

Los mejores cursos online para programadores
www.campusMVP.es

3

Acceso a datos
¿Qué es el lenguaje SQL?

El Structured Query Language o SQL es el lenguaje utilizado por la ma-

yoría de los Sistemas Gestores de Bases de Datos Relacionales (SGBDR)
surgidos a finales de los años 70, y que llega hasta nuestros días.

A pesar del título de este capítulo, es una reiteración hablar de “Len-
guaje SQL”, ya que lo de “lenguaje” va ya en el nombre, aunque lo
cierto es que casi todo el mundo lo dice así.

En 1986 fue estandarizado por el organismo ANSI (American nacional Stan-
dard Institute), dando lugar a la primera versión estándar de este lenguaje,
el SQL-86 o SQL1. Al año siguiente este estándar es adoptado también por
el organismo internacional ISO (International Standarization Organization).

La parte fundamental de SQL es un estándar internacional.

A lo largo del tiempo se ha ido ampliando y mejorando. En la actualidad
SQL es el estándar de facto de la inmensa mayoría de los SGBDR comer-
ciales. El soporte es general y muy amplio, pero cada sistema (Oracle, SQL
Server, MySQL...) incluye sus ampliaciones y pequeñas particularidades.
El ANSI SQL ha ido sufriendo varias revisiones a lo largo del tiempo, a con-
tinuación vienen indicadas en la siguiente tabla:

facebook.com/campusMVP

twitter.com/campusMVP

www.youtube.com/campusMVPes

4

Año Nombre
1986
1989

SQL-86
SQL-89

1992

SQL-92

Alias
SQL-87
FIPS 127-1
SQL2, FIPS
127-2

Comentarios
Primera versión estándar de ANSI
Revisión menor, añade restricciones de integridad

Actualización grande equivalente a ISO 9075

1999

SQL:1999

SQL3

2003

SQL:2003

SQL 2003

2006

SQL:2006

SQL 2006

2008

SQL:2008

SQL 2008

2011

SQL:2011

SQL 2011

Se añaden coincidencias mediante expresiones
regulares, consultas recursivas, clausuras transitivas,
disparadores, estructuras de control de flujo, tipos
no escalares y algunas características de orientación
a objetos.
Se añaden características relacionadas con XML (la
moda de la época), secuencias estandarizadas, y
campos con valores auto-generados (incluyendo
columnas de identidad).
La ISO/IEC 9075-14:2006 define formas en las que
SQL se puede utilizar con XML (importar y almace-
nar XML, manipularlo directamente en la base de
datos...). Muy centrada en este aspecto concreto.
Permite la cláusula ORDER BY fuera de las definicio-
nes de cursores. Añade disparadores de tipo
INSTEAD OF. Añade la cláusula TRUNCATE.[38]

Añade características de manejo de datos tempora-
les, así como tablas versionadas en el sistema, etc...

El lenguaje SQL se divide en tres subconjuntos de instrucciones, según la funcional-
dad de éstas:

DML (Data Manipulation Language – Lenguaje de Manipulación de Datos): se
encarga de la manipulación de los datos. Es lo que usamos de manera más ha-
bitual para consultar, generar o actualizar información.

DDL (Data Definition Language – Lenguaje de Definición de Datos): se encarga
de la manipulación de los objetos de la base de datos, por ejemplo, crear tablas
u otros objetos.

DCL (Data Control Language – Lenguaje de Control de Datos): se encarga de
controlar el acceso a los objetos y a los datos, para que los datos sean consis-
tentes y sólo puedan ser accedidos por quien esté autorizado a ello.

Los mejores cursos online para programadores
www.campusMVP.es

5

Acceso a datos
Diseñando una base de datos en el modelo relacional

El diseño de una base de datos consiste en definir la estructura de

los datos que debe tener un sistema de información determinado.
Para ello se suelen seguir por regla general unas fases en el proceso
de diseño, definiendo para ello el modelo conceptual, el lógico y el físico.

En el diseño conceptual se hace una descripción de alto nivel de la
estructura de la base de datos, independientemente del SGBD (Sis-
tema Gestor de Bases de Datos) que se vaya a utilizar para manipu-
larla. Su objetivo es describir el contenido de información de la base
de datos y no las estructuras de almacenamiento que se necesitarán
para manejar dicha información.

El diseño lógico parte del resultado del diseño conceptual y da como
resultado una descripción de la estructura de la base de datos en
términos de las estructuras de datos que puede procesar un tipo de
SGBD. El diseño lógico depende del tipo de SGBD que se vaya a utili-
zar, se adapta a la tecnología que se debe emplear, pero no depende
del producto concreto. En el caso de bases de datos convenciona-
les relacionales (basadas en SQL para entendernos), el diseño lógico
consiste en definir las tablas que existirán, las relaciones entre ellas,
normalizarlas, etc...

Los mejores cursos online para programadores
www.campusMVP.es

6

El diseño físico parte del lógico y da como resultado una descripción de la
implementación de una base de datos en memoria secundaria: las estructuras
de almacenamiento y los métodos utilizados para tener un acceso eficiente a
los datos. Aquí el objetivo es conseguir una mayor eficiencia, y se tienen en
cuenta aspectos concretos del SGBD sobre el que se vaya a implementar. Por
regla general esto es transparente para el usuario, aunque conocer cómo se
implementa ayuda a optimizar el rendimiento y la escalabilidad del sistema.

El modelo relacional

En el modelo relacional las dos capas de diseño conceptual y lógico, se parecen
mucho. Generalmente se implementan mediante diagramas de Entidad/Relación
(modelo conceptual) y tablas y relaciones entre éstas (modelo lógico). Este es el
modelo utilizado por los sistemas gestores de datos más habituales (SQL Server,
Oracle, MySQL...).


Nota: Aunque mucha gente no lo sabe, a las bases de datos relaciones se les
denomina así porque almacenan los datos en forma de “Relaciones” o listas
de datos, es decir, en lo que llamamos habitualmente “Tablas”. Muchas perso-
nas se piensan que el nombre viene porque además las tablas se relacionan
entre sí utilizando claves externas. No es así, y es un concepto que debemos
tener claro. (Tabla = Relación).

El modelo relacional de bases de datos se rige por algunas normas sencillas:

Todos los datos se representan en forma de tablas (también llamadas “relacio-
nes”, ver nota anterior). Incluso los resultados de consultar otras tablas. La tabla
es además la unidad de almacenamiento principal.
Las tablas están compuestas por filas (o registros) y columnas (o campos) que
almacenan cada uno de los registros (la información sobre una entidad concre-
ta, considerados una unidad).

facebook.com/campusMVP
facebook.com/campusMVP

twitter.com/campusMVP
twitter.com/campusMVP

www.youtube.com/campusMVPes
www.youtube.com/campusMVPes

7

Las filas y las columnas, en principio, carecen de orden a la hora de ser alma-
cenadas. Aunque en la implementación del diseño físico de cada SGBD esto no
suele ser así. Por ejemplo, en SQL Server si añadimos una clave de tipo “Clus-
tered” a una tabla haremos que los datos se ordenen físicamente por el campo
correspondiente.
El orden de las columnas lo determina cada consulta (que se realizan usando
SQL).
Cada tabla debe poseer una clave primaria, esto es, un identificador único de
cada registro compuesto por una o más columnas.
Para establecer una relación entre dos tablas es necesario incluir, en forma de
columna, en una de ellas la clave primaria de la otra. A esta columna se le llama
clave externa. Ambos conceptos de clave son extremadamente importantes en
el diseño de bases de datos.

Basándose en estos principios se diseñan las diferentes bases de datos relacionales,
definiendo un diseño conceptual y un diseño lógico, que luego se implementa en el
diseño físico usando para ello el gestor de bases de datos de nuestra elección (por
ejemplo SQL Server).
Por ejemplo, consideremos la conocida base de datos Northwind de Microsoft (ver
siguiente capítulo).
Esta base de datos representa un sistema sencillo de gestión de pedidos para una
empresa ficticia. Existen conceptos que hay que manejar como: proveedores, em-
pleados, clientes, empresas de transporte, regiones geográficas, y por supuesto pe-
didos y productos.
El diseño conceptual de la base de datos para manejar toda esta información se pue-
de ver en la figura de la
  • Links de descarga
http://lwp-l.com/pdf14431

Comentarios de: Héroe en SQL: Manual de Iniciación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad