网站开发费用结算,怎么做网站流量统计,做苗木网站哪家好,友情链接检测工具一、数据库的基本概念#xff1a;
1.1 数据#xff1a;
1#xff09; 描述事物的符号记录称为数据#xff08;Data#xff09;。数字、文字、图形、图像、声音、档案记录等 都是数据。
2#xff09;数据是以“记录”的形式按照统一的格式进行存储的#xff0c;而不是…一、数据库的基本概念
1.1 数据
1 描述事物的符号记录称为数据Data。数字、文字、图形、图像、声音、档案记录等 都是数据。
2数据是以“记录”的形式按照统一的格式进行存储的而不是杂乱无章的。 相同格式和类型的数据统一存放在一起而不会把“人”和“书”混在一起存储。这样数据的存储就能够井然有序。 举例班级同学。
使用一些介质进行存储例如文字存在文档中 数据库可以完成数据持久化保存快速提取 数据如何保存:最外层是mysql服务---》mysql数据库 ---》数据表---》记录为行字段为列---数据保存在一行行记录中 数据库----》数据表----》数据 1.2 表 记录行 字段属性: 列 以行列的形式就组成了表数据存储在表中 关系数据库的表由记录组成记录由字段组成字段由字符或数字组成。它可以供各种用户共享 具有最小冗余度和较高的数据独立性它是统一管理的相关数据的集合。
1.3 数据库 数据库就是表的集合。它是以一定的组织方式存储的相互有关的数据集合 1.4 数据库管理系统
数据库管理系统DatabaseManagementSystemDBMS是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下支持用户对数据库的各项操作 BMS主要包括以下功能
1数据库的建立和维护功能包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能。
2数据定义功能包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容以防止不合语义的错误数据被输入或输出。
3数据操纵功能包括数据查询统计和数据更新两个方面。
4数据库的运行管理功能这是数据库管理系统的核心部分包括并发控制、存取控 制、数据库内部维护等功能。
5通信功能DBMS 与其他软件系统之间的通信,如 Access 能与其他 Office 组件进行数据交换。
1.5 数据库系统
数据库系统DatabaseSystemDBS是一个人机系统一般由硬件、操作系统、数据库、DBMS、应用软件和数据库用户包括数据库管理员组成。用户可以通过 DBMS 操作数据库也可以通过应用程序操作数据库。
应用程序是利用DBMS为解决某个具体的管理或数据处理的任务而编制的一系列命令的有序集合。如果应用程序比较完善能够提供友好的人机界面并编译成可执行文件发行使得普通用户不需要具备计算机的专业知识在较短时间就学会使用那么就称为数据库应用软件。 navicat
常用的数据库应用软件有人事管理、财务管理、图书管理等信息管理软件及各类信息咨 询系统等。
数据库管理员DatabaseAdministratorDBA负责数据库的更新和备份、数据库系统的维护、用户管理等工作保证数据库系统的正常运行。DBA 一般由业务水平较高、资历较深的人员担任。
需要注意的是数据库、数据库系统、数据库管理系统甚至数据库表等名词在日常讨论中通常不严格区别。遇到此情况时可以根据具体情况判断出实际所指的是什么。
1.6 DBMS的工作模式 DBMS的工作模式如下
1接受应用程序的数据请求和处理请求
2将用户的数据请求高级指令转换为复杂机器代码底层指令
3实现对数据库的操作
4从数据库的操作中接受查询结果
5对查询结果进行处理格式转换
6将处理结果返回给用户
二、数据库发展史
发展的三个阶段:
1、 层次型和网状型
代表产品是1969年IBM公司研制的层次模型数据库管理系统IMS。2、 关系型数据型库
目前大部分数据库采用的是关系型数据库。1970年IBM公司的研究员EFCodd提出了关系模型。其代表产品为sysem R和Inges。3、第三代数据库:
将为更加丰富的数据模型和更强大的数据管理功能为特征以提供传统数据库系统难以支持的新应用。它必须支持面向对象具有开放性能够在多个平台上使用。 管理技术的3个阶段1 .人工管理 2 .文件管理 3 .数据库系统 第三代数据库 :
一些新的元素被添加进主流数据库系统中
引申SQL NoSQL 组合使用 web ——》 redis ——》mysql CPU ——》 缓存 ——》内存
三、主流数据库系统
1.关系型数据库 关系型数据库存储在**硬盘**中 关系型数据库
MysqlOracle公司 、 SQL server微软) 、access(微软公司office产品 Oracle 、DB2IBM公司sybasesybase 等等 PostGreSQL数据库
1.1 .二维数据表 关系数据库的存储结构是二维表格 二维表当中每个字段列用来描述对象的一个属性 每个记录行用来描述一个对象的信息完整信息表与表之间可能存在联系。 1.2:实体:
也称为实例对应现实世界中可区别于其他对象的“事件”或事物。如银行客户、银行账户等。
属性 实体所具有的某一特性一个实体可以有多个属性。如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性
联系 实体集之间的对应关系称为联系也称为关系如银行客户和银行账户之间存在“储蓄”的关系 所有实体及实体之间联系的集合构成一个关系数据库 2.非关系型数据库 非关系数据库存储在内存 非关系型数据库中数据通常以键值对的形式存储 适用于对关系很明确的数据建立模型、定义、存储数据 非关系型数据库: 存储海量数据给与”大数据“进行分析筛选出有价值的 部分
Not Only SQL 不仅仅数据库 还可以缓存数据 键值 键就是变量名 值就是变量值 引申redis 持久化方式 以键值存储数据数据保存在内存中但会定期将数据写入磁盘持久化方式
高德实时分析平台 使用非关系型数据库存储如果需要持久化就可以使用redis
Memcached、Redis、MongoDB、HBase
3.关系型数据库和非关系型数据库的区别
关系型数据库
关系型数据库最典型的数据结构是表由二维表格及其之间的联系所组成的一个数据组 织。优点 1、易于维护都是使用表结构格式一致 2、使用方便SQL语言通用可用于复杂查询 3、复杂操作支持SQL可用于一个表以及多个表之间非常复杂的查询。
缺点 1、读写性能比较差尤其是海量数据的高效率读写 2、固定的表结构灵活度稍欠 3、高并发读写需求传统关系型数据库来说硬盘I/O是一个很大的瓶颈。 非关系型数据库
非关系型数据库严格上不是一加粗样式种数据库应该是一种数据结构化存储方法的集合可以是文档或者键值对等
优点 1、格式灵活存储数据的格式可以是key,value形式、文档形式、图片形式等等文档形式、图片形式等等使用灵活应用场景广泛而关系型数据库则只支持基础类型。 2、速度快nosql可以使用硬盘或者随机存储器作为载体而关系型数据库只能使用硬盘 3、高扩展性 4、成本低nosql数据库部署简单基本都是开源软件。
缺点 1、不提供sql支持学习和使用成本较高 2、无事务处理 3、数据结构相对复杂复杂查询方面稍欠。
四、MySQL安装
编译安装mysql
1. 安装mysql环境依赖包
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
yum -y install gcc gcc-c cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel
2.创建运行用户
useradd -M -s /sbin/nologin mysql
3.编译安装
cd /opt
#托压缩包进去
tar zxvf mysql-boost-5.7.20.tar.gz 1.编译
cmake \
-DCMAKE_INSTALL_PREFIX/usr/local/mysql \
-DMYSQL_UNIX_ADDR/usr/local/mysql/mysql.sock \
-DSYSCONFDIR/etc \
-DSYSTEMD_PID_DIR/usr/local/mysql \
-DDEFAULT_CHARSETutf8 \
-DDEFAULT_COLLATIONutf8_general_ci \
-DWITH_EXTRA_CHARSETSall \
-DWITH_INNOBASE_STORAGE_ENGINE1 \
-DWITH_ARCHIVE_STORAGE_ENGINE1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE1 \
-DMYSQL_DATADIR/usr/local/mysql/data \
-DWITH_BOOSTboost \
-DWITH_SYSTEMD1
2.安装
make -j2 make install4.修改mysql配置文件:
vim /etc/my.cnf
[client]
port 3306
socket/usr/local/mysql/mysql.sock[mysqld]
user mysql
basedir/usr/local/mysql
datadir/usr/local/mysql/data
port 3306
character-set-serverutf8
pid-file /usr/local/mysql/mysqld.pid
socket/usr/local/mysql/mysql.sock
bind-address 0.0.0.0
skip-name-resolve
max_connections2048
default-storage-engineINNODB
max_allowed_packet16M
server-id 1sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
直接覆盖 5.更改mysql安装目录和配置文件的属主属组:
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
6.设置路径环境变量:
echo export PATH/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH /etc/profile
source /etc/profile
7.初始化数据库:
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--usermysql \
--basedir/usr/local/mysql \
--datadir/usr/local/mysql/data
8.添加mysql系统服务:
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
9.修改mysql的登录密码
mysqladmin -u root -p password abc123
###给root账号设置密码为abc123提示输入的是原始密码为空要求输入的是原密码直接回车即可 10.授权远程登录
mysql -u root -pabc123