【PostgreSQL】从零开始:(五)认识数据库-数据的相关概念

【PostgreSQL】从零开始:(五)认识数据库-数据的相关概念

  • 什么是数据库
  • 数据库包含哪些东西
  • 数据库技术构成
    • 数据库系统
    • SQL语言
    • 数据库访问技术

在正式开始讲PostgreSQL内容之前,我们要先要了解数据的相关概念

什么是数据库

  • 数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统提供对数据安全控制和完整性控制。

  • 数据库的概念诞生于60年前,随着信息技术和市场的快速发展,数据库技术层出不穷,随着应用的拓展和深入,数据库的数量和规模越来越大,其诞生和发展给计算机信息管理带来
    了一场巨大的革命。

  • 数据库发展阶段大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。
    其种类大概有4种:

    • 网状数据库(Network Database)
    • 关系数据库(Relational Database)
    • 树状数据库(Hierarchical Database)
    • 面向对象数据库(Object-oriented Database)

不同种类的数据库按不同的数据结构来联系和组织。

  • 对于数据库的概念,没有一个完全固定的定义,随着数据库历史的发展,定义的内容也有
    很大的差异,其中一种比较普遍的观点认为,数据库(DataBase,DB)是一个长期存储在算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理据的计算机软件系统,即数据库包含两层含义:保管数据的“仓库”以及数据管理的方法和术。
  • 数据库的特点包括:实现数据共享,减少数据冗余;采用特定的数据类型;具有较高的据独立性;具有统一的数据控制功能。

数据库包含哪些东西

  • 用户(User)
  • 数据库(Database)
  • 模式(Schema)
  • 表(Table)
  • 词典(Dictionary)
  • 函数(Function)
  • 存储过程(Procedure)
  • 序列(Sequence)
  • 视图(View)
  • 数据类型(Data type)
  • 触发器(Trigger)
  • 插件(Extenion)
  • 订阅(Subscription)

数据库技术构成

数据库系统由硬件部分和软件部分共同构成。硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分则主要包括DBMS、支持DBMS运行的操作系统,以及支持多种语言进行应用开发的访问技术等。本节将介绍数据库的技术构成。

数据库系统

数据库系统有3个主要的组成部分。

  1. 数据库:用于存储数据的地方。
    数据库(Database System)提供了一个存储空间,用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。
  2. 数据库管理系统:用于管理数据库的软件。
    数据库管理系统(DataBase Management System,DBMS)用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进用户行统一管理。DBMS能定义数据存储结构,提供数据的用户用户操作机制,维护数据库的安全性、完整性和可靠性。
  3. 数据库应用程序:为了提高数据库系统的处理能力所使用的管理数据库的软件补充。
    数据库应用程序(DataBase Application)虽然已经有了DBMS,但是在很多情况下,DBMS无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改和删除DB中的数据。

SQL语言

对数据库进行查询和修改操作的语言叫作SQL。SOL的含义是结构化查询语言(StructuredQuery Language)。SQL有许多不同的类型,有三个主要的标准:ANSI(美国国家标准机构)SQL;对ANSI SQL修改后在1992年采纳的标准,称为SQL-92或SQL2;最近的SQL-99称准。SOL-99标准从SQL2扩充而来并增加了对象关系特征和许多其他新功能。各大数据库商提供不同版本的SQL。这些版本的SQL支持原始的ANSI标准,而且在很大程度上支持新推出的SQL-92标准。

SQL语言包含4个部分:

  1. 数据定义语言(DDL):DROP、CREATE、ALTER等语句。
  2. 数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
  3. 数据查询语言(DOL):SELECT语句。
  4. 数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。

数据库访问技术

不同的程序设计语言会有各自不同的数据库访问技术,程序语言通过这些技术执行SQL语句,进行数据库管理。主要的数据库访问技术有以下几种。

  1. ODBC
    ODBC(Open Database Connectivity,开放数据库互连)技术为访问不同的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access、PostgreSQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
  2. JDBC
    JDBC(Java Data Base Connectivity,Java数据库连接)用于Java应用程序连接数据库的标准方法,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,由一组用Java语言编写的类和接口组成。
  3. ADO.NET
    ADO.NET是微软在.NET框架下开发设计的一组用于和数据源进行交互的面向对象类库。ADO.NET提供了对关系数据、XML和应用程序数据的访问,允许和不同类型的数据源以及数据库进行交互。
  4. PDO
    PDO(PHP Data Object)为PHP访问数据库定义了一个轻量级的、一致性的接口,提供了一个数据访问抽象层。这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO是PHP 5新加入的一个重要功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/222298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java基础知识③:反射和注解以及Java 8的新特性

目录 一、反射和注解 1、反射 2、注解 二、Java 8的新特性 1、Lambda 表达式: 2、Stream API: 3、函数式接口: 4、方法引用: 5、接口的默认方法和静态方法: 6、新的时间日期API(Date/Time API)&…

文心一言4.0使用指南

文心一言4.0使用指南 在线体验:体验地址 一、文心一言能力如何 不管百度公司如何,就AI大模型来说,文心一言和其他国内产品相比,还是具有相当大的优势的,可以说是在个人的使用方面,我认为是最顶级的。 但…

Unity中的ShaderToy

文章目录 前言一、ShaderToy网站二、ShaderToy基本框架1、我们可以在ShaderToy网站中,这样看用到的GLSL文档2、void mainImage 是我们的程序入口,类似于片断着色器3、fragColor作为输出变量,为屏幕每一像素的颜色,alpha一般赋值为…

微信小程序单图上传和多图上传

图片上传主要用到 1、wx.chooseImage(Object object) 从本地相册选择图片或使用相机拍照。 参数 Object object 属性类型默认值必填说明countnumber9否最多可以选择的图片张数sizeTypeArray.<string>[original, compressed]否所选的图片的尺寸sourceTypeArray.<s…

从开源项目中学习如何自定义 Spring Boot Starter 小组件

前言 今天参考的开源组件Graceful Response——Spring Boot接口优雅响应处理器。 具体用法可以参考github以及官方文档。 基本使用 引入Graceful Response组件 项目中直接引入如下maven依赖&#xff0c;即可使用其相关功能。 <dependency><groupId>com.feiniaoji…

Leetcode 2454. 下一个更大元素 IV

Leetcode 2454. 下一个更大元素 IV题目 给你一个下标从 0 开始的非负整数数组 nums 。对于 nums 中每一个整数&#xff0c;你必须找到对应元素的 第二大 整数。如果 nums[j] 满足以下条件&#xff0c;那么我们称它为 nums[i] 的 第二大 整数&#xff1a; j >nums[j] > nu…

螺旋矩阵算法(leetcode第59题)

题目描述&#xff1a; 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1&#xff1a;输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]] 示例 2&#xff1a;输入&#…

电商API代码如何接入写

要接入一个API&#xff0c;通常需要遵循以下步骤&#xff1a; 1. 【了解API文档】&#xff1a;首先&#xff0c;需要了解你想要接入的API的文档。这些文档通常会包含关于如何使用该API的重要信息&#xff0c;比如基本的请求格式、可用的端点&#xff08;endpoints&#xff09;…

SQL Server ,使用递归查询具有层级关系的数据。

假设我们有一个表格 Employees&#xff0c;其中包含员工的层级关系信息&#xff0c;每一行包括员工的ID、姓名以及上级员工的ID。 下面是一个示例表格及其数据&#xff1a; Employees ---------------------- EmployeeID | Name | ManagerID ---------------------- 1 …

6-46.矩阵运算

根据main函数中矩阵对象的定义与使用&#xff0c;定义相关的矩阵类Array&#xff0c;并利用运算符重载的方法实现矩阵的加法与输入输出操作。&#xff08;为简化问题&#xff0c;矩阵中元素为2位以内整数&#xff0c;要求矩阵按照行列的格式输出&#xff0c;每个元素占3位宽度&…

Process On在线绘制流程图

目录 一.ProcessOn 1.1.介绍 1.2.直接网上使用 二.绘制门诊流程图 三.绘制住院流程图 四.绘制药库采购入库流程图 五.绘制OA会议流程图 今天就到这里了哦!!!希望能帮到你哦&#xff01;&#xff01;&#xff01; 一.ProcessOn 1.1.介绍 ProcessOn&#xff08;流程&#…

MFC 加载本地文件设置图标

基于单文件/多文件版 1、在CMainFrame中设置 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {//...........// 从本地文件加载图标HICON hIcon (HICON)::LoadImage(NULL, L"./vip.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE);if (hIcon){ // 设置窗口图…

Linux,Web网站服务(一)

1.准备工作 为了避免发生端口冲突&#xff0c;程序冲突等现象&#xff0c;建议卸载使用RPM方式安装的httpd [rootnode01 ~]# rpm -e http --nodeps 挂载光盘到/mnt目录 [rootnode01 ~]# mount /dev/cdrom /mnt Apache的配置及运行需要apr.pcre等软件包的支持&#xff0c;因此…

牛客网SQL训练2—SQL基础进阶

文章目录 一、基本查询二、数据过滤三&#xff1a;函数四&#xff1a;分组聚合五&#xff1a;子查询六&#xff1a;多表连接七&#xff1a;组合查询八&#xff1a;技能专项-case when使用九&#xff1a;多表连接-窗口函数十&#xff1a;技能专项-having子句十一&#xff1a;技能…

Web信息收集,互联网上的裸奔者

Web信息收集&#xff0c;互联网上的裸奔者 1.资产信息收集2.域名信息收集3.子域名收集4.单点初步信息收集网站指纹识别服务器类型(Linux/Windows)网站容器(Apache/Nginx/Tomcat/IIS)脚本类型(PHP/JSP/ASP/ASPX)数据库类型(MySQL/Oracle/Accees/SqlServer) 5.单点深入信息收集截…

Linux-----10、查找命令

# 查找命令 # 1、 命令查找 Linux下一切皆文件&#xff01; which 命令 &#xff1a;找出命令的绝对路径 whereis 命令 &#xff1a;找出命令的路径以及文档手册信息 [rootheima ~]# which mkdir /usr/bin/mkdir[rootheima ~]# whereis mkdir mkdir: /usr/bin/mkdir /usr/…

Py-While循环语句

while循环语句&#xff1a; 注意&#xff1a; while的条件需要得到布尔类型的结果&#xff0c;true继续循环&#xff0c;false退出循环需要设置循环终止的条件&#xff0c;不可以让程序一直无线循环运行下去空格缩进与if一样 语法格式:(只要条件满足会一直循环) while 布尔…

一款计算机顶会爬取解析系统 paper info

一款计算机顶会爬取解析系统 paper info 背景项目实现的功能 技术方案架构设计项目使用的技术选型 使用方法本地项目部署使用ChatGPT等大模型创建一个ChatGPT助手使用阿里云 顶会数据量 百度网盘pfd文件json文件 Q&A github链接 &#xff1a;https://github.com/codebricki…

Java面试题13

1.数据库的三范式是什么&#xff1f; 数据库的三范式是指数据库设计的一种规范&#xff0c;用来规定如何将数据进行组织和存储&#xff0c;以便减 少冗余、提高数据的一致性和准确性。具体来说&#xff0c;三范式分为三个层次&#xff1a; 第一范式&#xff08;1NF&#xff09…

(反序列化)小记录

目录 [CISCN 2023 华北]ez_date 绕过MD5和sha1强相关绕过 date()绕过 payload [FSCTF 2023]ez_php [CISCN 2023 华北]ez_date <?php error_reporting(0); highlight_file(__FILE__); class date{public $a;public $b;public $file;public function __wakeup(){if(is_a…