Está en la página 1de 4

EJEMPLOS DE BD DISTRIBUIDAS

select * from Sales.Currency


--sp_addlinkedserver "gabriel-pc\SQL2005"
--sp_addlinkedsrvlogin 'gabriel-pc\SQL2005', false,
'sa','sa','gabriel'

--create view vwCurrencyRemoto as

select * from "gabriel-pc\SQL2005".AdventureWorks.Sales.Currency

--select * from vwCurrencyRemoto as ileana

--select *
--from "gabriel-pc\SQL2005".AdventureWorks.Sales.Currency
--as ileana
SET XACT_ABORT On

BEGIN DISTRIBUTED TRANSACTION


update Sales.Currency set Name = Name + '$$$'
where CurrencyCode = 'AED'

insert into
"gabriel-pc\SQL2005".AdventureWorks.Sales.Currency
values ('123','456',getdate())

COMMIT TRANSACTION

--select * from Sales.Currency

EJEMPLOS DE BD OO
CREATE CLASS Avion(
Nombre String,
Pasajeros int,
SeGuardaEn REFERENCES (Hangar) CARDINALITY (0, 1) INVERSE
Hangar.GuardaA
);

CREATE CLASS Hangar(


Numero int,
Aeropuerto String,
GuardaA REFERENCES (Avion) CARDINALITY (0, 1) INVERSE
Avion.SeGuardaEn
);

CREATE CLASS F50 Under Avion(


VelocidadMax int
);

CREATE CLASS F15 Under Avion(


AlturaMax int
);

insert into Hangar(Numero, Aeropuerto) values (1, 'Barajas - Madrid');


insert into Hangar(Numero, Aeropuerto) values (2, 'Charles de Gaulle -
Paris');

select ref(Hangar) from Hangar where Numero = 1

select ref(Hangar) from Hangar where Numero = 1 into aa;


insert into F15(Nombre, Pasajeros, AlturaMax, SeGuardaEn) values('Mi
propio F15', 2, 10000, aa)

select ref(Hangar) from Hangar where Numero = 2 into aa;


insert into F50(Nombre, Pasajeros, VelocidadMax, SeGuardaEn)
values('Mi propio avion rojo F50', 8, 5000, aa)

select * from F50;


select * from F15;
select * from Avion WHERE Avion.SeGuardaEn.Aeropuerto like '%Paris%'
select ref(Avion.SeGuardaEn) from Avion WHERE
Avion.SeGuardaEn.Aeropuerto like '%Paris%'

CREATE static METHOD AvionesFranceses()RETURNS Avion


FOR Avion
BEGIN
declare aa Avion;
select ref(Avion) into aa from Avion WHERE
Avion.SeGuardaEn.Numero =2;
return aa;
END;

call Avion::AvionesFranceses();

EJEMPLOS DE BD DEDUCTIVAS

Aquí se graban los instrumentos que se usan en cada melodía:

DES-Datalog> /assert melodia(1,Violin)


DES-Datalog> /assert melodia(1,arpa)
DES-Datalog> /assert melodia(1,piano)
DES-Datalog> /assert melodia(1,violin)
DES-Datalog> /assert melodia(2,cello)
DES-Datalog> /assert melodia(2,violin)
DES-Datalog> /assert melodia(3,arpa)
DES-Datalog> /assert melodia(3,flauta)
DES-Datalog> /assert melodia(3,piano)
DES-Datalog> /assert melodia(4,arpa)
DES-Datalog> /assert melodia(4,bajo)

Aquí se graban los músicos y los instrumentos que toca cada uno:

DES-Datalog> /assert musico(carlos,piano)


DES-Datalog> /assert musico(juan,arpa)
DES-Datalog> /assert musico(juan,violin)

Aquí se graba una regla para saber que músico puede tocar en que
melodía, basándose en que el músico toque alguno de los instrumentos
necesarios para esa melodía:

DES-Datalog> /assert puede_tocar_melodia(X,Y) :- musico(X,Z),


melodia(Y,Z)

Se puede leer como: El músico X puede tocar la melodía Y si el músico


X toca el instrumento Z y en la melodía Y se usa el instrumento Z.

Aquí se consultan aquellos músicos que pueden tocar en las melodías:

DES-Datalog> puede_tocar_melodia(X,Y)

Aquí se consultan aquellos músicos que pueden tocar en la melodía 3:


DES-Datalog> puede_tocar_melodia(X,3)

__________________________________

Aquí se graba quien es papá de quien:

DES-Datalog> /assert papa(1,2)


DES-Datalog> /assert papa(2,3)
DES-Datalog> /assert papa(2,7)
DES-Datalog> /assert papa(3,4)
DES-Datalog> /assert papa(3,5)
DES-Datalog> /assert papa(3,6)

Aquí se graba una regla para saber quien es hermano de quien:

DES-Datalog> /assert hermano(X,Y) :- papa(Z,X), papa(Z,Y), X\=Y

Se puede leer como: X es hermano de Y si Z es papa de X y Z es papá de


Y y además X no es Y (Esto elimina que uno pueda ser hermano de si
mismo)

Aquí se consultan aquellos que son hermanos:

DES-Datalog> hermano(X,Y)

Algunos de los operadores mas comunes son:

, que significa and

; que significa or

= que significa igual

\= que significa no igual

EJEMPLOS DE CUBOS

select measures.[Internet Sales amount] on columns


from [Adventure Works]
where {[Customer].[Country].[Australia] ,
[Customer].[Country].[France]}
cell properties value, back_color, fore_color, formatted_value

select measures.[Internet Sales amount] on columns,


[Product].[Product Line].members on rows
from [Adventure Works]
where {
[Customer].[Country].[Australia] ,
[Customer].[Country].[France]
}

select measures.[Internet Sales amount] on columns,


[Product].[Product Line].members on rows,
[Customer].[Country].members on sections,
[Customer].[City].members on pages,
[Customer].[Postal Code].members on chapters
from [Adventure Works]

select measures.[Internet Sales amount] on 0


from [Adventure Works]
where (
{[Customer].[Country].[Australia] ,
[Customer].[Country].[France]}
, [Product].[Product Line].[Road]
)

select measures.[Internet Sales amount] on columns,


{[Customer].[Country].[France],
[Customer].[Country].[United Kingdom] ,
[Customer].[Country].[Germany] } on rows
from [Adventure Works]

with set [Europa] as


{[Customer].[Country].[France],
[Customer].[Country].[United Kingdom] ,
[Customer].[Country].[Germany] }
select measures.[Internet Sales amount] on columns,
[Europa] on rows
from [Adventure Works]

También podría gustarte