• 大学数据库期末设计


    目录

    1.概述    2

    1.1 系统简介    2

    1.2组织机构及业务范围    2

    2.需求分析    3

    2.1总体目标    3

    2.2具体目标    3

    管理员主要功能:    3

    教师主要功能:    4

    学生主要功能:    4

    2.3系统功能建模    5

    2.3.1系统数据流程图    5

    2.3.2数据字典    6

    3.概念结构设计    8

    4.逻辑结构设计    11

    4.1关系模式    11

    4.2数据模型的优化    12

    5.物理设计    12

    5.1创建数据库:    12

    5.2创建各表:    13

    管理员信息表ADMIN    13

    权限信息表LI    13

    教师登录信息表LT    14

    学生登录信息表LS    14

    学生信息表S    15

    教师信息表T    15

    课程信息表C    16

    作业信息表J    16

    学生-作业信息表S-J    17

    成绩信息表G    18

    5.3管理员模块功能创建:    18

    5.4教师模块功能创建:    19

    5.5学生模块功能创建:    20

    5.6数据完整性约束的设计:    21

    主键的创建    21

    外键约束的创建    22

    DEFAULT约束的创建    22

    索引的创建    23

    视图的创建    23

    6.设计小结    24

    参考文献    25

    1.概述

    1.1 系统简介

    随着计算机技术的发展和互联网技术的广泛应用,教育信息化成为21世纪教育改革和发展的主旋律之一。实践教学环节中一个重要组成部分是实验教学,实验报告的有效管理是能够顺利开展实验教学的保证。在信息化高速发展的今天,传统的实验报告管理形式已经跟不上新型教学模式的发展,在深入分析传统纸质实验报告诸多弊端的基础上,提出并开发了基于高校现有的信息化条件开发实验报告管理系统的解决方案,从而方便了管理,提高了工作效率。

    1.2组织机构及业务范围

    本系统适用于学校,作业及实验报告作为老师教学过程中的一个重要环节,作为学生学习情况的直接反馈,却一直没有得到相应的重视。为了加强对作业及实验报告的管理,提高学生的学习效率,开发一套学生作业及实验报告信息管理系统。本系统采用云平台的技术手段,通过此系统,我们可以解决许多问题。

    1. 学生能直接提交电子版的作业及实验报告,方便老师们查看学生作业及实验报告,给出评语,查询学生作业及实验报告上交情况,也方便老师对作业及实验报告信息进行管理,提高管理效率。
    2. 课程论坛为同学们提供了一个可以自由与其他同学或者老师进行学习交流的平台,大大地增加了师生之间的互动,拉近师生间的距离。学生可以在零散的课余时间里解决自己学习中存在的问题。这样可以把学生的零散时间充分利用起来,既为学生带来了方便又提高了学习效率。
    3. 网络资源模块为同学们提供了许多教学资源,及其他学习相关的学习资源。学生可以利用这些资源对自己的学习做补充,同时也可以学习一些上课时老师没有讲到的课外知识。
    4. 电子版作业及实验报告能做到节能环保,符合现在社会的主流趋势。
    5. 学生们能及时得到关于作业及实验报告的反馈,了解到自己在相关课程上的不足。

    2.需求分析

    2.1总体目标

    理解需求是在问题及其最终解决方案之间架设桥梁的第一步。开发者只有和客户充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工。下面是双方调研后得到的需求规格说明。

    1)系统对用户登录进行管理。使用各功能模块时,系统应验证用户身份的有效性,否则不容许用户登录。另外,容许用户对自己的密码进行修改。

    2)在服务器、数据库等多个层次上提供行之有效的安全防范措施,可以确保系统安全稳定的运行。

    3)具有高度的灵活和良好的可扩充性,可随着作业提交情况的变化在功能和规模两方面随时进行扩展和升级。

    4)功能全面,覆盖全校师生的有效信息,教师管理、学生管理、作业管理、实验报告管理。

    5)可提供与多种专用作业软件的接口,能轻松地接入作业及实验报告管理系统。

    6)从用户的角度出发,能高度智能。易用、简单、快捷地操作。

    2.2具体目标

    分析需求是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块。这个步骤是对理解需求的升华,直接关系到该系统的质量。

    学生作业管理系统主要提供网上的作业管理平台,主要分为管理员、教师、学生三个部分的功能

    管理员主要功能:

    1. 管理员登录功能,根据权限进入管理员相应的页面的功能
    2. 管理员设置院系、班级、课程、任课教师,同样具有查看、修改、删除的功能
    3. 管理员修改个人资料功能
    4. 管理员中的教师管理,实现教师登陆信息的初始化功能

    教师主要功能:

    1. 教师登录功能,根据权限进入教师相应的页面的功能
    2. 教师发布公告、管理公告(查看、修改、删除)功能
    3. 教师修改个人资料功能
    4. 教师查看学生名单功能
    5. 教师在线布置、批改作业功能
    6. 教师网上答疑功能

    学生主要功能:

    1. 学生查看、搜索公告的功能
    2. 学生登录功能,根据权限进入学生相应的页面的功能
    3. 学生修改个人资料的功能
    4. 学生查看、下载老师的作业题目,上传作业(说明作业格式),查看老师对作业的批改情况功能
    5. 学生在网上对老师提出疑问并能查看以往对老师提出的疑问功能

    通对上述的功能进行集中、分块和分析,按照结构化程序设计的要求,得到如图2-1所示的系统功能模块图。

    2-1系统功能模块图

    2.3系统功能建模

    2.3.1系统数据流程图

    数据流图符号说明:

    2-1数据流图符号

    图形符号

    名称

    符号说明

    外部实体

    框内为实体名称。

    数据储存

    圈内为存储数据的系统名。

    数据流及操作

    记述数据流的流动方向,FM记述数据流的名称及操作。

    数据流图如下:

    2-2数据流图

    2.3.2数据字典

    数据字典是关于数据的信息的集合。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。

    为了把用户的数据要求清楚、准确的描述出来,系统分析员通常建立一个概念性的数据模型(也称为信息模型)。概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的现实环境,而且与在软件系统中的实现方法无关。数据字典通常包括:数据项、数据类型、数据流、数据存储和处理过程5个部分:

    管理员信息数据字典如下表2-2所示:

    2-2数据文件"管理员信息"的字典条目

    文件名:管理员信息

    编号:1

    组成:账号+密码

    备注:账号是主键

    学生信息数据字典如下表2-3所示。

    2-3数据文件"学生信息"的字典条目

    文件名:学生信息

    编号:2

    组成:学号+姓名+性别+学院+专业+年级+班级

    备注:学号是主键

    • 教师信息数据字典如下表2-4所示。

    2-4数据文件"教师信息"的字典条目

    文件名:教师信息

    编号:3

    组成:教工号+ 姓名

    备注:教工号是主键

    • 课程数据字典如下表2-5所示。

    2-5数据文件"课程信息"的字典条目

    文件名:课程信息

    编号:4

    组成:课程号+课程名

    备注:课程号是主键

    • 作业数据字典如下表2-6所示。

    2-6数据文件"作业信息"的字典条目

    文件名:作业信息

    编号:5

    组成:教工号+课程号+作业编号+作业名+实验报告名+实验性质

    备注:教工号+课程号+作业编号是主键

    3.概念结构设计

    一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字,其中关键字用下划线标识:

    管理员(账号,密码)

        教师登录信息表(教工号,密码,权限)

    学生登录信息表(学号,密码,权限)

    学生(学号,姓名,院系,专业,班级)

    教师(教工号,姓名)

    课程(课程号,课程名)

    作业(教工号课程号作业编号,作业题目,作业提交数量,实验题目,实验类型,实验提交数量)

    学生-作业(学号教工号课程编号作业编号,作业成绩,作业是否提交,实验成绩,实验是否提交)

    学生成绩(学号课程号,课程成绩)

    有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计。

    本数据库根据上面的设计规划出的实体有:学生、教师、课程、作业、实验报告。各个实体具有的描述E-R图及其之间的关系描述如下。

    管理员实体图:

    学生实体图:

    3-1学生实体图

    教师实体图:

    3-2教师实体图

     

    课程实体图:

    3-3课程实体图

     

    作业实体图:

    3-4作业实体图

    教师-作业关系图:

    3-6教师-作业关系图

     

    学生-作业关系图:

    3-7学生-作业关系图

    实体之间E-R图:

    3-10实体之间E-R

    4.逻辑结构设计

    4.1关系模式

    针对本实例,通过对作业平台管理内容的分析,设计的数据项和数据结构如下。

    1. 管理员信息:包括的数据项有(账号,密码)
    2. 权限信息:包括的数据项有(用户类型,允许增加与否,允许删除与否,允许修改与否,允许查找与否)
    3. 登录信息:包括的数据项有(学号或教工号,登录密码,权限)
    4. 学生信息:包括的数据项有(学号,姓名,院系,专业,班级)
    5. 教师信息:包括的数据项有(教工号,姓名)
    6. 课程信息:包括的数据项有(课程号,课程名)
    7. 作业信息:包括的数据项有(教工号,课程编号,作业编号,作业题目,实验题目,实验类型)
    8. 学生-作业信息:包括的数据项有(学号,教工号,课程编号,作业编号,作业成绩,实验成绩)
    9. 学生课程成绩信息:包括的数据项有(学号,课程号,课程总成绩)

    4.2数据模型的优化

    通过前面的分析,我们最终得到的关系模式有:

        管理员(账号,密码)

        教师登录信息表(教工号,密码,权限)

    学生登录信息表(学号,密码,权限)

    学生(学号,姓名,院系,专业,班级)

    教师(教工号,姓名)

    课程(课程号,课程名)

    作业(教工号课程号作业编号,作业题目,作业提交数量,实验题目,实验类型,实验提交数量)

    学生-作业(学号教工号课程编号作业编号,作业成绩,作业是否提交,实验成绩,实验是否提交)

    学生成绩(学号课程号,课程成绩)

    由于关系模式都是不可再分的数据项,很显然为第一范式;由于各表中每一个非主属性完全函数依赖于表中的某个候选键,所以满足第二范式。通过学生-作业表和学生-实验报告表中的成绩可以推出学生成绩表中的课程总成绩,也可以通过学生表中的专业推出院系,所以不满足第三范式,但是这些信息需要多次查询,所以需要建立此数据项,提高查询效率。

    5.物理设计

    5.1创建数据库:

    CREATE DATABASE JESYSTEM;

    5.2创建各表:

    管理员信息表ADMIN

    管理员信息表(ADMIN)用来保存管理员的账号和密码,如表5-1所示。

    5-1管理员登录信息表(ADMIAN)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    ID

    VARCHAR(12)

     

    账号(主键)

    2

    PSWD

    VARCHAR(20)

    NOT NULL

    密码

    CREATE TABLE ADMIN(

    ID VARCHAR(12) PRIMARY KEY,

    PSWD VARCHAR(20) NOT NULL);

    权限信息表LI

    权限信息表(LI)用来保存学生和教师的权限信息,如表5-2所示。

    5-2权限信息表(LI)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    USERTYPE

    VARCHAR(10)

    NOT NULL

    用户类型

    2

    ISADD

    ENUM('PER','REF')

    NOT NULL

    增加

    3

    ISDEL

    ENUM('PER','REF')

    NOT NULL

    删除

    4

    ISALT

    ENUM('PER','REF')

    NOT NULL

    修改

    5

    ISSEL

    ENUM('PER','REF')

    NOT NULL

    查找

    CREATE TABLE LI(

    USERTYPE VARCHAR(10) NOT NULL,

    ISADD ENUM('PER','REF') NOT NULL DEFAULT 'REF',

    ISDEL ENUM('PER','REF') NOT NULL DEFAULT 'REF',

    ISALT ENUM('PER','REF') NOT NULL DEFAULT 'REF',

    ISSEL ENUM('PER','REF') NOT NULL DEFAULT 'REF');

    教师登录信息表LT

    登录信息表(L)用来保存教师的登录信息,表LT如表5-3所示。

    5-3登录信息表(LT)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    TID

    VARCHAR (12)

    PRIMARY KEY

    教工号(主键)

    2

    PSWD

    VARCHAR (20)

    NOT NULL

    密码

    3

    LIMIT

    VARCHAR (10)

    NOT NULL

    权限(外键)

    SQL语句:

    CREATE TABLE LT(

    TID VARCHAR(12) PRIMARY KEY,

    PSWD VARCHAR(20) NOT NULL,

    LIMIT VARCHAR(10) NOT NULL,

    FOREIGN KEY(LIMIT) REFERENCES LI(USERTYPE));

     

    学生登录信息表LS

    登录信息表(LS)用来保存学生的登录信息,表LS如表5-4所示。

    5-4登录信息表(LS)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    SID

    VARCHAR (12)

    PRIMARY KEY

    学号(主键)

    2

    PSWD

    VARCHAR (20)

    NOT NULL

    密码

    3

    LIMIT

    VARCHAR (10)

    NOT NULL

    权限(外键)

    SQL语句:

    CREATE TABLE LS(

    SID VARCHAR(12) PRIMARY KEY,

    PSWD VARCHAR(20) NOT NULL,

    LIMIT VARCHAR(10) NOT NULL,

    FOREIGN KEY(LIMIT) REFERENCES LI(USERTYPE));

    学生信息表S

    学生信息表(S)用来保存学生的基本信息,表S如表5-5所示。

    5-5学生信息表(S)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    SID

    VARCHAR(12)

    PRIMARY KEY

    用户姓名(主键)

    2

    SNAME

    VARCHAR(255)

    NOT NULL

    姓名

    3

    SMAJOR

    VARCHAR(20)

    NOT NULL

    专业

    3

    SDEPA

    VARCHAR(20)

    NOT NULL

    院系

    4

    CLASS

    BIGINT(50)

    NOT NULL

    班级

    SQL语句:

    CREATE TABLE S (

    SID VARCHAR(12) NOT NULL PRIMARY KEY,

    SNAME VARCHAR(255) NOT NULL ,

    SMAJOR VARCHAR(255) NOT NULL ,

    SDEPA VARCHAR(255) NOT NULL ,

    CLASS BIGINT(50) NOT NULL );

    教师信息表T

    教师信息表(T)用来保存教师的基本信息,表T如表5-6所示。

    5-6教师信息表(T)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    TID

    VARCHAR(12)

    PRIMARY KEY

    教工号

    2

    TNAME

    VARCHAR(20)

    NOT NULL

    教师名

    SQL语句:

    CREATE TABLE T (

    TID VARCHAR(12) NOT NULL PRIMARY KEY,

    TNAME VARCHAR(255) NOT NULL );

    课程信息表C

    课程信息表(C)是用来保存课程的基本信息。表C如表5-7所示。

     

     

     

    5-7课程信息表(C)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    CID

    VARCHAR(6)

    PRIMARY KEY

    课程编号(主键)

    2

    CNAME

    VARCHAR(255)

    NOT NULL

    课程名

    SQL语句:

    CREATE TABLE C (

    CID VARCHAR(6) PRIMARY KEY,

    CNAME VARCHAR(255) NOT NULL );

    作业信息表J

    结算信息表(J)是用来保存作业的基本信息。表J如表5-8所识示。

    5-8作业信息表(J)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    TID

    VARCHAR(12)

    PRIMARY KEY

    教工号(主键)(外键)

    2

    CID

    VARCHAR(6)

    PRIMARY KEY

    课程编号(主键)(外键)

    3

    JID

    VARCHAR(6)

    PRIMARY KEY

    作业编号(主键)

    4

    JTI

    VARCHAR(255)

     

    作业题目

    5

    JCOUNT

    BIGINT

     

    作业提交数量

    6

    EXTI

    VARCHAR(255)

     

    实验题目

    7

    EXNATURE

    VARCHAR(255)

     

    实验类型

    8

    EXCOUNT

    BIGINT

     

    实验报告提交数量

    SQL语句:

    CREATE TABLE J (

    TID VARCHAR(12) PRIMARY KEY,

    CID VARCHAR(6) PRIMARY KEY,

    JID VARCHAR(6) PRIMARY KEY,

    JTI VARCHAR(255) ,

    JCOUNT BIGINT

    PRIMARY KEY(TID,CID,JID)

    FOREIGN KEY(TID) REFERENCES T(TID),

    FOREIGN KEY(CID) REFERENCES C(CID));

    学生-作业信息表S-J

    学生-作业信息表(S-J)用于存储学生与作业之间关系的信息,如表5-9所示:

    5-9学生-作业信息表(S-J)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    TID

    VARCHAR(12)

    PRIMARY KEY

    学号(主键)(外键)

    2

    SID

    VARCHAR(12)

    PRIMARY KEY

    学号(主键)(外键)

    3

    CID

    VARCHAR(6)

    PRIMARY KEY

    课程号(主键)(外键)

    4

    JID

    VARCHAR(6)

    PRIMARY KEY

    作业编码(主键)(外键)

    5

    JGRADE

    BIGINT(3)

    NOT NULL

    作业分数

    6

    JISSUBMIT

    ENUM('Y','N')

    NIOT NULL

    作业提交与否

    7

    EXGRADE

    BIGINT(3)

    NOT NULL

    实验分数

    8

    EXISSUBMIT

    ENUM('Y','N')

    NIOT NULL

    实验提交与否

    SQL语句:

    CREATE TABLE S-J (

    TID VARCHAR(12) PRIMARY KEY

    SID VARCHAR(12) PRIMARY KEY,

    CID VARCHAR(6) PRIMARY KEY ,

    JID VARCHAR(6) PRIMARY KEY,

    JGRADE BIGINT(3) NOT NULL,

    JISSUBMIT ENUM('Y','N') NIOT NULL DEFAULT 'N',

    EXGRADE BIGINT(3) NOT NULL,

    EXISSUBMIT ENUM('Y','N') NIOT NULL DEFAULT 'N';

    PRIMARY KEY(TID, SID,CID,JID),

    FOREIGN KEY(TID) REFERENCES (TID),

    FOREIGN KEY(SID) REFERENCES S(SID),

    FOREIGN KEY(CID) REFERENCES C(CID),

    FOREIGN KEY(JID) REFERENCESJ(JID));

    成绩信息表G

    成绩信息表(G)用来保存学生每门课程的总成绩,如表5-10所示。

    5-10成绩信息表(G)

    编号

    字段名称

    数据类型

    约束条件

    说明

    1

    SID

    VARCHAR(12)

    PRIMARY KEY

    学号(主键)(外键)

    2

    CID

    VARCHAR(6)

    PRIMARY KEY

    课程号(主键)(外键)

    3

    GRADE

    BIGINT(3)

    NOT NULL

    课程成绩((J_GRADE+EX_GRADE*50%

    SQL语句:

    CREATE TABLE G (

    SID VARCHAR(12) NOT NULL,

    CID VARCHAR(6) NOT NULL,

    GRADE BIGINT(3) NOT NULL,

    PRIMARY KEY(SID,CID),

    FOREIGN KEY(SID) REFERENCES S(SID),

    FOREIGN KEY(CID) REFERENCES C(CID));

    5.3管理员模块功能创建:

    1. 添加课程信息:

      INSERT INTO C

      VALUES

      ('C00001','web')

    2. 删除课程信息:

      Delete from C

      Where CID='C00001';

      1. 添加教师信息:

        INSERT INTO T

        VALUES

        ('201209010001','张三')

      2. 删除教师信息:

        Delete from T

        Where TID='201209010002';

      3. 添加学生信息:

    INSERT INTO S

    VALUES

    ('201510910101','张三','计算机科学与技术''信息工程学院'1)

    1. 删除学生信息:

      Delete from S

      Where SID='201510910102'

    2. 修改管理员密码:

    UPDATE ADMIN

    SET PSWD='KJSDHHDJ'

    WHERE ID='201209010001';

    5.4教师模块功能创建:

    1. 修改密码:

            UPDATE LT

    SET PSWD='KJSDHHDJ'

    WHERE TID='201209010001';

    1. 布置作业:

      INSERT INTO J(TID,CID,JID,JTI)

      VALUES

      ('201209010001','C00001','J00001','web测试一')

    2. 查看作业:

      SELECT JID,JTI

      FROM J

      WHERE TID='201209010001' AND CID='C00001' AND JID='J00001';

    3. 为学生打分:

      UPDATE S-J

      SET JGRADE='86'

      WHERE SID='201510910101' AND CID='C00001' AND JID='J00001';

    4. 修改作业:

      UPDATE J

      SET JTI='Web测试二'

      WHERE TID='201209010001' AND CID='C00001' AND JID='J00001';

    5. 删除作业:

      DELETE from J

      Where TID='201209010001' AND CID='C00001' AND JID='J00001';

    5.5学生模块功能创建:

    1. 查看作业:

      SELECT JID,JTI,

      FROM J

      WHERE TID='201209010001' AND CID='C00001' AND JID='J00001';

    2. 提交作业:

      UPDATE S-J

      SET ISSUBMIT='Y'

      WHERE TID='201209010001' AND SID='20151091103' AND CID='C00001' AND JID='J00001';

    3. 查看作业分数:

      SELECT JGRADE

      FROM S-J

      WHERE TID='201209010001'AND SID='201510910101' AND CID='C00001' AND JID='J00001';

    4. 查看课程分数:

                    SELECT GRADE

    FROM G

    WHERE SID='201510910101' AND CID='C00001';

    5.6数据完整性约束的设计:

    主键的创建

    1. 管理员信息表(ADMIN)中主键是账号;
    2. 教师登录信息表(LT)中主键是教工号;
    3. 学生登录信息表(LS)中主键是学号
    4. 学生信息表(S)中主键是账号;
    5. 教师信息表(T)中主键是学号;
    6. 课程信息表(C)中主键是课程号;
    7. 作业信息表(J)中主键是教工号、课程号、作业编号的组合;
    8. 学生-作业信息表(S-J)中主键是学号、教工号、课程号、作业编号的组合;
    9. 学生课程成绩信息表(G)中主键是学号、课程号的组合;

    外键约束的创建

    1. 教师登录信息表(LT)中的"LIMIT"列参照权限信息表的"USERTYPE"列;
    2. 学生登录信息表(LS)中的"LIMIT"列参照权限信息表的"USERTYPE"列;
    3. 作业信息表中的"教工号(TID)"列参照教师信息表的"教工号(TID)"列,"课程号(CID)"列参照课程信息表的"课程号"列。
    4. 学生-作业信息表中的"教工号(TID)"列参照教师表的"教工号(TID)"列,"学号(SID)"列参照学生信息表的"学号(SID)"列,"课程号(CID)"列参照课程信息表的"课程号(CID)"列,"作业编号(JID)"列参照作业信息表的"作业编号(JID)"列。
    5. 学生成绩表(G)中的"学号"列参照学生信息表的"学号"列,"课程号"列参照课程信息表的"课程号"列。

    DEFAULT约束的创建

    1. 权限信息表中的"允许增加与否"默认为"否","允许删除与否"默认为"否","允许修改与否"默认为"否","允许查找与否"默认为"否"。
    2. 学生-作业信息表中的"作业是否提交"默认为"否"。"实验是否提交"默认为"否"。

    索引的创建

    创建UNIQUE索引,一共创建了两个unique索引和两个复合索引。

    1. 教师表的教工号列:

      CREATE UNIQUE INDEX TNO

      ON T (TID ASC)

    2. 学生信息表的学号列:

      CREATE UNIQUE INDEX SNO

      ON S (SID ASC)

    3. 在作业信息表中创建复合索引:

    CREATE INDEX JNO

    ON J (TID ASC, CID, JID);

    1. 在学生-作业信息表中创建复合索引:

    CREATE INDEX SJNO

    ON J (SID ASC, TID, CID, JID);

    视图的创建

    1. 创建一个管理员用来查看教师信息的视图:

      CREATE VIEW TEACHER

      AS

      SELECT *

      FROM T;

    2. 创建一个管理员用来查看学生信息的视图:

      CREATE VIEW STUDENT

      AS

      SELECT *

      FROM S;

    3. 创建一个教师用来查看作业总体提交情况的视图:

      CREATE VIEW JOB

      AS

      SELECT JTI, JCOUNTEXTI, EXCOUNT

      FROM J;

    4. 创建一个教师用来查看学生提交情况与成绩的视图:

      CREATE VIEW SUBTJOB

      AS

      SELECT JTI, JISSUBMIT, JGRADE, EXTI, EXISSUBMIT, EXGRADE

      FROM J.JID=S-J.JID;

    5. 创建一个学生用来查看作业任务视图:

      CREATE VIEW SUBTJOB

      AS

      SELECT JTI, JISSUBMIT, JGRADE, JGRADE, EXTI, EXISSUBMIT, EXGRADE

      FROM J.JID=S-J.JID;

    6.设计小结

    在本次课程设计中,真实地接触了数据库系统的设计与实现。经过数据库系统分析、概念结构设计、逻辑结构设计、物理结构设计,逐步地将实验报告管理系统的数据库建立了起来。

    特别是在建表的时候,可能是因为需求分析不完善的问题,需要反复的进行创建和删除。做的越多,就感觉应该做但还没做的越多。比如作业和实验报告,起初分为两个表,等做完后,发现这样会使得效率降低,所以合为一个表,共用一个编码。

    通过一学期的数据库课程的学习,只是掌握了数据库的理论知识,但是从理论到实践又是一个很大的挑战,在这几天的课程设计中,亲身的感受了一下设计一个完整的数据库系统的全过程。在完成作业与实验报告管理系统的数据库设计之后,感觉自己对数据库设计不再是局限于数据库的创建和表的创建,而是要从实际出发,结合用户的需求来设计数据库,并且对约束的选择,主键、外键的选择也是一个繁琐的过程。总之,通过此次课程设计,我感到获益匪浅,但是唯一的不足之处就是不能将该系统实现出来,希望下次能够做的更加完美。

    参考文献

    [1]王珊,萨师煊.数据库系统概论(第五版),2014,9.

    [2]崔洋,贺亚茹.MySQL数据库应用从入门到精通,2013,1.

    [3] http://blog.csdn.net/linminqin/article/details/44342205.

    [4] https://www.csdn.net/.

    昔日我曾苍老,如今风华正茂(ง •̀_•́)ง
  • 相关阅读:
    html——黑体、斜体、下划线及删除线
    <转>DataGridView分页控件
    (转)Log4J 最佳实践之全能配置文件
    C# 单例代码
    MySql基本语句
    .NET中windows服务如何获取自己的安装路径
    web开发网址收藏...
    将字符串转换为json对象_正确语法
    (转)理解矩阵一、二、三
    将数据写入EXCEL多个表
  • 原文地址:https://www.cnblogs.com/lgqrlchinese/p/10035253.html
Copyright © 2020-2023  润新知