精华内容
下载资源
问答
  • 求教,怎么设计一个大学课程表数据库 要求: 1、灵活的上课时间 2、灵活的上课节数 3、灵活的上课时长 4、不同的老师对应不同的上面三条要求 求教一下这个数据库表到底要怎么设计好,圆滑扩展性强 ...
  • 课程表 数据库管理 源代码

    热门讨论 2008-09-06 22:33:12
    .txt文件的读写 数据库的操作 ListCtrl 课程表数据库 C++
  • 大学课程表有的没课,有的三节,有的一节有的两节课,怎么设计数据库,同时关联 老师还有班级,也就是班级课表,求大神
  • 大学课表数据库设计

    2014-03-07 13:34:11
    怎么设计数据库表呢? 大学课表每天5节课,同一节课,有可能是2-5周上XX 6-10周上YY,类似于下图 [img=https://img-bbs.csdn.net/upload/201403/07/1394170163_455733.jpg][/img] 我是想的这种 学号,星期,第一...
  • 基于SQLite数据库课程表,使用Androidstudio2.2.2编写。课程数据以 SQLite数据库进行存储,实现增删改查数据库数据。可动态添加课程、删除、更改课程。 详细描述见 ...
  • 要求:请安装Kingbase数据库软件,在数据库软件中创建一个自己名字的模式,在该模式下创建学生关系数据表、课程表、选课表。 插入一些数据,尝试查询、更新、删除 二、相关原理与知识 (完成实验所用到的相关原理...

    一、实验题目
    已有条件:Kingbase数据库软件包。
    要求:请安装Kingbase数据库软件,在数据库软件中创建一个自己名字的模式,在该模式下创建学生关系数据表、课程表、选课表。
    插入一些数据,尝试查询、更新、删除
    二、相关原理与知识
    (完成实验所用到的相关原理与知识)
    1.定义模式
    在SQL语句中模式定义语句如下:

    CREATE SCHEMA <模式名>AUTHORIZATION<用户名>;
    

    2.定义基本表

    CREATE TABLE<表名>  (<列名><数据类型> [列级完整性约束条件]
    [,<列名><数据类型> [列级完整性约束条件]]
    …
    [,<表级完整性约束条件>]);
    

    3.数据类型:
    在这里插入图片描述
    4.查询语法:

    SELECT [ALL | DISTINCT] <目标列表达式> [,<目标列表达式>] …
    FROM <表名或视图名>[, <表名或视图名> ] …
    [ WHERE <条件表达式> ]
    [ GROUP BY <列名1> [ HAVING <条件表达式> ] ]
    [ ORDER BY <列名2> [ ASC | DESC ] ] ;
    

    注:
    SELECT子句:指定要显示的属性列;
    FROM子句:指定查询对象(基本表或视图);
    WHERE子句:指定查询条件;
    GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中使用集函数;
    HAVING短语:筛选出只有满足指定条件的组;
    ORDER BY子句:对查询结果按指定列值升序或降序排序。
    5.插入数据
    插入单个元组--新元组插入指定表中。
    语句格式:

        INSERT
    	INTO <表名> [(<属性列1>[,<属性列2 >…)]
    	VALUES (<常量1> [,<常量2>]    … ) ;
    

    注:
    INTO子句
    指定要插入数据的表名及属性列
    属性列的顺序可与表定义中的顺序不一致
    没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致
    指定部分属性列:插入的元组在其余属性列上取空值
    VALUES子句
    提供的值的个数和值的类型必须与INTO子句匹配
    6.修改数据:
    语句格式:

     UPDATE  <表名>
       SET  <列名>=<表达式>[, <列名>=<表达式>]…
       [WHERE  <条件>];
    

    功能:
    修改指定表中满足WHERE子句条件的元组。
    注:
    SET子句--指定修改方式,要修改的列和修改后取值
    WHERE子句
    指定要修改的元组
    缺省表示要修改表中的所有元组
    7.删除数据
    语句格式:

    DELETE
    FROM   <表名>
    [WHERE   <条件>] ;
    

    功能:
    删除指定表中满足WHERE子句条件的元组
    注:
    WHERE子句
    指定要删除的元组
    缺省表示要修改表中的所有元组
    7.设置搜索模式路径
    SET search_path TO “S-T”;
    SET search_path TO PUBLIC;
    SET search_path TO “S-T”,PUBLIC;
    三、实验过程
    (清晰展示实际操作过程,相关截图及解释)
    1.建立以@@@命名模式;
    2.建立如下三个表:
    学生表:Student(Sno,Sname,Ssex,Sage,Sdept),用来存放学号、学生姓名、性别、年龄和所在院系,其中Sno为主码;
    课程表:Course(Cno,Cname,Cpno,Ccredit),存放课程编号、课程名称、先修课程和学分,其中Cno为主码;
    学生选课表:SC(Sno,Cno,Grade),存放学号、课程号和该名学生在此课程得分,其中主码由两个属性(Sno和Cno)组成,必须作为表级完整性进行定义,另外,注意Sno和Cno为外码,参照表分别为STUDENT和COURSE。
    建立模式和表后可以得到如下目录:
    在这里插入图片描述
    3.数据插入:
    然后向STUDENT表、COURSE表和SC表中添加学生信息。
    发挥想象,插入数据后的表如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    4.数据查询:
    接下来查询STUDENT表中的姓名与性别。
    使用SELECT语句对STUDENT表进行查询姓名与性别。
    在这里插入图片描述
    5.数据修改:
    修改COURSE 表中的数据,将课程号为05的信安数基的学分改为3。运行代码后,打开COURSE表,此时CCREDIT已修改为3,如图所示。
    在这里插入图片描述
    6.数据删除:
    将SC表中学号为201803006的同学,且课程代码为02,得分为92的这条数据删除。
    打开表SC可以发现,此时201803006同学在02课程中得分为92的数据已经删除。(左图为原来的SC表,右图为运行删除代码后的SC表)
    在这里插入图片描述
    在这里插入图片描述
    四、实验结果与分析
    用SQL语句建成了简单的学生选课信息系统,由三个表组成,分别为STUDENT表(用来存放学生信息,包括学号、姓名、性别、年龄、所在系),COURSE表(用来存放课程信息,内含课程号、课程名、先修课程、学分),以及SC表(由学号、课程号以及成绩组成),值得注意的是,SC表中的学号和课程号为外码,与STUDENT表和COURSE表相关。
    有了表的框架之后,发挥想象,向表中插入数据。运用书中INSERT相关内容,逐个向表中插入数据。然后对表尝试查询、更新和删除操作。查询操作后,数据库会直接给出查询所得的内容。修改操作后,系统提示语句运行正确或错误,若成功,刷新表后,即可发现数据信息修改完毕,否则依据错误提示进行修改。删除操作与修改操作相似。
    五、问题总结
    (记录所遇到的问题及解决方法)
    1.
    遇到问题:在建立表的时候找不到我所定义的名为@@@的SHAME
    解决方法:在定义表之前,加上一句SET search_path TO @@@;
    2.
    遇到问题:SQL语句中所有的标点符号均为英文字符,在写的过程中混入了中文字符,因无法识别导致运行失败。
    解决方法:将中文字符改为英文字符。
    六、源代码
    (源程序)
    建立模式:

    CREATE SCHEMA @@@
    

    建立STUDENT表:

     SET search_ path TO @@@;
    	CREATE TABLE  Student
            ( Sno     CHAR(9)  PRIMARY  KEY ,
             Sname   CHAR(20)  UNIQUE ,
             Ssex     CHAR(2) ,
             Sage     SMALLINT ,
             Sdept    CHAR(20)
    	    ) ;
    

    建立COURSE表:

        SET search_ path TO @@@;
    CREATE TABLE  Course
               (Cno     CHAR(4) PRIMARY KEY,
            	 Cname   CHAR(40) NOT NULL,            
             	 Cpno    CHAR(4),               	                      
               Ccredit   SMALLINT,
              ); 
    

    建立SC表:

     SET search_ path TO @@@;
     	CREATE TABLE  SC
               (Sno  CHAR(9), 
               Cno  CHAR(4),  
               Grade  SMALLINT,
               PRIMARY KEY (Sno,Cno),  
                          /* 主码由两个属性构成,必须作为表级完整性进行定义*/
               FOREIGN KEY (Sno) REFERENCES Student(Sno),
                         /* 表级完整性约束条件,Sno是外码,被参照表是Student */
               FOREIGN KEY (Cno) REFERENCES Course(Cno)
                         /* 表级完整性约束条件, Cno是外码,被参照表是Course*/
            ); 
    

    插入数据(部分代码):

    INSERT INTO "@@@"."SC"
             ("201801001","04","94" )
     VALUES 
             ('CHAR (9)','CHAR (4)','SMALLINT' );
    

    查询STUDENT表中的姓名与性别:

    SELECT "SNAME","SSEX"
    FROM "@@@"."STUDENT";
    

    更新COURSE表中的数据:

    UPDATE "@@@"."COURSE"
    SET "CCREDIT"='3'
    WHERE "CNO"='05';
    

    删除SC中的数据:

    DELETE "@@@."SC"
    WHERE Sno='201803006' AND Cno='02' AND Grade='92' ;
    
    展开全文
  • 第一步:点击新建查询建立数据库 create database _10lzhangsan//先建立数据库 第二步:建表 学生表(包括学号,性别,年龄,所在...课程表(包括课程号,课程名,先行课,学分) create table course( Cno char(4)pri

    第一步:点击新建查询建立数据库

    create database _10lzhangsan//先建立数据库
    

    第二步:建表

    学生表(包括学号,姓名,性别,年龄,所在系)

    create table student(
    Sno char(9) primary key,
    Sname char(20) unique,
    Ssex char(2),
    Sage smallint,
    Sdept char(20)
    );
    

    课程表(包括课程号,课程名,先行课,学分)

    create table course(
    Cno char(4)primary key,
    Cname char(40),
    Cpno char(4), 
    Ccredit SMALLINT,
    foreign key(Cpno) references course(Cno)
    );
    

    选课表(包括学号,课程号,成绩)

    create table SC(    
    Sno char(9),
    Cno char(4),
    Grade smallint,
    primary key(Sno,Cno),//主键是两个外键
    foreign key(Sno) references student(Sno),                                    
    foreign key(Cno) references course(Cno)
    );
    

    第三步:录入数据

    可以代码录入也可右键手动录入。
    在这里插入图片描述

    展开全文
  • INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('1','数据库','1',4); INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('2','数学',NULL,2); INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('3','...
    CREATE TABLE Student 
    (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件,Sno是主码*/ 
    Sname CHAR(20) UNIQUE, /* Sname取唯一值*/
    Ssex CHAR(2),
    Sage SMALLINT,
    Sdept CHAR(20)
    );
    CREATE TABLE Course
    (Cno CHAR(4) PRIMARY KEY,
    Cname CHAR(40), 
    Cpno CHAR(4), 
    Ccredit SMALLINT,
    FOREIGN KEY (Cpno) REFERENCES Course(Cno)
    );
    CREATE TABLE SC
    (Sno CHAR(9), 
    Cno CHAR(4), 
    Grade SMALLINT,
    PRIMARY KEY (Sno,Cno),
    /* 主码由两个属性构成,必须作为表级完整性进行定义*/
    FOREIGN KEY (Sno) REFERENCES Student(Sno),
    /* 表级完整性约束条件,Sno是外码,被参照表是Student */
    FOREIGN KEY (Cno)REFERENCES Course(Cno)
    /* 表级完整性约束条件, Cno是外码,被参照表是Course*/
    );
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215121','李勇','男',20,'CS');
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215122','刘晨','女',19,'CS');
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215123','王敏','女',18,'MA');
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215125','张立','男',19,'IS');
    INSERT
    INTO Student(Sno,Sname,Ssex,Sage,Sdept)
    VALUES('201215126','张成民','男',18,'CS');
    
    
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('1','数据库','1',4);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('2','数学',NULL,2);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('3','信息系统','1',4);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('4','操作系统','1',3);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('5','数据结构','1',4);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('6','数据处理',NULL,2);
    INSERT
    INTO Course(Cno,Cname,Cpno,Ccredit)
    VALUES('7','PASCAL语言','6',4);
    update Course
    SET Cpno='5'
    WHERE Cno='1';
    update Course
    SET Cpno='6'
    WHERE Cno='4';
    update Course
    SET Cpno='7'
    WHERE Cno='5';
    
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215121','1',92);
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215121','2',85);
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215121','3',88);
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215122','2',90);
    INSERT
    INTO SC(Sno,Cno,Grade)
    VALUES('201215122','3',80);
    select*
    from student;
    select*
    from course;
    select*
    from sc;
    
    alter table Student add Password char(6);
    Update Student Set Password = '123456' where Sno = '201215121';
    Update Student Set Password = '123456' where Sno = '201215122';
    Update Student Set Password = '123456' where Sno = '201215123';
    Update Student Set Password = '123456' where Sno = '201215125';
    Update Student Set Password = '123456' where Sno = '201215126';
    
    展开全文
  • 设教学数据库中有三个基本表: ...课程表 C(CNO,CNAME,TEACHER),其属性表示课程号、课程名称和任课教师姓名。 下面的题目都是针对上述三个基本表操作的(原题S#、C#这样子写法在查询的时候会报错,这里就用S...

    设教学数据库中有三个基本表:

    学生表 S(SNO,SNAME,AGE,SEX),其属性表示学生的学号、姓名、年龄和性别;选课表 SC(SNO,CNO,GRADE),其属性表示学生的学号、所学课程的课程号和成绩;课程表 C(CNO,CNAME,TEACHER),其属性表示课程号、课程名称和任课教师姓名。 下面的题目都是针对上述三个基本表操作的(原题S#、C#这样子写法在查询的时候会报错,这里就用SNO、CNO代替吧,在naticat里面“#”这个是注释。。。)

    其实这道题网上也有,但是我自己试了很多答案是错的,服了。我自己做一遍吧。。。

    分析:建表,选课表SNO、CNO是外键

    设计表就自己建,下面给出表数据:

    学生表 S(SNO,SNAME,AGE,SEX)

    选课表 SC(SNO,CNO,GRADE)

    课程表 C(CNO,CNAME,TEACHER)

    第(2)题用的表 SC_C(C#,CNAME, AVG_GRADE)

    (1)写出检索 全是 女同学 选修的课程的课程号的SQL语句。

    网上的答案:

    SELECT cno FROM sc where cno not in (SELECT cno from s,sc WHERE s.sno=sc.sno and sex = '女');

    我查出来的是空的(查出来应该是男同学单独选的,这里没有所以为空)

     

    错的。我觉得应该把SQL语句里面的条件“女”改为“男”。

    SELECT cno FROM sc where cno not in (SELECT cno from s,sc WHERE s.sno=sc.sno and sex = '男');
    

    看看结果

    查出来了。

    我自己的分析:选课表里面,肯定是 不是男的同学 就是女的同学(应该没有鬼。。。)选出全部的课程号,除去男同学选的(包括有男有女选的课程号)剩下的就是全是女同学选的,换句话讲,就是只有女同学选这个课程号。

    这里不知道理解有没有错,欢迎各位看官评论区讨论交流。。。

    (2)写出下列插入操作的SQL语句:把SC表中每门课程的平均成绩插入到另一个已存在的表SC_C(C#,CNAME, AVG_GRADE)中,其中 AVG_GRADE 为每门课程的平均成绩。

    insert into SC_C(cno,cname,AVG_GRADE)
    select c.cno,c.cname,avg(GRADE) from sc,c
    where sc.cno=c.cno group by c.cno,cname;

    查询结果

    后面2题暂时先把网上答案贴上(也是错的。。。仅供参考) 

    (3)试写出下列删除操作的SQL语句:从SC表中把WU老师的女学生选课元组删去。

    delete from sc where 
    sno in (select sno from s where sex = '女')
    and cno in (SELECT cno from c where teacher = 'WU');
    

     

    (4)写出检索每门课程前五名的学生姓名。

    SELECT SNAME
    FROM S,SC 
    WHERE S.SNO=SC.SNO
    AND SC.GRADE IN
    (SELECT TOP 5 GRADE FROM SC GROUP BY CNO ORDER BY GRADE DESC)

     

     

     

     

     

     

    展开全文
  • 设教学数据库中有三个基本表: ...课程表 C(C#,CNAME,TEACHER),其属性表示课程号、课程名称和任课教师姓名。 下面的题目都是针对上述三个基本表操作的。 (1)写出检索全是女同学选修的课程的课程号的SQL语句。...
  • 数据库-课表

    2012-12-12 00:43:13
    数据库关于课表的文档,涉及到课表的设计,课表的建立,以及在数据库中的分析
  • 数据库-命令创建学生表 课程表课表并进行增删查改指令
  • 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 1、 在SC表中查询选修了课程的学生学号。注意去掉重复的行。 2、查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。 3、...
  • 列出课程表中全部信息,按先修课的升序排列; select * FROM Course ORDER BY Cpno ASC   7.   列出年龄超过平均值的所有学生名单,按年龄的降序显示; select * FROM Student ...
  • 数据库的学生课程表实验,适合所有同学参考借鉴,此实验得优,欢迎下载
  • 本人现在在做一款课程表app,由于是面向大学的,数据库的设计怎么想都感觉不合理,哪位大神能给指点指点,很着急!先在此谢过啦
  • 删除数据库 drop database TK --数据库
  • 主要练习Android中小型数据库SQLite的使用,很适合初学者学习
  • 创建学生Student:create table Student ( Sno char(10)primary key, //列级完整性约束条件,Sno是主码 Sname char(10) unique, //Sno取唯一值 Ssex char(2) check (Ssex in ('男','女')), //性别 Sage ...
  • 数据库课程表东南大学

    千次阅读 2016-08-13 16:20:11
    第1讲 数据库系统概述、数据管理和数据库技术的发展 第2讲 数据、数据模型和数据模式 第3讲 关系数据模型、约束、关系操作 第4讲 投影操作、集合操作、连接操作 第5讲 连接操作示例、除操作、外连接操作、关系...
  • 数据库课程设计

    万次阅读 多人点赞 2019-01-06 10:00:32
    图书管理系统 1.概述 项目背景 2.需求分析 2.1 系统需求 2.2 数据需求 ...2.3.1 书籍信息 ...2.3.2 库存信息 ...2.3.4 顾客信息 ...2.3.5 管理员信息 ...2.3.6 图书类型信息 ...3.数据库设计 3.1 ...
  • 带服务端数据库和消息推送课程表源码是一个带有服务端和信息推送服务端的课程表项目源码,两个服务端都是基于myeclipse,其中android.sql这个数据库是iTimetableServer这个服务端的数据库文件,用来存储课程信息,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,881
精华内容 43,952
关键字:

课程表数据库