• 20_学生选课数据库SQL语句练习题


    一、            设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)表(四)所示,数据如表1-2的表(一)表(四)所示。用SQL语句创建四个表并完成相关题目。
    表1-1数据库的表结构
    表(一)Student (学生表)
    字段名 数据类型 可否为空 含 义
    Sno Varchar2(3) 否 学号(主键)
    Sname Varchar2(8) 否 学生姓名
    Ssex Varchar2(2) 否 学生性别
    Sbirthday Date 可 学生出生年月
    SClass Varchar2(5) 可 学生所在班级
    表(二)Course(课程表)
    属性名 数据类型 可否为空 含 义
    Cno Varchar2(5) 否 课程号(主键)
    Cname Varchar(10) 否 课程名称
    Tno Varchar2(3) 否 教工编号(外键)
    表(三)Score(成绩表)
    属性名 数据类型 可否为空 含 义
    Sno Varchar2(3) 否 学号(外键)
    Cno Varchar2(5) 否 课程号(外键)
    Degree Number(4,1) 可 成绩
    主键:Sno+ Cno
    表(四)Teacher(教师表)
    属性名 数据类型 可否为空 含 义
    Tno Varchar2(3) 否 教工编号(主键)
    Tname Varchar2(4) 否 教工姓名
    Tsex Varchar2(2) 否 教工性别
    Tbirthday Date 可 教工出生年月
    Prof Varchar2(6) 可 职称
    Depart Varchar(10) 否 教工所在部门
    表1-2数据库中的数据
    表(一)Student
    Sno Sname Ssex Sbirthday class
    108 曾华 男 1977/09/01 95033
    105 匡明 男 1975/10/02 95031
    107 王丽 女 1976/01/23 95033
    101 李军 男 1976/02/20 95033
    109 王芳 女 1975/02/10 95031
    103 陆君 男 1974/06/03 95031
     
    表(二)Course
    Cno Cname Tno
    3-105 计算机导论 825
    3-245 操作系统 804
    6-166 数字电路 856
    9-888 高等数学 831
    表(三)Score
    Sno Cno Degree
    103 3-245 86
    105 3-245 75
    109 3-245 68
    103 3-105 92
    105 3-105 88
    109 3-105 76
    101 3-105 64
    107 3-105 91
    108 3-105 78
    101 6-166 85
    107 6-166 79
    108 6-166 81
    表(四)Teacher
    Tno Tname Tsex Tbirthday Prof Depart
    804 李诚 男 1958/12/02 副教授 计算机系
    856 张旭 男 1969/03/12 讲师 电子工程系
    825 王萍 女 1972/05/05 助教 计算机系
    831 刘冰 女 1977/08/14 助教 电子工程系

    建表:
    -- Create table
    create table STUDENT
    (
    sno VARCHAR2(3) not null,
    sname VARCHAR2(12) not null,
    ssex VARCHAR2(3) not null,
    sbirthday DATE,
    sclass VARCHAR2(5)
    )
    tablespace USERS
    pctfree 10
    initrans 1
    maxtrans 255
    storage
    (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
    );
    -- Add comments to the columns
    comment on column STUDENT.sno
    is '学号(主键)';
    comment on column STUDENT.sname
    is '学生姓名';
    comment on column STUDENT.ssex
    is '学生性别';
    comment on column STUDENT.sbirthday
    is '学生生日';
    comment on column STUDENT.sclass
    is '学生班级';
    -- Create/Recreate primary, unique and foreign key constraints
    alter table STUDENT
    add constraint PK_STUDENT primary key (SNO)
    using index
    tablespace USERS
    pctfree 10
    initrans 2
    maxtrans 255
    storage
    (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
    );

    -- Create table
    create table COURSE
    (
    cno VARCHAR2(5) not null,
    cname VARCHAR2(15) not null,
    tno VARCHAR2(3) not null
    )
    tablespace USERS
    pctfree 10
    initrans 1
    maxtrans 255
    storage
    (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
    );
    -- Add comments to the columns
    comment on column COURSE.cno
    is '课程号(主键)';
    comment on column COURSE.cname
    is '课程名称';
    comment on column COURSE.tno
    is '教工编号(外键)';
    -- Create/Recreate primary, unique and foreign key constraints
    alter table COURSE
    add constraint PK_COURSE primary key (CNO)
    using index
    tablespace USERS
    pctfree 10
    initrans 2
    maxtrans 255
    storage
    (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
    );
    alter table COURSE
    add constraint PK_TNO foreign key (TNO)
    references TEACHER (TNO);

    -- Create table
    create table SCORE
    (
    sno VARCHAR2(3) not null,
    cno VARCHAR2(5) not null,
    degree NUMBER(4,1)
    )
    tablespace USERS
    pctfree 10
    initrans 1
    maxtrans 255
    storage
    (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
    );
    -- Add comments to the columns
    comment on column SCORE.sno
    is '学号(外键)';
    comment on column SCORE.cno
    is '课程号(外键)';
    comment on column SCORE.degree
    is '成绩';
    -- Create/Recreate primary, unique and foreign key constraints
    alter table SCORE
    add constraint PK_SCORE primary key (SNO, CNO)
    using index
    tablespace USERS
    pctfree 10
    initrans 2
    maxtrans 255
    storage
    (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
    );
    alter table SCORE
    add constraint FK_CNO foreign key (CNO)
    references COURSE (CNO);
    alter table SCORE
    add constraint FK_SNO foreign key (SNO)
    references STUDENT (SNO);

    -- Create table
    create table TEACHER
    (
    tno VARCHAR2(3) not null,
    tname VARCHAR2(6) not null,
    tsex VARCHAR2(3) not null,
    tbirthday DATE,
    prof VARCHAR2(9),
    depart VARCHAR2(15) not null
    )
    tablespace USERS
    pctfree 10
    initrans 1
    maxtrans 255
    storage
    (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
    );
    -- Add comments to the columns
    comment on column TEACHER.tno
    is '教工编号(主键)';
    comment on column TEACHER.tname
    is '教工姓名';
    comment on column TEACHER.tsex
    is '教工性别';
    comment on column TEACHER.tbirthday
    is '教工出生年月';
    comment on column TEACHER.prof
    is '职称';
    comment on column TEACHER.depart
    is '教工所在部门';
    -- Create/Recreate primary, unique and foreign key constraints
    alter table TEACHER
    add constraint PA_TEACHER primary key (TNO)
    using index
    tablespace USERS
    pctfree 10
    initrans 2
    maxtrans 255
    storage
    (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
    );

  • 相关阅读:
    基于erlang的mud游戏引擎开发
    生成数据库所有表的查询语句
    查找表字段语句
    基础算法总结 Java 版
    ArrayList源码学习
    云服务器安装 Mysql 5.7
    n个元素进栈,共有多少种出栈顺序?
    MyBatis 学习
    Spring学习笔记之AOP
    原来你是这样的 IntegerCache
  • 原文地址:https://www.cnblogs.com/nicebaby/p/5962112.html
Copyright © 2020-2023  润新知