将模块A,模块B,模块C都做出来
时间: 2024-12-24 10:36:52 浏览: 8
### 2024年江西省职业院校技能大赛数据库运行与管理(高职组)样卷 A
#### 模块 B:数据库设计与运维
**模块考核点**
- **分值**:45分
- **考核内容**:考察选手在数据库设计和维护中的综合能力,包括业务流程分析、实体关系图(ER图)设计、数据库表结构设计、MySQL 和 Redis 的部署与调优等。
**模块任务**
##### 任务一:数据库设计
某大型在线零售企业需要设计一个复杂的管理系统,涉及以下功能:
1. **客户信息管理**:记录客户 ID、姓名、邮箱、地址、联系方式、注册日期、会员等级等。
2. **商品信息管理**:记录商品 ID、商品名称、分类、品牌、价格、库存数量、上架日期、商品描述、是否为促销商品等。
3. **库存管理**:记录每个商品的库存信息,包括商品 ID、仓库 ID、库存数量、最小安全库存等。
4. **订单管理**:记录每笔订单的详细信息,包括订单 ID、客户 ID、下单时间、订单状态、配送地址、订单总金额、使用的优惠券等。
5. **支付管理**:记录每笔订单的支付信息,包括支付 ID、订单 ID、支付时间、支付方式、支付金额、支付状态等。
6. **配送管理**:记录订单的配送信息,包括配送 ID、订单 ID、配送方式、发货仓库 ID、发货时间、物流公司、物流单号、配送状态等。
7. **售后管理**:记录客户的售后请求,包括售后 ID、订单 ID、商品 ID、申请时间、申请类型、处理状态、处理结果等。
8. **优惠券管理**:记录优惠券信息,包括优惠券 ID、优惠类型、适用商品范围、有效期、发行数量等。
**具体任务**:
1. **概念模型设计(ER图)**:设计一个涵盖所有需求的 ER 图,包含实体、属性和它们之间的关系。(15分)
2. **逻辑模型设计**:基于概念模型,设计表结构和字段,使用 SQL DDL 语句表示这些设计,包括字段类型、数据存储规格、主键和外键约束、表与表之间的关系。(7分)
3. **物理设计**:考虑为表设计索引,以优化查询性能,提高性能和管理大数据量。(3分)
#### 模块 C:数据查询与分析
**模块考核点**
- **分值**:40分
- **考核内容**:考察选手根据给定的任务场景、数据库表结构及字段说明,编写相应的 SQL 查询语句,要求合理运用 SQL 语言中的查询、条件过滤、聚合函数、连接(JOIN)操作等功能。
**模块任务**
##### 题目一:图书管理系统
假设有一个图书表,包含以下字段:
- `title` (书名)
- `author` (作者)
- `published_year` (出版年份)
- `genre` (类别)
**任务**:
1. **查询每个类别中有多少本图书,并按类别名称排序**:
```sql
SELECT genre, COUNT(*) AS book_count
FROM books
GROUP BY genre
ORDER BY genre;
```
2. **查找所有独一无二的书名**:
```sql
SELECT DISTINCT title
FROM books;
```
3. **查询每个类别的平均出版年份**:
```sql
SELECT genre, AVG(published_year) AS avg_published_year
FROM books
GROUP BY genre;
```
4. **查找最近出版的三本书**:
```sql
SELECT *
FROM books
ORDER BY published_year DESC
LIMIT 3;
```
5. **按出版年份降序排列所有图书**:
```sql
SELECT *
FROM books
ORDER BY published_year DESC;
```
##### 题目二:电影信息管理系统
假设有一个电影表,包含以下字段:
- `title` (电影标题)
- `director` (导演)
- `release_year` (上映年份)
- `genre` (类别)
- `rating` (评分)
**任务**:
1. **查询所有电影标题和导演名字**:
```sql
SELECT title, director
FROM movies;
```
2. **查询 1990 年以后的所有电影**:
```sql
SELECT title, release_year
FROM movies
WHERE release_year > 1990;
```
3. **查询每个类型的电影数量**:
```sql
SELECT genre, COUNT(*) AS movie_count
FROM movies
GROUP BY genre;
```
4. **查找评分超过 8 的所有电影**:
```sql
SELECT title, rating
FROM movies
WHERE rating > 8;
```
5. **查询按评分降序排序的电影列表**:
```sql
SELECT title, rating
FROM movies
ORDER BY rating DESC;
```
以上是模块 B 和模块 C 的详细任务和解答。希望对您有所帮助!
阅读全文