美文网首页
网上书店简单数据库设计

网上书店简单数据库设计

作者: 金发萌音 | 来源:发表于2015-01-01 04:17 被阅读791次

本次数据库并没有采用传统的sql数据库,而是选择了目前比较火热的Nosql数据库,这次使用的产品是其中的佼佼者MongoDB

MongoDB配合python本身方便的list() dict() set()类型的STL 极大的方便了开发

并且国外很多家网站已经用数据验证了MongoDB的可靠性,在面对大数据处理时,其Bson的数据存储方式可以方便的进行
数据库分片,查询的MapReduce以及数据挖掘

并且,由于其本身特性可以不满足一范式条件,所以sql数据库需要很麻烦的部分MongoDB都可以轻松解决

数据库设计
数据库:
文档集 类似于sql数据库中的表

users

            user = {
              #  '_id':None,
                'username':username,
                'password':str(uuid.uuid5(config.PASSWORD_NAME_SPACE,str(password))),
                'email':email,
                'basket':[],
                'orders':[]
            }

books

        book = {
           # '_id':None,
            'title':title,
            'author':author,
            'publishers':publishers,
            'cover':cover,
            'price':price,
            'language':language,
            'classification':classification,
            'isbn':isbn,
            'description':description,
            'inventory':inventory,
        }

在取得db对象后可一很轻松的获取内容

    con = pymongo.Connection("localhost", 27017)
    db = self.con.bookstore

合理性解释如下:

在user表中 出了username password email三个选项之外
还有两个列表 basket和 orders

分别代表用户的购物车和订单

用户加入购物车后会在该列表里加入book的_id,用于索引全部购物车书籍

每次用户支付完成后,会将basket清空,并在oreders增加一个列表记录用于保存本次购买的信息

注:关于题目中要求的“购物车只在一台电脑上保存” 这样的实现方式更加简单,甚至用不到数据库,将
购物车中每本书的_id写入cookies中更简单,或者简单的增加一层redis的缓存既可以实现,但目前主流购物网站
的购物车都是可以云端同步的,所以采用了在数据库中增加条目的设计

相关文章

  • 网上书店简单数据库设计

    本次数据库并没有采用传统的sql数据库,而是选择了目前比较火热的Nosql数据库,这次使用的产品是其中的佼佼者Mo...

  • 数据库设计

    数据库设计 简介 简单来说,数据库设计就是根据业务系统的具体需要,结合我们所选的数据库管理系统,为这个业务系统构造...

  • SpringCloud网上商城系统(附源码及教程)

    简介 设计精良的网上商城系统,包括前端、后端、数据库、负载均衡、数据库缓存等,使用SpringCloud框架,基于...

  • FullCalendar(第三篇)

    数据库设计 以下是一个比较简单的数据库表的设计,除了FullCalendar中Event需要的一些内容(”ID标识...

  • 作训处后端

    一. 数据库设计 业务比较简单,五张表的增删改查 1. 数据库设计中遇到的问题 列名不能用关键字如:NUMBER,...

  • 阿里数据库开发规范:谁还敢说你的数据库设计的“烂”

    数据库设计几个规范: 数据库命名规范、数据库基本设计规范、数据库索引设计规范、数据库字段设计规范、数据库SQL开发...

  • 数据库设计那些事

    本文为慕课网课程数据库设计那些事的笔记。 什么是数据库设计 简单来说就是为我们的业务系统构造出最优的数据存储模型。...

  • SpringBoot学习录(2)- SpringBoot、JPA

    准备数据库 准备数据库,我们简单设计五张表 user:用户表 item:分类表 article:文章表 tag:标...

  • 数据库设计

    第六章 数据库设计 学习重点: 数据库设计的基本步骤; 数据库设计各阶段的具体设计内容; 数据库设计各阶段的设计描...

  • 2-2 — 2- 设计范式

    符合数据库设计的范式概要,那么就是一种简洁的设计,可以避免异常冗余 第一范式(1NF,最简单,最容易遵守):数据库...

网友评论

      本文标题:网上书店简单数据库设计

      本文链接:https://www.haomeiwen.com/subject/iubotttx.html