数据库原理与应用题库

数据库基础 0/6 (0%)

编程题
1
数据库表设计
中等 20分钟
2
SQL查询练习
简单 15分钟
选择题
A
数据模型
简单 选择题
B
关系数据库
简单 选择题
C
数据库系统
简单 选择题

SQL语言 0/8 (0%)

数据库设计 0/7 (0%)

数据库管理 0/7 (0%)

高级话题 0/6 (0%)

问题1:数据库表设计

00:00
简单

编写一个程序,设计学生选课系统的数据库表结构。

输入:

输出:

创建学生表、课程表、选课表的SQL语句

要求:

  • 学生表包含:学号、姓名、性别、班级、入学日期
  • 课程表包含:课程号、课程名、学分、教师
  • 选课表包含:学号、课程号、成绩、选课时间
  • 设置适当的主键和外键约束

代码编辑器

正在加载Python解释器...

运行结果

执行时间:0ms 内存:0MB
运行代码查看输出...

答案解析

解题思路

1. 使用sqlite3创建数据库连接

2. 设计合理的表结构和字段类型

3. 设置适当的主键约束

代码示例

import sqlite3

conn = sqlite3.connect('school.db')
cursor = conn.cursor()

# 创建学生表
cursor.execute('''
    CREATE TABLE students (
        student_id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        gender TEXT,
        class_name TEXT,
        enrollment_date DATE
    )
''')

# 创建课程表
cursor.execute('''
    CREATE TABLE courses (
        course_id INTEGER PRIMARY KEY,
        course_name TEXT NOT NULL,
        credit REAL,
        teacher TEXT
    )
''')

# 创建选课表
cursor.execute('''
    CREATE TABLE enrollments (
        student_id INTEGER,
        course_id INTEGER,
        score REAL,
        enrollment_time DATETIME,
        PRIMARY KEY (student_id, course_id),
        FOREIGN KEY (student_id) REFERENCES students(student_id),
        FOREIGN KEY (course_id) REFERENCES courses(course_id)
    )
''')

conn.commit()
print("数据库表创建成功!")
conn.close()

知识点