一张数据表(URLS)设计细节

数据表设计

     设计表示,应该综合考虑都对实现logic复杂性影响。

Table link(_id, title, url, visits…)  


需求

1>,table link 中不能有重复的url。

2>,当bookmark、preset访问过后,具有历史的属性,还要保留原来属性特点。

   

    设计

方案1>,增加字段type,type表示url所有类型,有history,bookmark, preset…,type取值分别为1,2,4,8….(2^n)各类型按位或就可以混合保留type类型所有属性,比如1代表history,2代表bookmark, 则1|2 = 3,即当type = 3时,我们就知道该条记录既是历史,又是书签。

方案2>  增加字段bookmark,preset…, 是书签 bookmark = 1, 是preset = 1,…,访问历史用visits > 0表示,每个类型都有一个字段与之对应。

 

        优缺点,方案一采用一个字段表示所有类型记录,字段数少,但每次曾删改查,都要有&和|的操作,增加logic复杂性,容易引入错误。

        方案二采用每种记录类型都有与之对应的一个字段,维护字段增多,但每次操作某一类型的数据时只关心与之相对应的字段,降低logic复杂性。

       

 

PyCharm是一个集成开发环境(IDE),主要用于Python开发,包括Web应用。如果你想在PyCharm中创建一个网页显示数据表,通常会涉及前后端分离的技术,例如HTML、CSS、JavaScript(可能配合如React或Vue.js)和Python后端(比如Flask或Django)。以下是基本步骤: 1. **设置项目结构**:在PyCharm中新建一个Web项目,包含前端资源文件夹(如static)用于存放HTML、CSS和JavaScript文件,以及后端文件夹。 2. **编写HTML模板**:在前端的`templates`文件夹下创建一个HTML文件,如`index.html`。在其中添加表格元素 `<table>`,并使用`data-*`属性或者AJAX请求来动态加载数据。 ```html <table> <thead> <tr> <!-- 表头列 --> </tr> </thead> <tbody id="data-table-body"> </tbody> </table> ``` 3. **编写后端视图函数**:如果你使用的是Flask,可以在`app.py`或其他后端文件中创建一个处理GET请求的函数,返回JSON格式的数据。如果是Django,则在views.py中创建视图并序列化数据到JSON。 4. **数据绑定**:在前端通过JavaScript(如jQuery或axios)发送GET请求到后端API,获取数据后填充到表格中。例如,使用JavaScript的`fetch`或`$.getJSON`: ```javascript $(document).ready(function() { $.getJSON('/api/data', function(data) { let tableBody = $('#data-table-body'); data.forEach(function(row) { tableBody.append('<tr>' + row.join('</td><td>') + '</tr>'); }); }); }); ``` 5. **部署**:配置好服务器环境(如Gunicorn for Flask或uWSGI for Django),将项目打包成生产环境的.wsgi或.asgi文件,并启动服务。 记得在项目的urls.py中配置路由,以便访问这些数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值