创建schooldb数据库

/*1. */
create database schooldb;
/*2.*/
Use schooldb;
CREATE TABLE class  (
  班级编号 char(6) NOT NULL PRIMARY KEY,
  班级名称 varchar(20) NOT NULL,
  院系 varchar(30)  NOT NULL,
  年级 int NULL ,
  人数 int NULL
) ;
CREATE TABLE course  (
  课程号 char(6) NOT NULL PRIMARY KEY,
  课程名 varchar(20) NOT NULL,
  学分 int NOT NULL,
  学时 int NOT NULL,
  学期 char(2)  NULL ,
  前置课 char(6) NULL 
 );
CREATE TABLE score  (
  学号 char(10)  NOT NULL,
  课程号 char(6)  NOT NULL,
  成绩 float(5,2) NULL,
  PRIMARY KEY (学号, 课程号) 
);
CREATE TABLE student  (
  学号 char(10) NOT NULL PRIMARY KEY ,
  姓名 varchar(20) NOT NULL,
  性别 char(2)  NOT NULL,
  出生日期 date NULL,
  地区 varchar(20) NULL ,
  民族 varchar(10)  NULL DEFAULT '汉',
  班级编号 char(6)  NULL 
);
/*3.*/
/*(1)*/
ALTER TABLE student 
ADD FOREIGN KEY (班级编号) REFERENCES class (班级编号);
/*(2)*/
 ALTER TABLE course
ADD FOREIGN KEY (前置课) REFERENCES course (课程号) 
ON DELETE SET NULL ON UPDATE CASCADE;
/*(3)*/
 ALTER TABLE score 
ADD FOREIGN KEY (学号) REFERENCES student (学号) 
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*(4)*/
 ALTER TABLE score 
ADD  FOREIGN KEY (课程号) REFERENCES course (课程号) 
ON DELETE CASCADE ON UPDATE CASCADE;
/*4.*/
 alter table score
add check(成绩>=0 and 成绩<=100);
/*5.*/
 alter table score
          add check(成绩>=0 and 成绩<=100);
 

  • 12
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值