วันเสาร์ที่ 10 พฤษภาคม พ.ศ. 2557

Scriptcase เล่นๆ ตอนที่ 1 DEMO ระบบบันทึกข้อมูลรถตู้โดยสารประจำทาง - ฐานข้อมูล


ผมได้มีโอกาสร่วมพูดคุยกับน้องเรื่องการบริการจัดการรถตู้โดยสารประจำทางว่าจะทำอย่างไรกับการรายงานผลบิลในแต่ละรอบวัน ซึ่งของเดิมแต่ละคิวจะใช้เป็นกระดาษเขียนมาส่ง บิลก็ไม่เหมือนกันซะทีเดียว แตกต่างกันบ้างเล็กน้อย เลยคิดจะเอามาทำระบบเล็กๆ เล่นๆ ด้วย Scriptcase (SC) ดู

ได้ความตามนั้นแล้วก็มาลอง Demo เล่นๆ ก่อน เอาเฉพาะส่วนงานบันทึกรายรับ

อันดับแรกก็ diagram คร่าวๆ ด้วย MySQL Workbench ได้ประมาณนี้

จากนั้นก็ Database->Forward Engeneer... ไปลง MySQL ซะ (ผมใช้ phpmyadmin สำหรับ import ครับ) ส่วนท่านที่ต้องการทดลองก็เอา SQL script ไปวางได้เลยครับ

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='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema vans9
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `vans9` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ;
USE `vans9` ;

-- -----------------------------------------------------
-- Table `vans9`.`drivers`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `vans9`.`drivers` ;

CREATE TABLE IF NOT EXISTS `vans9`.`drivers` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(255) NULL,
  `midname` VARCHAR(255) NULL,
  `lastname` VARCHAR(255) NULL,
  `nickname` VARCHAR(100) NULL,
  `sex` VARCHAR(1) NULL,
  `p_id` VARCHAR(13) NULL,
  `phone1` VARCHAR(20) NULL,
  `phone2` VARCHAR(20) NULL,
  `phione3` VARCHAR(20) NULL,
  `image` BLOB NULL,
  `driver_id` VARCHAR(20) NULL,
  `license_issue_date` DATE NULL,
  `license_exp_date` DATE NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `vans9`.`drive_report`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `vans9`.`drive_report` ;

CREATE TABLE IF NOT EXISTS `vans9`.`drive_report` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `que` INT NULL,
  `driver` INT NULL,
  `leave_date` DATE NULL,
  `arrive_date` DATE NULL,
  `leave_time` TIME NULL,
  `arrive_time` TIME NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `vans9`.`ticket_pass`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `vans9`.`ticket_pass` ;

CREATE TABLE IF NOT EXISTS `vans9`.`ticket_pass` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `dr_id` INT NULL,
  `ticket_price` VARCHAR(45) NULL,
  `passengers` VARCHAR(45) NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `vans9`.`ques`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `vans9`.`ques` ;

CREATE TABLE IF NOT EXISTS `vans9`.`ques` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(200) NULL,
  `description` TEXT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `vans9`.`vans`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `vans9`.`vans` ;

CREATE TABLE IF NOT EXISTS `vans9`.`vans` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `province` VARCHAR(200) NULL,
  `color` VARCHAR(200) NULL,
  `owner` VARCHAR(200) NULL,
  `issue_date` DATE NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `vans9`.`spare_parts`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `vans9`.`spare_parts` ;

CREATE TABLE IF NOT EXISTS `vans9`.`spare_parts` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `van` INT NULL,
  `items` VARCHAR(45) NULL,
  `garage` VARCHAR(100) NULL,
  `store` VARCHAR(100) NULL,
  `price` VARCHAR(10) NULL,
  `checkin_date` DATE NULL,
  `finish_date` DATE NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

หลังจากนั้นก็จะได้ตามภาพด้านล่างครับ



เราได้ฐานข้อมูลมาแล้ว ตอนต่อไปมาดูการใช้งาน SC กันครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น