最近我參加了一份MySQL數據庫應用的考核作業,它要求我們使用MySQL數據庫來創建一個電影信息管理系統。這個系統需要能夠存儲每部電影的基本信息,例如電影名稱、導演、演員、時長、上映日期等等。在此基礎上,我們還需要能夠進行電影的分類、上映地點和票房的管理。
在實際操作中,我采用了MySQL Workbench這個數據庫設計工具來構建數據庫。我首先創建了一個名為"movie_platform"的數據庫,并在其中創建了5個數據表,分別是"movie_info"、"movie_type"、"cinema_info"、"city_info"和"box_office"。
CREATE DATABASE `movie_platform` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; use movie_platform; CREATE TABLE `movie_info`( `id` INT(11) NOT NULL AUTO_INCREMENT, `movie_name` VARCHAR(50) NOT NULL, `director` VARCHAR(50) NOT NULL, `actor` VARCHAR(200) NOT NULL, `length` INT(11) NOT NULL, `release_date` DATE NOT NULL, PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `movie_type`( `id` INT(11) NOT NULL AUTO_INCREMENT, `type` VARCHAR(50) NOT NULL, PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `cinema_info`( `id` INT(11) NOT NULL AUTO_INCREMENT, `cinema_name` VARCHAR(50) NOT NULL, `city_id` INT(11) NOT NULL, PRIMARY KEY (`id`), INDEX `city_fk_idx` (`city_id` ASC) VISIBLE, CONSTRAINT `city_fk` FOREIGN KEY (`city_id`) REFERENCES `city_info` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `city_info`( `id` INT(11) NOT NULL AUTO_INCREMENT, `city_name` VARCHAR(50) NOT NULL, PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `box_office`( `id` INT(11) NOT NULL AUTO_INCREMENT, `movie_id` INT(11) NOT NULL, `cinema_id` INT(11) NOT NULL, `box_office` INT(11) NOT NULL, PRIMARY KEY (`id`), INDEX `movie_fk_idx` (`movie_id` ASC) VISIBLE, INDEX `cinema_fk_idx` (`cinema_id` ASC) VISIBLE, CONSTRAINT `movie_fk` FOREIGN KEY (`movie_id`) REFERENCES `movie_info` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `cinema_fk` FOREIGN KEY (`cinema_id`) REFERENCES `cinema_info` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
在電影信息表中,我設置了一個自增長的id作為主鍵,然后分別創建了電影名稱、導演、演員、時長和上映日期等幾個字段。在電影類型表中,我設置id和電影類型兩個字段。在電影院和城市信息兩個表格中,我分別設置id和名稱兩個字段,同時在電影院表中通過city_id這個外鍵與城市表格建立了關聯。最后,在票房表中,我設置了一個自增長的id作為主鍵,并通過movie_id和cinema_id兩個外鍵,與電影信息表和電影院信息表進行關聯,以實現統計各地區各影院各電影的票房情況。
在系統應用方面,我為各個頁面設計了不同的數據庫查詢語句,并使用了PHP語言結合MySQL數據庫進行開發,從而實現了一些列表、查詢和統計功能。
通過這次MySQL數據庫應用考核作業,我掌握了MySQL數據庫的一些基本操作,同時對數據庫設計和應用開發的相關知識也更加深入了解了。除此之外,我也對電影信息管理系統的構建有了更全面和系統的認識,相信這對我未來的職業發展會有很大幫助。