2401_83853254 2024-12-24 14:14 采纳率: 33.3%
浏览 7

MySQL数据库考察报告

二.报告内容
1.数据库基础知识及设计;
(1)数据库的发展经历了哪三个阶段?(2)【案例]设计学生成绩管理数据库:
一个学生可以选修若干门课程,每门课程由多名学生选修。
学生信息包含学号,姓名,性别,出生日期,年级,院系,家庭住址等,课程信息包含课程号,课程名,开课学期,学分等,学生选修课程将产生成绩,成绩信息包含序号,学号,课程号,成绩等,按照数据库设计思想写出设计步骤;①需求分析.
②概念设计(根据各个实体间的联系绘制E-R图);逻辑设计(以上E-R图转换为关系模型)。
③物理设计。根据MySQL的数据结构,制定数据库文件的名字,设计表的结构。
2.数据库基本操作:
(1)根据数据库设计思想中的物理设计创建数据库stu,并且设置编码方式为 utf8.
(2)创建对应数据表(学生信息表(student)、课程信息表(course)和成绩信息表(score)).
(3)在 student表的sname字段上创建普通索引。
3.记录操作
(1)数据插入:分别为学生信息表(student)、课程信息表(course)和成绩信息表(score)插人若干数据。
(2)数据更新:将学生信息表(student)表中学生学号为‘0101’的生日修改为“2000-09-09’,addr修改为‘上海市’。
(3)数据删除:删除课程信息表(course)中开课学期为‘1’的记录。
4.查询与视图:
(1)单表查询:查询01号课程成绩前3名学生的学号,课程号,成绩,并按成绩从高到低排序,
(2)多表查询:查询学生表student的所有学生的所有选课可能.
(3)子查询:查询选修了“01”号课程的所有学生的学号,姓名,系部.
(4)外键:在stu数据库的student表和score表间创建外键约束;只要某学生有成绩记录,则不允许删除student表中该学生信息;如果修改student学号sid,则score 表中sid 同步更新。
(5)视图:创建多表视图V1,包含sid, sname, cno, cname, result 字段.
5.高级操作:
(1)创建一个函数,根据输入的学生学号查询student表中对应的学生性别,如果是男,返回1:如果是女,返回2:其他情况返回0.(使用if语句或case语句)

(2)创建一个存储过程,要求输人一个正整数,返回其自身的两倍。
(3)创建一个触发器,当对course表的cno列执行修改后,将score表中的cno列同时进行修改,以保证数据的一致性。
6.备份与还原:
(1)打开cmd窗口,备份数据库stu,备份文档命名为stu_copy.sql.(2)将备份的文件stu_copy.sql中的数据还原到数据库stu中.
7.用户与权限:
(1)创建普通用户:账号名zhangsan,密码123456.(2)查询默认用户root和zhangsan的权限。

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-12-24 14:33
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    1. 数据库基础知识及设计 (1) 数据库的发展经历了哪三个阶段?
    • 第一个阶段是层次数据库系统,它使用层次结构来组织数据,代表数据库系统是IBM的IMS。
    • 第二个阶段是网络数据库系统,它使用网络结构来组织数据,代表数据库系统是CODASYL标准的DBTG数据模型和IDMS。
    • 第三个阶段是关系数据库系统,它使用关系结构来组织数据,代表数据库系统是Oracle、MySQL等。 (2) [案例] 设计学生成绩管理数据库:
    • 需求分析:根据学生选课的需求,需要设计包含学生信息、课程信息以及成绩信息的数据库。
    • 概念设计:通过E-R图绘制各个实体之间的联系,比如学生与课程的多对多关系。
    • 逻辑设计:将E-R图转换为关系模型,例如学生表(student)、课程表(course)、成绩表(score)。
    • 物理设计:根据MySQL的数据结构设计数据库文件名称及表结构。 示例代码:
    -- 创建数据库
    CREATE DATABASE stu DEFAULT CHARACTER SET utf8;
    -- 创建学生信息表
    CREATE TABLE student (
       sid INT PRIMARY KEY,
       sname VARCHAR(50),
       gender VARCHAR(10),
       birthday DATE,
       grade INT,
       department VARCHAR(50),
       addr VARCHAR(100)
    );
    -- 创建课程信息表
    CREATE TABLE course (
       cno INT PRIMARY KEY,
       cname VARCHAR(50),
       term INT,
       credits INT
    );
    -- 创建成绩信息表
    CREATE TABLE score (
       id INT PRIMARY KEY,
       sid INT,
       cno INT,
       result INT,
       FOREIGN KEY (sid) REFERENCES student(sid),
       FOREIGN KEY (cno) REFERENCES course(cno)
    );
    
    1. 数据库基本操作 (1) 创建数据库stu并设置编码方式为utf8:
    CREATE DATABASE stu DEFAULT CHARACTER SET utf8;
    

    (2) 创建对应数据表(student, course, score): 已在上述案例代码中包含。 (3) 在student表的sname字段上创建普通索引:

    CREATE INDEX idx_sname ON student(sname);
    
    1. 记录操作 (1) 数据插入:
    INSERT INTO student (sid, sname, gender, birthday, grade, department, addr) 
    VALUES (1, 'Alice', 'F', '1999-01-01', 2, 'Computer Science', 'New York');
    -- 同理可插入course和score表数据
    

    (2) 数据更新:

    UPDATE student SET birthday = '2000-09-09', addr = 'Shanghai' WHERE sid = '0101';
    

    (3) 数据删除:

    DELETE FROM course WHERE term = 1;
    

    继续下一部分...

    评论

报告相同问题?

问题事件

  • 创建了问题 12月24日