oracle学生考勤,Oracle数据库课程设计――学生考勤系统的Oracle实现1
时间: 2024-06-08 22:07:10 浏览: 108
学生考勤系统是一种管理学生出勤情况的系统,可以有效地提高教师教学效率,提高学生考勤率。下面是学生考勤系统的Oracle实现。
1. 数据库设计
首先,我们需要设计数据库。学生考勤系统需要存储学生信息、课程信息和考勤信息。下面是数据库的ER图:
![ER图](https://img-blog.csdn.net/20180709220933190?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2F2YW5fZnJlZS9pbWFnZXMvYmFpLmpwZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
2. 创建数据库
在Oracle数据库中创建学生考勤系统的数据库。
```
-- 创建学生考勤系统的数据库
CREATE DATABASE STUDENT_ATTENDANCE;
```
3. 创建表
根据ER图创建数据库表。
```
-- 创建学生表
CREATE TABLE STUDENT (
STUDENT_ID INT PRIMARY KEY,
STUDENT_NAME VARCHAR(20),
STUDENT_GENDER VARCHAR(4),
STUDENT_AGE INT,
STUDENT_MAJOR VARCHAR(20)
);
-- 创建课程表
CREATE TABLE COURSE (
COURSE_ID INT PRIMARY KEY,
COURSE_NAME VARCHAR(20),
COURSE_TEACHER VARCHAR(20),
COURSE_CREDIT INT
);
-- 创建考勤表
CREATE TABLE ATTENDANCE (
ATTENDANCE_ID INT PRIMARY KEY,
STUDENT_ID INT REFERENCES STUDENT(STUDENT_ID),
COURSE_ID INT REFERENCES COURSE(COURSE_ID),
ATTENDANCE_DATE DATE,
ATTENDANCE_STATUS VARCHAR(10)
);
```
4. 插入数据
向学生表、课程表和考勤表中插入数据。
```
-- 向学生表中插入数据
INSERT INTO STUDENT VALUES (1, '张三', '男', 20, '计算机科学与技术');
INSERT INTO STUDENT VALUES (2, '李四', '女', 19, '软件工程');
INSERT INTO STUDENT VALUES (3, '王五', '男', 21, '信息安全');
-- 向课程表中插入数据
INSERT INTO COURSE VALUES (1, '数据库原理', '张老师', 3);
INSERT INTO COURSE VALUES (2, '操作系统', '李老师', 4);
INSERT INTO COURSE VALUES (3, '计算机网络', '王老师', 3);
-- 向考勤表中插入数据
INSERT INTO ATTENDANCE VALUES (1, 1, 1, TO_DATE('2021-01-01', 'YYYY-MM-DD'), '出勤');
INSERT INTO ATTENDANCE VALUES (2, 2, 1, TO_DATE('2021-01-01', 'YYYY-MM-DD'), '迟到');
INSERT INTO ATTENDANCE VALUES (3, 3, 1, TO_DATE('2021-01-01', 'YYYY-MM-DD'), '旷课');
INSERT INTO ATTENDANCE VALUES (4, 1, 2, TO_DATE('2021-01-02', 'YYYY-MM-DD'), '出勤');
INSERT INTO ATTENDANCE VALUES (5, 2, 2, TO_DATE('2021-01-02', 'YYYY-MM-DD'), '出勤');
INSERT INTO ATTENDANCE VALUES (6, 3, 2, TO_DATE('2021-01-02', 'YYYY-MM-DD'), '出勤');
INSERT INTO ATTENDANCE VALUES (7, 1, 3, TO_DATE('2021-01-03', 'YYYY-MM-DD'), '迟到');
INSERT INTO ATTENDANCE VALUES (8, 2, 3, TO_DATE('2021-01-03', 'YYYY-MM-DD'), '旷课');
INSERT INTO ATTENDANCE VALUES (9, 3, 3, TO_DATE('2021-01-03', 'YYYY-MM-DD'), '出勤');
```
5. 查询数据
查询某个学生某门课程的考勤情况。
```
-- 查询某个学生某门课程的考勤情况
SELECT ATTENDANCE_STATUS
FROM ATTENDANCE
WHERE STUDENT_ID = 1 AND COURSE_ID = 1;
```
6. 更新数据
更新某个学生某门课程的考勤情况。
```
-- 更新某个学生某门课程的考勤情况
UPDATE ATTENDANCE
SET ATTENDANCE_STATUS = '出勤'
WHERE STUDENT_ID = 1 AND COURSE_ID = 1 AND ATTENDANCE_DATE = TO_DATE('2021-01-01', 'YYYY-MM-DD');
```
以上就是学生考勤系统的Oracle实现。
阅读全文
相关推荐
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)