欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

记开发个人图书收藏清单小程序开发(三)DB设计

程序员文章站 2023-04-03 08:17:27
主要是参考豆瓣的图书查询接口: https://api.douban.com/v2/book/isbn/:9780132350884 返回内容如下: 1 { 2 "rating": { 3 "max": 10, 4 "numRaters": 361, 5 "average": "8.8", 6 "m ......

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

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

返回内容如下:

记开发个人图书收藏清单小程序开发(三)DB设计
 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设计

 

记开发个人图书收藏清单小程序开发(三)DB设计

 

当前的逻辑应该是没有问题了,现在需要丰富的是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 )

 

好的,今天就先到这吧。