Advertisement
Guest User

magic the gathering cards

a guest
Aug 14th, 2012
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 7.26 KB | None | 0 0
  1.  
  2. DROP TABLE IF EXISTS `my_card`;
  3. DROP TABLE IF EXISTS `card_2_card`;
  4. DROP TABLE IF EXISTS `print_2_artist`;
  5. DROP TABLE IF EXISTS `print`;
  6. DROP TABLE IF EXISTS `card_2_main_type`;
  7. DROP TABLE IF EXISTS `card_2_sub_type`;
  8. DROP TABLE IF EXISTS `card`;
  9. DROP TABLE IF EXISTS `edition`;
  10. DROP TABLE IF EXISTS `language`;
  11. DROP TABLE IF EXISTS `main_type`;
  12. DROP TABLE IF EXISTS `rarity`;
  13. DROP TABLE IF EXISTS `sub_type`;
  14. DROP TABLE IF EXISTS `artist`;
  15.  
  16.  
  17. CREATE TABLE IF NOT EXISTS `edition` (
  18.     `edition_id`  INT(10)     UNSIGNED NOT NULL AUTO_INCREMENT,
  19.     `abbrevation` VARCHAR(6)           NOT NULL,
  20.     `name`        VARCHAR(50)          NOT NULL,
  21.     #
  22.     PRIMARY KEY (`edition_id`),
  23.     UNIQUE KEY `abbrevation_name` (`abbrevation`,`name`)
  24. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  25.  
  26.  
  27. CREATE TABLE IF NOT EXISTS `language` (
  28.     `language_id` VARCHAR(2)  NOT NULL,
  29.     `name`        VARCHAR(20) NOT NULL,
  30.     #
  31.     PRIMARY KEY (`language_id`)
  32. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  33.  
  34.  
  35. CREATE TABLE IF NOT EXISTS `main_type` (
  36.     `main_type_id` INT(10)     UNSIGNED NOT NULL AUTO_INCREMENT,
  37.     `name`         VARCHAR(30)          NOT NULL,
  38.     #
  39.     PRIMARY KEY (`main_type_id`),
  40.     UNIQUE KEY `name` (`name`)
  41. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  42.  
  43.  
  44. CREATE TABLE IF NOT EXISTS `rarity` (
  45.     `rarity_id` CHAR(1)     NOT NULL,
  46.     `name`      VARCHAR(15) NOT NULL,
  47.     #
  48.     PRIMARY KEY (`rarity_id`)
  49. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  50.  
  51.  
  52. CREATE TABLE IF NOT EXISTS `sub_type` (
  53.     `sub_type_id` INT(10)     UNSIGNED NOT NULL AUTO_INCREMENT,
  54.     `name`        VARCHAR(70)          NOT NULL,
  55.     #
  56.     PRIMARY KEY (`sub_type_id`),
  57.     UNIQUE KEY `name` (`name`)
  58. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  59.  
  60.  
  61. CREATE TABLE IF NOT EXISTS `artist` (
  62.     `artist_id` INT(10)     UNSIGNED NOT NULL AUTO_INCREMENT,
  63.     `name`      VARCHAR(50)          NOT NULL,
  64.     #
  65.     PRIMARY KEY (`artist_id`),
  66.     UNIQUE KEY `name` (`name`)
  67. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  68.  
  69.  
  70. CREATE TABLE IF NOT EXISTS `card` (
  71.     `card_id`     INT(10)         UNSIGNED NOT NULL AUTO_INCREMENT,
  72.     `name`        VARCHAR(150)             NOT NULL,
  73.     `cmc`         SMALLINT(5)     UNSIGNED NOT NULL,
  74.     `color`       VARCHAR(5)               NOT NULL,
  75.     `cost`        VARCHAR(30),
  76.     `rule_text`   VARCHAR(600),
  77.     `power`       VARCHAR(4),
  78.     `toughness`   VARCHAR(4),
  79.     `loyalty`     SMALLINT(6)     UNSIGNED,
  80.     `flip`        tinyint(1)      UNSIGNED,
  81.     `transform`   tinyint(1)      UNSIGNED,
  82.     `split`       tinyint(1)      UNSIGNED,
  83.     #
  84.     PRIMARY KEY (`card_id`),
  85.     UNIQUE KEY `name` (`name`)
  86. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  87.  
  88.  
  89. CREATE TABLE IF NOT EXISTS `card_2_card` (
  90.     `card_id`         INT(10) UNSIGNED NOT NULL,
  91.     `partner_card_id` INT(10) UNSIGNED NOT NULL,
  92.     #
  93.     PRIMARY KEY (`card_id`,`partner_card_id`),
  94.     INDEX `fk_card_2_card_partner_card_id` (`partner_card_id`),
  95.     CONSTRAINT `fk_card_2_card_card_id` FOREIGN KEY (`card_id`) REFERENCES `card` (`card_id`),
  96.     CONSTRAINT `fk_card_2_card_partner_card_id` FOREIGN KEY (`partner_card_id`) REFERENCES `card` (`card_id`)
  97. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  98.  
  99.  
  100. CREATE TABLE IF NOT EXISTS `print` (
  101.     `print_id`     INT(10)    UNSIGNED NOT NULL,
  102.     `card_id`      INT(10)    UNSIGNED NOT NULL,
  103.     `edition_id`   INT(10)    UNSIGNED NOT NULL,
  104.     `rarity_id`    CHAR(1)             NOT NULL,
  105.     `multivers_id` INT(10)    UNSIGNED NOT NULL,
  106.     `oversize`     tinyint(1) UNSIGNED,
  107.     `language_id`  VARCHAR(2)          NOT NULL,
  108.     #
  109.     PRIMARY KEY (`print_id`),
  110.     INDEX `fk_card_2_print_edition_id` (`edition_id`),
  111.     INDEX `fk_card_2_print_rarity_id` (`rarity_id`),
  112.     INDEX `fk_card_2_print_language_id` (`language_id`),
  113.     UNIQUE KEY `card_id_edition_id_oversize_language_id`(`card_id`,`edition_id`, `oversize`, `language_id`),
  114.     UNIQUE KEY `multivers_id` (`multivers_id`),
  115.     CONSTRAINT `fk_card_2_print_edition_id` FOREIGN KEY (`edition_id`) REFERENCES `edition` (`edition_id`),
  116.     CONSTRAINT `fk_card_2_print_card_id` FOREIGN KEY (`card_id`) REFERENCES `card` (`card_id`),
  117.     CONSTRAINT `fk_card_2_print_rarity_id` FOREIGN KEY (`rarity_id`) REFERENCES `rarity` (`rarity_id`),
  118.     CONSTRAINT `fk_card_2_print_language_id` FOREIGN KEY (`language_id`) REFERENCES `language` (`language_id`)
  119. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  120.  
  121.  
  122. CREATE TABLE IF NOT EXISTS `print_2_artist` (
  123.     `print_id`  INT(10) UNSIGNED NOT NULL,
  124.     `artist_id` INT(10) UNSIGNED NOT NULL,
  125.     #
  126.     PRIMARY KEY (`print_id`,`artist_id`),
  127.     INDEX `fk_print_2_artist_artist_id` (`artist_id`),
  128.     CONSTRAINT `fk_print_2_artist_print_id` FOREIGN KEY (`print_id`) REFERENCES `print` (`print_id`),
  129.     CONSTRAINT `fk_print_2_artist_artist_id` FOREIGN KEY (`artist_id`) REFERENCES `artist` (`artist_id`)
  130. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  131.  
  132.  
  133. CREATE TABLE IF NOT EXISTS `card_2_main_type` (
  134.     `card_id`      INT(10)     UNSIGNED NOT NULL,
  135.     `main_type_id` INT(10)     UNSIGNED NOT NULL,
  136.     `order`        SMALLINT(5) UNSIGNED NOT NULL,
  137.     #
  138.     PRIMARY KEY (`card_id`,`main_type_id`),
  139.     INDEX `fk_card_2_main_type_main_type_id` (`main_type_id`),
  140.     CONSTRAINT `fk_card_2_main_type_main_type_id` FOREIGN KEY (`main_type_id`) REFERENCES `main_type` (`main_type_id`),
  141.     CONSTRAINT `fk_card_2_main_type_card_id` FOREIGN KEY (`card_id`) REFERENCES `card` (`card_id`)
  142. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  143.  
  144.  
  145. CREATE TABLE IF NOT EXISTS `card_2_sub_type` (
  146.     `card_id`     INT(10)     UNSIGNED NOT NULL,
  147.     `sub_type_id` INT(10)     UNSIGNED NOT NULL,
  148.     `order`       SMALLINT(5) UNSIGNED NOT NULL,
  149.     #
  150.     PRIMARY KEY (`card_id`,`sub_type_id`),
  151.     INDEX `fk_card_2_sub_type_sub_type_id` (`sub_type_id`),
  152.     CONSTRAINT `fk_card_2_sub_type_sub_type_id` FOREIGN KEY (`sub_type_id`) REFERENCES `sub_type` (`sub_type_id`),
  153.     CONSTRAINT `fk_card_2_sub_type_card_id` FOREIGN KEY (`card_id`) REFERENCES `card` (`card_id`)
  154. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  155.  
  156.  
  157. CREATE TABLE IF NOT EXISTS `my_card` (
  158.     `my_card_id`   INT(10)    UNSIGNED NOT NULL AUTO_INCREMENT,
  159.     #`user_id`      INT(10)    UNSIGNED NOT NULL,
  160.     `print_id`     INT(10)    UNSIGNED NOT NULL,
  161.     `count`        INT(10)    UNSIGNED NOT NULL,
  162.     #
  163.     PRIMARY KEY (`my_card_id`),
  164.     UNIQUE KEY `print_id` (`print_id`),
  165.     #UNIQUE KEY `user_id_print_id` (`user_id`, `print_id`),
  166.     #CONSTRAINT `fk_my_card_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`),
  167.     CONSTRAINT `fk_my_card_print_id` FOREIGN KEY (`print_id`) REFERENCES `print` (`print_id`)
  168. ) ENGINE=InnoDB COLLATE='utf8_general_ci';
  169.  
  170.  
  171. INSERT INTO `rarity` (`rarity_id`, `name`) VALUES ('C', "Common"), ('U', "Uncommon"), ('R', "Rare"),
  172.                                                     ('M', "Mythic Rare"), ('S', "Special"), ('L', "Land");
  173. INSERT INTO `language` (`language_id`, `name`) VALUES ("en", "English"), ("de", "Deutsch"), ("fr", "Français"),
  174.                                                       ("it", "Italiano"), ("es", "Español"), ("pt", "Português"),
  175.                                                       ("jp", "日本語"), ("cn", "简体中文"), ("ru", "Русский"),
  176.                                                       ("tw", "繁體中文"), ("ko", "한국어");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement