在学习资料库时,我们会接触到的三大基本概念是 Table(资料表)、Row(列/记录) 和 Column(栏/字段)。这三者构成了关联式资料库的基础,也是操作和理解 SQL 的核心。

资料库概念
类比
Table(资料表) 像一张电子试算表 (Spreadsheet)
Row(行/列/记录) 是电子表格的一行,代表一个完整的数据条目
Column(栏/字段) 是电子表格的标题,定义了一类资料
  • Table(资料表)
    • 定义:表是一个结构化的数据集合,用于存储有关某一主题或实体的资料。例如,「用户」的资料表存储用户的姓名、电邮和其他相关资讯。
    • 特徵:
      • 一个资料表的名称通常描述其内容(如 users、products)。
      • 包含了资料的结构定义和数据。
      • 由 行 (Row) 和 列 (Column) 组成。

    范例:这是一个Table 资料表

    id
    name
    email
    created_at
    1 Alice alice@example.com 2024-11-01 10:30
    2 Bob bob@example.com 2024-11-10 14:00
  • Row(行/列/记录)
    • 定义:行是资料表中的一条完整记录,描述某一实体的所有属性。例如,一个用户的行可能包含用户的 id、name 和 email。
    • 特徵:
      • 表中的每一行都是唯一的,通常由主键(Primary Key)识别。
      • 行表示实际的数据,例如某个用户或某笔订单。范例:在 users 表中:第一行/列/记录记录的是 Alice 的资讯:id = 1, name = Alice, email = alice@example.com。
  • Column(栏/字段)
    • 定义:栏定义了资料表中某一类型的资料,每一栏代表某一属性的名称和类型。例如,「email」栏存储用户的电邮地址。
    • 特徵:
      • 每一栏具有名称和类型(如 VARCHAR, INTEGER)。
      • 所有行在某栏中的值具有相同的类型(如一个 price 栏中的值都为数字)。
      • 栏的名称必须唯一(在同一表中)。范例:在 TABLE资料表 users 表中:
    • name 栏包含的是用户名称,如 "Alice", "Bob"。
    • email 栏包含的是用户的电子邮件地址。资料表结构的类比
    • Table(资料表):像一张电子试算表 (Spreadsheet)。
    • Row(行/记录):是电子表格的一行,代表一个完整的数据条目。
    • Column(栏/字段):是电子表格的标题,定义了一类资料。

    创建一个TABLE资料表名为users的 SQL 语法如下:

    CREATE TABLE users (
    id SERIAL PRIMARY KEY, -- 自动递增的唯一识别码
    name VARCHAR(100) NOT NULL, -- 名称 (不可为空)
    email VARCHAR(100) UNIQUE, -- 电邮 (唯一值)
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 建立时间
    );

    以上内容是对资料库三个基本(Table、Row、Column)的完整介绍及范例。

    可以来这里练习:线上练习:https://pg-sql.com/