IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 西电_2022春_数据库原理_实验一 -> 正文阅读

[游戏开发]西电_2022春_数据库原理_实验一

实验内容及要求

  1. 使用SQL语句建立学生管理数据库(包括以下6个表),同时完善各表的相关完整性约束(其中标红的属性为主码,标蓝的属性为外码)
    学院表College (college_id,college_name)
    学生表Student (student_id,student_name,sex,college_id)
    教师表Teacher (teacher_id,teacher_name,college_id)
    课程表Course (course_id, course_name)
    学习表Study (student_id,course_id,grade)
    开课表Class (teacher_id,course_id),teacher_id为外码,course_id为外码
    请添加图片描述

  2. 对各表进行增加、删除、修改属性操作
    ① 添加操作:
    对学生表Student添加date_of_birth和address字段,教师表Teacher增加sex字段,date_of_birth字段,对课程表Course增加先修课cpno和学分 credit字段。
    ② 删除操作:
    删除学生表Student的address字段,删除教师表Teacher的date_of_birth字段。
    ③ 修改操作:
    修改课程表Course中cpno字段名称为pre_course_id,修改学生表Student中student_name字段数据类型为字符串,长度为20。

  3. 建立索引
    为学生表Student在student_name上建立名为sname_index 的索引;为学院表College在college_id字段上按学院编号降序建立名为dept_index的索引。

  4. 删除表操作
    删除开课表Course以及学习表Study,然后重新执行查询再次建立两表。

  5. 添加数据
    将本学年自己课表的课程信息添加到该数据库中,每个表至少包含5条记录(如Student表(01, Zhang san, male, 20))。

  6. 查看每个表的详细信息以及所有记录信息。

实验步骤

运行环境:macOS Monterey 12.3.1
MySQL版本:8.0.28
终端:item2

1、 使用SQL语法建立基本表,并完善相关约束性条件。

CREATE TABLE College
(college_id CHAR(20) PRIMARY KEY,
college_name CHAR(20)
);
CREATE TABLE Student
(student_id CHAR(20) PRIMARY KEY,
student_name CHAR(20),
sex CHAR(2),
college_id CHAR(20), 
FOREIGN KEY (college_id) REFERENCES College(college_id)
);
CREATE TABLE Teacher
(teacher_id CHAR(20) PRIMARY KEY,
teacher_name CHAR(20),
college_id CHAR(20), 
FOREIGN KEY (college_id) REFERENCES College(college_id)
);
CREATE TABLE Course
(course_id CHAR(20) PRIMARY KEY,
course_name CHAR(20)
);
CREATE TABLE Study
(student_id CHAR(20) PRIMARY KEY,
course_id CHAR(20),
grade INT,
FOREIGN KEY (student_id) REFERENCES Student(student_id),
FOREIGN KEY (course_id) REFERENCES Course(course_id)
);
CREATE TABLE Class
(teacher_id CHAR(20),
course_id CHAR(20),
PRIMARY KEY(teacher_id, course_id),
FOREIGN KEY (teacher_id) REFERENCES Teacher(teacher_id),
FOREIGN KEY (course_id) REFERENCES Course(course_id)
);

请添加图片描述
请添加图片描述
2、 对各表进行增加、删除、修改属性操作

ALTER TABLE Student ADD date_of_birth DATE;
ALTER TABLE Student ADD address CHAR(20);
ALTER TABLE Teacher ADD date_of_birth DATE;
ALTER TABLE Teacher ADD sex CHAR(2);
ALTER TABLE Course ADD cpno CHAR(20);
ALTER TABLE Course ADD credit SMALLINT;

请添加图片描述
请添加图片描述
请添加图片描述

ALTER TABLE Student DROP address;
ALTER TABLE Teacher DROP date_of_birth;

请添加图片描述

ALTER TABLE Course CHANGE cpno pre_course_id CHAR(20);
ALTER TABLE Student MODIFY COLUMN student_name CHAR(20);

请添加图片描述
请添加图片描述
3、 建立索引

CREATE UNIQUE INDEX sname_index ON Student(student_name);
CREATE UNIQUE INDEX dept_index ON College(college_id DESC);

请添加图片描述
经过以上操作之后的各个基本表的信息如下:
请添加图片描述
4、 删除表

DROP TABLE Class;
DROP TABLE Study;

请添加图片描述
5、 插入数据并且查看每个表的详细信息以及所有记录信息。

INSERT INTO College
VALUES ('1', 'CS');
INSERT INTO College
VALUES ('2', 'MA');
INSERT INTO College
VALUES ('3', 'IM');
INSERT INTO College
VALUES ('4', 'SCE');
INSERT INTO College
VALUES ('5', 'PI');
INSERT INTO Student
VALUES ('20009200281', 'PigStars', 'M', '1', '2002-06-01');
INSERT INTO Student
VALUES ('20009200282', 'Zhang', 'M', '2', '2002-06-01');
INSERT INTO Student
VALUES ('20009200283', 'Liu', 'F', '3', '2002-06-01');
INSERT INTO Student
VALUES ('20009200284', 'Sun', 'M', '4', '2002-06-01');
INSERT INTO Student
VALUES ('20009200285', 'Lin', 'F', '5', '2002-06-01');
INSERT INTO Teacher
VALUES ('1', 'Wang', '1', 'M');
INSERT INTO Teacher
VALUES ('2', 'Li', '2', 'F');
INSERT INTO Teacher
VALUES ('3', 'Ge', '3', 'M');
INSERT INTO Teacher
VALUES ('4', 'Zhao', '4', 'F');
INSERT INTO Teacher
VALUES ('5', 'Qian', '5', 'M');
INSERT INTO Course
VALUES ('1', 'C_program', '4', '5');
INSERT INTO Course
VALUES ('2', 'Art', '1', '5');
INSERT INTO Course
VALUES ('3', 'Java', '4', '5');
INSERT INTO Course
VALUES ('4', 'Python', '4', '5');
INSERT INTO Course(course_id, course_name, credit)
VALUES ('5', 'Math', '4');
INSERT INTO Study
VALUES ('20009200281', '1', '85');
INSERT INTO Study
VALUES ('20009200282', '2', '90');
INSERT INTO Study
VALUES ('20009200283', '3', '83');
INSERT INTO Study
VALUES ('20009200284', '4', '90');
INSERT INTO Study
VALUES ('20009200285', '5', '100');
INSERT INTO Class
VALUES ('1', '1');
INSERT INTO Class
VALUES ('2', '2');
INSERT INTO Class
VALUES ('3', '3');
INSERT INTO Class
VALUES ('4', '4');
INSERT INTO Class
VALUES ('5', '5');

请添加图片描述
请添加图片描述

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:35:02  更:2022-04-15 00:39:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 21:04:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码