[新手参考]数据库篇

本文介绍了数据库的基础概念,包括其作用、分类(商业与开源、关系型和非关系型)、主要区别,以及从初级到高级的学习路径。以在线书店为例详细展示了如何使用数据库存储和管理信息。同时涵盖了数据库安装、SQL操作、设计原则和性能优化等内容。
摘要由CSDN通过智能技术生成

菲律宾·公主港

1.基本介绍


数据库是用来存储和管理数据的系统。它可以被看作是一个大型的电子文件柜,可以存储结构化、半结构化或非结构化的数据。数据库系统可以提供数据的安全性、一致性、可靠性和高效性,同时也提供了灵活的数据操作和查询功能。

简而言之,是专门用于存储数据的工具。按不同的需求,有不同的功能。比如关系型vs 非关系型数据库,隐私vs非隐私数据库。

2.主要分类


商业数据库和开源的重要区别是在需求、成本上,一般商业在购买时都提供稳定可靠的技术支持。此服务对金融企业尤为重要。典型代表是Oracle(商业)和MySQL(很久以前社区开源)数据库。

分类标准数据库类型相关数据库
数据模型关系型数据库(RDBMS)、非关系型数据库(NoSQL)MySQL、Oracle、SQL Server、MongoDB、Redis、Cassandra、Neo4j 等
数据模型复杂度层次型数据库、网状型数据库XML 数据库、CODASYL 数据库
数据处理方式OLTP数据库、OLAP数据库银行系统、电子商务系统、数据仓库系统
数据存储位置本地数据库、分布式数据库SQLite、Google Spanner、Amazon DynamoDB 等
商业模式商业数据库、开源数据库Oracle、SQL Server、MySQL、PostgreSQL 等

3.如何入门


初级:数据库基础知识,SQL语言,数据库设计,版本控制
中级:数据库管理,事务和锁,索引和优化
高级:性能调优

  • 软件工程师要求
 1. 数据库基础知识:包括数据库的概念、关系型数据库管理系统(RDBMS)的特点、SQL语言等基础知识。
 2. SQL语言:熟练掌握SQL语言,包括数据查询(SELECT语句)、数据操作(INSERTUPDATEDELETE语句),笛卡尔积等。
 3. 数据库设计:能够设计数据库表结构,包括选择合适的数据类型、设计主键和外键等。
 4. 索引和优化:了解如何使用索引来提高查询性能,以及其他一些优化技巧。
 5. 事务和锁:了解事务的概念,以及如何使用事务来保证数据的一致性和完整性。
 6. 数据库管理:了解数据库的备份、恢复、安全性管理等方面的知识。
 7. 数据库性能调优:能够对数据库进行性能调优,包括配置优化、查询优化等。
 8. 非关系型数据库:了解非关系型数据库(NoSQL)的基本概念和常见类型,如MongoDB、Redis等。
 9. 数据库开发工具:熟悉常用的数据库开发工具,如MySQL Workbench、SQL Server Management Studio等。
 10. 数据库版本控制:了解数据库版本控制工具,如Git等,能够进行数据库的版本管理。
  • 运维工程师要求
 1. 数据库基础知识:包括数据库的概念、关系型数据库管理系统(RDBMS)的特点、SQL语言等基础知识。
 2. MySQL的安装和配置:学习如何在不同操作系统上安装MySQL,并进行基本的配置。
 3. 数据库设计:学习如何设计数据库表结构,包括选择合适的数据类型、设计主键和外键等。
 4. SQL语言:学习SQL语言的基本语法,包括数据查询(SELECT语句)、数据操作(INSERTUPDATEDELETE语句)等。
 5. 索引和优化:学习如何使用索引来提高查询性能,以及其他一些优化技巧。
 6. 事务和锁:了解事务的概念,以及如何使用事务来保证数据的一致性和完整性。
 7. 备份和恢复:学习如何备份和恢复MySQL数据库,以及如何进行数据迁移。
 8. 安全性:了解如何保护数据库的安全性,包括用户权限管理、数据加密等方面。
 9. 性能调优:学习如何对数据库进行性能调优,包括配置优化、查询优化等。
 10. 高可用性和容错:了解如何配置MySQL实现高可用性和容错,包括主从复制、集群等技术。

4.案例学习


假设有一个在线书店,需要存储图书信息、用户信息和订单信息等。这个在线书店可以使用数据库来管理这些数据。

  1. 图书信息:可以创建一个名为Books的表来存储图书信息,包括书名、作者、出版社、价格等字段。
CREATE TABLE Books (
    BookID INT PRIMARY KEY,
    Title VARCHAR(255),
    Author VARCHAR(255),
    Publisher VARCHAR(255),
    Price DECIMAL(10, 2)
);

  1. 用户信息:可以创建一个名为Users的表来存储用户信息,包括用户名、密码、邮箱等字段。
CREATE TABLE Users (
    UserID INT PRIMARY KEY,
    Username VARCHAR(255),
    Password VARCHAR(255),
    Email VARCHAR(255)
);
  1. 订单信息:可以创建一个名为Orders的表来存储订单信息,包括订单号、用户ID、下单时间、订单状态等字段。
CREATE TABLE Orders (
   OrderID INT PRIMARY KEY,
   UserID INT,
   OrderDate DATETIME,
   Status VARCHAR(255),
   FOREIGN KEY (UserID) REFERENCES Users(UserID)
);

5.增删改查


INSERT INTO Books (BookID, Title, Author, Publisher, Price) VALUES
(1, 'Python编程从入门到实践', 'Eric Matthes', '人民邮电出版社', 79.00),
(2, '深入理解计算机系统', 'Randal E. Bryant', '人民邮电出版社', 109.00),
(3, '数据库系统概念', 'Abraham Silberschatz', '机械工业出版社', 99.00);

INSERT INTO Users (UserID, Username, Password, Email) VALUES
(1, 'user1', 'password1', 'user1@example.com'),
(2, 'user2', 'password2', 'user2@example.com'),
(3, 'user3', 'password3', 'user3@example.com');

INSERT INTO Orders (OrderID, UserID, OrderDate, Status) VALUES
(1, 1, '2022-03-01 10:00:00', '待发货'),
(2, 2, '2022-03-02 11:00:00', '已发货'),
(3, 3, '2022-03-03 12:00:00', '已完成');

SELECT * FROM Books;
SELECT * FROM Users;
SELECT * FROM Orders;

UPDATE Books SET Price = 89.00 WHERE BookID = 1;
UPDATE Users SET Email = 'user1_updated@example.com' WHERE UserID = 1;
UPDATE Orders SET Status = '已取消' WHERE OrderID = 1;

DELETE FROM Books WHERE BookID = 3;
DELETE FROM Users WHERE UserID = 3;
DELETE FROM Orders WHERE OrderID = 3;

6.入门步骤


具体每一步问ChatGPT,关键词请解释原理和给出代码例子

  1. 安装MySQL数据库,Navicat连接到数据库
  2. 完成建表,增删改查实验
  3. 了解数据库设计三大范式,完成索引、外键,复杂的多表查询实验
  4. 完成数据库导入导出实验(备份还原)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值