0% encontró este documento útil (0 votos)
7 vistas5 páginas

EjemploSQL CreateSelect

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas5 páginas

EjemploSQL CreateSelect

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

BASES DE DATOS

Santiago Ramirez Arenas


CIAF
4 de abril de 2024

MODELO ENTIDAD RELACION

MODELO RELACIONAL

1
1 CREATE DATABASE IF NOT EXISTS LibreriaSanty ;
2 USE LibreriaSanty ;
3
4 CREATE TABLE IF NOT EXISTS Autor (
5 CCAutor VARCHAR (45) PRIMARY KEY ,
6 Apellido VARCHAR (45) NOT NULL ,
7 Nombre VARCHAR (45) NOT NULL ,
8 FechaNacimiento DATE NOT NULL
9 );
10
11 CREATE TABLE IF NOT EXISTS Editorial (
12 Nombre VARCHAR (45) PRIMARY KEY ,
13 Ciudad VARCHAR (45) NOT NULL ,
14 Complemento VARCHAR (45) NOT NULL
15 );
16
17 CREATE TABLE IF NOT EXISTS Libro (
18 ISBN VARCHAR (45) PRIMARY KEY ,
19 NombreEditorial VARCHAR (45) NOT NULL ,
20 NumeroPaginas INT NOT NULL ,
21 FechaPublicacion DATE NOT NULL ,
22 Titulo VARCHAR (45) NOT NULL ,
23 FOREIGN KEY ( NombreEditorial ) REFERENCES Editorial ( Nombre )
24 );
25
26 CREATE TABLE IF NOT EXISTS Escribir (
27 ISBN Libro Escrib ir VARCHAR (45) NOT NULL ,
28 CCAutorEscribir VARCHAR (45) NOT NULL ,
29 PRIMARY KEY ( ISBNLibroEscribir , CCAutorEscribir ) ,
30 FOREIGN KEY ( I SBNLib roEscr ibir ) REFERENCES Libro ( ISBN ) ,
31 FOREIGN KEY ( CCAutorEscribir ) REFERENCES Autor ( CCAutor )
32 );
33
34 CREATE TABLE IF NOT EXISTS Cliente (
35 IdCliente VARCHAR (45) PRIMARY KEY ,
36 FechaNacimiento DATE NOT NULL ,
37 Apellido VARCHAR (45) NOT NULL ,
38 Nombre VARCHAR (45) NOT NULL

2
39 );
40

41 CREATE TABLE IF NOT EXISTS Comprar (


42 ISBNLibroComprar VARCHAR (45) NOT NULL ,
43 IdClienteComprar VARCHAR (45) NOT NULL ,
44 PRIMARY KEY ( ISBNLibroComprar , IdClienteComprar ) ,
45 FOREIGN KEY ( ISBNLibroComprar ) REFERENCES Libro ( ISBN ) ,
46 FOREIGN KEY ( IdClienteComprar ) REFERENCES Cliente ( IdCliente )
47 );
48
49 CREATE TABLE IF NOT EXISTS TelefonoCliente (
50 TelefonoCliente VARCHAR (45) NOT NULL ,
51 IdCliente VARCHAR (45) NOT NULL ,
52 PRIMARY KEY ( TelefonoCliente ) ,
53 FOREIGN KEY ( IdCliente ) REFERENCES Cliente ( IdCliente )
54 );
55
56 -- I N S E R C I N DE REGISTROS DE FORMA MANUAL
57 -- Tabla Autor
58 INSERT INTO Autor ( CCAutor , Apellido , Nombre , FechaNacimiento )
59 VALUES
60 ( " A001 " , " Martinez " , " Juan " , " 1980 -01 -01 " ) ,
61 ( " A002 " , " Gonzalez " , " Pedro " , " 1982 -03 -05 " ) ,
62 ( " A003 " , " Rodriguez " , " Miguel " , " 1983 -04 -08 " ) ,
63 ( " A004 " , " Perez " , " Luis " , " 1981 -02 -11 " ) ,
64 ( " A005 " , " Sanchez " , " Jorge " , " 1979 -12 -25 " ) ;
65
66 -- Tabla Editorial
67 INSERT INTO Editorial ( Nombre , Ciudad , Complemento )
68 VALUES
69 ( " Editorial 1 " , " Madrid " , " E s p a a " ) ,
70 ( " Editorial 2 " , " Barcelona " , " E s p a a " ) ,
71 ( " Editorial 3 " , " Valencia " , " E s p a a " ) ,
72 ( " Editorial 4 " , " Sevilla " , " E s p a a " ) ,
73 ( " Editorial 5 " , " Bilbao " , " E s p a a " ) ;
74
75 -- Tabla Libro
76 INSERT INTO Libro ( ISBN , NombreEditorial , NumeroPaginas ,
FechaPublicacion , Titulo )
77 VALUES
78 ( " L001 " , " Editorial 1 " , 300 , " 2010 -01 -01 " , " Libro 1 " ) ,
79 ( " L002 " , " Editorial 2 " , 250 , " 2011 -02 -01 " , " Libro 2 " ) ,
80 ( " L003 " , " Editorial 3 " , 200 , " 2012 -03 -01 " , " Libro 3 " ) ,
81 ( " L004 " , " Editorial 4 " , 350 , " 2013 -04 -01 " , " Libro 4 " ) ,
82 ( " L005 " , " Editorial 5 " , 400 , " 2014 -05 -01 " , " Libro 5 " ) ;
83
84 -- Tabla Escribir
85 INSERT INTO Escribir ( ISBNLibroEscribir , CCAutorEscribir )
86 VALUES
87 ( " L001 " , " A001 " ) ,
88 ( " L002 " , " A002 " ) ,
89 ( " L003 " , " A003 " ) ,
90 ( " L004 " , " A004 " ) ,
91 ( " L005 " , " A005 " ) ;

3
92
93 -- Tabla Cliente
94 INSERT INTO Cliente ( IdCliente , FechaNacimiento , Apellido , Nombre )
95 VALUES
96 ( " C001 " , " 1985 -01 -01 " , " Lopez " , " Juan " ) ,
97 ( " C002 " , " 1986 -02 -01 " , " Garcia " , " Pedro " ) ,
98 ( " C003 " , " 1987 -03 -01 " , " Ruiz " , " Miguel " ) ,
99 ( " C004 " , " 1988 -04 -01 " , " Jimenez " , " Luis " ) ,
100 ( " C005 " , " 1989 -05 -01 " , " Ramirez " , " Jorge " ) ;
101
102 -- Tabla Comprar
103 INSERT INTO Comprar ( ISBNLibroComprar , IdClienteComprar )
104 VALUES
105 ( " L001 " , " C001 " ) ,
106 ( " L002 " , " C002 " ) ,
107 ( " L003 " , " C003 " ) ,
108 ( " L004 " , " C004 " ) ,
109 ( " L005 " , " C005 " ) ;
110
111 -- Tabla TelefonoCliente
112 INSERT INTO TelefonoCliente ( TelefonoCliente , IdCliente )
113 VALUES
114 ( " 555 -555 -5555 " , " C001 " ) ,
115 ( " 555 -555 -5556 " , " C002 " ) ,
116 ( " 555 -555 -5557 " , " C003 " ) ,
117 ( " 555 -555 -5558 " , " C004 " ) ,
118 ( " 555 -555 -5559 " , " C005 " ) ;
Listing 1: Creación de tablas y inserción de registros en SQL
Mostrar todos los libros con su título, nombre de la editorial y número de páginas:
1 SELECT Titulo , NombreEditorial , NumeroPaginas
2 FROM Libro ;

Mostrar todos los autores con su nombre completo y fecha de nacimiento:


1 SELECT CONCAT ( Nombre , ’ ’ , Apellido ) AS NombreCompleto , FechaNacimiento
2 FROM Autor ;

Mostrar todos los libros escritos por un autor específico (en este ejemplo, el autor con
CCAutor = ’A001’):
1 SELECT l . Titulo , l . NombreEditorial , l . NumeroPaginas
2 FROM Libro l
3 JOIN Escribir e ON l . ISBN = e . I SBNLib roEscr ibir
4 WHERE e . CCAutorEscribir = ’ A001 ’;

Mostrar todos los clientes que han comprado libros con su nombre completo y fecha de
nacimiento
1 SELECT CONCAT ( Nombre , ’ ’ , Apellido ) AS NombreCompleto , FechaNacimiento
2 FROM Cliente ;

Mostrar la cantidad de libros comprados por cada cliente:


1 SELECT c . IdCliente , CONCAT ( cl . Nombre , ’ ’ , cl . Apellido ) AS
NombreCompleto , COUNT (*) AS C a n t i d a d L i b r o s C o m p r a d o s

4
2 FROM Comprar c
3 JOIN Cliente cl ON c . IdClienteComprar = cl . IdCliente
4 GROUP BY c . IdCliente , cl . Nombre , cl . Apellido ;

También podría gustarte