国开搜题
想要快速找到正确答案?
立即关注 国开搜题微信公众号,轻松解决学习难题!
作业辅导
扫码关注
论文指导
轻松解决学习难题!
广东开放大学Mysql数据库及应用(专)期末考试试卷与参考答案
以下是一份针对广东开放大学《MySQL数据库及应用(专)》期末考试的复习笔记,涵盖核心知识点、常见题型及参考答案解析,供参考:
广东开放大学《MySQL数据库及应用(专)》期末复习笔记
一、考试大纲与重点
1. 考试形式
- 闭卷笔试,题型包括:选择题、填空题、简答题、SQL编程题、综合应用题。
- 重点考察数据库基础概念、SQL语言应用、数据库设计与优化、MySQL配置及常见问题解决。
2. 核心知识点
- 数据库基础概念(如ACID原则、事务、索引、规范化)
- SQL语言(数据定义、查询、更新、事务控制)
- MySQL安装与配置
- 数据库设计(ER图、范式、表结构设计)
- 高级功能(存储过程、触发器、视图、索引优化)
二、核心知识点复习
1. 数据库基础
- ACID原则
- 原子性(Atomicity):事务要么全部执行,要么全部不执行。
- 一致性(Consistency):事务执行后数据保持一致性。
- 隔离性(Isolation):并发事务互不干扰。
- 持久性(Durability):事务提交后数据永久保存。
- 事务隔离级别
- 读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read)、串行化(Serializable)。
- 索引类型
- 主键索引(Primary Key)、唯一索引(Unique)、普通索引(Index)、全文索引(Fulltext)。
- 数据库范式
- 1NF(原子性)、2NF(消除非主属性对主键的部分依赖)、3NF(消除传递依赖)、BCNF(Boyce-Codd范式)。
2. SQL语言
(1)数据定义语言(DDL)
- 创建数据库:`CREATE DATABASE db_name;`
- 创建表:`CREATE TABLE table_name (column1 type, column2 type, ...);`
- 删除表:`DROP TABLE table_name;`
(2)数据操作语言(DML)
- 查询数据:`SELECT * FROM table WHERE condition;`
- 插入数据:`INSERT INTO table (col1, col2) VALUES (val1, val2);`
- 更新数据:`UPDATE table SET col1=val WHERE condition;`
- 删除数据:`DELETE FROM table WHERE condition;`
(3)事务控制
- 开始事务:`START TRANSACTION;`
- 提交事务:`COMMIT;`
- 回滚事务:`ROLLBACK;`
(4)高级查询
- 聚合函数:`COUNT()`, `SUM()`, `AVG()`, `MAX()`, `MIN()`
- 分组查询:`GROUP BY` + `HAVING`
- 连接查询:`INNER JOIN`, `LEFT JOIN`, `RIGHT JOIN`
- 子查询:`SELECT ... WHERE column IN (子查询)`
3. MySQL配置与优化
- 配置文件:`my.cnf`(Linux)或 `my.ini`(Windows),用于调整内存、连接数等参数。
- 优化技巧:
- 合理使用索引(避免全表扫描)。
- 避免在`WHERE`子句中使用函数。
- 分页优化(`LIMIT`的使用)。
4. 数据库设计
- ER图设计:实体、属性、联系(一对一、一对多、多对多)。
- 表结构设计示例:
```sql
CREATE TABLE students (
student_id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
class_id INT,
FOREIGN KEY (class_id) REFERENCES classes(class_id)
);
```
5. 存储过程与触发器
- 存储过程:
```sql
DELIMITER $$
CREATE PROCEDURE GetStudentInfo(IN id INT)
BEGIN
SELECT * FROM students WHERE student_id = id;
END $$
DELIMITER ;
```
- 触发器:
```sql
CREATE TRIGGER before_update_student
BEFORE UPDATE ON students
FOR EACH ROW
SET NEW.update_time = NOW();
```
三、常见题型与参考答案
1. 选择题
题目:以下哪项不是MySQL的事务隔离级别?
A. 读未提交
B. 可重复读
C. 串行化
D. 并行化
答案:D
2. 填空题
题目:MySQL中,使用______语句创建索引。
答案:`CREATE INDEX`
3. 简答题
题目:简述索引的作用及优缺点。
参考答案:
- 作用:加速数据查询,通过索引快速定位数据。
- 优点:提高查询速度。
- 缺点:占用存储空间,降低写入速度(如`INSERT`、`UPDATE`)。
4. SQL编程题
题目:创建一个名为`employees`的表,包含字段:`id`(主键)、`name`(非空)、`salary`(默认值10000)、`hire_date`(默认当前时间)。
答案:
```sql
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
salary DECIMAL(10,2) DEFAULT 10000,
hire_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
5. 综合应用题
题目:设计一个学生选课系统的数据库表结构,包含学生表(`students`)、课程表(`courses`)、选课表(`enrollments`)。
参考答案:
```sql
-- 学生表
CREATE TABLE students (
student_id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
-- 课程表
CREATE TABLE courses (
course_id INT PRIMARY KEY,
course_name VARCHAR(100),
credits INT
);
-- 选课表(多对多关系)
CREATE TABLE enrollments (
student_id INT,
course_id INT,
enrollment_date DATE,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES students(student_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
```
四、备考建议
1. 重点复习SQL语法:尤其是`JOIN`、子查询、聚合函数和事务控制。
2. 数据库设计:掌握ER图到表结构的转换,注意外键约束和范式。
3. 实验操作:通过MySQL命令行或Workbench练习建表、查询和事务操作。
4. 常见错误:避免拼写错误(如`WHERE`写成`WERE`)、索引滥用、忘记提交事务等。
祝考试顺利!
(注:以上内容为模拟复习资料,具体考试内容以课程大纲和教材为准。)