数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记1

前言

结构化查询语言(SQL)是关系数据库的标准语言 ,其功能包括数据库模式创建、数据库数据的插入与修改、数据库数据的查询、数据库安全性定义与控制等诸多功能。第三章详细介绍了SQL的基本功能,本文将前瞻性的介绍一些相关概念,后续文章将给出完整的示例代码,以供参考。

一、SQL特点

SQL是一个综合的功能极强同时又简洁易学的语言,SQL集数据查询、数据操纵、数据定义和数据控制功能于一体,其主要特点如下:

1.综合统一

  • 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体。
  • 可以独立完成数据库生命周期中的全部活动。
  • 用户数据库投入运行后,可根据需要随时逐步修改模式,不影响数据的运行。
  • 数据操作符统一。

2.高度非过程化

  • 非关系数据模型的数据操纵语言"面向过程",必须制定存取路径。
  • SQL只要提出"做什么",无须了解存取路径。
  • 存取路径的选择以及SQL的操作过程由系统自动完成。

3.面向集合的操作方式

  • 非关系数据模型采用面向记录 的操作方式,操作对象是一条记录。操作起来较为复杂繁琐,每次查询耗时耗力。
  • SQL采用集合操作 方式,即操作对象、查找结果可以是元组的集合 ,一次插入、删除、更新操作的对象可以是元组的集合

4.以同一种语法结构提供多种使用方法

  • SQL是独立的语言,能够独立地用于联机交互的使用方式。
  • SQL又是嵌入式语言,SQL能够嵌入到高级语言(例如C,C++,Java)程序中,供程序员设计程序时使用。

5.语言简洁,易学易用

  • SQL功能极强,但由于设计巧妙,语言十分简洁,完成核心功能只用了9 个动词

二、SQL的基本概念

支持SQL的关系数据库管理系统同样支持关系数据库三级模式结构。结构示意图如下:

基本表------模式【一个确切的关系用基本表的形式进行呈现】

本身独立存在的表,SQL中一个关系就对应一个基本表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引。

存储文件------内模式【如何存储,在计算机中的存储方法】

逻辑结构组成了关系数据库的内模式。物理结构是任意的,对用户透明。

视图------外模式【虚表,导出的结果呈现表】

从一个或几个基本表导出的表。数据库中只存放视图的定义而不存放视图对应的数据,视图是一个虚表,用户可以在视图上再定义视图。

++简单理解,其实每一个具体的关系就是一张基本表 ,即一种模式 ;而这张基本表在计算机的存储 ,即为它的内模式 ,便体现着如何存储;对于这一个关系进行某些操作之后(查询、投影等)形成的新的导出表便为视图 (这是虚构的表++

三、具体模式实例

为方便后续代码编写,本文在此引入学生-课程S-T模式,包含以下三个表,后续的代码创建以及编写均围绕这三张表展开。

相关推荐
wyiyiyi2 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
CCCC13101632 小时前
嵌入式学习(day 28)线程
jvm·学习
天宇_任2 小时前
Mysql数据库迁移到GaussDB注意事项
数据库·mysql·gaussdb
星星火柴9363 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头3 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
艾莉丝努力练剑4 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
武昌库里写JAVA5 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
xiep14383335105 小时前
Ubuntu 安装带证书的 etcd 集群
数据库·etcd
Cx330❀5 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
杜子不疼.5 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习