2301_81887638 2023-12-21 13:31 采纳率: 0%
浏览 10
已结题

access两个实验!急!

img

img


access2021上做的
会做的si我➕v
1111111111111111111111111111111111111111111111

  • 写回答

13条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-12-21 13:42
    关注
    获得1.20元问题酬金

    引自强大而免费的微信小程序:皆我知道

    第一个实验

    根据以上信息,可以设计以下表结构:

    学生表(Student):

    • 学号(StudentID)
    • 姓名(Name)
    • 性别(Gender)
    • 出生日期(Birthdate)
    • 党员否(PartyMember)
    • 民族(Nationality)

    教师表(Teacher):

    • 工号(TeacherID)
    • 姓名(Name)
    • 出生日期(Birthdate)
    • 年龄(Age)
    • 学历(Education)
    • 职称(Title)
    • 工资(Salary)
    • 学院名称(College)

    成绩表(Score):

    • 学号(StudentID)
    • 班级(Class)
    • 课程名称(CourseName)
    • 成绩(Grade)

    课程表(Course):

    • 课程名称(CourseName)

    生成表查询(E1):

    CREATE TABLE 硕士学历 AS
    SELECT * FROM 教师
    WHERE 学历 = '硕士';
    

    更新查询(E2):

    UPDATE 教师
    SET 学历 = '硕士'
    WHERE 工号 = '040014';
    

    追加查询(E3):

    INSERT INTO 硕士学历
    SELECT * FROM 教师
    WHERE 工号 = '040014';
    

    删除查询(E4):

    DELETE FROM 教师
    WHERE 年龄 > 60;
    

    选择查询(E5):

    SELECT 学号, 姓名, 性别, 年龄, 学历
    FROM 教师
    WHERE 姓名 LIKE '李%' AND 年龄 > 40;
    

    选择查询(E6):

    SELECT 学号, 姓名, 班级, 课程名称, 成绩
    FROM 学生
    INNER JOIN 成绩 ON 学生.学号 = 成绩.学号
    INNER JOIN 课程 ON 成绩.课程名称 = 课程.课程名称
    WHERE 课程.课程名称 = '会计学'
    ORDER BY 成绩 DESC;
    

    选择查询(E7):

    SELECT 工号, 姓名, 出生日期, 职称, 工资
    FROM 教师
    ORDER BY 职称 DESC, 出生日期 ASC, 工号 ASC;
    

    交叉表查询(E8):

    SELECT 性别, 省份, COUNT(*) AS 人数
    FROM 学生
    GROUP BY 性别, 省份;
    

    交叉表查询(E9):

    CREATE TABLE 交叉表查询 AS
    SELECT 班级, 学号, 姓名, MAX(CASE WHEN 课程名称='课程1' THEN 成绩 END) AS 课程1,
    MAX(CASE WHEN 课程名称='课程2' THEN 成绩 END) AS 课程2,
    ...
    FROM 成绩
    GROUP BY 班级, 学号, 姓名;
    

    第二个实验
    根据上述要求,可以设计以下3个表的表结构:

    1. 借书表(book_borrow):

      • 借阅编号(borrow_id,主键)
      • 书籍名称(book_name)
      • 读者编号(user_id)
      • 借阅日期(borrow_date)
      • 应还日期(due_date)
    2. 还书表(book_return):

      • 还书编号(return_id,主键)
      • 借阅编号(borrow_id)
      • 还书日期(return_date)
      • 是否逾期(is_overdue)
    3. 用户表(user):

      • 读者编号(user_id,主键)
      • 读者姓名(user_name)
      • 读者性别(user_gender)
      • 读者年龄(user_age)
      • 读者电话(user_phone)

    DDL语句如下:

    1. 创建借书表:

      CREATE TABLE book_borrow(
       borrow_id INT PRIMARY KEY,
       book_name VARCHAR(50),
       user_id INT,
       borrow_date DATE,
       due_date DATE
      );
      
    2. 创建还书表:

      CREATE TABLE book_return(
       return_id INT PRIMARY KEY,
       borrow_id INT,
       return_date DATE,
       is_overdue BOOLEAN
      );
      
    3. 创建用户表:

      CREATE TABLE user(
       user_id INT PRIMARY KEY,
       user_name VARCHAR(50),
       user_gender VARCHAR(10),
       user_age INT,
       user_phone VARCHAR(20)
      );
      

    根据DDL语句创建表后,可以进行以下操作:

    1. 查询借书表中的记录:

      SELECT * FROM book_borrow;
      
    2. 查询还书表中的记录:

      SELECT * FROM book_return;
      
    3. 查询用户表中的记录:

      SELECT * FROM user;
      

    对于图1中的实验内容,主要是针对已经创建的6个表进行不同类型的查询。具体内容如下:

    1. 创建选择查询(Q1-Q7):
      (1) 创建查询,显示“学生”表中民族是“满族”的党员的学号、姓名、性别、出生日期、党员否和民族。
      (2) 创建查询,仅显示“教师”表中所有年龄小于40岁的教授的工号、姓名、出生日期、职称和工资。
      (3) 创建查询,显示“教师”表中工作大于25年的教师的工号、姓名、出生日期、工龄、职称和学院名称。
      (4) 创建查询,显示“Python程序设计基础”课程中满分成绩的学生的学号、姓名、班级、课程名称和成绩。
      (5) 创建查询,显示“教师”表中40岁以上李姓教师的工号、姓名、性别、年龄和学历。
      (6) 创建查询,显示课程名称为“会计学”的学生成绩,按照成绩的降序排列,显示学号姓名、班级、课程名称和成绩。
      (7) 创建查询,按照“教师”表中职称和出生日期显示教师的工资情况,先按照职称的降序排序,职称相同的再按照出生日期升序排序,按照工号、姓名、出生日期、职称和工资的顺序显示。

    2. 创建交叉表查询(Q12-Q13):
      (1) 创建交叉表查询,分组显示“学生”表中不同性别、不同省份的学生人数。
      (2) 创建交叉表查询,要求行标题是班级、学号和姓名,列标题是课程名称,行列交叉数据为成绩。

    3. 创建操作查询(Q14-Q17):
      (1) 使用生成表查询将“教师”表中学历是硕士的教师筛选出来,生成“硕士学历”表。
      (2) 创建更新查询,将教师表中工号是“040014”的教师的学历由本科更新为硕士。
      (3) 创建追加查询,将教师表中工号是“040014”的教师的学历追加到“硕士学历”表中。
      (4) 创建删除查询,删除教师表中的年龄大于60岁的教师的信息。

    4. 创建操作查询(Q14-Q17):
      (1) 使用生成表查询将“教师”表中学历是硕士的教师筛选出来,生成“硕士学历”表。
      (2) 创建更新查询,将教师表中工号是“040014”的教师的学历由本科更新为硕士。
      (3) 创建追加查询,将教师表中工号是“040014”的教师的学历追加到“硕士学历”表中。
      (4) 创建删除查询,删除教师表中的年龄大于60岁的教师的信息。

    对于图2中的实验内容,主要是在已经创建的6个表的基础上进行表结构的创建与操作、字段属性的设置、主键、外键和索引的设置以及表之间关系的建立。具体内容如下:

    1. 表结构的创建与修改:
      (1) 根据表9-2创建表名称为“教师2”的表结构,并输入2条记录。

    2. 表中字段属性的设置:
      (1) 为“教师”表的“职称”字段设置查阅属性,实现从下拉列表框中选择教师的职称。
      (2) 为“教师”表的“学历”字段设置默认值为“博士”。
      (3) 为“教师”表的“工作日期”字段设置输人掩码为短日期格式。

    3. 主键、外键和索引的设置:
      (1) 为“教师”表中的“职称”和“工资”字段设置索引,先按“职称”的升序排序,职称相同的再按“工资”的降序排序。

    4. 表之间关系的建立:
      (1) 为所有表设置主键,进而分析并建立所有表之间的关系。

    5. 复制表和建立关系:
      (1) 复制“学生”表和“选课”表到当前数据库中,表名分别为“学生表2”和“选课表2”。
      (2) 建立“学生表2”和“选课表2”之间的关系,之后从“学生表2”中删除学号为“10010001”的学生的记录,要求在删除这个学生的记录之后,“选课表2”中可以自动删除这名学生的所有相关记录。

    针对图2中的拓展实践部分,需要根据要求创建一个“图书借阅管理”数据库,具体要求如下:

    1. 创建3个表:借书、还书和用户。根据要求设计每个表的表结构并录入至少5条记录。
    2. 每个表的字段名称、数据类型以及字段长度等属性设计要合理。
    3. 分析并创建表的主键。
    4. 建立表之间的关系。

    请根据以上要求,在Access中进行相应操作,并提供相应的代码和结果截图。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月29日
  • 创建了问题 12月21日