2.5.2 SQL Server.-
Características
de Microsoft SQL Server
Historia de versiones
|
|||
Versión
|
Año
|
Nombre
de la versión
|
Nombre
clave
|
1989
|
SQL Server
1-0
|
SQL
|
|
1993
|
SQL Server
4.21
|
SEQUEL
|
|
6.0
|
1995
|
SQL Server
6.0
|
SQL95
|
6.5
|
1996
|
SQL Server
6.5
|
Hydra
|
7.0
|
1998
|
SQL Server
7.0
|
Sphinx
|
-
|
1999
|
Plato
|
|
8.0
|
2000
|
SQL Server 2000
|
Shiloh
|
8.0
|
2003
|
SQL Server
2000
64-bit Edition |
Liberty
|
9.0
|
2005
|
SQL Server
2005
|
Yukon
|
10.0
|
2008
|
SQL Server
2008
|
Katmai
|
10.50
|
2010
|
SQL Server
2008 R2
|
Kilimanjaro
|
11.0
|
2012
|
SQL Server
2012
|
Denali
|
·
Incluye
también un potente entorno gráfico de administración, que permite el uso
de comandos DDL
y DML gráficamente.
·
Permite
trabajar en modo cliente-servidor, donde la información y datos se
alojan en el servidor y los terminales o clientes de la red
sólo acceden a la información.
Este sistema
incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más
pequeños, que en sus versiónes 2005 y 2008 pasa a ser el SQL
Express Edition, que
se distribuye en forma gratuita.
Es común
desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access
Data Project). De
esta forma se completa la base de datos (Microsoft SQL Server), con el
entorno de desarrollo (VBA Access), a través de la
implementación de aplicaciones de dos capas mediante el uso de formularios Windows.
En el manejo
de SQL mediante líneas de comando se utiliza el SQLCMD
Para el
desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL
Server incluye interfaces de acceso para varias plataformas de desarrollo,
entre ellas .NET, pero el servidor sólo está
disponible para Sistemas
Operativos
2.5.2.1 CARACTERÌSTICAS DE SQL
SERVER
Microsoft ® SQL Server ™ posee las
siguientes caracterìsticas:
·
Facilidad de
instalciòn , distribuciòn y utilizaciòn.
·
SQL Server
posee una gran variedad de herramientas administrativas y de desarrollo que
permite mejorar la capacidad de instalar ,distribuir, administrar y utilizar
SQL Server.
-Administrativas(Administrador Corporativo).
-Desarrollo(Analizador de Consultas).
-Administrativas(Administrador Corporativo).
-Desarrollo(Analizador de Consultas).
·
Puede
utilizarse el mismo motor de base de datos a tràves de paltaformas que van
desde equipos portàtiles que ejecutan Microsoft Windows® 95 ò 98 hasta grandes
servidores con varios procesadores que ejecutan Microsoft Windows NT®,
Enterprise Edition.
·
Almacenamiento
de datos.
·
SQL Server
incluye herramientas para extraer y analizar datos resumidos para el proceso
analìtico en lìnea(OLAP,Online Analitycal Processing). SQL Server incluye
tambien heramientas para diseñar gràficamente las base de datos y analizar los
datos mediante preguntas en lenguaje normal.
·
SQL Server
se integra con el correo electrònico, internet y Windows, permitiendo una comunicaciòn
local.
2.5.2.2 BASE DE
DATOS EN SQL SERVER
Para gestionar Base de Datos en SQL
Server podemos utilizar el Administrador Corporativo que es una herramienta
cliente que permite configurar y administrar fàcilmente en forma centralizada
base de datos que se encuentran en los distintos Servidores SQL Server.
2.5.2.3 INGRESAR A
UNA BASE DE DATOS
Ingrese al Administrador Corporativo
y expanda la carpeta "Base de Datos" y luego click derecho sobre
dicha carpeta. Luego se mostrarà una ventana donde mostrará un conjunto de Base
de Datos.
Ud. visualizará la Base de Datos con los siguientes elementos:
Ud. visualizará la Base de Datos con los siguientes elementos:
·
TABLAS: Las tablas
son objetos de la Base de Datos que contienen todos sus datos. En las tablas,
los datos se organizan con arreglo a un formato de filas y columnas, similar al
de una hoja de càlculo. Cada fila representa a un registro único, y cada
columna representa a un campo dentro de un registro.
·
DIAGRAMAS: Los
diagramas de base de datos representan gráficamente las tablas en la base de
datos. Los diagramas de base de datos muestran la columnas que las tablas
contienen, las relaciones entre las tablas , y los índices y restricciones de
las tablas.
·
VISTAS.
·
PROCEDIMIENTOS ALMACENADOS.
·
USUARIOS.
·
FUNCIONES.
·
REGLAS.
·
VALORES PREDETERMINADOS.
·
TIPOS DE DATOS DEFINIDOS POR EL USUARIO.
·
FUNCIONES DEFINIDAS POR EL USUARIO.
BASE DE DATOS DEL SISTEMA:
- Master.
- Msdb.
- Tempdb.
- Model.
FUNCIONES DE SQL SERVER
UPPER(<cadena>).-Convertir cadena a mayúscula.
Ejm: Print UPPER("Instituto Unicenter")
Ejm: Print UPPER("Instituto Unicenter")
LOWER(<cadena>).-Convertir cadena a minúscula.
Ejm: Print LOWER("Computación y Sistemas")
Ejm: Print LOWER("Computación y Sistemas")
LEFT(<cadena>,<nº>).-Extrae caracteres del lado izquierdo.
Ejm: Print LEFT("Análisis",3)
Ejm: Print LEFT("Análisis",3)
RIGHT(<cadena>,<nº>).-Extrae caracteres del lado derecho.
Ejm: Print RIGHT("Restaurar",5)
Ejm: Print RIGHT("Restaurar",5)
SUBSTRING(<cadena>,<nº>,<nº>).-Extrae caracteres desde la posición que se
especifique.
Ejm: Print SUBSTRING("Sagitario",2,3)
Ejm: Print SUBSTRING("Sagitario",2,3)
LEN(<cadena>).-Longitud de cadena.
Ejm: Print LEN("Maximizar")
Ejm: Print LEN("Maximizar")
CHAR(<nº>).-Caracter ASCII.
Ejm : Print CHAR(165)
Ejm : Print CHAR(165)
ASCII(<cadena>).-Código ASCCI.
Ejm: Print ASCII('F')
Ejm: Print ASCII('F')
GETDATE( ).-Fecha del Sistema.
Ejm: Print GETDATE( )
Ejm: Print GETDATE( )
MONTH(<fecha>).-Nº de mes.
Ejm:Print MONTH(getdate( ))
Ejm:Print MONTH(getdate( ))
YEAR(<fecha>).-Nº de año.
Ejm: Print YEAR(getdate( ))
Ejm: Print YEAR(getdate( ))
DAY(<fecha>).-N° de día.
Ejm: Print DAY(getdate( ))
Ejm: Print DAY(getdate( ))
DATEPART(<código>,<fecha>).-Extrae un dato de una expresión de fecha.
Ejm: Print DATEPART(year,getdate( ))
Ejm: Print DATEPART(year,getdate( ))
CAST(<valor> as <tipo>).-Convierte un tipo de valor a ptro.
Ejm: Print CAST(datepart(hour,getdate( )) as varchar(2))
Ejm: Print CAST(datepart(hour,getdate( )) as varchar(2))
DATENAME(<código>,<fecha>).-Parte de una fecha pero devuelve de tipo varchar.
Ejm: Print DATENAME(weekday,getdate( ))
Ejm: Print DATENAME(weekday,getdate( ))
DATEDIFF( ).-Calcula el período del tiempo existente entre 2
expresiones de fecha.]
Ejm: Print DATEDIFF(week,'28/04/2003',getdate( ))
Ejm: Print DATEDIFF(week,'28/04/2003',getdate( ))
DATEADD( ).-Permite agregar un período de tiempo a una expresión
de fecha / hora y obtener la nueva expresión fecha/hora.
Ejm: Print DATEADD(Hour,8,getdate( ))
Ejm: Print DATEADD(Hour,8,getdate( ))
CREAR UN PROCEDIMIENTO
ALMACENADO
Sintaxis:
CREATE PROCEDURE <nombre del
procedure>>argumentos>
AS
<Acciones del Procedimiento>
Return
Ejemplo:
Create Procedure "Ten Most Expensive Products"
AS
set rowcount 10
select Products.Productname AS TenMostExpensiveProducts,Products.Unitprice
From Products
ORDER BY Products.Unitprice DESC
go
AS
set rowcount 10
select Products.Productname AS TenMostExpensiveProducts,Products.Unitprice
From Products
ORDER BY Products.Unitprice DESC
go
Create Procedure Leo
AS
Select * from Employees
where Month(Birthdate)=7 and Day(Birthdate)>=22
Or Month(Birthdate)=8 and Day(Birthadte)<=22
Return
AS
Select * from Employees
where Month(Birthdate)=7 and Day(Birthdate)>=22
Or Month(Birthdate)=8 and Day(Birthadte)<=22
Return
* Crear un Procedimiento Almacenado
ingresando a través de un parámetro y que visualize a los empleados que cumplan
años en el mes especificado*
Create Procedure Cumpleaños
@Mes Int
AS
Select * from Employees
Where Month(Birthdate)=@Mes
Return
Go
Create Procedure Cumpleaños
@Mes Int
AS
Select * from Employees
Where Month(Birthdate)=@Mes
Return
Go
Condición "IF"
Sintaxis:
IF <expresión
Lógica><Acción>
ELSE
<Acción>
ELSE
<Acción>
*Declare @Edad Int
Set @Edad=18
Set @Edad=18
If @Edad >=18
Print 'Ciudadano'
ELSE
Print'Menor de Edad'
go
Print 'Ciudadano'
ELSE
Print'Menor de Edad'
go
*Create Procedure Ejemplo_IF
@Edad Int
AS
If @Edad>=18
Print 'Ciudadano'
ELSE
Print'Menor de Edad'
Return
go
@Edad Int
AS
If @Edad>=18
Print 'Ciudadano'
ELSE
Print'Menor de Edad'
Return
go
Para ejecutar:
Execute Ejemplo_IF 19
Execute Ejemplo_IF 10
Execute Ejemplo_IF 25
Create Procedure Asiento
@Nro Int
AS
if @Nro%2=0
Print 'Pasillo'
Else
@Nro Int
AS
if @Nro%2=0
Print 'Pasillo'
Else
Print'Ventana'
Return
go
Return
go
2.5.2.5 CREACION DE VISTAS
Sintaxis:
CREATE VIEW<nombre de
vista>(campos)
AS
<Instrucción de Consulta>
<Instrucción de Consulta>
GO
Create View v_ordenes(Orden,Empresa,Empleado,Fecha_Orden) As
select o.orderid as Orden,c.companyname as Empresa,e.lastname+','+e.firstname as Empleado,o.orderdate as [Fecha de Orden]
From (orders o inner join customers c on o.customerid=c.customerid) inner join employees e on o.employeeid=e.employeeid
Go
select o.orderid as Orden,c.companyname as Empresa,e.lastname+','+e.firstname as Empleado,o.orderdate as [Fecha de Orden]
From (orders o inner join customers c on o.customerid=c.customerid) inner join employees e on o.employeeid=e.employeeid
Go
*Ordenando por Empresa
Select * from v_ordenes Order By Empresa,Empleado
Para
Ejecutar
Select * from v_ordenes
No hay comentarios:
Publicar un comentario