• 数据库设计


          设计一个数据库首先要对其进行需求,然后在设计数据表。

          数据库设计的三大范式:

                第一范式:列的原子性,即每一列是不可再拆分的;
                第二范式:表里面的每一列都应该与主键有关系;
                第三范式:表里面的每一列都应该与主键有直接关系;

                如果在设计数据表时使用到自增长列则会不满足第二范式和第三范式,所以可以不按照三大范式设计,一般用于解决一些较麻烦的问题。

    例:制作好友聊天功能:

          需求分析:注册、登录、查找功能、加好友功能、聊天功能。

          表格设计:

                可用到三张表:

                表一:用户表(注册、登录),使用用户名(varchar)、密码(varchar)、昵称(varchar)三列,用户名为主键;

                

                表二:好友关系表(查找、加好友),使用用户1(本用户)(varchar,关联表一用户名)、用户2(其他用户)(varchar,关联表一用户名)、关系(设置好友、黑名单等)(int,好友为0,黑名单为1等),需要设计一个自增长列为主键;

                

                表三:聊天记录表(聊天),使用用户1(发送者)(varchar,关联表一用户名)、用户二(接受者)(varchar,关联表一用户名)、发送的信息(text),还可加入发送时间(varchar)、消息状态(int,已读为0,未读为1)等功能,设置自增长列为主键。

                

                

  • 相关阅读:
    PAT乙级1014.福尔摩斯的约会 (20)(20 分)
    PAT乙级1013.数素数
    PAT乙级1012.数字分类 (20)(20 分)
    PAT乙级1011.A+B和C (15)(15 分)
    PAT乙级1025.反转链表 (25)
    PAT乙级1020.月饼(20)
    PAT乙级1015.德才论(25)
    PAT乙级1010.一元多项式求导(25)
    PAT乙级1009.说反话(20)
    PAT乙级1008.数组元素循环右移问题(20)
  • 原文地址:https://www.cnblogs.com/maoqiaoyu123/p/8138091.html
Copyright © 2020-2023  润新知