SQL学习笔记一——数据库系统基础

数据库系统概论(第5版) 个人整理详细笔记——基础篇 本篇介绍数据库系统的基本概念和基础知识。 目录 第1章:绪论 1.1、数据库系统概述 1.2、数据模型 1.3、数据库系统的结构 1.4、数据库系统组成 1.5、小结 第2章:关系数据库 2.1、关系数据库及形式化定义 2.2、关系操作 2.3、关系的完整性 2.4、关系代数 *2.5、关系演算 2.6、小结 第3章:关系数据库标准语言SQL 3.1、SQL概述... 阅读详情

数据库系统-数据库系统基础

概念定义

  • 数据:能够被记录且具有实际意义的已知事实
  • 数据管理:在计算机中对数据进行存储、检索、更新及共享
  • 数据库:有组织的、共享的、持久存储的数据集合
  • 数据库管理系统(DBMS):一种通用系统软件,它简化了在不同用户及应用程序之间组织、存储、操纵、控制及维护数据库
  • 数据库系统(DBS):由数据库、数据库管理系统、应用程序和数据库用户在一起构成的系统

数据管理的功能

  • 数据定义:定义数据的结构、类型及约束数据存储:存储和存取数据
  • 数据操纵:查询数据、更新数据(插入数据、修改数据、删除数据)
  • 数据共享:事务管理、并发控制、故障恢复
  • 数据控制:保证数据完整性、数据安全性
  • 数据维护:数据录入、数据转换、数据备份、数据恢复、性能监控

数据定义

CREATE TABLE Student(
Sno CHAR(6) PRIMARY KEY,
Sname VARCHAR(10) NOT NULL,
Ssex CHAR CHECK(Ssex IN('M','F')),
Sage INT CHECK (Sage>0),
Sdept VARCHAR(20)
);

查看Student表的模式

describe Student;

数据储存

查看Student.表存储于那个文件

SELECT pg_relation_filepath('Student');

查看Student表中的数据

SELECT * FROM Student;

查看Student表中的索引

SHOW INDEX from Student;

创建索引

CREATE INDEX student_idx_sname ON Student(Sname);

数据操纵

查询数据

SELECT * FROM Student WHERE Sdept ='CS';

更新数据

INSERT INTO Student VALUES ('CS-003','Ji11','F',19,'CS');
UPDATE Student SET Sage=Sage+1 WHERE Sno='CS-003';
DELETE FROM Student WHERE Sno='CS-O03';

数据共享
事务

BEGIN;
SELECT Grade FROM SC
WHERE Sno='CS-001'AND Cno='1002';
UPDATE SC Set Grade=Grade+1
WHERE Sno='CS-001'AND Cno='1002';
END;

事务具有原子性:事务的所有命令要么全部执行,要么全部不执行

并发控制
可以在两个会话窗口同时执行两个事务

数据控制

保证数据完整性、数据安全性

数据维护

数据录入、数据转换、数据备份、数据恢复、性能监控
将Student表复制到文件

COPY Student TO STDOUT;

将文件中的数据复制到Student

COPY Student FROM filename;

备份Col‖ege数据库

pg_dump -Fc College > college.dump

恢复College数据库

pg_restore -d newcollege college.dump

数据库系统

由数据库、数据库管理系统、应用程序和数据库用户在一起构成的系统
数据库系统

数据库

有组织的、共享的、持久存储的数据集合
College是一个(关系)数据库
列出数据库

SHOW DATABASES;

数据库管理系统

一种通用系统软件,它简化了在不同用户及应用程序之间组织、存储、操纵、控制及维护数据库

数据库用户

  • 数据库管理员(DBA)
  • 数据库设计者
  • 终端用户
    zhaonian是College数据库的用户
    列出用户
SELECT user FROM mysq1.user;

数据模型(Data Modles)

数据抽象

数据抽象:是将现实世界映射到计算机世界的过程

数据模型

数据模型是进行数据抽象的工具
数据模型具有三个要素

  • 用于描述数据库结构的一系列概念
  • 用于操纵数据结构的一系列操作
  • 数据库应当服从的一系列约束条件

数据模型分类

  • 概念数据模型

概念数据模型提供的概念最接近用户理解数据的方式,用于将现实世界映射到信息世界

  • 物理数据模型

物理数据模型提供的概念用于描述数据库在计算机中的存储细节

  • 实现数据模型

实现数据模型处在概念数据模型和物理数据模型之间,在实现DBMS时使用

数据库模式(Database Schema)

数据库模式:对数据库的结构、类型、约束的描述

  • 数据库模式是数据库的“类型声明”
  • 数据库模式不经常变化

数据库实例(Database Instance)

数据库实例:数据库在某一特定时间存储的数据

  • 数据库实例是数据库的“值”
  • 每当数据库被更新,数据库实例就发生变化

数据库的三层模式结构

数据库不是仅用一种模式来刻画的,数据库模式通常分三个层次来定义,从低到高分别是

  • 内模式/存储模式
  • 概念模式
  • 外模式/视图
    数据库的三层模式结构
内模式/储存模式
  • 描述数据库的物理存储结构和存取方法
  • 数据库只有一个内模式
  • 定义内模式时通常使用物理数据模型提供的概念
概念模式
  • 为全体数据库用户描述整个数据库的结构和约束
  • 数据库只有一个概念模式
  • 定义概念模式时使用实现数据模型提供的概念
外模式/视图
  • 从不同类别用户的视角描述数据库的结构
  • 数据库可以有多个外模式
  • 定义外模式时也使用实现数据模型提供的概念
    学生选课数视图vw_qty(Sno,Qty)
    创建视图
CREATE VIEW vw_qty(Sno,Qty) AS
SELECT Sno,COUNT(*) FROM SC GROUP BY Sno; 

查看视图定义演示

\sv vw_qty

在视图上做查询

SELECT * FROM vw_qty;

列出视图

\dv
模式映射

在三层模式结构中,不同层次模式间的映射用于完成应用程序与数据库之间的数据转换和请求转换

  • 请求转换:应用程序是依据外模式开发的,应用程序在外模式上声明的数据请求通过模式映射转换为DBMS在内模式上的请求
  • 数据转换:数据库的物理存储是按照内模式来组织的,DBMS检索到的数据通过模式映射转换为符合外模式的组织形式,返回给应用
模式映射的分类
  • 外模式-概念模式映射:从一个外模式到概念模式的映射
  • 概念模式-内模式映射:从概念模式到内模式的映射
SMPLify-x-master | 复现记录 由于毕业设计中将会用到smpl模型,而smplify方法的各环境依赖版本比较老,复现不太容易,因此便进行了smplifyx方法使用smplx的方法。由于在过程中遇到较多坑,因此进行记录和分享。 阅读详情

相关推荐

【Tableau】解决订阅报表PDF中文显示为乱码(方框)问题

一、问题描述 在tableau server网页端报表中文字符能正常显示,但在订阅后发送到邮箱时,以图片格式呈现的内容中中文字符显示为方框。 网页端报表能正常显示中文字符: 邮件中的报表不能正常显示中文字符: 二、问题分析 网页端字符显示情况是由html编码决定的,而tableau生成图片时是通过所部署的服务器的字体文件显示字体。因此可能是由于Linux服务器缺失相关的字体文件导致网页端选择的中文字体在服务器上缺失对应的字体文件导致的。则考虑在服务器引入对应的字体文件。 三、问题解决 1、查看服务器现有

why_not_study的博客 2833

数据操纵语言(DML)与 数据控制语言(DCL)

1.数据操纵语言(DML) 1.1.1INSERT 插入单行 INSERT INTO 表名(‘表内所有字段名或 *’) VALUE(‘所有字段对应数据类型的合法数值’); 1.1.2插入多行 INSERT INTO 表名(‘表内所有字段名 或 *’) VALUES (‘表内所有字段对应数值类型的 合法数据’), (‘表内所有字段对应数值类型的 合法数据’), (‘表内所有字段对应数值类型的 合法数据’); ...

da990622的博客 3284

从零开始构建高精度称重系统:ADS1232硬件设计与软件调优实战

本文详细介绍了如何基于TI的ADS1232 24位ADC芯片构建高精度称重系统,涵盖硬件设计、软件调优及校准算法。通过优化电源设计、PCB布局和卡尔曼滤波算法,实现毫克级测量精度,适用于工业自动化和实验室等高要求场景。

weixin_28285943的博客 382

数据库SQL特点数据查询,数据操纵,数据定义,数据控制

数据查询(DQL):select 数据定义(DDL):create,drop,alter 数据操纵(DML):insert,update,delete 数据控制(DCL):grant,revoke 1)建立索引 普通索引 create index stusex on student(ssex); create index stusexandname on student...

ailin4928的博客 4533

Ubuntu升级遇到grub-efi-amd64-signed安装失败?3步搞定这个烦人错误

本文深度解析Ubuntu系统升级时grub-efi-amd64-signed安装失败并提示“cannot find EFI directory”错误的根本原因。该错误通常由EFI系统分区挂载异常、BIOS/UEFI引导模式不匹配或dpkg包状态死锁导致。文章提供了三步精准修复流程:首先检查并修复ESP分区挂载,其次处理dpkg依赖问题,最后针对传统BIOS系统提供适配方案,帮助用户安全彻底地解决这一常见升级难题。

r7s8t的博客 398

瑞芯微RK3568开发板实战:Android11系统parameter.txt文件配置全解析(附常见问题排查)

本文深入解析了瑞芯微RK3568开发板在Android 11系统下parameter.txt文件的配置要点与实战技巧。作为BootLoader启动阶段的核心蓝图,该文件决定了硬件初始化、分区布局及电源管理。文章详细拆解了身份标识、GPIO控制(PWR_HLD)、命令行参数及分区表等关键字段的配置逻辑,并针对RK3568平台与Android 11特性提供了专项适配策略,最后附带了启动失败、分区异常等常见问题的深度排查方法。

php55的博客 895

Oracle学习笔记(1)

1.Oracle数据库简介 1.1数据库(DB)概述 数据库(DB)是一个按数据结构来存储和管理数据的计算机软件系统。 1.2数据库管理系统与数据库应用系统 1. 数据库管理系统(Database Management System) 数据库管理系统(DBMS)是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完

枫叶的专栏 1394

开源GIS -- 笔记

基础开发库 数据读写:GDAL/OGR(C/C++) ArcGIS和GE都是使用此工具 投影转换:Proj.4(C/C++) 拓扑计算:JTS(Java),GEOS(C++),Shapely(python) 组件式开发库 GeoTools(Java),DotSpatial(.NET) 空间分析: Scipy(通用科学计算、方程求解), numpy,NextworkX, rPy(统计分析), Scikit-learn,pysal(空间分析) 深度学习: Keras、 tensorflow、 pytor

DZ Space 4521

数据定义、数据查询、数据操纵、数据控制分别对应哪些SQL语

通过上述分类,可以清晰区分不同SQL语句的功能归属。

qq_60294766的博客 1184

图解目标检测 之 YOLO 算法 最全原理详解

YOLO 一.背景 YOLO(You Only Look Once: Unified, Real-Time Object Detection),是Joseph Redmon和Ali Farhadi等人于2015年提出的基于单个神经网络的目标检测系统。在2017年CVPR上,Joseph Redmon和Ali Farhadi又发表的YOLO 2,进一步提高了检测的精度和速度。 二.YOLO算法的网...

DFCED的博客 26万+

Python爬虫实战:基于Playwright与异步技术的专利数据抓取系统

专利数据是企业技术创新、市场竞争分析和行业趋势预测的关键情报来源。然而,专利数据通常分散在各个国家的专利局网站,数据结构复杂,反爬机制严格,使得高效抓取成为技术挑战。本文将详细介绍如何构建一个基于最新Python技术的专利数据抓取系统,涵盖Selenium的现代化替代方案Playwright、异步编程、智能代理轮换等高级技术。

2201_76125261的博客 1562

数据库基础

数据库基础 SQL是结构化查询语言(Structured query language)英文的缩写,读为sequel。目前所使用的SQL3。通过语言可以对数据库对象进行查询和更新(添加、删除、修改)。SQL语言既是自含式语言,又是嵌入式语言。 用户可以在终端键盘上直接键入SQL命令对数据库进行操作,还能够嵌入到高级语言(例如C、COBOL、FORTRAN、PL/1)程序中,供程序员设计程序时使用。 SQL语言的常用部分 数据定义语言(Data Definition language, DDL) 数据操

lixbao的博客 638

RAG系统中Embedding模型选型实战

本文详细介绍了RAG系统中Embedding模型选型实战,希望能对学习RAG的同学们有所帮助。 文章目录 1. 前言 2. 思路解析 3. 测评数据集构建 3.1 步骤一 3.2 步骤二 3.3 数据示例 3.4 总结 4. 实战代码 4.1 本地模型 4.2 使用第三方的Embedding模型API

herosunly的博客 17万+

SQL基本表的定义、删除与修改——《数据库系统概论》学习笔记

学习笔记——关系数据库标准语言SQL1. 定义基本表2. 修改基本表3. 删除基本表4. 索引 1. 定义基本表 SQL语言使用 CREATE TABLE语句定义基本表,格式如下 建表的同时还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中。 举例: 其中PRIMARY KEY表示主码、UNIQUE表示取值唯一,它们都是列级完整性约束条件。除此之外还有NOT NULL 表示不为空 CREATE TABLE Student( Sno CHAR(9) PRIMARY KEY,

Concise200的博客 4851

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

《数据库系统概念》学习笔记——SQL

数据库系统概念——SQLSQL查询语言概览SQL数据定义基本类型基本模式定义SQL查询的基本结构单关系查询多关系查询自然连接附加的基本运算集合运算空值聚集函数嵌套子查询数据库的修改总结 SQL查询语言概览 SQL语言有以下几个部分: 数据定义语言(Data-Definition Language, DDL):SQL DDL提供定义关系模式、删除关系以及修改关系模式的命令。 数据操纵语言(Data-Manipulation Language, DML):SQL DML提供从数据库中查询信息,以及在数据库中

weixin_45243288的博客 3044

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解

其他科目导航 【专栏必读】王道考研408操作系统万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图 【专栏必读】王道考研408数据结构万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图 【专栏必读】王道考研408计算机组成原理万字笔记(从学生角度辅助大家理解):各章节导航及思维导图 【README】Linux系统编程必读:本专栏内容提要以及系统调用接口总结 C++学习 【免费分享】软件工程核心知识点 注意: 可看视频介绍: 本专栏笔记全部纯手打,以 《数据系统概论》(

快乐江湖的博客 6万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

《数据库系统概念》学习笔记——高级SQL

数据库系统概念——高级SQL高级SQL使用程序设计语言访问数据库JDBC连接到数据库向数据库系统中传递SQL语句获取查询结果预备语句可调用语句元数据特性其他特性ODBC嵌入式SQL函数和过程声明和调用SQL函数和过程支持过程和函数的语言构造外部语言过程触发器对触发器的需求SQL中的触发器何时不用触发器 高级SQL 使用程序设计语言访问数据库 SQL提供了一种强大的声明性查询语言。 数据库程序员必须能够使用通用程序设计语言,原因至少有以下两点: 因为SQL没有提供通用程序设计语言那样的表达能力,所有SQLb

weixin_45243288的博客 1777

《数据库系统概念》学习笔记——中级SQL

数据库系统概念——中级SQL中级SQL连接表达式连接条件外连接连接类型和条件视图视图定义SQL查询中使用视图物化视图视图更新事务完整性约束单个关系上的约束not null 约束unique 约束check 子句参照完整性事务中对完整性约束的违反复杂 check 条件与断言SQL的数据类型与模式SQL中的日期和时间类型默认值创建索引大对象类型用户定义的类型create table 的扩展模式、目录与环境授权权限的授予与收回角色视图的授权模式的授权权限的转移权限的收回总结 中级SQL 连接表达式 SQL提供了连

weixin_45243288的博客 4809

《数据库系统概念》学习笔记——第四章 中级SQL

Table of Contents 第四章 中级SQL 4.1 连接表达式 4.1.1 连接条件 4.1.2 外连接 outer join 4.1.2 连接类型和条件 4.2 视图 4.2.1 视图定义 4.2.2 SQL查询中使用视图 4.2.3 物化视图 4.2.4 视图更新 4.3 事务 4.4 完整性约束 4.4.1 - 4.4.4 单个关系上的约束 4.4.5 参照完整性 (referential integrity) 4.4.6 事务中对完整性约束的违反 4.4.

Raymond_Love的博客 1621

《数据库系统概念》学习笔记——第五章 高级SQL

目录 第五章 高级SQL 5.1使用程序设计语言访问数据库 5.1.1 JDBC 5.1.2 ODBC 5.1.3 嵌入式SQL 5.2 函数与过程 5.2.1 声明和调用SQL函数和过程 5.2.2 支持过程和函数的语言构造 5.2.3 外部语言过程 5.3 触发器 5.3.1 对触发器的需求 5.3.2 SQL中的触发器 5.3.3 何时不用触发器 5.4 递归查询 5.4.1 用迭代来计算传递闭包 5.4.2 SQL中的递归 5.5 高级聚集特性 5.5.1 排名.

Raymond_Love的博客 2070

SQL Server 2008 学习笔记(一) 数据库系统的基本结构

在写我的第一篇笔记之前,先废话几句,最近打算学习一段时间的数据库知识并打算把我的读书心得晾出来和大家分享一下,希望感兴趣的园友能能够一起探讨,共同提高。有理解的不对的地方也欢迎各位大牛拍砖,这年头不为别的,就为了能掌握点真理! 废话说完了,开始今天的正文。 首先来上一张图片,了解一下数据库系统的基本结构 下面我想用一个简单的比喻来描述一下数据库系统的基本结构。 数据库系统=====》...

weixin_30647065的博客 340

【免费下载】 软考-数据库系统工程师(学习笔记)

软考-数据库系统工程师(学习笔记) 【下载地址】软考-数据库系统工程师学习笔记分享 本仓库提供了一份名为“软考-数据库系统工程师(学习笔记)”的资源文件下载。这份笔记是我个人在学习数据库系统工程师考试过程中所做的总结,涵盖了主要的考点,特别是重点部分,我特别标红了以便于复习时快速定位 ...

gitblog_06634的博客 599

《数据库系统概念》学习笔记——第三章 SQL

第三章 SQL 3.1 SQL查询语言概览 SQL:结构化查询语言。最新的SQL标准是2008。 SQL语言包括以下几个部分: 数据定义语言(DDL):DDL提供定义关系模式、删除关系、以及修改关系模式的命令。 数据操作语言(DML):DML提供从数据库中查询信息,以及在数据库中插入元组、删除元组、修改元组的能力。 完整性(integrity):DDL包括定义完整性约束的命令,保存在数据库中的数据必须满足所定义的完整性约束。破坏完整性约束的更新是不允许的。 视图定义(view defin...

Raymond_Love的博客 1623

【学习笔记】数据库系统原理 第三章 SQL语言

以下内容为参考课件和《数据库系统概论》(第5版,王珊等著)的个人整理,若有错误欢迎指出 第三章 SQL语言 文章目录第三章 SQL语言一、概述二、数据查询功能1、查询语句2、连接查询3、嵌套查询4、集合查询三、数据更新1、插入新数据2、修改数据3、删除数据四、定义功能1、创建基本表2、修改基本表3、删除基本表4、索引5、视图 一、概述 1、特点: 综合统一,集数据定义、操纵等于一体 高度非过程化,用户只需要提出要求,无需关心怎么做 面向集合的操作方式 以同一种语法结构提供两种使用方式(可独立操作,也可.

Vera_shsf的博客 391

《数据库系统概论》第五版 +学习笔记总目录

文章目录前言第 1 章 绪论第 2 章 关系数据库第 3 章 关系数据库标准语言SQL第 4 章 数据库安全性第 5 章 数据库完整性第 6 章 关系数据理论 前言 本篇文章学习书籍:《数据库系统概论》第5版 王珊 萨师煊编著 学习软件:Navicat Premium 15 && SSMS 采用数据库:SQL Sever 说明:虽然数据库是SQL Sever 有些书上的语句执行不了,貌似书采用的是Oracle数据库的SQL,不过没关系,初学我们最重要的是掌握其思想,很多思想和方法语句在

BitHachi 26万+

数据库系统(上)》学习笔记——第十讲——嵌入式SQL语言之动态SQL

1.本讲内容概要 基本内容 1. 动态SQL的概念和作用 2. SQL语句的动态构造 3. 动态SQL语句的执行方式 4. 数据字典与SQLDA 5. ODBC/JDBC简介? 重点与难点 1. 熟练掌握SQL语句的动态构造技巧 2. 了解数据字典的作用,掌握其使用技巧 3. 理解ODBC/JDBC的工作原理 2.动态SQL的两种执行方式 3.数据字典的概念 4. 数据字典的内...

预见未来to50的专栏 262
上一篇: 从c转java——java的基本程序设计结构
下一篇: SQL学习笔记二——关系数据库
StrangeStranger
博客等级 码龄6年 24粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值