初识关系数据库

关系型数据库是常用的数据库,我将从理论与实践两部分来学习

理论部分:

  1. 数据库模型是什么?

  2. 如何设计数据库表?

  3. 数据库设计规范——范式?

  4. 其他更高级实际使用中遇到的问题,待探索......

实践部分:将找到一种企业使用经典案例,基于MySQL与Sqlite实操设计数据关系系统的数据库表,实现理论与实践结合。


1.数据库模型——关系 元组 属性

  • 1.1关系
  • 定义
    • 关系可以被理解为一张二维表。在数学上,关系是从笛卡尔积中选取的一些元素组成的集合。在数据库中,它具体表现为一个表格,用来存储具有相同结构的数据记录。例如,一个学生信息表就是一个关系,表中包含多个学生的信息。

  • 特点
    • 有序性:关系中的每一列都有特定的顺序,这个顺序在定义关系时就已经确定。例如,在学生信息表中,第一列可能是学生编号,第二列是学生姓名,这个顺序不能随意改变,因为它代表了数据的结构。

    • 唯一性:关系中的每一行(即元组)都是唯一的,不能有重复的行。这是通过主键来保证的。主键是关系中一个或多个属性的组合,其值能够唯一标识关系中的每一个元组。例如,在学生信息表中,学生编号可以作为主键,因为每个学生的编号都是唯一的。

    • 不可分割性:关系中的每个属性都是不可再分的基本数据项。这意味着关系中的每个单元格只能包含一个值,而不是一组值或一个复杂的数据结构。例如,在学生信息表中,姓名这一属性只能包含一个字符串值,而不能包含一个包含多个名字的列表。

  • 1.2元组
  • 定义

    • 元组是关系中的每一行记录。它代表了关系中的一个具体实例。在学生信息表这个关系中,每个学生的信息就是一条元组。例如,一个元组可能是(1001,“张三”,18,“计算机科学”),表示一个编号为1001、姓名为张三、年龄为18、专业为计算机科学的学生。

  • 特点

    • 完整性:元组包含了关系中所有属性的值。每个元组都必须符合关系的结构定义,即包含关系中定义的所有属性。在学生信息表中,每条元组都必须有学生编号、姓名、年龄和专业等所有属性的值。

    • 独立性:元组之间是相互独立的。每个元组都代表了一个独立的实体实例,它们之间没有直接的联系。在数据库操作中,可以单独地插入、删除或修改每个元组,而不会影响到其他元组。

  • 1.3属性
  • 定义

    • 属性是关系中的每一列。它代表了关系中实体的一个特征或性质。在学生信息表这个关系中,学生编号、姓名、年龄和专业都是属性。属性定义了关系中数据的结构,即每个元组应该包含哪些信息。

  • 特点

    • 数据类型:每个属性都有一个明确的数据类型。数据类型定义了属性可以取值的范围和格式。例如,学生编号可能是整数类型(INT),姓名可能是字符类型(VARCHAR),年龄可能是整数类型,专业可能是字符类型。数据类型确保了属性值的合法性和一致性。

    • :属性的取值范围称为域。域可以是有限的,如性别属性的域可能是{“男”,“女”};也可以是无限的,如年龄属性的域可能是0到150之间的整数。在数据库设计中,通过定义属性的域,可以限制非法数据的输入,保证数据的准确性。

    • 可选性:属性可以是可选的或必选的。可选属性意味着在某些元组中,该属性的值可以为空(NULL)。例如,在学生信息表中,学生的电子邮件地址属性可能是可选的,因为不是每个学生都必须提供电子邮件地址。必选属性则必须在每个元组中都有值,如学生编号通常是必选属性。

  • 1.4三者关系
  • 一个关系由多个元组组成,每个元组代表关系中的一个实例。同时,关系由多个属性定义其结构,每个属性代表关系中实体的一个特征。元组是关系中的行,属性是关系中的列。


    下节了解关系型数据库如何设计

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值