Está en la página 1de 4

BASE DE DATOS BIBLIOTECA

CREATE database Biblioteca;

use Biblioteca;

create table Autor (


Cedula int primary key,
Nombre varchar (10) not null,
Apellido varchar (10) not null,
Nacionalidad varchar (15)
);

create table Libro (


ISBN int primary key,
Nombre int (15) not null,
Edicion int,
Año date,
Editorial varchar (10)
);

Create table Estudiante (


Codigo int primary key,
Nombre varchar (10) not null,
Apellido varchar (10) not null,
Direccion varchar (15),
Telefono varchar(15)

);

Create table Libro_Autor (

Codigo int primary key AUTO_INCREMENT,


Cedula_autor int,
ISBN_libro int,
FOREIGN key (Cedula_autor) REFERENCES Autor (Cedula),
FOREIGN KEY (ISBN_libro) REFERENCES Libro (ISBN)
);

create table Ejemplar (


Codigo int primary key AUTO_INCREMENT,
Cantidad int,
Ubicacion varchar (10),
ISBN_libro int,
FOREIGN key (ISBN_libro) REFERENCES Libro (ISBN)
);

create table Prestamo (


Codigo_estudiante int,
Codigo int primary key AUTO_INCREMENT,
fecha_solicitud date,
FOREIGN key (Codigo_estudiante) REFERENCES Estudiante (Codigo)
);
create table Prestamo_libro (
codigo int primary key AUTO_INCREMENT,
Cod_ejemplar int,
Cod_prestamo int,
Estado int,
Dias_Mora int,
Valor_Mora int,
Valor_Multa INT,
FOREIGN key (Cod_ejemplar) REFERENCES Ejemplar (Codigo),
FOREIGN key (Cod_prestamo) REFERENCES Prestamo (Codigo)
);

Show tables;

Show databases;

Show columns from “tabla”;

Adicionar: Alter table “table” add dirección varchar (10);

Eliminar: Alter table “table” drop “nombre”;

Modificar: Alter table “table” modify column “nombre varchar (10)”;

ALTER TABLE “table” modify “nombre varchar (10)”;

Llenar registros de la base de datos


use biblioteca;

INSERT INTO autor (cedula, nombre, apellido, nacionalidad) VALUES


('11', 'Marcela', 'Rojas', 'Colombiana'),
('22', 'Pablo', 'Fonseca', 'Mexicano'),
('33', 'Gabriel', 'Vargas', 'Chileno'),
('44', 'Rcihard', 'Bluue', 'EEUU'),
('55', 'March', 'Redw', 'EEUU');
Select * from autor;

INSERT INTO libro (ISBN, nombre, edicion, año, editorial) VALUES


('110', 'Redes de Datos', 'I', '2000-10-23', 'rammo'),
('220', 'Matematicas I', 'II', '2005-5-13', 'El Cid'),
('333', 'Comunicaciones Moviles', 'I', '2010-05-03', 'McGraw-Hill'),
('444', 'Fisica Mecanica', 'III', '1999-11-30', 'McGraw-Hill'),
('555', 'Electricoas', 'I', '1998-12-10', 'Ra-ma');

Si se requeire actualizar un campo

update libro set nombre = 'Matematicas I' where ISBN = 220;


update libro set edicion = '2' where ISBN = 220;
update libro set nombre = 'Comunicaciones Moviles' where ISBN = 333;
update libro set edicion = '1' where ISBN = 333;
update libro set nombre = 'Fisica Mecanica' where ISBN = 444;
update libro set edicion = '3' where ISBN = 444;

use biblioteca;
insert into libro_autor (cedula_autor, ISBN_libro) values ('11', '220');
insert into libro_autor (cedula_autor, ISBN_libro) values ('22', '555');
insert into libro_autor (cedula_autor, ISBN_libro) values ('11', '555');
insert into libro_autor (cedula_autor, ISBN_libro) values ('33', '444');
insert into libro_autor (cedula_autor, ISBN_libro) values ('33', '110');
insert into libro_autor (cedula_autor, ISBN_libro) values ('44', '220');
insert into libro_autor (cedula_autor, ISBN_libro) values ('55', '110');

insert into estudiante (Codigo, nombre, Apellido, direccion, telefono) values ('111','Mario', 'Robledo', 'calle
3 No. 56 ', '3322445');
insert into estudiante (Codigo, nombre, Apellido, direccion, telefono) values ('220','LUcas', 'Rojas', 'calle 44
No. 45', '32070345');
insert into estudiante (Codigo, nombre, Apellido, direccion, telefono) values ('222','Angelica', 'Valdivi',
'Diag. 44 No, 23 ', '2348740');

CONSULTAS

1. Indicar el libro cuya publicación es la más antigua

Primera forma

select nombre, min(año) from libro

Segunda Forma

select * from libro


where año= (select min(año) from libro);

2. Adicionar a la tabla préstamo la clave foránea código de ejemplar

alter table prestamo add cod_ejemplar int;

alter table prestamo


add FOREIGN KEY (cod_ejemplar) REFERENCES ejemplar (Codigo);
3. Listar el nombre de los autores que escribieron el libro xxxx

Primera Forma

create VIEW librosautores as


SELECT libro_autor.ISBN_libro, libro_autor.Cedula_autor,
autor.Nombre, libro.Nombre
FROM autor, libro_autor, libro
WHERE autor.Cedula = libro_autor.Cedula_autor
and libro.ISBN = libro_autor.ISBN_libro;

Segunda Forma

CREATE VIEW C2 AS
SELECT AUTOR.Nombre, libro_autor.ISBN_libro, libro.Nombre AS LIBRO
from autor, libro_autor, libro
where autor.Cedula = libro_autor.Cedula_autor
and libro_autor.ISBN_libro = libro.ISBN
and libro.Nombre like 'Matematicas I'

También podría gustarte