设计WEB数据库(学习)
设计WEB数据库
1.考虑建模的实际对象
为现实世界的实体和关系建立模型
在上面情况下考虑建表呢?
答:如果有一组属于同一类型的数据,就可以根据这些数据创建表
2.避免保存冗余数据
原因:a.空间的浪费,明明只需要保存一次,外键调用就可以了,却实际录入多次
b.导致数据更新不一致,修改不规则,多出修改,录入不规则,删除不规则,如订单地址,删除以后,要调用需要,需要重新录入
3.使用原子列值
每一行的每一列只存储一个数据
4.选择有意义的键
5.考虑需要询问数据库的问题
希望数据库的设计能回答我们关心的问题
6.避免多个空属性设计
a.多添加一列,可能有空的数据 不好的地方是 1.浪费空间 2.当用户看到的时候,用户不确定是属性无关还是数据库出错,还是尚未数据输入
b.单独创建一个表,有数据的就出现在表里, 例如书的评价,不是每一本书都有书的评价,为了避免空属性,可以对有评价的书本,单独创建一个表。
7.表格类型总结
a.一对一,一对多,可放在一张表
b.多对多,为了描述关系创建一张新表
8.WEB数据架构

设计WEB数据库(学习)的更多相关文章
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
- web前端学习就这9个阶段,你属于哪个阶段?
第一阶段:HTML+CSS: HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. JavaScript基础:Js基础教程.js内置对象常用方法.常见DOM树操作大全.ECMAsc ...
- Web安全学习计划
http://cisps.org/bbs/viewtopic.php?f=71&t=26125 标题为Web安全学习计划,实属我的愿望:将下面这份Web学习清单完善成为一个Web安全,学习计划 ...
- MYSQL数据库学习笔记1
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
- Web前端学习攻略
HTML+CSS: HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. JavaScript基础: Js基础教程.js内置对象常用方法.常见DOM树操作大全.ECMAscript ...
- Web安全学习笔记 XSS上
Web安全学习笔记 XSS上 繁枝插云欣 --ICML8 XSS的分类和基本认识 XSS的危害 同源策略的基本认识 一.XSS的分类和基本认识 1. 简介 XSS全称为Cross Site Scrip ...
- 每天成长一点---WEB前端学习入门笔记
WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...
- 关于SQL SERVER数据库学习总结
对于SQL SERFVER数据库也学了有一阵子了,自己也对自己所学做了一些总结. 我们首先学习数据库设计的一些知识点和用SQL语句建库. 设计数据库步骤:需求分析阶段,概要设计阶段,详细设计阶段, 建 ...
- 【前端】移动端Web开发学习笔记【2】 & flex布局
上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...
随机推荐
- Ansible 小手册系列 十七(特性模块)
异步操作和轮询 --- # Requires ansible 1.8+ - name: 'YUM - fire and forget task' yum: name=docker-io state=i ...
- lspci能看到ifconfig -a看不到网卡
随着宽带技术的快速发展,服务器使用万兆网卡的概率越来越高.最近装了几台服务器都用的万兆网卡,为了图便宜,网卡和模块都是淘宝上买的,这部还真遇到不少问题. 我的服务器都是centos6.4 64位的,网 ...
- 【hive】子查询
hive中是不支持子查询的 但是并不意味这不支持in 或者 not in in 或者not in 后边是定值的话是支持的 但是接定制是可以的 例如 select id from table not i ...
- js 可拉伸表格
table <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...
- 【QT】QML的Mouse事件(MouseArea)详解
https://blog.csdn.net/ieearth/article/details/42082837
- 第8课:异常处理、面向对象编程、发送邮件、url编码
1. 异常处理 import traceback import pymysql import requests def calc(a, b): res = a / b return res def m ...
- 了解jmeter
JMeter是Apache组织的开放源代码项目,100%的用java实现应用.用于压力测试和性能测试.它最初被设计用于Web应用测试但后来扩展到其它测试领域. jmeter和loadrunner的对比 ...
- c++下使用命名管道实现进程间通信
前面已经使用邮槽实现过进程间通信:http://www.cnblogs.com/jzincnblogs/p/5192654.html ,这里使用命名管道实现进程间通信. 与邮槽不同的是,命名管道在进程 ...
- TreeSet实现原理及源码分析
类似于HashMap和HashSet之间的关系,HashSet底层依赖于HashMap实现,TreeSet底层则采用一个NavigableMap来保存TreeSet集合的元素.但实际上,由于Navig ...
- EasyDSS RTMP流媒体服务器videojs flash播放RTMP/HLS提示错误的解决方案
本文转自EasyDSS团队成员StarIT的博客:http://blog.csdn.net/staritstarit/article/details/73692715 问题 在博客<EasyDS ...