MySQL中的数据是以表的形式在数据库中管理的,表又由行和列组成。什么是模式? 模式与数据库不同,因为它没有数据库拥有的所有权限,它只有表、行和列的权限,定义了数据库的结构。
在这篇文章中,我们将解释什么是模式,它是如何工作的,以及模式和数据库之间有什么区别。
什么是模式
数据库模式是数据库的一个架构,它拥有关于数据如何被放置在表中的信息,但应该清楚的是,模式与数据本身没有任何关系,它只是告诉了数据在数据库中的可能放置方式。我们可以把模式定义为任何数据库的结构,它告诉我们关于表的表示方法,它还定义了表的行数、列数、与表相关的主键和外键,还定义了要插入表的数据类型。
通常在公司里,数据库管理员负责为任何数据库提供一个适当的模式,数据库开发人员根据这个模式来开发数据库。
数据库和模式之间的比较
| 数据库 | 模式 |
|---|---|
| 在表中存储数据 | 在表的基础上提供数据库的逻辑表示。 |
| DML(数据修改语言)用于管理数据库中的数据 | DDL(数据定义语言)用于管理表的表示方法 |
| 数据可以在任何时候被编辑 | 不支持修改 |
| 它包括表、模式和数据库的所有其他约束条件 | 它只包括表的结构和与表有关的权限 |
| 它占用服务器上的内存 | 不占用内存 |
模式的类型有哪些
模式可以根据其功能分为两种类型,如下图所示。
物理模式。这是一种可以被用户查看的模式,它涉及到数据的存储方法以及它们在数据库中的表现方式。
**逻辑模式。**这是一种模式,它告诉我们创建数据库背后的概念,它解释了表的形成,数据库中表之间的关系,以及表中使用的键,可以是主键和外键。假设上面的例子是 "school_record_of_students",现在它定义了表的行数和列数,并且它还在主键和外键的帮助下,将它与其他表联系起来,比方说 "record_of_grade_2_students"。
模式如何在MySQL中工作
我们将尝试创建名为 "company_abc "的数据库和名为 "school_abc "的模式,我们将创建表并尝试在两个表中插入数据并观察结果,但在创建表之前,我们将创建一个数据库为
CREATE DATABASE company_abc;
使用这个数据库来创建表。
USE company_abc;
创建一个表,并将其命名为 "employees_data"。
CREATE TABLE employees_data (employee_id INT, employee_name VARCHAR(50), employee_age INT);
在表中插入数据。
INSERT INTO student_data VALUE (1, “Steward”, 25);
要显示该表。
SELECT * FROM employees_data;
同样地,我们将创建一个模式 "school_abc"。
CREATE SCHEMA school_abc;
使用新创建的模式。
USE school_abc;
在schema school_abc中创建一个表。
CREATE TABLE student_data (student_id INT, student_name VARCHAR(50), student_age INT);
现在在表中插入数据。
INSERT INTO student_data VALUE (1, “John”, 16);
要显示该表。
SELECT * FROM student_data;
要显示数据库。
SHOW databases;
我们可以观察到,在MySQL中,不仅模式的创建和显示与数据库的创建方式相同,而且表也在模式和数据库中都被创建。
总结
模式是一种结构,可以帮助开发人员按照一个单一的模式创建许多数据库。在这篇文章中,我们已经了解到模式是数据库的逻辑表示,它与数据库不同,因为它不占用任何空间,而数据库在服务器上占用一些空间,但在例子的帮助下,我们已经推断出结果,在MySQL中,模式只是数据库的同义词,可以执行与数据库相同的功能。