0% encontró este documento útil (0 votos)
17 vistas9 páginas

Transact-SQL IV

El documento detalla la historia y evolución de SQL Server desde su inicio en 1989 hasta la versión 2012, destacando mejoras en la interfaz, escalabilidad y funcionalidades para la nube. También se abordan aspectos fundamentales de Transact-SQL, incluyendo instrucciones DDL, DCL y DML, así como la creación de bases de datos y el uso de joins. Finalmente, se presentan ejemplos prácticos de consultas SQL y la estructura de una base de datos para una pequeña empresa.

Cargado por

bolivarmario2023
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas9 páginas

Transact-SQL IV

El documento detalla la historia y evolución de SQL Server desde su inicio en 1989 hasta la versión 2012, destacando mejoras en la interfaz, escalabilidad y funcionalidades para la nube. También se abordan aspectos fundamentales de Transact-SQL, incluyendo instrucciones DDL, DCL y DML, así como la creación de bases de datos y el uso de joins. Finalmente, se presentan ejemplos prácticos de consultas SQL y la estructura de una base de datos para una pequeña empresa.

Cargado por

bolivarmario2023
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Historia del Sql Server Clase 20150310

martes, 10 de marzo de 2015


12:15 p. m.

1989 Inicio del Sql Server, Nuevo gestor de sofware


• Microsoft
• Sybase
• AshtonTate

1991 Primer versión de Sql Server (1.1)

1993 Primer versión comercial "Sql Server 4.21"


• Interfaz de ventas
• No más consolas de comandos
• Administración más amigable de la herramienta, se cambia la forma como se administra el software.
• Funciones revolucionarias.

1995 Sql Server 6.0


• Se mejora la interacción con usuarios finales
• Se mitigan errores críticos de las versiones anteriores
1996 Sql Server 6.5
• Funcionalidades para internet
• Nuevas utilidades para almacenamiento de datos

1998 Sql Server 7.0


• Mejor escalabilidad más flexible
• Nueva arquitectura

2000 Sql Server 2000


• Mejora el modelado de datos
○ RDB
○ OLAP
○ ETL
○ Reporting
• Failover Clustering
• Relational
• Blob
• XML

2005 Sql Server 2005


• Mitigación de errores críticos.
• Utilidadades para mejorar el desarrollo

2008 Sql Server 2008


• Resource Governor (Gestor de recursos)
• Data And Backup compression
• Policys-Based Managements (Gestiones basadas en políticas de los administradores)
2008 Sql Server R2
• Enfocada en la innovación y el futuro
• Diseña específicamente para el almacenamiento en la nube. (Sql Azure)

2012 Sql Server 2012


• Basada para plataformas en la nube.

Aspectos Básicos de la interfaz de SQL Server 2012

ITM - BD página 1
Transact-SQL I
martes, 24 de marzo de 2015
03:55 p.m.

Definición
Es un lenguaje que sirve para la definición, tratamiento y control de datos.

Tipos de instrucciones de Transact-SQL

• Instrucciones del Lenguaje de definición de datos (DDL), que se utilizan para crear objetos en
la base de datos.
○ Definen los objetos de la base de datos
 CREATE nombreObjeto
 ALTER nombreObjeto
 DROP nombreObjetoUSE northwind

○ Deben tener los permisos adecuados


 Únicamente los miembros de estas funciones pueden ejecutar sentencias DDL
□ Sysadmin
□ Dbcreator
□ db_owner
□ db_ddladmin

• Instrucciones del Lenguaje de control de datos (DCL), que se utilizan para determinar quién
puede ver o modificar los datos.

○ Establecer o cambiar los permisos


 GRANT
Crea una entrada en el sistema de seguridad que permite a un usuario trabajar
con datos o ejecutar ciertas instrucciones de Transact-SQL.
 DENY
Crea una entrada en el sistema de seguridad que deniega un permiso de una
cuenta de seguridad e impide que el usuario, grupo o función herede el permiso a
través de su pertenencia a grupos o funciones.
 REVOKE
Quita un permiso concedido o denegado previamente.

○ Deben tener los permisos adecuados


 Unicamente los miembros de estas funciones pueden ejecutar sentencias DCL
□ Sysadmin
□ Dbcreator
□ db_owner
□ db_securityadmin

○ Ejemplo
En este ejemplo se concede a la función public el permiso para consultar la tabla
products.

USE northwind
GRANT SELECT ON products TO public
GO

ITM - BD página 2
GO

• Instrucciones del Lenguaje de tratamiento de datos (DML), que se utilizan para consultar y
modificar los datos.taform
○ Las instrucciones de DML funcionan con los datos de la base de datos. Mediante estas
instrucciones puede cambiarlos o recuperar información. Las instrucciones de DML
incluyen:
 SELECT
 INSERT
 UPDATE
 DELETE

○ Deben tener los permisos adecuados


 Unicamente los miembros de estas funciones pueden ejecutar sentencias DCL
□ Sysadmin
□ Dbcreator
□ db_owner
□ db_datawriter

○ Ejemplo
En este ejemplo se recupera el identificador de categoría, nombre de producto,
identificador de producto y precio por unidad de los productos de la base de datos
Northwind.

USE northwind
SELECT categoryid, productname, productid, unitprice FROM products
GO

ITM - BD página 3
Transact-SQL II
martes, 07 de abril de 2015
09:54 a.m.

Componentes del SQL


El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones
para crear, actualizar y manipular las bases de datos.

1. Comandos

○ Los DLL que permiten crear y definir nuevas bases de datos, campos e índices.
○ Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

Comandos DCL
 Establecer o cambiar los permisos
□ GRANT
Crea una entrada en el sistema de seguridad que permite a un usuario trabajar con datos o ejecutar ciertas instrucciones de
Transact-SQL.
□ DENY
Crea una entrada en el sistema de seguridad que deniega un permiso de una cuenta de seguridad e impide que el usuario,
grupo o función herede el permiso a través de su pertenencia a grupos o funciones.
□ REVOKE
Quita un permiso concedido o denegado previamente.

2. Clausulas

Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.

3. Operadores

○ Logicos

ITM - BD página 4
○ Comparación

4. Funciones de agregado

ITM - BD página 5
Transact-SQL III
jueves, 23 de abril de 2015
03:41 p.m.

Artículos y encargos
Una base de datos para una pequeña empresa debe contener información acerca de clientes,
artículos y
pedidos. Hasta el momento se registran los siguientes datos en documentos varios:
• Para cada cliente: Número de cliente (único), Direcciones de envío (varias por cliente), Saldo,
Límite de
crédito (depende del cliente, pero en ningún caso debe superar los 3.000.000 pts), Descuento.
• Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen, Existencias de ese
artículo
en cada fábrica, Descripción del artículo.
• Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera está
formada
por el número de cliente, dirección de envío y fecha del pedido. El cuerpo del pedido son varias
líneas, en
cada línea se especifican el número del artículo pedido y la cantidad.
Además, se ha determinado que se debe almacenar la información de las fábricas. Sin embargo,
dado el
uso de distribuidores, se usará: Número de la fábrica (único) y Teléfono de contacto. Y se desean ver
cuántos artículos (en total) provee la fábrica. También, por información estratégica, se podría incluir
información de fábricas alternativas respecto de las que ya fabrican artículos para esta empresa.
Nota: Una dirección se entenderá como Nº, Calle, Comuna y Ciudad. Una fecha incluye hora.
Se pide hacer el diagrama ER para la base de datos que represente esta información.

ITM - BD página 6
Transact-SQL IV
jueves, 30 de abril de 2015
02:24 p.m.

Tipos de Join en T-SQ

En SQL tenemos tipos de Join que funcionarán en Transact, propio de MS SQL Server, y que sólo
cambian ciertas partes de la sintaxis para los demás lenguajes ojo todos al final hacen lo mismo, las
bases son iguales, tenemos 2 tipos de Join (por definición almenos) los Joins Internos o de
Combinación interna (Inner Join) y los Joins Externos o Combinación externa (Outer Join) que a su
vez tienen sus diferencias dentro de cada uno de ellos.

Tipos de Join:

1. Internos (Inner Join)


• De Equivalencia (Equi – Join)
• Natural (Natural – Join)
• Cruzado (Cross – Join)
• En sí mismo (Self – Join)
2. Externos (Outer Join)
• De tabla Izquierda (Left Outer Join)
• De tabla Derecha (Right Outer Join)
• Combinación completa (Full Outer Join)

Creamos las tablas en nuestra Query de SQL Management Studio en una Base de datos que hayas
creado.

– Tabla1 (IdLetra, Valor1)


– Tabla2 (IdLetra, Valor2)
– Tabla3 (IdLetra, Valor3)
– Tabla4 (IdLetra, Valor4)

CREATE TABLE Tabla1 (IdLetra varchar(5), Valor1 int)


CREATE TABLE Tabla2 (IdLetra varchar(5), Valor2 int)
CREATE TABLE Tabla3 (IdLetra varchar(5), Valor3 int)
CREATE TABLE Tabla4 (IdLetra varchar(5), Valor4 int)

Agregamos algunos datos a las tablas

INSERT INTO TABLA1 VALUES ('A',1)


INSERT INTO TABLA1 VALUES ('B',2)
INSERT INTO TABLA1 VALUES ('C',3)
INSERT INTO TABLA1 VALUES ('D',4)
INSERT INTO TABLA1 VALUES ('E',5)
INSERT INTO TABLA1 VALUES ('F',6)
INSERT INTO TABLA2 VALUES ('A',10)
INSERT INTO TABLA2 VALUES ('B',20)
INSERT INTO TABLA2 VALUES ('C',30)
INSERT INTO TABLA2 VALUES ('D',40)
INSERT INTO TABLA2 VALUES ('E',50)
INSERT INTO TABLA2 VALUES ('F',60)
INSERT INTO TABLA3 VALUES ('A',7)
INSERT INTO TABLA3 VALUES ('B',8)
INSERT INTO TABLA3 VALUES ('C',9)
INSERT INTO TABLA3 VALUES ('D',10)
INSERT INTO TABLA3 VALUES ('E',11)
INSERT INTO TABLA3 VALUES ('F',100)

ITM - BD página 7
INSERT INTO TABLA3 VALUES ('F',100)
INSERT INTO TABLA3 VALUES ('G',200)
INSERT INTO TABLA4 VALUES ('A',12)
INSERT INTO TABLA4 VALUES ('B',13)
INSERT INTO TABLA4 VALUES ('C',14)
INSERT INTO TABLA4 VALUES ('D',15)
INSERT INTO TABLA4 VALUES ('E',16)
INSERT INTO TABLA4 VALUES ('H',300)
INSERT INTO TABLA4 VALUES ('I',400)

INNER JOIN

El Inner Join te permite combinar dos tablas mediante un campo en común para hacer relaciones y
consultas en este ejemplo vamos a utilizar un Inner Join para unir las tablas 1 y 2, Funciona así:

SELECT tabla.(campo que quieres mostrar)


FROM Tabla1 (Alias -opcional-) INNER JOIN Tabla2 (Alias – opcional-)
ON Tabla1(o Alias).NombreCampo(campo en común) <,>,= (comparación) Tabla2(o
Alias).NombreCampo(campo en común)

Inner Join Tabla 1 y Tabla2 (con alias)

--Con Alias
SELECT *
FROM Tabla1 T1 INNER JOIN Tabla2 T2
ON T1.IdLetra = T2.IdLetra

SELECT T1.Valor1,T2.Valor2,T2.IdLetra
FROM Tabla1 T1 INNER JOIN Tabla2 T2
ON T1.IdLetra =T2.IdLetra

Inner Join Tabla 1 y Tabla2 (sin alias)

--Sin Alias
SELECT *
FROM Tabla1 INNER JOIN Tabla2
ON Tabla1.IdLetra = Tabla2.IdLetra

OUTER JOIN

En el Outer Join la diferencia es que en este tipo de combinación se mantienen los valores que no
tienen equivalente en la otra tabla, esto no sucede en el Inner Join que cuando las tablas no tienen
valores equivalentes la relación botaría NULL en el resultado y este es omitido por defecto, hay
maneras de conservarlos usando Inner Join especificando IsNull o Null, pero no nos compliquemos
más, veamos los ejemplos del Outer Join para esto relacionaremos las tablas 3 y 4 que contiene
algunos valores sin equivalente en la otra, primero hagamos un Inner Join comprobando así que no
nos dá los valores Null:

Como verás los valores sin equivalente son omitidos

-De Tabla Izquierda (Left Outer Join)

El Left Outer Join nos permite hacer una mezcla y conservar todos los valores de la tabla izquierda (la
primera tabla que se menciona en la consulta) sin importar que no tengan equivalente con la de la
derecha, veamos el ejemplo:

--LEFT OUTER JOIN


SELECT *
FROM Tabla3 LEFT OUTER JOIN Tabla4

ITM - BD página 8
FROM Tabla3 LEFT OUTER JOIN Tabla4
ON Tabla3.IdLetra = Tabla4.IdLetra

-De Tabla Derecha (Right Outer Join)

El Right Outer Join nos permite hacer una mezcla y conservar todos los valores de la tabla derecha
(la segunda tabla que se menciona en la consulta) sin importar que no tengan equivalente con la
primera, el caso contrario como ven, vamos al ejemplo:

--RIGHT OUTER JOIN


SELECT *
FROM Tabla3 RIGHT OUTER JOIN Tabla4
ON Tabla3.IdLetra = Tabla4.IdLetra

-Combinación Completa (Full Outer Join)

Con esta útlima nos permitirá hacer una mezcla total y conservar todos los valores de ambas tablas,
los valores que no tengan equivalencia aparecerán acompañados de un Null y se mostrán todos
ellos, ejemplo:

--FULL OUTER JOIN


SELECT *
FROM Tabla3 FULL OUTER JOIN Tabla4
ON Tabla3.IdLetra = Tabla4.IdLetra

Tomado de <https://martinmsp.wordpress.com/2009/10/17/tipos-de-joins-en-t-sql-y-como-
usarlos/>

ITM - BD página 9

También podría gustarte