数据库设计实战:教务系统数据库创建与优化

本文记录了数据库设计师设计教务系统数据库的过程,包括数据库创建、表结构设计、数据插入、修改和删除等操作,并提供了相应的 SQL 语句,方便后期查证。

一、数据库创建与表结构设计

  1. 创建数据库
CREATE DATABASE IF NOT EXISTS 'CW1150' CHARACTER SET utf8 COLLATE utf8_general_ci;
  1. 创建教师信息表
CREATE TABLE IF NOT EXISTS 'teacherinfo' (
  'teacher_id' VARCHAR(20) NOT NULL COMMENT '教师编号',
  'teacher_name' VARCHAR(20) NOT NULL COMMENT '教师姓名',
  'birthday' DATE NOT NULL COMMENT '出生日期',
  'id_card' VARCHAR(18) NOT NULL COMMENT '身份证号',
  'address' VARCHAR(50) NOT NULL COMMENT '住址',
  'phone' VARCHAR(11) NOT NULL COMMENT '手机号',
  'age' INT(3) NOT NULL COMMENT '年龄',
  'status' ENUM('试用', '正式') NOT NULL COMMENT '状态',
  'title' ENUM('讲师', '副教授', '教授') NOT NULL COMMENT '职称',
  'education' ENUM('本科', '研究生', '博士') NOT NULL COMMENT '学历',
  'salary' DECIMAL(8,2) NOT NULL COMMENT '薪资',
  'create_time' DATETIME NOT NULL COMMENT '创建时间',
  'update_time' DATETIME NOT NULL COMMENT '修改时间',
  PRIMARY KEY ('teacher_id'),
  UNIQUE KEY ('id_card')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='教师信息表';
  1. 创建教师信息扩展表
CREATE TABLE IF NOT EXISTS 'teacher_info_extend' (
  'teacher_id' VARCHAR(20) NOT NULL COMMENT '教师编号',
  'resume' TEXT COMMENT '简历',
  'hobby' VARCHAR(50) COMMENT '爱好',
  'expertise' VARCHAR(50) COMMENT '特长',
  PRIMARY KEY ('teacher_id'),
  CONSTRAINT 'teacher_info_extend_fk' FOREIGN KEY ('teacher_id') REFERENCES 'teacherinfo' ('teacher_id') ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='教师信息扩展表';

二、数据库设计优化

  1. 重命名教师信息表
ALTER TABLE 'teacherinfo' RENAME TO 'info_teacher';
  1. 修改教师信息表结构
ALTER TABLE 'info_teacher' ADD 'degree' ENUM('学士', '硕士', '博士') NOT NULL COMMENT '学位';
ALTER TABLE 'info_teacher' DROP 'salary';
  1. 删除教师信息扩展表
DROP TABLE IF EXISTS 'teacher_info_extend';

三、数据库数据操作

  1. 插入教师信息
INSERT INTO 'info_teacher' ('teacher_id', 'teacher_name', 'birthday', 'id_card', 'address', 'phone', 'age', 'status', 'title', 'education', 'degree', 'create_time', 'update_time') VALUES ('T0001', '张三', '2003-01-01', '456987200301010598', '无锡职业技术学院职工宿舍305室', '13771478965', 23, '试用', '讲师', '研究生', '硕士', '2023-03-30 22:30:50', '2023-03-30 22:30:50');
  1. 修改张三数据
UPDATE 'info_teacher' SET 'status' = '正式', 'degree' = '硕士', 'update_time' = '2023-03-30 22:50:50' WHERE 'teacher_id' = 'T0001';
  1. 删除张三信息
DELETE FROM 'info_teacher' WHERE 'teacher_id' = 'T0001';

四、总结

通过以上步骤,完成了教务系统数据库的设计与优化。设计师通过对数据库的创建、表结构设计、数据操作等步骤的记录,有效地保证了数据库设计的完整性和可维护性,方便后期进行查证和维护。

注意: 以上 SQL 语句仅供参考,实际操作时需根据具体需求进行调整。


原文地址: https://www.cveoy.top/t/topic/l4Ao 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录