Académique Documents
Professionnel Documents
Culture Documents
-- 8 de marzo 2012
-- informacin de la base de datos
sp_helpdb mydb
/* informacin
sobre filegroups*/
sp_helpfilegroup secundario
-- informacin sobre dispositivos lgigos
sp_helpfile mydb
USE master;
GO
CREATE DATABASE BookMaster
ON PRIMARY
( NAME = BM1,
FILENAME = 'D:\data\bm1.mdf',
SIZE = 3,
MAXSIZE = 10,
FILEGROWTH = 1 ),
FILEGROUP Secundario
( NAME = BM2,
FILENAME = 'D:\data\bm2.ndf',
SIZE = 3,
MAXSIZE = 10,
FILEGROWTH = 1 ),
( NAME = BM3,
FILENAME = 'D:\data\bm3.ndf',
SIZE = 3,
MAXSIZE = 10,
FILEGROWTH = 1 )
LOG ON
( NAME = BMlog1,
FILENAME = 'D:\log\Bmlog1.ldf',
SIZE = 1,
MAXSIZE = 3,
FILEGROWTH = 10% ),
( NAME = BMlog2,
FILENAME = 'D:\log\Bmlog2.ldf',
SIZE = 2,
MAXSIZE = 7,
FILEGROWTH = 10% ) ;
GO
delete
delete
delete
on
go
Alter table [prestamo] add Constraint [usuario-prestamo] foreign
key([codusu]) references [Usuarios] ([codusu]) on update cascade on
delete no action
go
Alter table [telusu] add Constraint [usuario-tel.usuario] foreign
key([codusu]) references [Usuarios] ([codusu]) on update cascade on
delete cascade
go
Alter table [Usuarios] add Constraint [Garante] foreign key([garante])
references [Usuarios] ([codusu]) on update no action on delete no action
go
Alter table [Ejemplar] add Constraint [ubicado_en] foreign key([CodLoc])
references [Localidad] ([CodLoc]) on update no action on delete cascade
go
29 marzo 2012-04-19
use bookmaster
select * from Autor
select * from escribe
select * from Libro
set dateformat dmy
insert
insert
insert
insert
into
into
into
into
escribe
escribe
escribe
escribe
values
values
values
values
('A01',
('A01',
('A02',
('A05',
'L01','01-01-1986')
'L02','20-07-1986')
'L03','01-03-1987')
'L05','01-01-1990')
select titulo
from Autor, escribe, Libro
where autor.codaut = escribe.codaut and escribe.codlib =
libro.codlib and nomaut='julio' and apeaut='verne'
-- 28 marzo 2012
-- batchs vs scripts
use BookMaster
go
-- consultas bsicas
select *
from Autor
-- recuperar columnas (proyeccin)
select nomaut, apeaut
from Autor
select apeaut, nomaut
from Autor
-- usando literales
select 'nombre del autor', nomaut
from Autor
-- estableciendo cabezeras
--a)
select 'nombre del autor' as 'literal' ,
nomaut as 'nombre'
from Autor
--b)
select literal='nombre del autor', nombre=nomaut
from Autor
-- manejo de datos numricos
select * from Libro
select * from Ejemplar
select * from Localidad
insert into Ejemplar values (1,'L01',25,'S','C01')
insert into Ejemplar values (2,'L01',30,'S','C01')
insert into Ejemplar values (3,'L01',30,'S','C01')
insert
insert
insert
insert
into
into
into
into
Ejemplar
Ejemplar
Ejemplar
Ejemplar
values
values
values
values
(1,'L02',10,'S','C02')
(2,'L02',10,'S','C02')
(3,'L02',15.25,'S','C02')
(4,'L02',15.75,'S','C02')
* from Localidad
into Localidad values
into Localidad values
into Localidad values
into Localidad values
into Localidad values
into Localidad values
('C01','Estanteria1',1,1)
('C02','Estanteria2',2,1)
('C03','Estanteria1',1,2)
('C04','Estanteria2',2,2)
('C05','Estanteria1',1,3)
('C06','Estanteria1',2,3)
delete
from Localidad
where Sala=2 and Piso=1
select * from Ejemplar
-- operadores aritmticos
-- listar el codigo del libro, el costo del ejemplar
-- y el costo incluido iva.
select codlib as'codigo libro', costoejem as 'costo',
(costoejem*1.12) as 'costo mas iva'
from Ejemplar
-- listar codigo libro y el precio dividido por 2 de ejem
select codlib as'codigo libro', costoejem as 'costo',
(costoejem/2) as 'mitad costo'
from Ejemplar
-- funcin matemtica
select codlib as'codigo libro', costoejem as 'costo',
round(costoejem/2,0) as 'mitad costo'
from Ejemplar
select POWER(2,3)
-- DEFAULT
/* 12 abril 2012 */
-- DE DOMINIO PROCEDURALES
-- RULES
alter table t1 drop constraint ck_b
sp_help t1
/* @xxx corresponde a variable local,
declare @variable
@@xxx variables informativas globales */
print @@VERSION
print @@LANGUAGE
-- crear la regla
create rule r_b
as @b like '[125]'
----------------select *
from sys.objects
where type='r'
-- enlazar la regla
sp_bindrule r_b,'t1.b'
---------------select * from T1
-- borrar, primero se desenlaza la regla y luego se la elimina
sp_unbindrule 't1.b'
drop rule r_b
-- probar en clase si pueden borrar una tabla que tenga
-- una regla definida.
create table T2
(a char(3) not null primary key,
b int null,
c char(2)null )
select *from T2
insert into T2 values ('a',5,'bb')
go
alter table t2 add constraint fk_b
foreign key (b) references t1(b)
/* 18 abril 2012 */
-- MODIFICACION DE DATOS.
select * from t1
1.insert into t1 values ('e',2,'4')
2.insert into T1 (a,c) values ('f','2')
3.insert into T1 default values
-- que pasa con la columna b???
-- default / null
-- error bajo null????
insert into T1 (a,b) values ('f',8)
insert into T1 (a,b) values ('g',5)
-- uk no permite el ingreso de dos valores nullos
-- en la columna c
insert into t1 values ('g',default,null)
-- b es not null y el default se aplica si no es
-- explcito para definiciones null
alter table t1 add d integer identity(1,1)
-- forza que la columna d sea not null
insert into T1 values ('g',5,8)
-- identity tiene el valor 7
delete from T1 where a='g'
insert into T1 values ('g',5,8)
-- generar el valor 7 nuevamente
select * from t1
-- no, se inserta el8
dbcc checkident (t1,reseed,6)
-4.select * into #tmp from T1
select * from #tmp
select * into t3 from T1 where 1=2
select * from t3
select * into ##tmp from T1
T1
t3
los valores de a en la tabla t1 que
en la tabla t3, la columna b ser
7 */
update T1
set b=7
from T1, t3
where t1.a = t3.a
-- delete
delete from t1 where <condicion>
tambin basado en otras tablas