暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL数据库学习笔记:(一)基本概念介绍

编程思录 2018-09-22
562
点击上方蓝色字关注啃饼小记~

关系模型

关系数据库是以关系模型为基础的数据库,它由关系数据结构,关系操作集合,关系完整性约束三部分组成。

关系数据结构

关系:指我们常说的二维表;
元组 :对应表中的一行,一行即为一个元组;
属性 :对应表中的一列,一列即为一个属性;
主键 :表中的某个属性组,它可以唯一确定一个元组;
 :属性的取值范围;
分量 :元组中的一个属性值
关系模式: 对关系的描述,一般可表示为:关系名(属性1,属性2,。。。属性n)

关系操作集合

采用集合操作方式,操作对象和结果都是集合。

关系完整性约束

候选键(Candidate Key): 若关系数据中某一属性组的值能唯一标识一个元组,称该属性组为候选键;
主属性(Primary Attribute):若关系数据中一个属性是构成某一个候选键的属性集中的一个属性,称该属性为主属性;
主键(Primary Key): 若一个关系中有多个候选键,则选定一个为主键;
外键(Foreign Key): 如果一个属性是所在关系之外的另一关系的主键,则该属性就是它所在关系的外键。

域完整性约束:关系中属性的值应是域中的值(最基本最简单的约束);
实体完整性约束:关系中的主键不能为空值;
参照完整性约束: 关系的外键必须是另一个关系主键的有效值或是空值(外键可以没有值,但不允许是一个无效值);
用户定义完整约束: 由应用环境决定其约束条件。

关系模式

概念模式

主要出现在数据库中的每个关系的说明,包括对关系名、属性名和属性取值范围(类型)的说明。对应于关系数据库三级模式结构中的概念模式,对应于全体基本表。

外模式

由视图和部分基本表组成。

内模式

数据库的存储文件及其索引文件构成了关系数据库的内模式。

常用数据类型

数值型

INT:长整型,也可以写成INTEGER;
SMALLINT:短整型;
REAL:取决于机器精度的浮点数;
FLOAT(n):浮点数,精度至少为n位的数字。

字符型

CHAR(n):长度为n的定长字符串,n是字符串中字符的个数;
VACHAR(n):具有最大长度为n的变长字符串。

位串型

BIT(n):长度为n的二进制位串;
BIT VARYING(n):最大长度为n的变长二进制字符串。

日期型

DATE:日期,包含年,月,日,格式为:YYYY-MM-DD;
TIME:时间,包含一日的时分秒,格式为:HH:MM:SS。

运算符

比较运算符

=,!=(<>),<,<=,>,>=等;

谓词

IS NULL 和IS NOT NULL: 用于判断字符串的值是否是空值。
注意
:不能用"="来查找NULL的值。如果使用"=",则表示要查找的是字符"NULL",而不是NULL值。

BETWEEN AND 和NOT BETWEEN AND: 用于判断值是否在给定的两个值之间,包括边界值(与<>一样的功能)。

IN: 用于判断值是否属于指定的集合。

LIKE: 用来进行字符串的匹配,一般语法格式如下:[NOT]LIKE<匹配符>[ESCAPE<换码字符>]
这和其他编程语言中的正则表达式很像,下面简单介绍一下:
(1) <匹配符>中经常使用通配符%(百分号)和(下划线)来使用。
%代表任意长度(长度可能为0)的字符串,
代表任意单个字符串。
举个例子:A%B:表示以A开头,以B结尾的任意长度的字符串。A_B则表示的是以A开头,以B结尾的长度为3的任意字符串。
(2) 如果LIke后面的匹配符中不含有通配符,则可以用“=”(等号)运算符取代谓词like,用<>或!=(不等于)运算符取代谓词NOT LIKE.
(3)如果要查询的字符串本身就含有"%"或"_",则需要使用由ESCAPE指定的换码字符。

EXISTS 和NOT EXISTS :格式为EXISTS(子查询)。

逻辑运算符 :NOT , AND , OR .

语法规定与约定

语句格式约定符号

<>:其中的内容为必选项,表示实际语义,不能为空
[]:其中的内容为任选项
{}或|:必选其中的一项
[,..n]:表示前面的项可以重复多次使用

语法规定

一般语法规定:
SQL中,数据项(列项,表和视图)的分隔符为","
字符串常数的定界符用单引号"`"表示

SQL特殊语法规定:
SQL的关键词一般使用大写字母表示
SQL语句的结束符为";"
SQl采用格式化书写方式

注意
数据库不区分大小写,而且空白量的多少也不影响代码的运行,但最好是不影响阅读为宜。

写在后面

好了,关于SQL的一些概念我就写到这里了,这可能不是很全,但是都是重点内容呢。下一期的笔记,则就正式进入数据库的语法的学习了。

今天的分享就到这里了,如果你有任何不懂的问题,可以发信息或者留言喽。


长按识别二维码关注

THANK YOU

Design by Envse

最后修改时间:2019-12-16 10:20:11
文章转载自编程思录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论