标签:
从转行做软件始,就开始接触sql,但还是不怎么深入,回忆3月份找工作的时候,左关联都没有写出来,真是丢脸,以此博客做个认真的开始。
以后的日子,遇到了圆柱体的空心物体,我就应该联想到一样东西,那就是数据库。数据库这个东西就是放数据的仓库。那么什么又是数据呢?数据就是人们对客观事物的描述,就可是数据。如树有高度,有多少片树叶,有绿色等等,这些就算是数据。
计算机时代的到来,让人们不再将数据存放在诸如纸质的资料里,而是存放在存储器里面。如何快速的存取我们得数据呢?人们就设计了一个管理系统,来管理数据的存储和取出。好了,这个系统,就是数据库管理系统。那么现在经常听说的关系型数据库管理系统就是这个了。
关系型数据库里的最简单的存储单元就是表。表与表之间又存在着“关系”。这也是关系型数据库名称的来源。这里我们就好奇了,这个关系是什么呢?关系就是关联,可以这样想,一个表可以通过某种关联找到另一个表里的数据。这个就算是关联。
现在我们进入到表的里面去看看,表的结构是怎么样的?表有行和列之分。行被称为记录。表的列是字段。行与行之间可以通过主键来区分唯一性。对于某一个单元格里放的内容呢,那就要涉及到了这个单元格所处的列了,这个列规定了限制了这个列所有的单元格都要遵守的规范,也就是数据类型,如这列的单元格里面,只能存放字符串,或是只能存放数值类型的等等。按照国际上对关系型数据库的约定的话,各个数据库厂商生产做出来的数据库都应该包含字符串、数值、日期时间类型的数据类型。按我自己的思路我总结了下,就是3+2+1+0。什么意思呢?
1、“3”就是字符串类型、数值类型、日期时间类型。字符串类型又根据长度是否可变分为可变字符串和定长字符串。可变字符串如果变得很大的话,又一种专有的名词来定义,就是大对象类型,如BOLB或TEXT数据类型,前者是二进制字符串,后者如文本的字符串。还有个叫做直义字符串,如“hello”。数值类型呢,就如整数,小数,浮点数。日期时间类型就不用说了。
2、“2”就是null类型和bool类型。
3、“1”就是数据库支持的自定义类型。
4、“0”像个圈,圈就类似区域。故我用”0“来指代数据库里特有的一个名词”域“。域就是某个字段或说某个列能后使用的数据类型的集合,域往往又和约束一起使用,当你去引用一个被约束作用的域后,就可以更加精确的限制某个列能够存储的数据类型。
好了,我们现在对数据库的基本的结构在脑海里有个大致的样子了,就是一个圆柱体里,或者就是某个化工厂里的一个罐罐。哈哈。这里面放了很多二维表,这些表里存放了很多来自客观世界的描述。现在在远处的人们,怎么才能与这个罐罐进行交互呢,用它来存取数据呢?这就要用到一个语言,一个用于人们的客户端与数据库之间进行通信的语言,这个语言就是sql语言。有了这个语言,在远处的某个人,如张三,他想对那个罐罐里的某个表的数据进行查看,他就可以发送一个sql语句到那个罐罐去,那个罐罐接收并处理了那个语句后,如果有数据结果,就会返回出来并发送到张三那去。这个过程就是sql会话。张三能说的话有哪几类能被罐罐数据库理解呢?有如下:
A.数据定义语言DDL。就是定义如表的大致框框如字段是什么,字段的类型是什么,表名是什么等等,这时,这个表只有框架,单元格里并没有存放数据,也就是说记录数是0。
B.数据操作语言DML。就是往数据库里插入、修改、删除记录的操作语言。
C.数据查询语言DQL。就是不操作,仅仅查看。
D.数据控制语言DCL。这是有关于权限的语言。能限制哪些用户能看到哪些数据。
E.数据管理命令。
F.事务控制命令。
具体内容,下回分解。
今日到此为止,晚安!!!
标签:
原文地址:http://www.cnblogs.com/ydhk/p/5456868.html