SQL概述

SQL是结构化查询语言,是关系数据库的标准语言(通用的、功能极强的关系数据库语言)

SQL的特点:

1.管理统一
2.高度非过程化
3.灵活的使用方式(是独立的语言,又是嵌入式的语言)
4.面向集合
5.简洁、通用、功能强

SQL的基本组成

  • 模式对应于基本表
  • 内模式对应存储文件
  • 外模式对应的视图
    一张图看懂数据库的三级模式机构


    数据库三级结构

SQL语句分类

1)数据定义语言
2)数据操纵语言
3)数据控制语言

SQL数据类型

1)预定义数据类型
2)构造数据类型
3)自定义数据类型
SQL中域的概念用数据类型来实现,定义表的属性时需要指明其数据类型及长度。

SQL数据库定义功能

1)模式定义
2)表定义
3)视图和索引的定义

那么接下来就来了解一下以上提到的数据库设计模式,深入理解一下数据库。
现代关系数据库管理系统提供了一个层次化的数据库对象命名机制。

  • 一个关系数据库管理系统的实例(Instance)中可以建立多个数据库
  • 一个数据库中可以建立多个模式
  • 一个模式下通常包括多个表、视图和索引等数据库对象


    数据库层次化命名

一、模式

1.定义

一个SQL模式定义了一个存储空间(命名空间),是所属基本表、视图的集合。再该存储空间的数据库对象全体,构成该模式对应的SQL数据库。
在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。
模式定义语句的语法格式:
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>[<表定义子句>|<视
图定义子句>|<授权定义子句>……](DBA)

image.png

模式中定义一个表

2.删除模式

DROP SCHEMA <模式名><CASCADE|RESTRICT>


image.png

没有指定删除方式,默认删除方式是RESTRICT

3.表的建立(框架、数据字典)

CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ]

[,<表级完整性约束条件> ] );
<表名>:所要定义的基本表的名字
<列名>:组成该表的各个属性(列)
<列级完整性约束条件>:涉及相应属性列的完整性约束条件
<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。


image.png

image.png

image.png
4.表的扩充和修改

其语法格式为:
ALTER TABLE <表名>
[ADD [COLUMN] <新列名><数据类型> [完整性约束条件]
[DROP [COLUMN]<列名>[RESTRICT |CASCADE ]
[ALTER COLUMN<列名><数据类型>
要修改的基本表由<表名>指定。


在现存表中增加新列

删除已存在的某个列

修改原有列的类型
5.表的删除

其一般格式为:
DROP TABLE < 表名 >[RESTRICT|CACSADE]


image.png

二、索引的建立和删除

建立索引的目的:加快查询速度
关系数据库管理系统中常见索引:

  • 顺序文件上的索引
  • B+树索引
  • 散列(hash)索引(只适合等值查询(包括= <> 和in),不适合模糊或范围查询)
  • 位图索引
    特点:
  • B+树索引具有动态平衡的优点
  • HASH索引具有查找速度快的特点
1.索引的作用

⑴使用索引可以明显地加快数据查询的速度
(2)使用索引可保证数据的唯一性
索引的定义中包括定义数据唯一性的内容
(3)使用索引可以加快连接速度
在连接文件的连接字段上建有索引

2.建立索引的原则

(1)索引的建立和维护由DBA和DBMS完成
索引由数据库管理员DBA或表的属主(Owner)负责建立和删除;索引由系统自动选择和维护
(2)大表应当建索引,小表则不必建索引
(3)对于一个基本表,不要建立过多的索引

3.创建索引

语句格式
CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名>(<列名1>[<次序>][,<列名2>[<次序>] ]…);

image.png

4.删除索引

格式为:
DROP INDEX [ON<表名>] <索引名>
该命令删除<索引名>指定的索引
[ON<表名>] 是任选项,可以确认该索引是否是这张表的索引


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容