首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

关系模型

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

关系数据结构

关系:指我们常说的二维表;

元组:对应表中的一行,一行即为一个元组;

属性:对应表中的一列,一列即为一个属性;

主键:表中的某个属性组,它可以唯一确定一个元组;

域:属性的取值范围;

分量:元组中的一个属性值

关系模式: 对关系的描述,一般可表示为:关系名(属性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 .

语法规定与约定

语句格式约定符号

语法规定

一般语法规定:

SQL中,数据项(列项,表和视图)的分隔符为","

字符串常数的定界符用单引号"`"表示

SQL特殊语法规定:

SQL的关键词一般使用大写字母表示

SQL语句的结束符为";"

SQl采用格式化书写方式

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

写在后面

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180922G1OB2I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券