(数据库系统概论|王珊)第三章关系数据库标准语言SQL-第一节:SQL概述

article/2025/9/26 13:00:29
  • pdf下载:密码7281
  • 专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解

文章目录

  • 一:SQL的产生与发展
  • 二:SQL特点
    • (1)综合统一
    • (2)高度非过程化
    • (3)面向集合的操作方式
    • (4)以同一种语法结构提供多种使用方式
    • (5) 语言简洁,易学易用
  • 三:SQL的基本概念
  • 四:基本数据类型
    • (1)数值类型
    • (2)日期和时间类型
    • (3)字符串类型

结构化查询语言( Structured Query Language, SQL) 是关系数据库的标准语言,也是一个通用的、功能极强的关系数据库语言。其功能不仅仅是查询,而是包括数据库模式创建、数据库数据的插入与修改、数据库安全性完整性定义与控制等一系列功能

一:SQL的产生与发展

此部分没什么考点,但可以做一定了解

  • 这一篇文章大家有时间可以看看,真可谓天妒英才(点击跳转)

请添加图片描述
不过需要注意以下几点

  • 目前,没有任何一个数据库系统能够支持SQL标准的所有概念和特性
  • 许多软件厂商对SQL基本命令集还进行了不同程度的扩充和修改
  • 我们介绍的是SQL的基本概念和基本功能,并不是针对某个厂商,具体实现起来可能有所差异,所以还需要大家查阅相关手册
  • 为了演示,我们使用的是MYSQL,具体安装细节,请见(数据库系统概论|王珊)第三章关系数据库标准语言SQL-第零节:MYSQL环境安装和表的建立以及一些注意事项
    在这里插入图片描述

二:SQL特点

SQL集数据查询(dataquery)数据操纵(datamanipulation)数据定义(data definition)数据控制(data control) 功能于一体, 其主要特点包括以下几部分

(1)综合统一

SQL集数据定义语言、数据操纵语言、数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括以下一系列操作要求

  • 定义和修改、删除关系模式,定义和删除视图,插入数据,建立数据库
  • 对数据库中的数据进行查询和更新
  • 数据库重构和维护
  • 数据库安全性、完整性控制,以及事务控制
  • 嵌入式SQL和动态SQL定义

(2)高度非过程化

用SQL进行数据操作时,只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径。存取路径的选择以及SQL的操作过程由系统自动完成

(3)面向集合的操作方式

SQL采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合

(4)以同一种语法结构提供多种使用方式

SQL可作为独立语言:SQL既是独立的语言,又是嵌入式语言。作为独立的语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作

SQL可作为嵌入式语言:SQL语句可以嵌入到高级语言(例如C++、Java等)程序中,供程序员设计程序时使用

而且在这两种不同的使用方式下,其语法结构仍然基本是一致的

(5) 语言简洁,易学易用

SQL功能极强,但由于设计巧妙,语言十分简洁,完成核心功能只用了9个动词(下表)。SQL接近英语口语,因此易于学习和使用
在这里插入图片描述

三:SQL的基本概念

支持SQL的关系数据库管理系统(例如MYSQL)当然支持关系数据库三级模式结构

  • 外模式:包括若干视图(view)和部分基本表(base table)
  • 内模式:包括若干存储文件(stored file)

在这里插入图片描述

注意基本表和视图

  • 基本表:基本表就是本身独立存在的表,在关系数据库管理系统中一个关系就对应了一个基本表,一个或多个基本表对应一个存储文件。一个表可以带若干索引,索引可以存放在存储文件中
  • 视图:从一个或几个基本表中导出的表,它本身不独立存储在数据库中,也即数据库中只存放视图的定义而不存放视图对应的数据,视图是一个虚表

四:基本数据类型

学习任何一门高级语言,必定会首先学习它的数据类型,例如intchar等。SQL也是如此,其常用数据类型如下

  • 注意:不需要刻意记忆,常用的也就那么几个,用着用着就熟悉了,这里展示的目的只是做查询手册用
  • 常用数据类型已用黑体标出

(1)数值类型

在这里插入图片描述

(2)日期和时间类型

在这里插入图片描述

(3)字符串类型

![在这里插入图片描述


http://chatgpt.dhexx.cn/article/mYj5kM8w.shtml

相关文章

第三章 关系数据库标准语言 SQL

第三章 关系数据库标准语言 SQL 文章目录 第三章 关系数据库标准语言 SQL3.1 SQL 概述3.1.1 SQL 的特点 3.2 学生-课程数据库3.3 数据定义3.3.2 基本表的创建、删除与修改1. 基本表的创建2. 数据类型3. 插入数据4. 修改数据(1) 修改某一个元组的值(2) 修…

(九)密度聚类、层次聚类和轮廓系数[机器学习代码实现]

机器学习课程总结,本系列文章以代码和注释为主。 理论部分搬至博客上比较耗费时间,所以缺少理论部分。但是也欢迎大家一起探讨学习。 如果需要理论部分的讲义,可私信(个人觉的讲的很好很全)。 文章目录 问题需…

Oracle 数据库中的 索引、约束、视图

约束:就是指对插入数据的各种限制,约束既可在建表的时候直接声明,也可以为已经建好的表添加约束。 视图:就是一个封装了各种复杂查询的语句,就称之为视图。 索引:是一种用于提升查询效率的数据库对象。通过…

数据库原理与应用(SQL)——2、关系数据库(E-R图、关系模式、关系运算、关系代数)

目录 关系 关系运算 元组、域关系演算表达式 题目 关系代数表达式——例 元组演算表达式——例 域演算表达式——例 关系数据库是以二维表形式组织数据,应用数学方法处理数据库组织的方法。目前关系数据库系统在数据管理中已占据了主导地位。 关系 关系&…

Oracle约束 SQL语句分类 集合运算 索引 相关知识点讲解

ORACLE 约束: 数据库用来确保数据满足业务的手段,强制数据符合某些特定条件或者规范才可以插入 主键约束: primary key PK唯一约束:unique非空约束:not null外键约束:foreign key FK检查约束:…

SQL对数据进行统计、常用集合函数

学生表: 1、统计记录个数 1) count(【all】*)【as 列别名】 返回表中的记录数 执行:SELECT COUNT (* ) FROM 学生表 结果为: 执行:SELECT COUNT (* ) as 学生总人数 FROM 学生表…

关系数据库SQL数据查询

关系数据库SQL数据查询 数据查询 一、单表查询 1.查询仅涉及一个表,选择表中的若干列 [例1] 查询全体学生的学号与姓名。SELECT Sno,SnameFROM Student; [例2] 查询全体学生的姓名、学号、所在系。SELECT Sname,Sno,SdeptFROM Student;查询全部列 选出所有属…

样本轮廓系数(原理、sklearn.metrics.silhouette_score、silhouette_samples参数介绍)

一、轮廓系数含义: 轮廓系数(Silhouette Coefficient),是聚类效果好坏的一种评价方式。 最佳值为1,最差值为-1。接近0的值表示重叠的群集。负值通常表示样本已分配给错误的聚类,因为不同的聚类更为相…

java上位机开发(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 目前对于java语言,很多人都认为太简单。其实这是不对的,因为某种意义上来说所,java语言就像学习日语一样&#…

Qt之上位机开发实战(一)

一、Qt三大金刚 1、qt下的串口编程 2、qt下的网络编程 3、qt下的GPIO 本章节先介绍一下qt下的串口编程,首先我们新建一个Widget项目 其中接受框使用Plain Text Edit(设置只读),串口号等按钮使用Combo Box,发送框使…

C# | 上位机开发新手指南(二)上位机通信

上位机开发新手指南(二)上位机通信 文章目录 上位机开发新手指南(二)上位机通信前言串口通信应用场景与控制器通信与传感器通信与仪器仪表通信与智能家居设备通信 常见协议ModbusCAN(Controller Area Network&#xff…

C# 西门子PLC上位机开发环境搭建

一、安装软件 1. TIA_Portal_STEP7 15 博途,西门子的自动化开发软件 2. SIMATIC_S7PLCSIM_V15_1 西门子的仿真软件 3. NetToPLCsim C#程序是不能和仿真通信的,只有利用此软件,C#程序才能连接到仿真 二、配置软件 1. 博途 点击 创建新…

java上位机开发(网络编程)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 所谓的网络编程,一般就是指UDP、TCP编程。传统的方法就是用api或者sdk直接编程,这种方法对于简单的协议是可以的。但是对于…

上位机开发(详细设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 所谓软件详细设计,它的上面对应的是架构设计,下面对应的是程序开发。架构设计有可能涉及多个软件,比如既可能涉及上位机这端,也可能涉及到mcu这端。详细设计的话,一般要落实到…

android ble 上位机,BLE的Android上位机开发(下)

原标题:BLE的Android上位机开发(下) ELLO! 大家好!马上就更新下篇了呢~哈哈!(上篇的地址:BLE的Android上位机开发(上))废话不多说了,先上主角吧!代码如下! [Java] 纯文本查看复制代码 ? 01 02 …

java上位机开发(java基础)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 java基础就是把java环境安装好,把基础程序构建起来。至少说让开发的同学来说有一点信心。从这一点来说,就算编写一个“Hell…

上位机开发的意义

上位机开发的意义 常见的上位机定义为一台可以发出特定操控命令的计算机, 通过操作预先设定好的命令,将命令传递给下位机,通过下位机来控制设备完成各项操作。此定义着重于强调控制指令的发送,实际上除了发送控制命令&#xff0c…

Qt之上位机开发实战(三)

UDP编程 udp相对于tcp来说相对简单&#xff0c;udp不分客户端和服务器&#xff0c;只需要使用一个QUdpSocket类&#xff0c;首先完成布局 Pro文件下加QT core gui network&#xff0c;.h文件下加#include <QUdpSocket> .h文件public下创建对象 QUdpSocket *udpSocket;…

C# | 上位机开发新手指南(三)框架

上位机开发新手指南&#xff08;三&#xff09;框架 文章目录 上位机开发新手指南&#xff08;三&#xff09;框架.NETWinFormsWPFUnity3D CQTMFC 其他语言LabVIEW .NET WinForms 在上位机开发中&#xff0c;Windows Forms是使用最广泛的C#框架之一。Windows Forms是.NET Fra…

哈喽上位机(上位机开发指南)

哈喽&#xff0c;上位机&#xff01; -------上位机开发指南 作者&#xff1a;Robert Zhang本博客以一个程序猿的角度解答了: - 有关上位机开发的疑惑 - 上机软件开发需要学习哪些知识 - 开发一个完整商业软件所需的技术与实现方法 - 怎样美化软件&#xff0c;那些漂亮的软件…