-- crear la bd DWH create database DWH -- Se crean dos archivos: -- .mdf contiene la informacion -- .ldf contiene el log de las transacciones que se han procesado en la BD -- por comando hacer activa la bd use dwh /* Inicio de Borrar DWH */ EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'DWH' GO use [master]; GO USE [master] GO ALTER DATABASE [DWH] SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO USE [master] GO /****** Object: Database [DWH] Script Date: 16/12/2022 01:32:52 ******/ DROP DATABASE [DWH] GO /* Fin de Borrar DWH*/ -- Crear la tabla de ventas CREATE TABLE ventas ( Fecha date, Producto varchar(50), Cliente varchar(50), Importe numeric) -- Add Column ALTER TABLE ventas ADD PuntoVenta varchar(20) NULL -- Elimnar = Drop ALTER TABLE ventas DROP COLUMN importe -- Modificar el tamano de la columna ALTER TABLE ventas ALTER COLUMN producto varchar(100) not null -- Renombrar la columna -- la columna se escribe tabla.columna = ventas.cliente EXEC sp_rename 'ventas.cliente','NombreCliente', 'COLUMN' -- Caution: Changing any part of an object name could break scripts and stored procedures. -- ### RESTRICCIONES -- Not NULL = Obligatorio CREATE TABLE TablaNotNull( campo1 INT NOT NULL, campo2 VARCHAR(50) NULL) insert into TablaNotNull (campo1, campo2) values (1,'Fila una') -- (1 row affected) insert into TablaNotNull (campo1) values (2) -- (1 row affected) insert into TablaNotNull (campo2) values ('Fila tres') -- Cannot insert the value NULL into column 'campo1', table 'DWH.dbo.TablaNotNull'; -- column does not allow nulls. INSERT fails. select * from TablaNotNull insert into TablaNotNull (campo1, campo2) values (1,'Fila una') -- (1 row affected) -- Unique = Unico no repetible CREATE TABLE TablaUnique( campo1 INT UNIQUE, campo2 VARCHAR(50) NULL) insert into TablaUnique (campo1, campo2) values (1,'Fila una') -- (1 row affected) insert into TablaUnique (campo1, campo2) values (1,'Fila dos') -- Violation of UNIQUE KEY constraint 'UQ__TablaUni__BC60B53577A683DD'. Cannot insert duplicate -- key in object 'dbo.TablaUnique'. The duplicate key value is (1). insert into TablaUnique (campo1, campo2) values (2,'Fila una') select * from TablaUnique -- Default CREATE TABLE TablaDefault( campo1 INT PRIMARY KEY, campo2 VARCHAR(50) NULL, campo3 DATETIME NOT NULL DEFAULT GETDATE()) select getdate() insert into TablaDefault (campo1, campo2, campo3) values (1,'Luis','2022-12-16') (1 row affected) select * from TablaDefault insert into TablaDefault (campo1, campo2, campo3) values (2,'Jorge','2022-12-16 15:00') insert into TablaDefault (campo1, campo2) values (3,'Felipe') -- Evaluacion = Check CREATE TABLE TablaCheck ( campo1 INT PRIMARY KEY, campo2 VARCHAR(50) NULL, campo3 INT CHECK (campo3>0)) insert into TablaCheck (campo1, campo2, campo3) values (1,'Jorge',1) insert into TablaCheck (campo1, campo2, campo3) values (2,'Felipe',0) -- The INSERT statement conflicted with the CHECK constraint "CK__TablaChec__campo__2B3F6F97". -- The conflict occurred in database "DWH", table "dbo.TablaCheck", column 'campo3'. insert into TablaCheck (campo1, campo2) values (3,'Maria') select * from TablaCheck use dwh go use [DWDiagnostics] go insert into TablaNotNull (campo1, campo2) values (99,'Fila 99') go 5 select * from TablaNotNull