Mysql数据库的基本概念和架构
数据库
1、键:主键是表中的标志列。一个键可能由几列组成。
可以使用键作为表格之间的引用。

CustomerID是Customers表的主键,当它出现在其他表,例如Orders表中的时候就称它为外键。
2、模式
数据库整套表格的完整设计称为数据库的模式。
一个模式应该显示表格及表格的列、每个表的主键和外键。
一个模式并不会包含任何数据,但是我们可能希望在模式里使用示例数据来解析这些数据的含义。
例如:Customers(CustomerID, Name, Address, City)
Orders(OrderID, CustomerID, Amount, Date)
下划线的元素表示该元素是所在关系的主键,斜体元素是所在关系的外键。
3、关系
外键表示两个表格数据的关系。根据关系双方所含对象的多少,可以将这些关系分为一对一、一对多、多对多。
设计数据库
1、考虑建模的实际对象
要建模的每一种现实世界对象都需要有自己的表。
2、避免保存冗余数据
要避免3种情况的更新不规则:修改、插入和删除不规则。
3、使用原子列值
对每一行的每个属性只存储一个数据。下图Books Ordered不符

当两个对象存在多对多关系时,例如订单和书籍的关系,需要创建以下一个新表,Order_Items

4、选择有意义的键
应该确认所选择的键是唯一的。
5、避免多个空属性的设计
数据库里有许多空值是一件糟糕的事情。它极大的浪费空间,并且在统计列总量或对其他数值列应用计算函数时可能导致错误。
6、数据库表格类型
简单表:描述现实世界对象的简单表。这些表也可能包含其他简单对象的键,它们之间有一对一或一对多的关系。
关联表:描述两个现实世界对象的多对多关系。
web数据库架构

一个典型的Web数据库事务包含以下步骤:
(1)用户的Web浏览器发出HTTP请求,请求特定Web页面。例如,该用户可能以HTML表单的形式,要求搜索书店里所有由Thomson编写的图书。搜索结果网页称为result.php。
(2)Web服务器收到result.php的请求,获取该文件,并将它传到php引擎,要求它处理。
(3)php引擎开始解析脚本。脚本中有一条连接数据库的命令,还有执行一个查询(执行搜索图书)的命令。php打开通向Mysql数据库的连接,发送适当的查询。
(4)Mysql服务器接受数据库查询并处理。将结果(一个图书的列表)返回到php引擎。
(5)php引擎完成脚本运行,通常,这包括将查询结果格式化成HTML格式。然后再将输出的HTML返回到Web服务器。
(6)Web服务器将HTML发送到浏览器。这样用户就可以看到他所搜索的图书。



Mysql数据库的基本概念和架构的更多相关文章
- [转]MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验
本文转自:http://liangweilinux.blog.51cto.com/8340258/1728131 年,嘿,废话不多说,下面开启MySQL优化之旅! 我们究竟应该如何对MySQL数据库进 ...
- MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验
原文地址:http://liangweilinux.blog.51cto.com/8340258/1728131 首先在此感谢下我的老师年一线实战经验,我当然不能和我的老师平起平坐,得到老师三分之一的 ...
- MySQL数据库分区的概念与2大好处(1)
我们大家都知道通过MySQL数据库分区(Partition)可以提升MySQL数据库的性能,那么到底什么是MySQL数据库分区呢?以及其实际应用的好处的表现有哪些呢?以下的文章就是对这些内容的描述. ...
- MySQL——数据库和 SQL 概念&&MySQL的安装
数据库和 SQL 概念 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变得无处不在:它在电子商务.银行系统等众多领域都 ...
- MySQL数据库1 - 基本概念及安装
一.数据管理技术的产生和发展: 1.人工管理阶段 - 效率低,成本高(文字) 2.文件系统阶段 - 易于存储,处理速度快,数据形式丰富(文字,声音,图片...磁带,磁盘) 3.数据库系统阶段 - 易于 ...
- MySql数据库1【概念】
[mysql] mysql是目前最主流的跨平台.开放源代码的关系型数据库,由瑞曲的mysql ab公司开发,已经被SUN公司收购,标识是一只名为sakila的海豚,代表mysql的速度.能力.精确优秀 ...
- (转载)MySQL数据库的几种常见高可用方案
转自: https://yq.aliyun.com/articles/74454 随着人们对数据一致性的要求不断的提高,越来越多的方法被尝试用来解决分布式数据一致性的问题,如MySQL自身的优化. ...
- 创建MySQL数据库和表(一)
一.启动MySQL服务 1.在Windows操作系统的“服务”中启动,找到你安装MySQL的起的服务名称,我本机服务名的是MySQL. 2.在命令行中用命令启动: A.启动MySQL服务:net st ...
- 关于Mysql数据库的知识总结
2017年6月8日,天气阴.心情晴. 连续做梦两个晚上了,昨晚竟然梦见一个很长时间不联系的初中同学了,早上上班的路上聊了聊.女孩现在出差在贵州,风景秀美的地方.我说“你现在生活很滋润”.女孩说“那是你 ...
随机推荐
- 窥探Swift编程之错误处理与异常抛出
在Swift 2.0版本中,Swift语言对其错误处理进行了新的设计,当然了,重新设计后的结果使得该错误处理系统用起来更爽.今天博客的主题就是系统的搞一下Swift中的错误处理,以及看一下Swift中 ...
- Objective-C中把URL请求的参数转换为字典
上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字 ...
- tomcat:there is no resources that can be added or removed from server
原因: 1.不是web project 解决方式:project-->property--project facet 新建或者修改 2. 版本不兼容 升级tomcat版本
- Opencv VideoCapture实时捕捉摄像头信息
#include "opencv2/highgui/highgui.hpp" #include <iostream> using namespace cv; using ...
- js构建ui的统一异常处理方案(四)
上一篇我们介绍了统一异常处理方案的设计方案,这一篇我们将直接做一个小例子,验证我们的设计方案. 例子是一个todo的列表界面(页面代码参考于https://github.com/zongxiao/Dj ...
- 关于dijkstra算法的一点理解
最近在准备ccf,各种补算法,图的算法基本差不多看了一遍.今天看的是Dijkstra算法,这个算法有点难理解,如果不深入想的话想要搞明白还是不容易的.弄了一个晚自习,先看书大致明白了原理,就根据书上的 ...
- HTML元素坐标定位,这些知识点得掌握
文档坐标和视口坐标 视口坐标是相对于窗口的坐标,而文档坐标是相对于整个文档而言.例如,在文档坐标中如果一个元素的相对于文档的Y坐标是200px,并且用户已经把浏览器向下滚动了75px,那么视口坐标中元 ...
- Cocos2dx实现光影效果的两种方式
Shader 和 RenderTexture 先贴上两张效果图 (Shader) (RenderTexture) 说一下实现的原因,因为项目中需要夜景,光影的效果.最初想到使用Shader来实现.实现 ...
- javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)
类似于幻灯片的切换效果,有时需要在网页中完成一些图片的自动切换效果,比如广告,宣传,产品介绍之类的,那么单纯的切就没意思了,需要在切换的时候通过一些效果使得切换生动些. 比较常用之一的就是窗帘切换了. ...
- Z.ExtensionMethods 一个强大的开源扩展库
今天有意的在博客园里面搜索了一下 Z.ExtensionMethods 这个扩展类库,确发现只搜到跟这个真正相关的才两篇博文而已,我都点进去看了一下,也都只是提到而已,没有专门介绍,才引起我写这篇文档 ...