--Tablas
--Entra con SQLDeveloper con LOGISTICS_DEV y crea las siguientes tablas:
--INSURANCE
--insuranceid integer pk,
--description varchar2(30),
--renewal date
create sequence insurance_seq start with 1 increment by 1 nocache;
create table insurance(
insuranceid integer default insurance_seq.nextval primary key,
description varchar2 (30),
renewal date check(renewal <= timestamp)
);
-- Crear claves primarias
-- Crear trigger de autonumérico
-- Check donde renewal sea mayor que la fecha de hoy
-- Introduce unos registros de ejemplo.
--TRUCK
--plate char(10) pk
--model varchar2(30),
--insuranceid integer not null fk
create table truck(
plate char(10) primary key,
model varchar2(30),
insuranceid integer not null
);
-- Crear claves primarias y extranjeras
-- Introduce unos registros de ejemplo.
alter table insurance
add constraint fk_truck_insurance
foreign key (insuranceid)
references insurance(insuranceid);
--DRIVER
--driverid integer primary key,
--name varchar2(30),
--license char(15),
--birthdate date
create sequence driver_seq start with 1 increment by 1 nocache;
create table driver(
driverid integer default driver_seq.nextval primary key,
name varchar2(30),
license char(15),
birthdate date check ( birthdate < timestamp)
);
-- Crear claves primarias
-- Crear trigger de autonumérico
-- Check donde renewal sea menor que la fecha de hoy
-- Introduce unos registros de ejemplo.
--Tanto DELIVERY COMO PACKAGE deben formar parte de un cluster
--DELIVERY
--deliveryid integer primary key,
--origin varchar(30),
--destiny varchar(40),
--departure timestamp,
--arrival timestamp,
--driverid integer fk,
--truckid integer fk
CREATE CLUSTER CLUSTER_DELIVERY
(deliverycode NUMBER(4))
SIZE 512
STORAGE (initial 100K next 50K);
CREATE INDEX IDX_CLUSTERDELIVERY ON CLUSTER CLUSTER_DELIVERY;
create sequence delivery_seq start with 1 increment by 1 nocache;
create table delivery(
deliveryid integer default delivery_seq.nextval primary key,
origin varchar2 (30),
destiny varchar2 (40),
departure timestamp,
arrival timestamp,
driverid integer,
truckid varchar2 (30)
)
cluster CLUSTER_DELIVERY (deliveryid);
-- Crear claves primarias y extranjeras
-- Check donde arrival sea mayor que la fecha de hoy
-- Crear trigger de autonumérico
-- Introduce unos registros de ejemplo.
alter table delivery
add constraint fk_delivery_driver
foreign key (driverid)
references driver(driverid);
alter table delivery
add constraint fk_delivery_truck
foreign key (truckid)
references truck(truckid);
--CUSTOMER
--customerid integer pk,
--name varchar2(40) not null,
--address varchar2(40) default 'unknown',
--email varchar2(100)
create sequence customer_seq start with 1 increment by 1 nocache;
create table customer(
customerid integer default customer_seq.nextval primary key,
name varchar2(40),
address varchar2(40) default 'unknow',
email varchar2(100)
);
-- Crear claves primarias
-- Crear trigger de autonumérico
-- Introduce unos registros de ejemplo.
--PACKAGE
--packageid integer pk,
--description varchar2(40),
--withcare char(1) default 'Y',
--customerid integer fk,
--deliveryid integer fk
-- Crear claves primarias y extranjeras
-- Crear trigger de autonumérico
-- Introduce unos registros de ejemplo.
create table package (
packageid integer primary key,
description varchar2(40),
withcare char(1) default 'Y',
customerid integer,
deliveryid integer
)
cluster cluster_delivery(packageid);
alter table package
add constraint fk_package_customer
foreign key (customerid)
references customer(customerid);
alter table package
add constraint fk_package_delivery
foreign key (deliveryid)
references delivery(deliveryid);
miércoles, 20 de noviembre de 2013
miércoles, 13 de noviembre de 2013
ejercicio sql
--1. Crea las claves primarias y extranjeras en las nuevas tablas.
alter table autobuses
add constraint pk_matricula
primary key (matrícula);
alter table clientes_autobuses
add constraint pk_codcliente
primary key (códigocliente);
alter table reservas
add constraint pk_codreserva
primary key (códigoreserva);
alter table trayectos
add constraint pk_códigotrayecto
primary key (códigotrayecto);
alter table trayectos
add constraint fk_autobuses_trayectos
foreign key (matrícula)
references autobuses(matrícula);
--------
alter table reservas
add constraint fk_clientes_reservas
foreign key (códigocliente)
references clientes(códigocliente);
alter table reservas
add constraint fk_trayectos_reservas
foreign key (códigotrayecto)
references trayectos(códigotrayecto);
--2. Crea las siguientes consultas, son tan fáciles...
--Mostrar todos los autobuses cuya capacidad supere los 59 asientos.
select * from autobuses where capacidad = 59;
--Mostrar los nombres y teléfonos de los clientes que hayan reservado algo.
select nombres from clientes_autobuses
join reservas on clientes_autobuses.código_cliente=reservas.código_cliente;
--Mostrar los trayectos de la mañana, es decir que salgan antes de las 13:00
select * from trayectos where hora < '13:00';
--Mostrar el número total de trayectos que tiene la compañía
select count(códigotrayecto) from trayectos;
--Mostrar el número total de clientes que tiene la compañía
select count(códigocliente) from clientes;
--Mostrar el número total de trayectos que hace el autobús con matrícula 1021 FTP.
select count(*) from trayectos where matricula = '1021 FTP';
--Mostrar el número total de reservas para el trayecto 1.
select count (*) from reservas where códigotrayecto=1;
--Mostrar los nombres de clientes que han hecho su reserva para el trayecto 1.
select nombre from clientes
join reservas on clientes.códigocliente = reservas.códigocliente
where reservas.códigotrayecto = 1;
--------
--Exporta las tablas a un fichero .dmp con la utilidad exp (ver guía del DBA).
--Crea un nuevo tablespace llamado backup.
--Crea un usuario backupuser cuyo tablespace por defecto sea backup y adle permisos para todo.
--Importa el fichero .dmp en el nuevo tablespace
alter table autobuses
add constraint pk_matricula
primary key (matrícula);
alter table clientes_autobuses
add constraint pk_codcliente
primary key (códigocliente);
alter table reservas
add constraint pk_codreserva
primary key (códigoreserva);
alter table trayectos
add constraint pk_códigotrayecto
primary key (códigotrayecto);
alter table trayectos
add constraint fk_autobuses_trayectos
foreign key (matrícula)
references autobuses(matrícula);
--------
alter table reservas
add constraint fk_clientes_reservas
foreign key (códigocliente)
references clientes(códigocliente);
alter table reservas
add constraint fk_trayectos_reservas
foreign key (códigotrayecto)
references trayectos(códigotrayecto);
--2. Crea las siguientes consultas, son tan fáciles...
--Mostrar todos los autobuses cuya capacidad supere los 59 asientos.
select * from autobuses where capacidad = 59;
--Mostrar los nombres y teléfonos de los clientes que hayan reservado algo.
select nombres from clientes_autobuses
join reservas on clientes_autobuses.código_cliente=reservas.código_cliente;
--Mostrar los trayectos de la mañana, es decir que salgan antes de las 13:00
select * from trayectos where hora < '13:00';
--Mostrar el número total de trayectos que tiene la compañía
select count(códigotrayecto) from trayectos;
--Mostrar el número total de clientes que tiene la compañía
select count(códigocliente) from clientes;
--Mostrar el número total de trayectos que hace el autobús con matrícula 1021 FTP.
select count(*) from trayectos where matricula = '1021 FTP';
--Mostrar el número total de reservas para el trayecto 1.
select count (*) from reservas where códigotrayecto=1;
--Mostrar los nombres de clientes que han hecho su reserva para el trayecto 1.
select nombre from clientes
join reservas on clientes.códigocliente = reservas.códigocliente
where reservas.códigotrayecto = 1;
--------
--Exporta las tablas a un fichero .dmp con la utilidad exp (ver guía del DBA).
--Crea un nuevo tablespace llamado backup.
--Crea un usuario backupuser cuyo tablespace por defecto sea backup y adle permisos para todo.
--Importa el fichero .dmp en el nuevo tablespace
lunes, 4 de noviembre de 2013
ejercicios PS5
1. Crea un cmdlet de
powershell que defina un array relacional con las ips de los
alumnos. Luego debes crear un bucle foreach para mostrar todos los
registros.
2. Crea un cmdlet de
powershell que tenga un array relacional como el definido antes y que
genere las rutas necesarias para llegar a esas máquinas con el comando
Set-NetRoute
3. Crea un cmdlet de
powershell que defina una función llamada hail. La función debe recibir un
parámetros que indique el idioma (es, en, eu, kg, ev). Según el idioma que se
introduzca (con un switch case), la función debe mostrar un saludo en ese
idioma.
4. Crea un cmdlet de
powershell que defina una función llamada generaCuentaSegura. La función debe
generar una cadena que tenga 3 letras aleatorias seguida de 8 números
aleatorios.
5. Crea un cmdlet de powershell que defina una
función llamada generaCuenta. La función debe como parámetro un Nombre y un
Apellido y debe ser capaz de generar un string con la forma nombre_apellido con
todo en minúsculas.


6. Crea un cmdlet de
powershell que defina una función llamada generaNombre. La función debe recibir como parámetro un número
que serán las sílabas. La función debe devolver un nombre que tenga
consonante,
vocal, consonante-vocal,.. por ejemplo
Suscribirse a:
Entradas (Atom)