从零开始搭建个人数据库管理系统pg电子源码搭建
本文目录导读:
随着信息技术的飞速发展,数据库管理系统已经成为现代企业运营和日常管理中不可或缺的重要工具,对于个人用户来说,搭建一个简单但功能完善的数据库管理系统,不仅能提升工作效率,还能培养对数据库技术的深入理解,本文将从零开始,详细讲解如何使用PostgreSQL(PG电子源码)搭建一个基础的数据库管理系统。
环境准备
在开始搭建数据库管理系统之前,我们需要确保以下环境配置正确。
操作系统选择
建议使用以下操作系统:
- Windows:支持PostgreSQL的安装和配置。
- macOS:可以通过预装的PostgreSQL或第三方软件安装。
- Linux:推荐使用Debian、Ubuntu或CentOS等系统,因为它们已经预装了PostgreSQL。
PostgreSQL版本选择
PostgreSQL提供多个版本,建议选择以下版本:
- PostgreSQL 13:作为最新版本,功能完善,稳定性好。
- PostgreSQL 12:也是一个成熟稳定的版本,适合新手。
安装PostgreSQL
通过以下方式安装PostgreSQL:
- 安装包下载:从PostgreSQL官方网站(https://www.postgresql.org)下载对应的系统包。
- 软件包管理器:在Linux系统中,可以通过
apt
或dnf
安装PostgreSQL。 - 在线安装:在Windows或macOS系统中,可以通过在线安装页面完成安装。
配置PostgreSQL
安装完成后,需要配置PostgreSQL的配置文件,默认配置文件位于/etc/postgresql/postgresql.conf
,可以按照以下方式设置:
- 设置数据库名称为
mydb
。 - 设置默认用户为
postgres
,密码为空字符串。 - 禁用图形界面(如果不需要)。
数据库创建
创建数据库
打开终端或命令提示符,执行以下命令:
createdb mydb
这将创建一个名为mydb
的新PostgreSQL数据库。
进入数据库
使用psql
进入mydb
数据库:
psql mydb
表结构设计
用户表
用户表用于存储用户信息,包括用户名、密码、邮箱等。
CREATE TABLE 用户 ( id SERIAL PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
订单表
订单表用于存储订单信息,包括订单编号、用户ID、商品ID、数量、总价等。
CREATE TABLE 订单 ( id SERIAL PRIMARY KEY, 用户ID INT NOT NULL, 商品ID INT NOT NULL, 数量 INT NOT NULL, 总价 DECIMAL(10, 2) NOT NULL, 创建时间 TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 备注 TEXT NOT NULL, FOREIGN KEY 用户ID REFERENCES 用户(id), FOREIGN KEY 商品ID REFERENCES 商品(id) );
商品表
商品表用于存储商品信息,包括商品名称、描述、价格、库存量等。
CREATE TABLE 商品 ( id SERIAL PRIMARY KEY, 名称 VARCHAR(100) NOT NULL, 描述 TEXT NOT NULL, 价格 DECIMAL(10, 2) NOT NULL, 库存量 INT NOT NULL, 创建时间 TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
客户表
客户表用于存储客户信息,与用户表关联。
CREATE TABLE 客户 ( id SERIAL PRIMARY KEY, 用户ID INT NOT NULL, 客户名 VARCHAR(50) NOT NULL, 联系方式 VARCHAR(20) NOT NULL, 地址 VARCHAR(100) NOT NULL, 电话 VARCHAR(20) NOT NULL, 用户ID INT NOT NULL, FOREIGN KEY 用户ID REFERENCES 用户(id) );
货币转换表
为了支持不同货币之间的转换,创建一个货币转换表。
CREATE TABLE 货币转换 ( id SERIAL PRIMARY KEY, 旧货币名 VARCHAR(20) NOT NULL, 新货币名 VARCHAR(20) NOT NULL, 转换率 DECIMAL(10, 4) NOT NULL, 创建时间 TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
数据录入
创建用户
使用psql
执行以下命令,输入用户名、密码和邮箱:
psql mydb
输入完成后,退出终端:
\q
然后在终端中执行以下命令:
createdb 用户
创建商品
在终端中执行以下命令:
psql mydb
输入以下命令,创建商品表:
CREATE TABLE 商品 ( id SERIAL PRIMARY KEY, 名称 VARCHAR(100) NOT NULL, 描述 TEXT NOT NULL, 价格 DECIMAL(10, 2) NOT NULL, 库存量 INT NOT NULL, 创建时间 TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
插入数据
在终端中执行以下命令:
psql mydb
输入以下命令,插入一个商品记录:
INSERT INTO 商品 (名称, 描述, 价格, 库存量) VALUES ('笔记本', '一款A4笔记本电脑', 1999.99, 5);
测试和验证
测试数据完整性
使用psql
检查用户表和订单表的数据完整性:
psql mydb
输入以下命令:
SELECT * FROM 用户 LIMIT 5; SELECT * FROM 订单 LIMIT 5;
测试数据关联
验证订单表和商品表之间的外键关联:
SELECT o.id, o.用户名, u.用户名, g.名称 FROM 订单 o JOIN 用户 u ON o.用户ID = u.id JOIN 商品 g ON o.商品ID = g.id LIMIT 5;
部署和上线
配置访问地址
在终端中执行以下命令:
psql mydb
输入以下命令,设置公共端口:
\c mydb \ps -p mydb
输入CREATE
,然后指定公共端口(如8080)。
安装Nginx(可选)
如果需要将数据库作为Web服务提供,可以安装Nginx并配置其服务。
上线
访问浏览器中的地址:
输入你的用户名和默认密码即可登录。
安全设置
启用明文密码
在PostgreSQL配置文件中启用明文密码:
sudo nano /etc/postgresql/postgresql.conf
找到[postgis]
部分,添加ENCRYPTED_PASSWORD="yes"
。
启用明文密码提示
在[postgis]
部分,添加ENCRYPTED_PASSWORD_PROMPT="plain"
。
启用明文密码验证
在[postgis]
部分,添加ENCRYPTED_PASSWORD_VERIFICATION="on"
。
通过以上步骤,我们成功搭建了一个基础的PostgreSQL数据库管理系统,从环境准备到数据录入,再到测试和部署,每一步都详细讲解了操作方法,希望这篇文章能够帮助你快速掌握PostgreSQL的基本使用方法,并为进一步的数据库开发和优化打下基础。
从零开始搭建个人数据库管理系统pg电子源码搭建,
发表评论