O GoConqr está de visual novo! Conte para nós o que você achou.

Notas

Practicas de base de datos

Eduardo Hernandez Jeronimo Espanhol 5 páginas

Practicas de base de datos

Conteúdo das notas (5)

Página 1

47 - Recuperación de registros en forma aleatoria(rand)

Problema:

Trabajamos con la tabla "alumnos" en el cual un instituto de enseñanza guarda los datos de sus alumnos.

Eliminamos la tabla "alumnos" si existe:

drop table if exists alumnos; Creamos la tabla:

create table alumnos(

documento char(8) not null,

nombre varchar(30),

domicilio varchar(30),

ciudad varchar(20),

provincia varchar(20),

primary key(documento) );

Agregamos varios registros:

insert into alumnos values('22333444','Juan Perez','Colon 123','Cordoba','Cordoba');

insert into alumnos values('23456789','Ana Acosta','Caseros 456','Cordoba','Cordoba');

insert into alumnos values('24123123','Patricia Morales','Sucre 234','Villa del Rosario','Cordoba');

insert into alumnos values('25000333','Jose Torres','Sarmiento 980','Carlos Paz','Cordoba');

insert into alumnos values('26333444','Susana Molina','Avellaneda 234','Rosario','Santa Fe');

insert into alumnos values('27987654','Marta Herrero','San Martin 356','Villa del Rosario','Cordoba');

insert into alumnos values('28321321','Marcos Ferreyra','Urquiza 357','Cordoba','Cordoba');

insert into alumnos values('30987464','Marta Perez','Rivadavia 234','Cordoba','Cordoba');

El instituto quiere tomar 3 alumnos al azar para que representen al instituto en una feria de ciencias. Para recuperar de una tabla registros aleatorios se puede utilizar la función "rand()" combinada con "order by" y "limit":

select documento,nombre from alumnos order by rand() limit 3;

Nos devuelve los nombres y documentos de 3 alumnos tomados al azar de la tabla "alumnos". Podemos ejecutar la sentencia anterior varias veces seguidas y veremos que los registros recuperados son diferentes en cada ocasión:

select documento,nombre from alumnos order by rand() limit 3;

select documento,nombre from alumnos order by rand() limit 3;

select documento,nombre from alumnos order by rand() limit 3;

Practicas de base de datos

Página 2

39 - Clave primaria compuesta.

Problema:

Una pequeña biblioteca de barrio registra los préstamos de sus libros en una tabla llamada "prestamos". En ella almacena la siguiente información: -título del libro, -documento de identidad del socio a quien se le presta el libro, -fecha de préstamo, -fecha de devolución del libro, -devuelto: si el libro ha sido o no devuelto.

1- Elimine la tabla "prestamos" si existe.

2- Necesitamos una clave que identifique cada registro en la tabla "prestamos". El mismo libro no puede prestarse en la misma fecha.

3- Cree la tabla:

create table prestamos(

titulo varchar(40) not null,

documento char(8) not null,

fechaprestamo date not null,

fechadevolucion date,

devuelto char(1) default 'N',

primary key(titulo,fechaprestamo) );

4- Ingrese los siguientes registros para la tabla "prestamos":

insert into prestamos (titulo,documento,fechaprestamo) values('Manual de 1 grado','22333444','2006-07-10');

insert into prestamos (titulo,documento,fechaprestamo) values('Manual de 1 grado','22333444','2006-07-20');

insert into prestamos (titulo,documento,fechaprestamo) values('Manual de 1 grado','23333444','2006-07-15');

insert into prestamos (titulo,documento,fechaprestamo) values('El aleph','22333444','2006-07-10');

insert into prestamos (titulo,documento,fechaprestamo) values('El aleph','30333444','2006-08-10');

Note que un mismo libro fue prestado a un mismo socio pero en una fecha distinta. 5- Intente ingresar un valor de clave primaria repetida:

insert into prestamos (titulo,documento,fechaprestamo) values('Manual de 1 grado','25333444','2006-07-10');

Practicas de base de datos

Página 3

42 - Indice común (index)

Problema:

Retome la tabla llamada "medicamentos" de una farmacia.

1- Elimine la tabla, si existe.

2- Cree la tabla e indéxela por el campo "laboratorio":

create table medicamentos(

codigo int unsigned auto_increment,

nombre varchar(20) not null,

laboratorio varchar(20),

precio decimal (6,2) unsigned,

cantidad int unsigned,

primary key(codigo),

index i_laboratorio (laboratorio) );

3- Visualice los índices de la tabla "medicamentos" y analice la información:

show index from medicamentos;

Practicas de base de datos

Página 4

45 - Creación de índices a tablas existentes (create index)

Problema:Retome la tabla "clientes" que almacena información sobre los clientes de una empresa.

1- Elimine la tabla "clientes", si existe.

2- Créela con esta estructura:

create table clientes ( documento char (8) not null,

nombre varchar(30) not null, domicilio varchar(30),

ciudad varchar(20), provincia varchar (20),

telefono varchar(11) );

3- Agregue un índice común por ciudad y provincia:

create index i_ciudadprovincia on clientes (ciudad,provincia);

4- Vea la información de los índices:

show index from clientes;

5- Agregue un índice único por el campo "documento":

create unique index i_documento on clientes (documento);

Practicas de base de datos

Página 5

42 - Indice común (index)

Problema:

Retome la tabla llamada "medicamentos" de una farmacia.

1- Elimine la tabla, si existe.

2- Cree la tabla e indéxela por el campo "laboratorio":

create table medicamentos(

codigo int unsigned auto_increment,

nombre varchar(20) not null,

laboratorio varchar(20),

precio decimal (6,2) unsigned,

cantidad int unsigned,

primary key(codigo),

index i_laboratorio (laboratorio) );

3- Visualice los índices de la tabla "medicamentos" y analice la información:

show index from medicamentos;

Practicas de base de datos

Informações

Descrição
Ejercicios
Visualizações
16
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?