zoukankan      html  css  js  c++  java
  • 记开发个人图书收藏清单小程序开发(三)DB设计

    主要是参考豆瓣的图书查询接口:

    https://api.douban.com/v2/book/isbn/:9780132350884

    返回内容如下:

     1 {
     2     "rating": {
     3         "max": 10, 
     4         "numRaters": 361, 
     5         "average": "8.8", 
     6         "min": 0
     7     }, 
     8     "subtitle": "A Handbook of Agile Software Craftsmanship", 
     9     "author": [
    10         "Robert C. Martin"
    11     ], 
    12     "pubdate": "2008-8-11", 
    13     "tags": [
    14         {
    15             "count": 295, 
    16             "name": "编程", 
    17             "title": "编程"
    18         }, 
    19         {
    20             "count": 257, 
    21             "name": "programming", 
    22             "title": "programming"
    23         }, 
    24         {
    25             "count": 150, 
    26             "name": "软件开发", 
    27             "title": "软件开发"
    28         }, 
    29         {
    30             "count": 109, 
    31             "name": "程序设计", 
    32             "title": "程序设计"
    33         }, 
    34         {
    35             "count": 100, 
    36             "name": "计算机", 
    37             "title": "计算机"
    38         }, 
    39         {
    40             "count": 87, 
    41             "name": "软件工程", 
    42             "title": "软件工程"
    43         }, 
    44         {
    45             "count": 66, 
    46             "name": "敏捷开发", 
    47             "title": "敏捷开发"
    48         }, 
    49         {
    50             "count": 55, 
    51             "name": "agile", 
    52             "title": "agile"
    53         }
    54     ], 
    55     "origin_title": "", 
    56     "image": "https://img3.doubanio.com/view/subject/m/public/s29624974.jpg", 
    57     "binding": "Paperback", 
    58     "translator": [ ], 
    59     "catalog": "", 
    60     "pages": "464", 
    61     "images": {
    62         "small": "https://img3.doubanio.com/view/subject/s/public/s29624974.jpg", 
    63         "large": "https://img3.doubanio.com/view/subject/l/public/s29624974.jpg", 
    64         "medium": "https://img3.doubanio.com/view/subject/m/public/s29624974.jpg"
    65     }, 
    66     "alt": "https://book.douban.com/subject/3032825/", 
    67     "id": "3032825", 
    68     "publisher": "Prentice Hall", 
    69     "isbn10": "0132350882", 
    70     "isbn13": "9780132350884", 
    71     "title": "Clean Code", 
    72     "url": "https://api.douban.com/v2/book/3032825", 
    73     "alt_title": "", 
    74     "author_intro": "Robert C. “Uncle Bob” Martin has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor, Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C++, Java, C#, Ruby, OO, Design Patterns, UML, Agile Methodologies, and eXtreme programming.", 
    75     "summary": "Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.
    76 Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it.
    77 What kind of work will you be doing? You’ll be reading code—lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.
    78 Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code—of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
    79 Readers will come away from this book understanding
    80 How to tell the difference between good and bad code
    81 How to write good code and how to transform bad code into good code
    82 How to create good names, good functions, good objects, and good classes
    83 How to format code for maximum readability
    84 How to implement complete error handling without obscuring code logic
    85 How to unit test and practice test-driven development
    86 This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.", 
    87     "price": "USD 49.99"
    88 }
    豆瓣图书查询返回内容

    刚才出去拿纱窗了,等晚上设计DB的时候继续更新。

    基于豆瓣API获取的Response信息,所以抽取如下信息:

    豆瓣图书API信息
    字段名称 豆瓣字段 字段描述
    Title title  
    SubTitle subtitle  
    Authors author  
    Translator translator  
    ISBN13 isbn13  
    ISBN10 isbn10  
    AuthorIntro author_intro  
    Summary summary  
    Publisher publisher  
    Binding binding  
    OriginTitle origin_title  
    Pages pages  
    ImageUrl image  
    Pubdate pubdate  
    Catalog catalog  
    Tags tags  

    拆分如上字段出来。

     ......

    因为在看世界杯,所以设计有点断断续续的,放出DB的Diagram:

    当前的逻辑应该是没有问题了,现在需要丰富的是DB的内容,以及每条线的发展设计。

    顺便放出几个Type的Script:

    1 CREATE FUNCTION [core].[Matter#Type] ()
    2 RETURNS TABLE
    3 WITH SCHEMABINDING, ENCRYPTION
    4 AS RETURN
    5 (
    6     select    1        as        _Book
    7     ,         2        as        _ShelfBook
    8     ,         4        as        _BookList
    9 )
     1 CREATE FUNCTION [core].[Party#Type] ()
     2 RETURNS TABLE
     3 WITH SCHEMABINDING, ENCRYPTION
     4 AS RETURN
     5 (
     6     select    1        as        _Administrator
     7     ,         4        as        _User
     8     ---------------------------------------
     9     ,        16        as        _Shelf
    10 )
    1 CREATE FUNCTION [base].[BookInfo#Type] ()
    2 RETURNS TABLE
    3 WITH SCHEMABINDING, ENCRYPTION
    4 AS RETURN
    5 (
    6     select    1        as        _Summary
    7     ,         2        as        _Catalog
    8     ,         4        as        _AuthorIntro
    9 )

    好的,今天就先到这吧。

  • 相关阅读:
    php实现qq授权登录
    lnmp环境下上传文件过大出现 <服务器IO错误> 问题解决方案
    matpb画图_折线图.ipynb
    垂直条形图——plot.bar
    将博客搬至CSDN
    pandas的函数应用二——排序
    pandas的函数应用一
    pandas的数据对齐
    将一个二维数组的行和列分别进行逆向
    numpy——深拷贝和浅拷贝和不拷贝
  • 原文地址:https://www.cnblogs.com/bu-dong/p/9221290.html
Copyright © 2011-2022 走看看