MySQL 表的设计

1.设计一个考勤系统

考勤系统,包含员工表,考勤记录表

create table emp(
    id int primary key,
    name varchar(20)
);

create table info(
    id int primary key,
    emp_id int,
    info_date timestamp,
    foreign key (emp_id) references emp(id)
);

设计一个学校宿舍管理系统

学校宿舍管理系统,要求包含宿舍信息,学生信息,每日的宿舍查房记录。

-- 主要考虑学生与宿舍的关系:m:1,宿舍的查房记录是根据宿舍来查的,与宿舍有关系,一个宿舍可以多次查房,宿舍与查房记录是1:m的关系

create table dormitory(
	id int primary key,
    number varchar(20)
);

create table student(
	id int primary key,
    name varchar(20),
    dormitory_id int,
    foreign key (dormitory_id) references dormitory(id)
);

create table info(
	id int primary key,
    dormitory_id int,
    status bit,
    info_date timestamp,
    foreign key (dormitory_id) references dormitory(id)
);

3.设计一个车辆违章系统

车辆违章系统,包含用户表,车辆表,违章信息表。违章信息表中包含用户和车辆的违章信息

-- 用户可以拥有多辆车,关系为1:m,题目已经说明违章信息包括用户和车辆,说明违章信息表中要记录用户和车辆,一个用户可以有多次违章记录,用户与违章记录关系为1:m,一辆车也可以有多次违章记录,车辆与违章记录关系也为1:m

create table user(
  id int primary key,
  name varchar(20)
);

create table cars(
  id int primary key,
  name varchar(20),
  user_id int,
  foreign key (user_id) references user(id)
);

create table info(
  id int primary key,
  user_id int,
  cars_id int,
  foreign key (user_id) references user(id),
  foreign key (cars_id) references cars(id)

);

4.设计一个学校食堂管理系统

学校食堂管理系统,包含食堂表,食堂仓口表,仓口收费记录

-- 一个食堂有多个仓口卖饭,关系为1:m,每个仓口卖饭可以有很多次,仓口与收费记录也是1:m


create table hall(
	id int primary key,
  name varchar(20)
);

create table hall_opening(
	id int primary key,
  name varchar(20),
  hall_id int,
  foreign key (hall_id) references hall(id)
);

create table info(
	id int primary key,
  price int,
  info_date timestamp,
  hall_opening_id int,
  foreign key (hall_opening_id) references hall_opening(id)
);

你可能感兴趣的:(MySQL,mysql,数据库)