Anda di halaman 1dari 20

Implementacin de

una base de datos

de Microsoft

SQL Server 2005

Daniel Ramos

SQL Server 2005

Introduccin

El lenguaje de programacin Transact-SQL

Tipos de instrucciones de Transact-SQL

Elementos de la sintaxis de Transact-SQL

Daniel Ramos

SQL Server 2005

El lenguaje de programacin Transact-SQL

Implementa el estndar ISO del nivel bsico de la


especificacin ANSI SQL-92

Se pueden ejecutar desde cualquier producto que


cumpla los requisitos bsicos

Incluye una funcionalidad ampliada

Daniel Ramos

SQL Server 2005

 Tipos de instrucciones de Transact-SQL

Instrucciones del Lenguaje de definicin de datos

Instrucciones del Lenguaje de control de datos

Instrucciones del Lenguaje de tratamiento de datos

Daniel Ramos

SQL Server 2005

Instrucciones del Lenguaje de definicin de datos

Definen los objetos de la base de datos




CREATE nombreObjeto

ALTER nombreObjeto

DROP nombreObjeto

Deben tener los permisos adecuados

USE
USE northwind
northwind
CREATE
CREATE TABLE
TABLE customer
customer
(cust_id
(cust_id int,
int, company
company varchar(40),
varchar(40),
contact
contact varchar(30),
varchar(30), phone
phone char(12)
char(12) ))
GO
GO
Daniel Ramos

SQL Server 2005

Instrucciones del Lenguaje de control de datos

Establecer o cambiar los permisos




GRANT

DENY

REVOKE

Deben tener los permisos adecuados

USE
USE northwind
northwind
GRANT
GRANT SELECT
SELECT ON
ON products
products TO
TO public
public
GO
GO

Daniel Ramos

SQL Server 2005

Instrucciones del Lenguaje de tratamiento de datos




Las instrucciones DML se utilizan para cambiar datos o


recuperar informacin
 SELECT
 INSERT
 UPDATE
 DELETE

Deben tener los permisos adecuados

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

Daniel Ramos

SQL Server 2005

 Elementos de la sintaxis de Transact-SQL




Directivas de proceso
por lotes
Comentarios
Identificadores

Tipos de datos

Variables

Daniel Ramos

Funciones del sistema

Operadores

Expresiones

Elementos del lenguaje


de control de flujo

Palabras clave
reservadas

SQL Server 2005

Directivas de proceso por lotes




GO


Enva lotes de instrucciones de Transact-SQL a las


herramientas y utilidades

No se trata, realmente, de una instruccin de


Transact-SQL

EXEC


Ejecuta una funcin definida por el usuario, un


procedimiento de sistema, un procedimiento
almacenado definido por el usuario o un procedimiento
almacenado extendido

Controla la ejecucin de una cadena de caracteres


dentro de un lote de Transact-SQL

Daniel Ramos

SQL Server 2005

Comentarios


Comentarios de lnea

Ejemplo
Ejemplo 11

SELECT
SELECT productname
productname
,, (unitsinstock
(unitsinstock -- unitsonorder)
unitsonorder) --- Calcula
Calcula el
el inventario
inventario
,, supplierID
supplierID
FROM
FROM products
products
GO
GO


Comentarios de bloque

Ejemplo
Ejemplo 22

/*
/*
Este
Este cdigo
cdigo devuelve
devuelve todas
todas las
las filas
filas de
de la
la tabla
tabla
products
products yy muestra
muestra el
el precio
precio por
por unidad,
unidad, el
el precio
precio
aumentado
en
un
10
por
ciento
y
el
nombre
del
aumentado en un 10 por ciento y el nombre del producto.
producto.
*/
*/
USE
USE northwind
northwind
SELECT
SELECT unitprice,
unitprice, (unitprice
(unitprice ** 1.1),
1.1), productname
productname
FROM
FROM products
products
GO
GO
Daniel Ramos

SQL Server 2005

 Identificadores


Identificadores estndar


El primer carcter debe ser un carcter alfabtico

Otros caracteres pueden incluir letras, nmeros o smbolos

Los identificadores que comienzan con un smbolo tienen


usos especiales

Identificadores delimitados


Se utilizan cuando los nombres contienen espacios


incrustados

Se utilizan cuando partes de los nombres incluyen


palabras reservadas

Deben encerrarse entre corchetes ([ ]) o dobles comillas (" ")

Daniel Ramos

SQL Server 2005

Directrices de denominacin para los identificadores




Poner nombres cortos

Utilizar nombres significativos cuando sea posible

Utilizar una convencin de denominacin clara y


sencilla

Utilizar un identificador que distinga el tipo de objeto

Vistas

Procedimientos almacenados

Hacer que los nombres de los objetos y de los usuarios


sean nicos


Tabla sales y funcin sales

Daniel Ramos

SQL Server 2005

Tipos de datos

Nmeros

Variaciones de SQL

Fechas

Texto e imagen

Caracteres

Tablas

Binario

Cursores

Identificadores nicos
(GUID)

Tipos de datos definidos


por el usuario

Daniel Ramos

SQL Server 2005

Variables


Variable definida por el usuario en una instruccin


DECLARE @

Valores asignados con una instruccin SET o SELECT @

Las variables tienen el mbito Local o Global

USE
USE northwind
northwind
DECLARE
DECLARE @EmpID
@EmpID varchar(11)
varchar(11)
,@vlName
,@vlName char(20)
char(20)
SET
SET @vlname
@vlname == 'Dodsworth'
'Dodsworth'
SELECT
SELECT @EmpID
@EmpID == employeeid
employeeid
FROM
FROM employees
employees
WHERE
WHERE LastName
LastName == @vlname
@vlname
SELECT
SELECT @EmpID
@EmpID AS
AS EmployeeID
EmployeeID
GO
GO
Daniel Ramos

SQL Server 2005

 Funciones del sistema




Funciones de agregado

USE
USE northwind
northwind
SELECT
SELECT AVG
AVG (unitprice)
(unitprice) AS
AS AvgPrice
AvgPrice FROM
FROM products
products
GO
GO


Funciones escalares

USE
USE northwind
northwind
SELECT
SELECT DB_NAME()
DB_NAME() AS
AS 'database
'database
GO
GO


Funciones de conjunto de filas

SELECT
SELECT **
FROM
FROM OPENQUERY
OPENQUERY
(OracleSvr,
(OracleSvr, 'SELECT
'SELECT name,
name, id
id FROM
FROM owner.titles')
owner.titles')

Daniel Ramos

SQL Server 2005

Ejemplos de funcin del sistema


Ejemplo 1
SELECT
SELECT
Style
Style
UNION
UNION
SELECT
SELECT
UNION
UNION
SELECT
SELECT
GO
GO

'ANSI:',
'ANSI:', CONVERT(varchar(30),
CONVERT(varchar(30), GETDATE(),
GETDATE(), 102)
102) AS
AS
'Japanese:',
'Japanese:', CONVERT(varchar(30),
CONVERT(varchar(30), GETDATE(),
GETDATE(), 111)
111)
'European:',
'European:', CONVERT(varchar(30),
CONVERT(varchar(30), GETDATE(),
GETDATE(), 113)
113)

Resultado
Style
Style

Daniel Ramos

ANSI:
ANSI:
Japanese:
Japanese:

1998.03.19
1998.03.19
1998/03/19
1998/03/19

European:
European:

19
19Mar
Mar1998
199816:34:40:616
16:34:40:616
SQL Server 2005

Operadores

Tipos de operadores


Aritmtico

Comparacin

Concatenacin de cadenas

Lgico

Niveles de precedencia de los operadores

Daniel Ramos

SQL Server 2005

Expresiones

Combinacin de smbolos y operadores

Evaluacin de valores escalares simples

El tipo de datos del resultado depende de los


elementos que forman la expresin

SELECT
SELECT OrderID,
OrderID, ProductID
ProductID
,(UnitPrice
,(UnitPrice ** Quantity)
Quantity) as
as ExtendedAmount
ExtendedAmount
FROM
FROM [Order
[Order Details]
Details]
WHERE
WHERE (UnitPrice
(UnitPrice ** Quantity)
Quantity) >> 10000
10000
GO
GO

Daniel Ramos

SQL Server 2005

Elementos del lenguaje de control de flujo


Ejemplo
Ejemplo

Nivel de instruccin


Bloques BEGIN END

Bloques IF ELSE

Construcciones WHILE

Nivel de fila


CASE expresin

Daniel Ramos

DECLARE
DECLARE @n
@n tinyint
tinyint
SET
SET @n
@n == 55
IF
IF (@n
(@n BETWEEN
BETWEEN 44 and
and 6)
6)
BEGIN
BEGIN
WHILE
WHILE (@n
(@n >> 0)
0)
BEGIN
BEGIN
SELECT
SELECT @n
@n AS
AS 'Number'
'Number'
,CASE
,CASE
WHEN
WHEN (@n
(@n %% 2)
2) == 11
THEN
THEN ODD'
ODD'
ELSE
ELSE EVEN'
EVEN'
END
END AS
AS 'Type'
'Type'
SET
SET @n
@n == @n
@n -- 11
END
END
END
END
ELSE
ELSE
PRINT
PRINT NO
NO ANALYSIS
ANALYSIS
GO
GO

SQL Server 2005

Palabras clave reservadas

Nombres de identificadores que tienen un significado


especial


Palabras clave de Transact-SQL

Palabras clave ANSI SQL-92

Palabras clave reservadas de ODBC

No utilice palabras clave reservadas para nombres de


identificadores

Daniel Ramos

SQL Server 2005

Anda mungkin juga menyukai