Es un Motor de base de datos que procesa
consultas
en
varias
arquitecturas
de
almacenamiento de datos como tablas locales,
tablas con particiones y tablas distribuidas en
varios servidores.
Que cuenta con las principales características:
Simplicidad en el Uso
Seguridad
Permite trabajar con Diferentes Formatos
Almacenamiento en la Nube
TRANSACT-SQL es un lenguaje muy potente que nos permite definir casi cualquier tarea que queramos
efectuar sobre la base de datos; incluye características propias de cualquier lenguaje de programación,
características que nos permiten definir la lógica necesaria para el tratamiento de la información:
• Tipos de datos.
• Definición de variables.
• Estructuras de control de flujo.
• Gestión de excepciones.
• Funciones predefinidas.
SELECT PRIMER_NOMBRE, PRIMER_APELLIDO,
TELEFONO INTO DATOS
FROM PERSONAS;
ALTER TABLE Customers
DROP COLUMN Email;
ALTER TABLE Customers
DROP COLUMN Sexo, continente;
ALTER TABLE table_name
ALTER COLUMN column_name datatype;
ALTER TABLE Customers
ALTER COLUMN sexo int;
Comando: Create Views
Sintaxis:
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
CREATE VIEW [Clientes_Brazil] AS
SELECT CompanyName, ContactName, Phone
FROM Customers
WHERE Country = ‘Brazil’;
REPLACE VIEW [Productos_Precio_Promedios] AS
SELECT ProductID, ProductName, UnitPrice
FROM Products
WHERE UnitPrice > (SELECT AVG(UnitPrice) FROM Products)
DROP VIEW [Productos_Precio_Promedios];
** Verificacion de llaves primarias contenida
En nuestra BDD**
SELECT *
FROM sys.key_constraints
WHERE type = 'PK';
2. CREATE TABLE Persons (
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
1. ALTER TABLE Persons
DROP PRIMARY KEY;
2. ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
3. CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
2. CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
De la misma Forma Existen formar para Modificar la restricción ÚNICA
1. ALTER TABLE Persons
ADD UNIQUE (ID);
2. ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
1. ALTER TABLE Persons
DROP INDEX UC_Person;
2. ALTER TABLE Persons
DROP CONSTRAINT UC_Person;
***Consultar en toda la BDD
encontramos los campos Unica**
SELECT *
FROM sys.key_constraints
WHERE type = 'UQ';
donde
Vamos a Crear ambas Tablas
1. CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
2. CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID
int FOREIGN KEY REFERENCES Persons(PersonID)
);
3. CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
3. CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);
SELECT *
FROM sys.check_constraints
WHERE parent_object_id = OBJECT_ID('nombreTabla');
1. CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255) DEFAULT 'Sandnes'
);
2. CREATE TABLE Orders (
ID int NOT NULL,
OrderNumber int NOT NULL,
OrderDate date DEFAULT GETDATE()
);
1. ALTER TABLE Persons
ALTER City SET DEFAULT 'Sandnes';
2. ALTER TABLE Persons
ADD CONSTRAINT df_City
DEFAULT 'Sandnes' FOR City;
3. ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'Sandnes';
1. ALTER TABLE Persons
ALTER City DROP DEFAULT;
2. ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT;
— Cantidad vendida del producto con
código 23
select sum(Od.Quantity) As ‘Unidades
Producto 23’
from [Order Details] As OD where
ProductID = 23
— Cantidad de órdenes generadas y
monto total vendido del Empleado
con código 3
select Count(O.OrderID) As ‘Cantidad’,
SUM(O.Freight) As ‘Monto Total’
from Orders As O where EmployeeID = 3
Raw MODE
SELECT e.EmployeeID, c.FirstName, c.MiddleName,
c.LastName
Raw AUTO
FROM HumanResources.Employee e INNER JOIN
Person.Contact c
SELECT Employee.EmployeeID, ContactInfo.FirstName,
ON c.ContactID = e.ContactID
ContactInfo.MiddleName, ContactInfo.LastName
WHERE c.FirstName = 'Rob'
FROM HumanResources.Employee AS Employee
FOR XML RAW ('Employee');
INNER JOIN Person.Contact AS ContactInfo
ON ContactInfo.ContactID = Employee.ContactID
WHERE ContactInfo.FirstName = 'Rob'
FOR XML AUTO, ROOT ('Employees');
***Ejecutar el SP, se puede ejecutar de las siguiente formas:
Execute spShippersInsertaNuevo ‘Chasqui’,’87545852′
go
Execute spShippersInsertaNuevo
@Fono = ‘345435645’, @NombreEmpresa =’Ford’
go
Execute spShippersInsertaNuevo
@NombreEmpresa =’Turbo XD’, @Fono = ‘8569856’
go
***Procedimiento para el listado de productos de una
determinada categoría***
Create procedure spProductosListadoPorCategoria
(
@CategoriaCodigo int
)
As
select P.ProductID, P.ProductName,
P.UnitPrice , P.UnitsInStock, P.UnitsOnOrder
from Products As P
where CategoryID = @CategoriaCodigo
go
**Ejecutar el SP
**Productos de categoria 2
Execute spProductosListadoPorCategoria 2
go
CREATE Function Tabla(@IdEmpleado int)
Returns Table
AS
Return (Select
dbo.enMayusculas(PersNombre) Nombre,
PersFecNacimiento, PersActivo
From Personas WHERE PersId =
@IdEmpleado)
--Ejecutar
Select * From dbo.Tabla