数据库

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数据库的基本概念和架构的更多相关文章

  1. [转]MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

    本文转自:http://liangweilinux.blog.51cto.com/8340258/1728131 年,嘿,废话不多说,下面开启MySQL优化之旅! 我们究竟应该如何对MySQL数据库进 ...

  2. MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

    原文地址:http://liangweilinux.blog.51cto.com/8340258/1728131 首先在此感谢下我的老师年一线实战经验,我当然不能和我的老师平起平坐,得到老师三分之一的 ...

  3. MySQL数据库分区的概念与2大好处(1)

    我们大家都知道通过MySQL数据库分区(Partition)可以提升MySQL数据库的性能,那么到底什么是MySQL数据库分区呢?以及其实际应用的好处的表现有哪些呢?以下的文章就是对这些内容的描述. ...

  4. MySQL——数据库和 SQL 概念&&MySQL的安装

    数据库和 SQL 概念 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变得无处不在:它在电子商务.银行系统等众多领域都 ...

  5. MySQL数据库1 - 基本概念及安装

    一.数据管理技术的产生和发展: 1.人工管理阶段 - 效率低,成本高(文字) 2.文件系统阶段 - 易于存储,处理速度快,数据形式丰富(文字,声音,图片...磁带,磁盘) 3.数据库系统阶段 - 易于 ...

  6. MySql数据库1【概念】

    [mysql] mysql是目前最主流的跨平台.开放源代码的关系型数据库,由瑞曲的mysql ab公司开发,已经被SUN公司收购,标识是一只名为sakila的海豚,代表mysql的速度.能力.精确优秀 ...

  7. (转载)MySQL数据库的几种常见高可用方案

    转自: https://yq.aliyun.com/articles/74454   随着人们对数据一致性的要求不断的提高,越来越多的方法被尝试用来解决分布式数据一致性的问题,如MySQL自身的优化. ...

  8. 创建MySQL数据库和表(一)

    一.启动MySQL服务 1.在Windows操作系统的“服务”中启动,找到你安装MySQL的起的服务名称,我本机服务名的是MySQL. 2.在命令行中用命令启动: A.启动MySQL服务:net st ...

  9. 关于Mysql数据库的知识总结

    2017年6月8日,天气阴.心情晴. 连续做梦两个晚上了,昨晚竟然梦见一个很长时间不联系的初中同学了,早上上班的路上聊了聊.女孩现在出差在贵州,风景秀美的地方.我说“你现在生活很滋润”.女孩说“那是你 ...

随机推荐

  1. T-SQL:毕业生出门需知系列(二)

    第2课 检索数据 2.1 SELECT 语句 用途:从一个或多个表中检索数据信息 关键字:作为SQL组成部分的保留字.关键字不能用作表或列的名字. 为了使用SELECT检索表数据,必须至少给出两条信息 ...

  2. HTML中哪些标签的值会被提交到服务器呢?

    <form> <input name="">标签 <select name="">标签 <textarea name= ...

  3. 用PHP抓取页面并分析

    在做抓取前,记得把php.ini中的max_execution_time设置的大点,不然会报错的.

  4. Java基础--反射机制的知识点梳理

    什么是反射? 正常编译执行java文件时,会生成一个.class文件,反射就是一个反编译的过程,它可以通过.class文件得到一个java对象.一个类会有很多组成部分,比如成员变量,成员方法,构造方法 ...

  5. WebLogic12.1.1中跨域问题的探讨以及几种常见中间件中跨域问题的解决方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.问题描述 扬州现场中最开始安装了中间件WebLogic12.1.1 ...

  6. Java多线程学习笔记

    进程:正在执行中的程序,其实是应用程序在内存中运行的那片空间.(只负责空间分配) 线程:进程中的一个执行单元,负责进程汇总的程序的运行,一个进程当中至少要有一个线程. 多线程:一个进程中时可以有多个线 ...

  7. jquery.uploadify上传文件配置详解(asp.net mvc)

    页面源码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...

  8. C#知识点-委托

    一.什么是委托 委托和类一样,是一种用户自定义类型: 类表示的是数据和方法的集合,而委托则持有一个或多个方法: 二.委托的使用 1.声明委托类型 委托是类型,与类一样,委托类型必须在被用来创建变量以及 ...

  9. [译]Godot系列教程二 - 场景实例化(Instancing)

    场景实例化(Instancing) 原理阐述 创建一个场景并将节点扔到里面对于小项目是适用的,但随着项目不断发展,用到越来越多的节点,整个项目很快就会演化成难以管理的状态. 为了解决这个问题,Godo ...

  10. hdu-2063-二分图最大匹配

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...