zoukankan      html  css  js  c++  java
  • 开发公共课选修系统之二

    上一讲


    系统前台结构图












    下面是数据库数据字典的设计:

     

    a.选课表 table_course

       

    字 段 名 称

    数 据 结 构

       

    1

    c_id

    数字

    选课编号,自动编号,pk

    2

    c_name

    文本

    选课名

    3

    d_id

    数字

    系别编号,fk系别表

    4

    c_max_number

    数字

    最大可选人数

    5

    c_now_number

    数字

    现在已选人数

    6

    c_eff_date

    文本

    有效日期,如2004-5-1 9:23:54

    C#中用DateTime.Now.ToString()获得

    7

    c_credit_hour

    数字

    学分数

    8

    c_introduction

    文本

    课程简介

    b.学生表 table_student

       

    字 段 名 称

    数 据 结 构

       

    1

    s_id

    数字

    学号,要求程序可批量添加学生,pk

    2

    s_name

    文本

    学生名

    3

    d_id

    数字

    系别编号,fk系别表

    4

    spe_id

    数字

    专业班编号,fk专业班表

    5

    native_place

    文本

    籍贯

    6

    identity_card

    数字

    身份证号,18位,若15位则将其转为18

    7

    term_credit_hours

    数字

    本学期已选课学分数,默认0

    8

    all_credit_hours

    数字

    已选、已修选修课学分,默认0

    9

    s_pwd

    文本

    学生密码,自动生成或为空

    c.选课与学生联系表 table_course_student

       

    字 段 名 称

    数 据 结 构

       

    1

    c_id

    数字

    选课编号,fk选课表

    2

    s_id

    数字

    学号,fk学生表

    3

    c_s_mark

    数字

    选课成绩,浮点数,如60.5

    d.专业班表   table_specialty_class

       

    字 段 名 称

    数 据 结 构

       

    1

    spe_id

    数字

    专业班编号,自动编号,pk

    2

    spe_name

    文本

    专业名+班号,其中班号为最后1位字符,班号由可选项输入,19

    3

    d_id

    数字

    系别编号,fk系别表

    4

    entrance_year

    数字

    入学年份,列表:2006-21004

    5

    term_max_spe_number

    数字

    专业本学期最大可选修课数

    6

    spe_stu_number

    数字

    专业班最大人数

    7

    education_level

    文本

    在读学历,可选或列表,本科或专科,无研究生

    e.系别表 table_department

       

    字 段 名 称

    数 据 结 构

       

    1

    d_id

    数字

    系别编号,自动编号,pk

    2

    d_name

    文本

    系别名

    3

    d_stu_number

    数字

    系别总人数,默认0

    f.管理员表   table_admin

       

    字 段 名 称

    数 据 结 构

       

    1

    a_id

    数字

    管理员编号,自动编号,pk

    2

    a_name

    文本

    管理员姓名

    3

    a_pwd

    文本

    管理员密码



    在这里说一下数据库的关系模式的规范形式:
    1NF:每个属性的值域都是不可再分的简单数据项,不用说了吧。

    2NF:关系模式R是1NF,而且每一个非键属性都完全函数依赖于R的键(即不存在“部分函数依赖”)。转换为2NF的方法是:消除部分函数依赖。

    3NF:关系模式R是2NF,而且它的任何一个非键属性都不传递依赖于R的任何候选键。转换为3NF的方法是:消除传递函数依赖。

    BCNF:若关系模式R是1NF,如果对于R的每个函数依赖 X —〉Y,X必为候选键,则R为BCNF。
                                                                                    
    3NF转换为BCNF的方法:消除主属性对键的部分和传递函数依赖,即将3NF关系分解成多个BCNF关系模式。不过,属于3NF而非BCNF的关系模式不多。

    一般设计成2NF或3NF就可以了。

    我设计的应该是3NF以上吧!




    关系图

  • 相关阅读:
    ajax提交Form
    MySQL新建用户,授权,删除用户,修改密码总结
    php 数组操作类(整合 给意见)
    PHP基于数组的分页函数(核心函数array_slice())
    php生成table表格
    百度地图定位
    python-redis-订阅和发布
    宿主机-免密登录Docker容器
    docker-文件系统出错处理
    python-redis集合模式
  • 原文地址:https://www.cnblogs.com/bankey/p/361389.html
Copyright © 2011-2022 走看看