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