记开发个人图书收藏清单小程序开发(三)DB设计
主要是参考豆瓣的图书查询接口:
https://api.douban.com/v2/book/isbn/:9780132350884
返回内容如下:
{
"rating": {
"max": 10,
"numRaters": 361,
"average": "8.8",
"min": 0
},
"subtitle": "A Handbook of Agile Software Craftsmanship",
"author": [
"Robert C. Martin"
],
"pubdate": "2008-8-11",
"tags": [
{
"count": 295,
"name": "编程",
"title": "编程"
},
{
"count": 257,
"name": "programming",
"title": "programming"
},
{
"count": 150,
"name": "软件开发",
"title": "软件开发"
},
{
"count": 109,
"name": "程序设计",
"title": "程序设计"
},
{
"count": 100,
"name": "计算机",
"title": "计算机"
},
{
"count": 87,
"name": "软件工程",
"title": "软件工程"
},
{
"count": 66,
"name": "敏捷开发",
"title": "敏捷开发"
},
{
"count": 55,
"name": "agile",
"title": "agile"
}
],
"origin_title": "",
"image": "https://img3.doubanio.com/view/subject/m/public/s29624974.jpg",
"binding": "Paperback",
"translator": [ ],
"catalog": "",
"pages": "464",
"images": {
"small": "https://img3.doubanio.com/view/subject/s/public/s29624974.jpg",
"large": "https://img3.doubanio.com/view/subject/l/public/s29624974.jpg",
"medium": "https://img3.doubanio.com/view/subject/m/public/s29624974.jpg"
},
"alt": "https://book.douban.com/subject/3032825/",
"id": "3032825",
"publisher": "Prentice Hall",
"isbn10": "0132350882",
"isbn13": "9780132350884",
"title": "Clean Code",
"url": "https://api.douban.com/v2/book/3032825",
"alt_title": "",
"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.",
"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.
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.
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.
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.
Readers will come away from this book understanding
How to tell the difference between good and bad code
How to write good code and how to transform bad code into good code
How to create good names, good functions, good objects, and good classes
How to format code for maximum readability
How to implement complete error handling without obscuring code logic
How to unit test and practice test-driven development
This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.",
"price": "USD 49.99"
}
豆瓣图书查询返回内容
刚才出去拿纱窗了,等晚上设计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:
CREATE FUNCTION [core].[Matter#Type] ()
RETURNS TABLE
WITH SCHEMABINDING, ENCRYPTION
AS RETURN
(
select 1 as _Book
, 2 as _ShelfBook
, 4 as _BookList
)
CREATE FUNCTION [core].[Party#Type] ()
RETURNS TABLE
WITH SCHEMABINDING, ENCRYPTION
AS RETURN
(
select 1 as _Administrator
, 4 as _User
---------------------------------------
, 16 as _Shelf
)
CREATE FUNCTION [base].[BookInfo#Type] ()
RETURNS TABLE
WITH SCHEMABINDING, ENCRYPTION
AS RETURN
(
select 1 as _Summary
, 2 as _Catalog
, 4 as _AuthorIntro
)
好的,今天就先到这吧。
记开发个人图书收藏清单小程序开发(三)DB设计的更多相关文章
- 记开发个人图书收藏清单小程序开发(十)DB开发——新增图书信息
昨晚完成了Web端新增图书信息的功能,现在就差DB的具体实现了. 因为我把Book相关的信息拆分的比较多,所以更新有点小麻烦. 首先,我需要创建一个Book Type的Matter: 然后,将图片路径 ...
- 记开发个人图书收藏清单小程序开发(五)Web开发
决定先开发Web端试试. 新增Web应用: 选择ASP.NET Core Web Application,填写好Name和Location,然后点击OK. 注意红框标出来的,基于.NET Core 2 ...
- 记开发个人图书收藏清单小程序开发(九)Web开发——新增图书信息
书房信息初始化已完成,现在开始处理图书信息新增功能. 主要是实现之前New Razor Pages的后台部分. 新增需要保存的Model:Book.InitSpec.cs /Models/Book.I ...
- 记开发个人图书收藏清单小程序开发(六)Web开发
Web页面开发暂时是没有问题了,现在开始接上Ptager.BL的DB部分. 首先需要初始化用户和书房信息.因为还没有给其他多余的设计,所以暂时只有个人昵称和书房名称. 添加 Init Razor Pa ...
- 记开发个人图书收藏清单小程序开发(四)DB设计
早上起来,又改动了一下: 主要是,将非常用信息全部拆分出来,让Table尽量的小,小到不能继续拆分了,这样区分DB逻辑.增加了FileBank存储Book的封面图片,统一管理图片资源. 新添加的Typ ...
- 记开发个人图书收藏清单小程序开发(七)DB设计
前面的书房初始化的前端信息已经完善,所以现在开始实现DB的Script部分. 新增Action:Shelf_Init.sql svc.sql CREATE SCHEMA [svc] AUTHORIZA ...
- 记一次基于 mpvue 的小程序开发及上线实战
小程序名称:一起打车吧 项目地址: 客户端:https://github.com/jrainlau/taxi-together-client 服务端:https://github.com/jrainl ...
- 微信小程序开发系列(一)小程序开发初体验
开发小程序所需的基本技能 关于小程序的介绍和使用场景这里不作介绍,这个系列的文章会一步一步地带领大家快速地学习和掌握小程序的开发. 关于还没有接触过小程序的开发者来说,最关心的问题无非就是,开发小 ...
- [转]微信小程序开发系列(一)小程序开发初体验
本文转自:http://www.cnblogs.com/rennix/p/6287432.html 开发小程序所需的基本技能 关于小程序的介绍和使用场景这里不作介绍,这个系列的文章会一步一步地带领 ...
随机推荐
- MediaWIKI部署流程
1.下载mediawiki,地址:https://www.mediawiki.org/wiki/MediaWiki 2.下载xxamp集成软件,地址:https://www.apachefriends ...
- bootstrap table 修改table内容时设置表头与表格对齐
第一:取消表头初始化解决表头和内容不对齐问题,取消后表头将不固定. 在你对应的js(bootstrap-table.min.js或bootstrap-table.js,我用的bootstrap-tab ...
- tomcat启动(六)Catalina分析-StandardServer.start()
从链接 Tomcat中组件的生命周期管理公共接口Lifecycle 可以知道调用的是StandardServer.startInternal() @Override protected void st ...
- CART树
算法概述 CART(Classification And Regression Tree)算法是一种决策树分类方法. 它采用一种二分递归分割的技术,分割方法采用基于最小距离的基尼指数估计函数,将当前的 ...
- JAVA 之 继承
1:继承的定义: Java继承是面向对象的最显著的一个特征.继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力. 2:关键字: extends :继承 3:格式形式: ...
- select样式
select设置了宽高: 样式是这样的: 如果在select的标签内部加入size="2" size的值只要大于1,select的设置大小会起作用 样式是这样的: 3.点击中 ...
- [BZOJ 2655]calc
Description 题库链接 给出 \(A,n,p\) ,让你在模 \(p\) 意义下求所有序列 \(a\) 满足"长度为 \(n\) 且 \(a_i\in[1,A]\) ,并且对于 \ ...
- [转] What is a Full Stack developer?
期望一个凡人掌握开发过程中各个方面的知识,合理吗?也许不合理,但是Facebook正是要寻找这样的人.在一个OSCON会议上,一名Facebook的工程师告诉我的,他们只聘请“全能(Full stac ...
- [转] 如何应用设计模式设计你的足球引擎(三和四)----Design Football Game(Part III and IV)
原文地址:http://www.codeproject.com/KB/cpp/applyingpatterns2.aspx 作者:An 'OOP' Madhusudanan 译者:赖勇浩(http:/ ...
- .net core 2.2 部署CentOS7(1)安装虚拟机
目录: .net core 2.2 部署CentOS7(1)安装虚拟机 .net core 2.2 部署CentOS7(2)给虚拟机安装CentOS7 .net core 2.2 部署CentOS7( ...