记开发个人图书收藏清单小程序开发(三)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信息,所以抽取如下信息:
字段名称 | 豆瓣字段 | 字段描述 |
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 )
好的,今天就先到这吧。