You are on page 1of 25

Desarrollo de software

ING. MANUEL ABANTO MORALES

Sesin: 8

Flujograma

Objetivos:

Conocer los fundamentos y principios del sql Desarrollar el inters de los estudiantes a fin de incorporar en su estructura mental el uso de un manejador de base de datos Conceptualizar al manejador de base de datos con el fin de mejorar la eficiencia y eficacia en el desarrollo de software.

Flujograma
Inicio Saberes Previos Revisin de conceptos SQL

FIN

SQL Restriccin de datos


/* Ejemplo Este ejemplo crea la tabla Products, define columnas y define restricciones de columna y de tabla. */ USE northwind CREATE TABLE Productos ( ProductID int IDENTITY (1,1) NOT NULL, ProductName nvarchar (40) NOT NULL, SupplierID int NULL, CategoryID int NULL, QuantityPerUnit nvarchar (20) NULL, UnitPrice money NULL CONSTRAINT DF_Producto_UnitPrice DEFAULT(0), UnitsInStock smallint NULL CONSTRAINT DF_Producto_UnitsInStock DEFAULT(0), UnitsOnOrder smallint NULL CONSTRAINT DF_Producto_UnitsOnOrder DEFAULT(0), ReorderLevel smallint NULL CONSTRAINT DF_Producto_ReorderLevel DEFAULT(0), Discontinued bit NOT NULL CONSTRAINT DF_Producto_Discontinued DEFAULT(0), CONSTRAINT PK_Producto PRIMARY KEY CLUSTERED (ProductID), CONSTRAINT FK_Producto_Categories FOREIGN KEY (CategoryID) REFERENCES dbo.Categories (CategoryID) ON UPDATE CASCADE, CONSTRAINT FK_Producto_Suppliers FOREIGN KEY (SupplierID) REFERENCES dbo.Suppliers (SupplierID) ON DELETE CASCADE, CONSTRAINT CK_Producto_UnitPrice CHECK (UnitPrice >= 0), CONSTRAINT CK_NivelDeReorden CHECK (ReorderLevel >= 0), CONSTRAINT CK_UnidadEnstock CHECK (UnitsInStock >= 0), CONSTRAINT CK_UnidadenOrden CHECK (UnitsOnOrder >= 0) )

SQL Restriccin de datos


/* Ejemplo Este ejemplo modifica las restricciones columna y de tabla. */ Alter table tabla5
Add CONSTRAINT DF_Campo3 Default UNE for campo3 Add CONSTRAINT DF_Campo21 Default getdate() for campo21 Add CONSTRAINT CK_UnidadenOrden CHECK (UnitsOnOrder >= 0) ) Alter table tabla1 Add constraint pk_campo1 primery key nonclustered (Campo1)

SQL Instruccin Select


Use northwind Go /* consulta todas las columnas de products */ Select * from products Go /* consulta todas las columnas de products pero para unitprice menor a 13*/ Select * from products Where unitprice < 13 Go /* consulta todas las columnas de products pero para unitprice mayor a 63 y Unitsinstock menor a 21*/ Select productname, unitprice, unitsinstock from products Where unitprice > 63 and unitsinstock < 21

SQL Instruccin Select


/* consulta todas las columnas de products pero para unitprice mayor a 63 y Unitsinstock mayor a 21*/ Select productname, unitprice, unitsinstock from products Where unitprice > 63 and unitsinstock > 21 /* consultar en customers los registros country = USA or Country = UF Select * from customers Where country = 'USA' or Country = 'UF /* consulta en customers los registros country que esteen de germany a spain Select * from customers Where country in ('GERMANY' , 'SPAIN')

SQL Instruccin Select


/* consultar en customers los registros que comiencen Companyname con ranch*/ Select * from customers Where companyname like ranch%' /* consulta en customers los registros address que comiencen con Av.*/ Select * from customers Where address like 'Av.% /* consulta contacttitle contenga una cadena sales*/ Select * from customers Where contacttitle like '%sales%'

SQL Instruccin Select


/* consulta contacttitle contenga una cadena agent alineado al final*/ Select * from customers Where contacttitle like %agent /* consulta los country unicos ordenados */ Select distinct country from customers /* consulta los city unicos ordenados */ Select distinct city from customers

SQL Instruccin Select


/* consulta products para unitprice > 10 y < 50*/ Select * from products Where unitprice > 10 and unitprice < 50

Select * from products Where unitprice between 10 and 50 /* consulta products ordenado por unitprice asc*/ Select productname, unitprice from products Order by unitprice

SQL Instruccin Select


/*consulta los 5 primeros de products ordenado por unitprice muestra el empate*/ Select top 9 with ties productname, unitprice from products Order by unitprice /* versus */ Select top 9 productname, unitprice from products Order by unitprice

SQL Instruccin Select


/*rotular columnas*/ Select productname as [Nombre Producto], unitprice as precio, codigo as codigo, productId as Nro from products /* concatenar */ Select firstname+' '+lastname, title, birthdate as nacimiento from employees Select avg(unitprice) as [precio promedio] from products

SQL Instruccin Select


Select max(unitprice) as [precio mayor] from products /* consulta las tablas de la BD*/ select * from sysobjects where xtype = 'U /* with rollup . Pone totales */ Select productid, orderid, sum(quantity) as totalquantity from [order details] Group by productid, orderid With rollup Order by productid, orderid

SQL Instruccin Select


Select productname, unitprice,(select avg(unitprice) from products) as promedio from products

Select o.orderId, o.customerId,c.companyname,o.orderdate From orders as o Inner join customers as c On o.customerId = c.customerId

SQL Instruccin Select


Select * into clientes from customers /* se crea en memoria */ Select * into #clientes1 from customers /* se crea en memoria para cualquier sesin */ Select * into ##clientes2 from customers

SQL Vistas
Use northwind Go Select * from customers Go Create view dbo.vw_clientes As Select companyname, contactname, contacttitle,city, country from clientes

SQL Vistas
Create view dbo.vw_clientes1 As Select companyname as empresa, contactname as contacto, contacttitle as cargo,city as ciudad, country as pais from clientes Insert into vw_clientes values (empresa,pepito,XY,Lima,Peru)

SQL Vistas
Sp_help clientes Alter table clientes Drop column customerID Insert into vw_clientes values (empresa,pepito,XY,Lima,Peru)

SQL Vistas
select companyname, contactname,country from vw_clientes select companyname, contactname,country from vw_clientes order by country Select empresa,contacto,pais from vw_clientes1 order by empresa Create view dbo.vw_clientes2 as Select empresa,contacto,ciudad,pais from vw_clientes1

SQL Vistas
select * from vw_clientes2

CREATE VIEW DBO.VW_PEDIDOS AS SELECT O.ORDERID, C.COMPANYNAME, E.LASTNAME,O.ORDERDATE, P.PRODUCTNAME, D.UNITPRICE,D.QUANTITY FROM ORDERS AS O JOIN CUSTOMERS AS C ON O.CUSTOMERID = C.CUSTOMERID JOIN EMPLOYEES AS E ON O.EMPLOYEEID = E.EMPLOYEEID JOIN [ORDER DETAILS] AS D ON O.ORDERID = D.ORDERID JOIN PRODUCTS AS P ON D.PRODUCTID = P.PRODUCTID select * from vw_PEDIDOS
SP_HELPTEXT VW_PEDIDOS /* Muestra el detalle de la vista */

SQL Procedimientos almacenados


Create proc dbo.pa_preciospromedio As Declare @prome numeric(9,4) Set @prome=(select avg(unitprice) from products) Select productname,unitprice,@prome as promedio from products Pa_preciopromedio

SQL Procedimientos almacenados


Los procedimientos almacenados se pueden Modificar con alter proc y borrar con drop proc Create proc dbo.pa_sumita @n int, @m int As Declare @r int Set @r=@n + @m Select la suma es: ,@r pa_sumita 3, 2

SQL Procedimientos almacenados


create proc dbo.pa_nuevocliente @codcli nchar(10), @nomcli nvarchar(80),@ciudad nvarchar(30),@pais nvarchar(30) as insert into customers(customerid,companyname,city,co untry) values (@codcli,@nomcli, @ciudad,@pais)

SQL Procedimientos almacenados


pa_nuevocliente une01,sistemas une,lima,peru

Visual Basic 6.0

Fin de la Exposicin
Muchas Gracias

You might also like