· 8 years ago · Feb 25, 2018, 05:10 PM
1-- Creamos la tabla si esta no existe
2CREATE DATABASE IF NOT EXISTS platzi;
3
4-- Indicamos que trabajaremos sobre la tabla
5-- recien creada
6USE platzi;
7
8-- Declaramos las tablas de nuestra DB
9CREATE TABLE books (
10book_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
11publisher_id INTEGER UNSIGNED NOT NULL DEFAULT 0,
12author VARCHAR(100) NOT NULL,
13title VARCHAR(50) NOT NULL,
14description TEXT,
15price DECIMAL(5,2),
16copies INT NOT NULL DEFAULT 0
17);
18
19CREATE TABLE publishers (
20publisher_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
21name VARCHAR(100) NOT NULL,
22country VARCHAR(20)
23);
24
25CREATE TABLE users (
26user_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
27name varchar(100) NOT NULL,
28email varchar(100) NOT NULL UNIQUE
29);
30
31CREATE TABLE actions (
32action_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
33book_id INTEGER UNSIGNED NOT NULL,
34user_id INTEGER UNSIGNED NOT NULL,
35action_type ENUM('venta','prestamo','devolucion') NOT NULL,
36created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
37);
38
39-- datos
40
41INSERT INTO users(name, email) VALUES
42('Ricardo', 'ricardo@hola.com'),
43('Laura', 'laura@hola.com'),
44('Jose', 'jose@hola.com'),
45('Sofia', 'sofia@hola.com'),
46('Fernanda', 'fernanda@hola.com'),
47('Jose Guillermo', 'memo@hola.com'),
48('Maria', 'Maria@hola.com'),
49('Susana', 'susana@hola.com'),
50('Jorge', 'jorge@hola.com');
51
52INSERT INTO publishers(publisher_id, name, country) VALUES
53(1, 'OReilly', 'USA'),
54(2, 'Santillana', 'Mexico'),
55(3, 'MIT Edu', 'USA'),
56(4, 'UTPC', 'Colombia'),
57(5, 'Platzi', 'USA');
58
59INSERT INTO books(publisher_id, title, author, description, price, copies) VALUES
60(1, 'Mastering MySQL', 'John Goodman', 'Clases de bases de datos usando MySQL', 10.50, 4),
61(2, 'Trigonometria avanzada', 'Pi Tagoras', 'Trigonometria desde sus origenes', 7.30, 2),
62(3, 'Advanced Statistics', 'Carl Gauss', 'De curvas y otras graficas', 23.60, 1),
63(4, 'Redes Avanzadas', 'Tim Berners-Lee', 'Lo que viene siendo el internet', 13.50, 4),
64(2, 'Curvas Parabolicas', 'Napoleon TNT', 'Historia de la parabola', 6.99, 10),
65(1, 'Ruby On (the) Road', 'A Miner', 'Un nuevo acercamiento a la programacion', 18.75, 4),
66(1, 'Estudios basicos de estudios', 'John Goodman', 'Clases de bases de datos usando MySQL', 10.50, 4),
67(4, 'Donde esta Y?', 'John Goodman', 'Clases de bases de datos usando MySQL', 10.50, 4),
68(3, 'Quimica avanzada', 'John White', 'Profitable studies on chemistry', 45.35, 1),
69(4, 'Graficas Matematicas', 'Rene Descartes', 'De donde viene el plano', 13.99, 7),
70(4, 'Numeros Importantes', 'Leonhard Euler', 'De numeros que a veces nos sirven', 10, 3),
71(3, 'Modelado de conocimiento', 'Jack Friedman', 'Una vez adquirido, como se guarda el conocimiento', 29.99, 2),
72(3, 'Teoria de juegos', 'John Nash', 'A o B?', 12.55, 3),
73(1, 'Calculo de variables', 'Brian Kernhigan', 'Programacion mega basica', 9.50, 3),
74(5, 'Produccion de streaming', 'Juan Pablo Rojas', 'De la oficina a la pantalla', 23.49, 9),
75(5, 'ELearning', 'JFD & CvdH', 'Diseno y ejecucion de educacion online', 23.55, 4),
76(5, 'Pet Caring for Geeks', 'KC', 'Que tu perro aprenda a programar', 18.79, 3),
77(1, 'Algebra basica', 'Al Juarismi', 'Eso de encontrar X o Y, dependiendo', 13.50, 8);
78
79INSERT INTO actions(book_id, user_id, action_type) VALUES
80(3, 2, 'venta'),
81(6, 1, 'prestamo'),
82(7, 7, 'prestamo'),
83(7, 7, 'devolucion'),
84(2, 5, 'venta'),
85(10, 9, 'venta'),
86(18, 8, 'prestamo'),
87(12, 4, 'venta'),
88(1, 3, 'venta'),
89(4, 5, 'prestamo'),
90(5, 2, 'venta');