Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5сем / files / library4

.sql
Скачиваний:
3
Добавлен:
27.08.2024
Размер:
5 Кб
Скачать
-- MySQL Script generated by MySQL Workbench
-- Mon Oct 31 13:28:06 2022
-- Model: New Model    Version: 1.0
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema my_library
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema my_library
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `my_library` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
USE `my_library` ;

-- -----------------------------------------------------
-- Table `my_library`.`Authors`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `my_library`.`Authors` (
  `id_author` INT NOT NULL AUTO_INCREMENT,
  `author_FIO` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`id_author`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `my_library`.`Library_place`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `my_library`.`Library_place` (
  `id_place` INT NOT NULL AUTO_INCREMENT,
  `department` VARCHAR(45) NOT NULL,
  `number_shelf` INT NOT NULL,
  PRIMARY KEY (`id_place`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `my_library`.`Genres`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `my_library`.`Genres` (
  `id_genre` INT NOT NULL AUTO_INCREMENT,
  `name_genre` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`id_genre`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `my_library`.`Books`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `my_library`.`Books` (
  `id_book` INT NOT NULL AUTO_INCREMENT,
  `id_author` INT NOT NULL,
  `id_place` INT NOT NULL,
  `id_genre` INT NOT NULL,
  `title_book` VARCHAR(255) NOT NULL,
  `deposit` INT NOT NULL,
  `coast_per_day` INT NOT NULL,
  PRIMARY KEY (`id_book`),
  INDEX `id_author_idx` (`id_author` ASC) VISIBLE,
  INDEX `id_place_idx` (`id_place` ASC) VISIBLE,
  INDEX `id_genre_idx` (`id_genre` ASC) VISIBLE,
  CONSTRAINT `id_author`
    FOREIGN KEY (`id_author`)
    REFERENCES `my_library`.`Authors` (`id_author`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `id_place`
    FOREIGN KEY (`id_place`)
    REFERENCES `my_library`.`Library_place` (`id_place`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `id_genre`
    FOREIGN KEY (`id_genre`)
    REFERENCES `my_library`.`Genres` (`id_genre`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `my_library`.`Readers`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `my_library`.`Readers` (
  `id_reader` INT NOT NULL,
  `reader_FIO` VARCHAR(255) NOT NULL,
  `discount_reader` INT NOT NULL,
  `telephone` VARCHAR(10) NOT NULL,
  PRIMARY KEY (`id_reader`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `my_library`.`Employee`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `my_library`.`Employee` (
  `id_employee` INT NOT NULL AUTO_INCREMENT,
  `employee_FIO` VARCHAR(255) NOT NULL,
  `employee_telephone` VARCHAR(10) NOT NULL,
  PRIMARY KEY (`id_employee`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `my_library`.`Appeals`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `my_library`.`Appeals` (
  `id_appeal` INT NOT NULL AUTO_INCREMENT,
  `id_book` INT NOT NULL,
  `id_reader` INT NOT NULL,
  `id_employee` INT NOT NULL,
  `issue_date` DATE NOT NULL,
  `return_day_expected` DATE NOT NULL,
  `return_day` DATE NOT NULL,
  `total` INT NULL,
  PRIMARY KEY (`id_appeal`),
  INDEX `id_book_idx` (`id_book` ASC) VISIBLE,
  INDEX `id_reader_idx` (`id_reader` ASC) VISIBLE,
  INDEX `id_employee_idx` (`id_employee` ASC) VISIBLE,
  CONSTRAINT `id_book`
    FOREIGN KEY (`id_book`)
    REFERENCES `my_library`.`Books` (`id_book`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `id_reader`
    FOREIGN KEY (`id_reader`)
    REFERENCES `my_library`.`Readers` (`id_reader`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `id_employee`
    FOREIGN KEY (`id_employee`)
    REFERENCES `my_library`.`Employee` (`id_employee`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Соседние файлы в папке files