软件的结构

本文介绍了软件的基本结构,包括客户端和服务端,强调了后端程序和数据库的角色。讲解了编程语言,前端与后端的区别,并概述了网络基础知识,如IP、端口和域名。详细阐述了数据库的类型,如MySQL的安装、卸载和使用Navicat进行可视化管理。还涵盖了Linux操作系统,包括文件管理、路径操作及软件安装,特别讨论了Redis的安装和使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是软件?

软件就是程序、文档、数据的一个集合

软件结构分为客户端和服务端

客户端

客户端(前端)是由客户端(前台)、商家端、管理端(后台)组成的
其中客户端(前台)是以app和web的形式,商家端和管理端(后台)是以web的形式,这主要是处于成本上考虑。

服务端

服务端(后端)是为客户端服务的,主要是帮助客户端处理数据,返回资源。服务端都装在服务器中,任何一台电脑都可以当做服务器,但一般都会使用计算力强的电脑来当服务器。

服务器的构成:程序的运行环境、服务器软件、数据库、后端程序

程序的运行环境是什么呢?例如:我们的后端程序是JAVA编写
的,我们就需要配置好JAVA的环境

服务器软件:主要是提供访问服务,提供端口给客户端访问,例如java环境就需要安装tomcat。

数据库:就是用来储存系统的所有数据

后端程序:利用编程语言编写的程序,主要是用来对客户端的请求进行处理。

编程语言

编程语言分为前端程序和后端程序。

前端程序

前端程序分为APP和WEB端

前端又分为APP和WEB
(1)APP可以是Android和IOS,或是通用的
Android可以由Android语言或kotlin进行开发
IOS常用的由object-C或swift进行开发
通用的就是由html,JavaScript,css进行开发
(2)WEB端也是用html,JavaScript,css
其中JavaScript和java除了长得比较像外,其他毫无关系

后端程序的编程语言有Java,php,Python,asp.net,C#,C++,C等
其中Java,php,Python是需要自己来配置环境的,而asp.net,C#,C++,C则是Windows系统自带他们的环境

网络基础

网络基础分为网络、域名、IP、端口/Port
(1)网络分为互联网(公网),局域网(内网),独立网络(一台设备),它们都是通过路由器组成的
(2)IP分为公网IP、局域网IP、本机IP

公网IP可以通过百度 IP 获取到

局域网IP通过win+R 输入cmd打开命令提示符,输入ipconfig来查看

本机IP是127.0.0.1或localhost
(3)域名
在浏览器中输入域名和IP都可进入网站
例如输入http://14.215.177.39/也可进入百度,默认端口为80
(4)端口的范围是0~65535
同一个IP,不同的端口,能打开不同的网站

域名和端口号是怎么对应起来的?
客户端输入域名,通过DNS将域名解析成为服务器ip,找到代理服务器,因为http协议服务所占用的端口默认为80端口,所以会访问服务器的80端口,然后再通过代理服务器将请求转发到不同的服务器以及端口中

数据库的类型

关系型数据库:MySQL、Oracle、SQLserver
非关系型数据库:redis、mangodb

安装MYSQL

在系统变量PATH中输入mysql安装路径
在这里插入图片描述

cmd 中输入mysql -V来检验是否成功
安装mysql(用管理员身份运行)

安装数据库 输入 mysqld -install

数据库初始化,产生的账号没有密码
mysqld --initialize-insecure

启动数据库
net start mysql

mysql -u root -p打开数据库

卸载MYSQL

注意:需要⽤管理员身份操作
1、停⽌数据库net stop mysql
2、删除数据库服务 mysqld -remove
3、删除数据库的初始化数据
4、删除环境变量

navicat

通过navicat我们可以将数据库可视化
数据库的连接:输入ip、端口号默认3306、账号、密码

创建数据库

创建数据库要确认数据库的名字、选择字符集(一般为utf8mb4)

设计表

设计表,要设置字段名、字段类型、字段长度、是否必填(not null)、默认值(default 值)、注释(comment注释的内容)、主键(primary key)、索引(index)
其中字段类型分为整数型(int)、字符串(varchar)、时间(datetime)
主键:⼀般每个表起码⼀个主键、主键可以限制这个字段不能重复、设置了主键的字段不能为空

操作数据

cmd里数据库的四大操作:增删改查 *代表所有的字段名

insert into 表名 (字段1,字段2,字段3) values (值1,值2,值3); 值123是对应的,新增是一行一行增的,必填字段必须填在这里插入图片描述

delete from 表名 where 字段 = 值;
在这里插入图片描述

update 表名 set 字段1=值 ,字段2=值 where 条件;
在这里插入图片描述

select*from 表名;
在这里插入图片描述
select id,sname from 表名 可以选择查看id和sname字段
在这里插入图片描述

select*from 表名 where 字段 = 值 and 字段2 = 值;
where后是加条件查询

在这里插入图片描述

判断符:

= > < !=
in:
在这里插入图片描述
is:查看是否为空在这里插入图片描述
between:两者之间
在这里插入图片描述
like:字符串的查询 (包含)
在这里插入图片描述
‘张%’是张开头,’%张’张结尾,’%张%’包含张

多表联查

内连接:是表和表之间的交集
select * from 表1 join 表2 on 表1.字段1 =表2.字段2
2表
在这里插入图片描述
3表
在这里插入图片描述
外连接:
分为左连接和右连接

内连接join先是数据是取自2表直接的交集
左连接left join和右连接right join取的都是并集

左连接就是 JOIN 左边的表的所有内容 + 关联起来的 字段
右连接就是 JOIN 右边的表的所有内容 + 关联起来的 字段

SQL技巧

as 取别名,在表名特别长的时候,就可以用别名代替,as可以省略不写

聚合函数:

只能对数字使用
计数count
最大值max
最小值min
平均值avg
求和sum

数据分组

select 字段 from 表名 group by 字段 having 过滤条件
对于过滤条件,可以先用where,再用group by或者是先用group by,再用having

数据排序

ORDER BY 字段 (asc) 正序
ORDER BY 字段 desc 倒序

限制数据显示的数量
LIMIT限制数据显示的数量
SELECT * FROM t_student LIMIT 0,5
0:代表从哪里开始显示
5:一共显示多少条
不写第一个数,默认第一个数为0
在这里插入图片描述
LIMIT必须写在最后

条件语句

case when … then … end
在这里插入图片描述
在这里插入图片描述

表的类型

分为:真实的表、虚拟的表、临时表
虚拟的表:通过select语句显示的表

临时表
在创建table前加一个temporary
临时表无法被查询到
临时表可以正常的操作
断开连接后,临时表会自动销毁

数据库的事务:

begin;
commit; 但是事务只对数据的操作有用
rollback;
在这里插入图片描述

sql语句的分类:

DDL DQL DML DCL
D表示数据库 L表示language
DDL:create alter drop
DQL:select from where
DML:insert update delete
DCL:commit rollback

数据库的性能优化

性能–数据库的读写速度
当数据量一般多的时候,可以使用索引的方式的方式来提高数据库的查询速度
当数据量超级多的时候,采用分表分库的方式来提高查询速度
当分表分库都不能满足提高性能的要求的时候,会增加服务器的配置
当数据的数量级别已经超级大了,这个时候只能采用分布式架构来储存数据了

操作系统

操作系统有Linux、Windows、OSX
Linux:⼀款开源的操作系统、图形化窗⼝可以选择不安装
Windows:微软公司出的⼀款商业操作系统、全球使⽤⼈数最多的、图形化操作窗⼝
OSX:苹果电脑的操作系统、和苹果电脑绑定售卖

Linux

和windows一样,我们可以对文件进行管理、贵
管理包括:新建文件、新建文件夹、查看文件、复制、移动、删除

查看文件

:ll、ls

ll 列出来的结果详细,有时间,是否可读写等信息 ,像windows里的详细信息
ls 只列出文件名或目录名,就像windows里的列表

新建文件

:touch
用来创建新文件,他可以创建一个空白的文件,可以在其中添加文本和数据
用法:touch 文件名

新建文件夹

:mkdir
用法:mkdir 文件夹名字

复制

:cp 名字
(当前路径可以不写路径)
用法:cp 文件 路径
移动 :mv
用法:mv 文件 路径
也可用来重命名:mv 对象 对象新名

删除

:rm
rm 文件(有提示 y同意 n拒绝)
rm -f 文件(直接删除没有提示 )
rm -r 文件夹 (删除文件夹 有提示)
rm -rf 文件夹(直接删除文件夹)

Linux的路径

查看路径

:pwd
进入路径:cd 路径
绝对路径:完整的路径 /root/software
相对路径:./software

路径符号的说明


. 当前路径
…上级路径
/ 根目录
~ 用户路径
– 上一次打开的路径

Linux的文件属性 - d r w x

代表文件
d代表文件夹
r代表可读权限
w代表可修改权限
x代表可执行权限

Linux文件的读写

写 :vi 、vim、gedit

常用vi进行编辑
vi可以分为命令模式和插入模式

命令模式
:q 退出
:q! 不保存退出
:w 保存
: wq 保存并退出

插入模式
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

读:cat 、more 、tail –f
cat 文件
直接读取所有内容

more 文件
分屏显示指定文件的内容,适合显示超过一屏的文本文件。每按一下空格键,向后翻一屏;每按一次回车键,向后翻一行

tail -f
动态读取、一般用来读软件的日志
常用于查阅正在改变的日志文件

linux的软件安装:

在线安装
安装:yum install 软件名字
卸载:yum remove 软件名字
查看软件源中是否有此软件:yum list

离线安装
安装包、压缩包
压缩包 tar类型 tar -xvf
tar.gz类型 tar -zxvf

tar中有z x v f等参数

-z 支持gzip解压文件
-x 从压缩的文件中提取文件
-v 显示操作过程
-f 指定压缩文件

redis的安装

yum install redis
redis启动和关闭:systemctl start redis
systemctl stop redis
systemctl status reds

redis的客户端

redis-desktop-manager 可视化软件
终端
redis-cli --raw

redis-cli 没有账号 只有密码
redis-cli 进入redis

redis的密码设置

设置密码:config set requirepass 123456
登陆:auth 密码
查看用户名密码:config get requirepass(要登陆后才能)

增删改查

增:set key
删:del key
改:set key set 一个不存在的key 就是新增 set一个存在的key 就是修改
查:get key
查看所有的key:keys *

redis的作用

是用来缓存数据的
redis查询数据的速度是MySQL的上千倍

redis的数据存放

redis的数据是存在内存中的,mysql的数据存放在硬盘里的
redis会自动的备份数据
如果没备份的情况,杀死redis,会导致数据丢失
备份数据:save
Redis的数据文件 dump.rdb

redis的访问权限设置

修改配置文件来设置访问权限
redis.conf
bind 127.0.0.1

redis-cli –h ip
端口6379

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值