版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a19990412/article/details/82561190
简述
首先,关于数据库,我一不是大神,甚至于我是一个刚刚开始学习的菜鸟;二,我也不觉得,我不是什么生而知之者。
写这篇文章(甚至于这一系列文章),只是因为,作为数据库的一个菜鸟,我有点看不懂MySQL的document。我觉得可能是因为写那篇文章的大神高屋建瓴吧。
既然享受不了高山流水,那认认真真地感受这下里巴人吧。
只希望,自己每天总结一点,多学一点,就能对MySQL多理解一点。
希望同行者(或先行者)能多给建议,评论区欢迎讨论。
内容
这一篇,我只会讲定义,安装的话,我之前写好,放在了数据库分类中了。后面才会讲操作部分。可以看后面的教程。
MySQL是用一种支持SQL的语言(Structured Query Languages,结构化查询语言)。
比较值得注意的一点是,它是开源的。(免费这个词的魔力是有目共睹的)
数据库: 长期存放在计算机中的有组织,可共享的数据集合。
数据库管理系统(DBMS DataBase manage system): 数据库的数据是由另外的程序来管理的,这样的系统程序,就是数据库管理系统或者是数据库服务器。
DBMS提供了两种语言:
- DDL(Data Definition Language) 数据定义语言。可以对数据对象进行定义。
- DML(Data Maipulation Language)数据操纵语言。可以实现对数据库的一些基本的操作。
关系模型
具体有点类似于excel或者是pandas中的dataframe。
- 关系:对应着一张二维表
- 属性:每一列都是一种属性
- 元组:每一行都是一个元组
- 主码:是一种属性。但是可以唯一确定一个元组的。
- 域:属性的取值范围
主要操作:
- 查询
- 插入
- 删除
- 修改
这些操作必须要满足关系的完整性条件:
- 实体完整性:保证主码不为空。
- 参照完整性:我们常常希望保证在一个关系中给定属性集上的取值也在另一个关系的特定属性集的取值中出现。这种情况称为参照完整性(referential integrity)
- 用户自定义完整性
(这个地方我的理解不够,我后期会过来补充 2018/9/9)
关系数据库的三种结构:
- 单机结构(所有的(应用程序+DBMS)全在一个机器上)
- C/S结构(客户端访问远端服务器上的数据库)
- B/S结构(web服务器+服务器应用+DBMS在服务器上,远端通过网页来操作)