MySQL读书笔记-1

MySQL核心技术与最佳实践-孔祥盛

---------Capital 1---------

数据库是存储,管理数据的容器。
该容器包含诸多数据库对象,例如:表,视图,索引,函数,存储过程,触发器,事件等。

用户如很能够访问到该容器中的数据库对象呢?
-> 答:通过数据库管理系统(DBMS= Databse Managementsystem),用户可以实现对对象们的增删改查。
DBMS通常会选择某种“数学模型”来管理DB,常见的有:
层次模型,
网状模型,
关系模型,
面向对象模型。
其中关系模型最受欢迎,对应的管理系统被称为RDBMS=Ralational Databse Managementsystem.

°°关系数据库管理系统/RDBMS

知名的有德国SAP的Sybase,美国甲骨文的Oracle,MySQL,还有被集成在用户程序中的SQLite。

所谓“关系”,实质上是一张二维表(Table,也被称为数据表,表)。一个DB常包含多个二维表。表中列(字段)都由一个列名进行标记;行即纪录。乍一看和电子表格(如Excel)很想,但不同的是,DB Table的字段名不能重复,且每一列都必须制定某种数据类型。

°°SQL

SQL=Structured Query Language结构化查询语言,是应用最广的关系数据库语言。

不同的管理系统会有基于SQL,但稍作修改,只能自己用的SQL扩展语句,为了方便区分,把标准的称为“SQL语句”,扩展部分称为“MySQL命令”或者“SQLite命令”。(拿SQLite来说,SQLite遵守ACID,实现了大多数SQL标准。它使用动态的、弱类型的SQL语法。)

对于上面问题的优化/解决方法:
遵守一定的SQL编码规范,例如:
1. 命名规范:
使用用英文语义;
常用驼峰标记法(第一个单词首字母小写,其余单词首字母大写)或者下划线分割法(所有字母小写,间隔用表示)
避免在名字中出现关键字(table,database等)
2. 注释:
MySQL单行注释以#或者两个短划线加上一个空格(“
_ ”)开始;
多行注释为/* ... */
3. 其他:
关键字不区分大小(database=DATABASE);
表名等变量区分大小

°°ER图

ER=Entity-Relationship Diagram。
关系数据库的设计从ER图的设计开始。ER图集可以表示现实世界中的事物,又可以表示事物之间的关系,它描述了软件系统的数据存储需求。其中E表示实体,R表示关系,ER图由实体-属性-关系3要素构成!
要素1: 实体/Entity:
用于表示现实世界具有相同属性的事物的集合,而不是某一具体事物。如图,用矩形表示,每个实体由唯一的实体名标识。
数据库开发中,每个实体对应一个数据表/Table。
要素2: 属性/Attribute:
用于表示实体的某种特征,也可以使用属性表示实体之间关系的特征。如图,属性都写在实体矩形的内部,每个属性由唯一的属性名标识。

实体/Entity与属性

⚠ 注意:ER图中,属性应该是一个不可再分的最小单元!如果属性能够再分,则(1)可以考虑分开成多个属性,则(2)可以考虑将属性“升级”为另一个实体。
例如:属性“联系方式”可分为电话,Email,QQ,则
(1)将“联系方式”拆分为三个属性“电话”,“Email”和“QQ”
(2)将“联系方式”升级为实体,该实体有“电话”,“Email”和“QQ”三个属性

要素3: 关系/Relationship:用于表示实体间存在的联系。在ER图中用一条线段表示。
⚠ 注意:这种关系是双向的。例如班级实体与学生实体之间的双向关系中,(1)一个班级包含n个学生和(2)一个学生只能属于一个班级,这两个“单向”的关系组成了这条“双向”的联系。 -> 这点很重要,因为有时候从另一个方向纪录关系会容易得多。
->->在ER图中,实体间关系有这3个重要概念:基数,元,关联 ->->
** 1)基数/Cardinality/Kardinalität:**
表示一个实体到另一个实体之间关联的数目。是针对关系之间的某个方向提出的概念。可以是取值范围/具体数值。
-> 当基数min=1时,表示强制关系/mandatory,对应于非空约束/Not Null Constraint
-> 当基数min=0时,表示可选关系/optional

基数(强制关系和可选关系) 注意:两者表达方式不同!!

-> 从基数的角度,可以将关系分为一对一(1:1),一对多(1:m),多对多(n:m)

2)元/set-theoretic:
表示关系所关联的实体个数,上面所提到的每个关系都是二元关系/Binary relation。有些实体可能存在一元关系/回归关系,或者多元关系(例如三元关系/ternary relation)

3)关联/association:
一元关系:例如人与人之间的“夫妻关系”。假设现在要加上“登记时间”这个属性,就要用到关联/association。如图

关联在一元关系中的应用

多元关系:直接贴图如下


关联在多元关系中的应用

ER图 设计原则:一事一物
a)属性应该存在且只属于某一个地方
b)实体作为一个独立的个体,不能存在于另一个实体中作为属性出现
c)在一张ER图中,一个实体最好只出现一次

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容