数据模型
1). 关系型数据库(RDBMS)
概念:关系型数据库是建立在关系模型基础上的数据库,由多张相互连接的二维表组成。所谓二维表,指的是由行和列组成的表,类似于Excel表格数据,有表头、有列、有行,还可以通过一列关联另外一个表格中的某一列数据。
示例:常见的MySQL、Oracle、DB2、SQLServer等都是关系型数据库,它们都是基于二维表存储数据的。简单说,基于二维表存储数据的数据库就称为关系型数据库,不是基于二维表存储数据的数据库,就是非关系型数据库。
连接MySQL数据库的命令:
mysql [-h 127.0.0.1] [-P 3306] -u root -p
参数:
-h
: MySQL服务所在的主机IP-P
: MySQL服务端口号,默认3306-u
: MySQL数据库用户名-p
: MySQL数据库用户名对应的密码
特点:
- A. 使用表存储数据,格式统一,便于维护。
- B. 使用SQL语言操作,标准统一,使用方便。
2). 数据模型
概念:MySQL是关系型数据库,是基于二维表进行数据存储的。
解释:
- 我们可以通过MySQL客户端连接数据库管理系统DBMS,然后通过DBMS操作数据库。
- 可以使用SQL语句,通过数据库管理系统操作数据库,以及操作数据库中的表结构及数据。
- 一个数据库服务器中可以创建多个数据库,一个数据库中也可以包含多张表,而一张表中又可以包含多行记录。
示例:
假设我们有一个名为students
的数据库,其中包含一张名为users
的表,表结构如下:
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
我们可以通过以下SQL语句插入数据:
INSERT INTO users (username, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (username, email) VALUES ('Bob', 'bob@example.com');
查询数据:
SELECT * FROM users;
结果可能如下:
+----+----------+--------------------+
| id | username | email |
+----+----------+--------------------+
| 1 | Alice | alice@example.com |
| 2 | Bob | bob@example.com |
+----+----------+--------------------+
拓展
1. 非关系型数据库(NoSQL):
- 概念:非关系型数据库是指那些不基于传统关系模型的数据库,它们通常不使用SQL作为查询语言,而是使用其他的数据模型,如键值对、文档、列族、图形等。
- 示例:MongoDB、Cassandra、Redis等。
2. 数据库设计:
- 数据库设计是指在创建数据库之前,对数据库的结构、表、字段等进行规划和设计的过程。良好的数据库设计可以提高数据的一致性、完整性和查询效率。
- 示例:使用ER图(实体-关系图)进行数据库设计。
3. 数据库事务:
- 概念:事务是指一组数据库操作,这些操作要么全部成功执行,要么全部不执行,以保证数据的一致性。
- 示例:在银行转账操作中,从一个账户扣款和向另一个账户加款必须作为一个事务来执行,以确保资金的一致性。
4. 数据库索引:
- 概念:索引是一种数据结构,用于提高数据库查询的效率。通过创建索引,可以加快数据的检索速度。
- 示例:在
users
表的username
字段上创建索引:
CREATE INDEX idx_username ON users (username);