大学数据库创建与查询实战——数据库表设计

创建MySQL数据表需要以下信息:

  • 表名
  • 表字段名
  • 定义每个表字段

在MySQL中,使用CREATE TABLE语句创建表,语法格式如下:

USE 数据库名 CREATE TABLE 表名 (

列名 类型(大小)

列名 类型(大小)

.......

);

【注意】主键必须包含唯一的值;主键列不能包含NULL值;每个表有且只能有一个主键

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1

PRIMARY KEY关键字用于定义列为主键,可以使用多列来定义主键,列间以逗号分隔

MySQL命令终止符为分号;

 FOREIGN KEY外键(既可以定义列也可以定义表)

CHECK约束用于限制列中的值的范围(既可以定义列也可以定义表)

比如在“ instructor”表创建“salary”列时创建CHECK约束。CHECK约束规定“salary”列必须只包含大于0的整数。

字段名称类型备注约束
salarynumeric(8,2)薪资底薪大于29000

use universityDB;

create table instructor(

salary  numeric(8,2) check(salary>29000)

);

大学数据库的整体设计

一个大学里面会有很多教学楼、学生、老师,他们之间的都有着密不可分的关系,因此将大学数据库整体设计如下图所示,总共涉及到八张表:

  1. 学生表(student):包含学生学号 ID,学生姓名 name,学生所在系 dept_name,总学分 tot_cred 属性。

  2. 课程表(course):包含课程号 course_id,课程名称 title,课程所属的系名 dept_name,学分 credits 属性。

  3. 系表(department):包含系名 dept_name,建筑 building,预算 budget 属性。

  4. 教室表(classroom):包含建筑 building,房间号 room_number,容量 capacity 属性。

  5. 教学信息表(teaches):包含教室号 ID,课程号 course_id,课程信息序号 sec_id,学期 semester,年份 year 属性。

  6. 选课信息表(takes):包含学生学号 ID,课程标识 course_id,课程段标识 sec_id,学期 semester,年份 year,成绩 grade 属性。

  7. 教师信息表(instructor)。

  8. 开课信息表(section)。

图1 大学数据库模型

教师信息表(instructor)

教师信息表的具体属性及约束如下:

字段名称类型备注约束
IDvarchar(5)教师号主键
namevarchar(20)教师名字非空
dept_namevarchar(20)教师所在的系外键
salarynumeric(8,2)薪资底薪大于 29000

开课信息表(section)

开课信息表的具体属性及约束如下:

字段名称类型备注约束
course_idvarchar(8)课程号外键
sec_idvarchar(8)课程段标识
semestervarchar(6)学期只能插入 Fall,Winter,Spring,Summer四个值。
yearnumeric(4,0)年份1701 < year < 2100
buildingvarchar(15)课程所在建筑外键
room_numbervarchar(7)课程所在教室号外键
time_slot_idvarchar(4)时间档序号

section 表的主键由 course_id,sec_id,semester,year 四个属性共同组成。

编程要求

补充代码,创建教师信息表和开课信息表(其他六张表系统已为你创建完成),使用 universityDB 数据库,创建的表命名依次为 instructor 和 section。

#请在此添加创建开课信息表的SQL语句
########## Begin ##########
use universityDB;
create table instructor(
    ID varchar(5) COMMENT'教师号',primary key(ID),
    name varchar(20) COMMENT'教师名字'NOT NULL,
    dept_name varchar(20) DEFAULT NULL COMMENT'教师所在的系',
    salary numeric(8,2) COMMENT'薪资' check(salary>29000),
    foreign key (dept_name) references department(dept_name)
        on delete set null
);
create table section(
    course_id varchar(8)  COMMENT '课程号' ,
    sec_id varchar(8) COMMENT'课程段标识',
    semester varchar(6) COMMENT'学期' check(semester in('Fall','Winter','Spring','Summer')),
    year numeric(4,0)  COMMENT'年份',
    building varchar(15)  COMMENT '课程所在建筑' ,
    room_number varchar(7)  COMMENT '课程所在教室号' ,
    time_slot_id varchar(4) COMMENT'时间档序号',
    primary key (course_id, sec_id, semester, year),
     foreign key (course_id) references course(course_id)
        on delete cascade,
     foreign key (building, room_number) references classroom(building, room_number)
        on delete set null
);

########## End ##########
  • 9
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 大学模式数据库SQL文件是包含了用于创建和管理大学模式数据库SQL语句的文件。它通常以.sql扩展名保存。 大学模式数据库通常用于模拟大学的各种数据信息,如学生、教师、课程、成绩等。这些信息都被组织成不同的,并通过主键和外键进行关联。 SQL文件中的语句可以用于创建和定义这些,并定义它们之间的关系。例如,可以使用CREATE TABLE语句创建学生,该包含学生ID、姓名、年龄等字段。还可以使用ALTER TABLE语句添加约束,如主键、外键、唯一性约束等。 此外,SQL文件还可以包含用于插入数据的INSERT语句,用于向中添加初始数据。例如,可以使用INSERT INTO语句将学生的姓名和年龄插入到学生中。 在SQL文件中,还可以包含用于查询和更新数据的SELECT和UPDATE语句。通过使用SELECT语句,可以从不同的中检索数据,并根据特定条件进行过滤和排序。通过使用UPDATE语句,可以更新中的数据。 大学模式数据库SQL文件还可以包含用于删除和数据的DELETE和DROP语句。通过使用DELETE语句,可以从中删除特定的数据行。通过使用DROP语句,可以删除整个。 总之,大学模式数据库SQL文件是一个保存了创建、定义和管理大学模式数据库所需的SQL语句的文件。它提供了一种方便和易于操作的方式来创建和管理大学模式数据库。 ### 回答2: 大学模式数据库SQL文件是包含创建和操作大学数据库SQL语句的文本文件。大学模式数据库是一个可以用来管理大学各种信息的数据库系统,包括学生、教师、课程、成绩等信息。 在一个大学模式数据库SQL文件中,首先会包含创建数据库的语句,例如CREATE DATABASE语句,用于创建一个新的数据库实例。接着,会包含创建的语句,例如CREATE TABLE语句,用于创建示学生、教师等不同实体的。每个都会定义它所包含的字段以及字段的类型和约束。 在创建完成之后,SQL文件会包含插入语句,用于向中插入数据。例如,INSERT INTO语句可以用来将一些初始数据插入到学生或者教师中。这些初始数据可以包括学生的姓名、学号等信息。 此外,SQL文件还会包含其他的操作语句,例如UPDATE语句可以用于更新中的数据,DELETE语句可以用于删除中的某些数据。还可以使用SELECT语句来查询数据库中的数据,例如查询某个学生的成绩或者查询某个教师所教授的课程。 通过执行这个SQL文件,我们可以在数据库中快速地创建、插入数据以及进行各种操作。这样,我们就可以方便地管理大学的各种信息,从而实现学生管理、教师管理、课程管理等功能。 总之,大学模式数据库SQL文件是一个包含创建和操作大学数据库的语句的文本文件,通过执行这个SQL文件,可以创建、插入数据和进行各种操作,从而实现对大学信息的管理。 ### 回答3: 大学模式数据库是一个用于管理大学学生、教师、课程以及学生选课等信息的数据库模型。为了在数据库创建这些以及填充初始数据,我们可以使用SQL文件。 SQL文件是包含一系列SQL语句的文本文件,用于在数据库中执行各种操作,如创建、插入数据、更新数据等。下面是一个用于创建大学模式数据库SQL文件的示例: -- 创建学生 CREATE TABLE 学生 ( 学生ID INT PRIMARY KEY, 姓名 VARCHAR(50), 年龄 INT, 专业 VARCHAR(50), 入学时间 DATE ); -- 创建教师 CREATE TABLE 教师 ( 教师ID INT PRIMARY KEY, 姓名 VARCHAR(50), 职称 VARCHAR(50), 部门 VARCHAR(50) ); -- 创建课程 CREATE TABLE 课程 ( 课程ID INT PRIMARY KEY, 课程名称 VARCHAR(50), 学分 INT, 教师ID INT, FOREIGN KEY (教师ID) REFERENCES 教师(教师ID) ); -- 创建选课 CREATE TABLE 选课 ( 学生ID INT, 课程ID INT, 成绩 INT, PRIMARY KEY (学生ID, 课程ID), FOREIGN KEY (学生ID) REFERENCES 学生(学生ID), FOREIGN KEY (课程ID) REFERENCES 课程(课程ID) ); -- 插入初始数据 INSERT INTO 学生 (学生ID, 姓名, 年龄, 专业, 入学时间) VALUES (1, '张三', 20, '计算机科学', '2020-08-01'); INSERT INTO 教师 (教师ID, 姓名, 职称, 部门) VALUES (1, '李老师', '副教授', '计算机科学与技术'); INSERT INTO 课程 (课程ID, 课程名称, 学分, 教师ID) VALUES (1, '数据库管理', 3, 1); INSERT INTO 选课 (学生ID, 课程ID, 成绩) VALUES (1, 1, 85); 以上是一个简单的大学模式数据库创建和初始数据插入的SQL文件示例。通过执行这个SQL文件,我们可以在数据库创建相应的,并插入初始数据,从而实现对大学模式数据库的管理和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椅糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值