mirror of
https://github.com/Alvin-Zilverstand/pokedex.git
synced 2026-03-06 02:57:25 +01:00
100 lines
2.6 KiB
SQL
100 lines
2.6 KiB
SQL
CREATE DATABASE IF NOT EXISTS pokedex;
|
|
USE pokedex;
|
|
|
|
-- Table to store Pokémon details
|
|
CREATE TABLE IF NOT EXISTS pokemon (
|
|
id INT PRIMARY KEY,
|
|
name VARCHAR(100) NOT NULL,
|
|
height INT,
|
|
weight INT,
|
|
base_experience INT,
|
|
species_url VARCHAR(255),
|
|
image_url VARCHAR(255)
|
|
);
|
|
|
|
-- Table to store Pokémon types
|
|
CREATE TABLE IF NOT EXISTS types (
|
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
name VARCHAR(50) NOT NULL UNIQUE
|
|
);
|
|
|
|
-- Table to store Pokémon abilities
|
|
CREATE TABLE IF NOT EXISTS abilities (
|
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
name VARCHAR(100) NOT NULL
|
|
);
|
|
|
|
-- Table to store Pokémon stats
|
|
CREATE TABLE IF NOT EXISTS stats (
|
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
pokemon_id INT,
|
|
hp INT,
|
|
attack INT,
|
|
defense INT,
|
|
sp_attack INT,
|
|
sp_defense INT,
|
|
speed INT,
|
|
FOREIGN KEY (pokemon_id) REFERENCES pokemon(id)
|
|
);
|
|
|
|
-- Table to store Pokémon type relationships
|
|
CREATE TABLE IF NOT EXISTS pokemon_types (
|
|
pokemon_id INT,
|
|
type_id INT,
|
|
PRIMARY KEY (pokemon_id, type_id),
|
|
FOREIGN KEY (pokemon_id) REFERENCES pokemon(id),
|
|
FOREIGN KEY (type_id) REFERENCES types(id)
|
|
);
|
|
|
|
-- Table to store Pokémon ability relationships
|
|
CREATE TABLE IF NOT EXISTS pokemon_abilities (
|
|
pokemon_id INT,
|
|
ability_id INT,
|
|
PRIMARY KEY (pokemon_id, ability_id),
|
|
FOREIGN KEY (pokemon_id) REFERENCES pokemon(id),
|
|
FOREIGN KEY (ability_id) REFERENCES abilities(id)
|
|
);
|
|
|
|
-- Table to store Pokémon evolution chains
|
|
CREATE TABLE IF NOT EXISTS evolution_chains (
|
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
chain_url VARCHAR(255) NOT NULL
|
|
);
|
|
|
|
-- Table to store Pokémon varieties
|
|
CREATE TABLE IF NOT EXISTS varieties (
|
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
pokemon_id INT,
|
|
variety_name VARCHAR(100),
|
|
image_url VARCHAR(255),
|
|
FOREIGN KEY (pokemon_id) REFERENCES pokemon(id)
|
|
);
|
|
|
|
-- Table to store Pokémon species details
|
|
CREATE TABLE IF NOT EXISTS species (
|
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
pokemon_id INT,
|
|
genus VARCHAR(100),
|
|
flavor_text TEXT,
|
|
growth_rate VARCHAR(100),
|
|
base_happiness INT,
|
|
capture_rate INT,
|
|
gender_rate INT,
|
|
FOREIGN KEY (pokemon_id) REFERENCES pokemon(id)
|
|
);
|
|
|
|
-- Table to store Pokémon egg groups
|
|
CREATE TABLE IF NOT EXISTS egg_groups (
|
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
name VARCHAR(100) NOT NULL
|
|
);
|
|
|
|
-- Table to store Pokémon egg group relationships
|
|
CREATE TABLE IF NOT EXISTS pokemon_egg_groups (
|
|
pokemon_id INT,
|
|
egg_group_id INT,
|
|
PRIMARY KEY (pokemon_id, egg_group_id),
|
|
FOREIGN KEY (pokemon_id) REFERENCES pokemon(id),
|
|
FOREIGN KEY (egg_group_id) REFERENCES egg_groups(id)
|
|
);
|