ผมได้มีโอกาสร่วมพูดคุยกับน้องเรื่องการบริการจัดการรถตู้โดยสารประจำทางว่าจะทำอย่างไรกับการรายงานผลบิลในแต่ละรอบวัน ซึ่งของเดิมแต่ละคิวจะใช้เป็นกระดาษเขียนมาส่ง บิลก็ไม่เหมือนกันซะทีเดียว แตกต่างกันบ้างเล็กน้อย เลยคิดจะเอามาทำระบบเล็กๆ เล่นๆ ด้วย 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 กันครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น