数据库系统概论|第三章:关系数据库标准语言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模式,包含以下三个表,后续的代码创建以及编写均围绕这三张表展开。

相关推荐
liuxiaowei36 小时前
【绝版教程】新版MySQL DBA高级实战进阶班 MySQL8.0 姜承尧-腾讯数据库总监
数据库·mysql·dba
破碎的南瓜6 小时前
sqli--sql注入过关笔记(1,2,3,4,5,9)
数据库·笔记·sql
你想知道什么?7 小时前
线性回归-学习笔记
笔记·学习·线性回归
鱼毓屿御7 小时前
从「只会聊」到「边想边做」的跃迁
前端·学习·react.js
谙弆悕博士7 小时前
系统集成项目管理工程师教程(第3版)笔记——第17章:法律法规和标准规范
笔记·职场和发展·学习方法·业界资讯·软考·法律·法规
Csvn7 小时前
📊 SQL 入门 Day 10:递归 CTE — 破解无限层级查询的终极武器
后端·sql
吠品7 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
SelectDB8 小时前
Apache Doris Variant 动态 JSON 实战教程:从建表到跑通 100M Agent 日志查询
数据库
AOwhisky8 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
sg_knight8 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db