设为首页 收藏本站
查看: 1539|回复: 0

[经验分享] +++++++php组件、SQL基础知识

[复制链接]

尚未签到

发表于 2018-10-20 06:25:09 | 显示全部楼层 |阅读模式
一、php基本应用
  Hypertext Preprocessor 嵌入thml文档的脚本编程语言,动态网站的开发语言
源码获取:
  www.php.net
动态网站开发
  php, asp, ruby, c, bash
  "php通过库调用完成操作文件"
  "bash通过内部程序"
配置文件

  •   php包:为Httpd提供模块 PHP scripting language for creating dynamic web sites
      # rpm -ql php  
      /etc/httpd/conf.d/php.conf          //为模块提供的配置
      
      /usr/lib/httpd/modules/libphp5.so   //为prefork提供的模块
      
      /var/lib/php/session
      
      /var/www/icons/php.gif
  •   php-common为php提供运行环境
      # rpm -ql php-common  
      /etc/php.ini
      
      /etc/php.d/*.ini
配置格式
[Foo]  
directive = value
[MYSQL|MYSQLI] 连接mysql驱动的配置  
    持久:基于tcp连接发起mysql协议请求,不断开,需要维持一个连接
  
    非持久:每次建立都需要拆除连接
php.ini核心配置选项:"http://php.net/manual/zh/ini.core.php"  
php.ini配置选项列表:"http://php.net/manual/zh/ini.list.php"
配置读取
  CGI, CLI //每次httpd调用程序,启动子进程时,读取配置
  FastCGI/module //在启动web程序读取一次
php添加模块实现加速:
  [EPEL]php-xcache提供php的驱动
  执行php代码: scan[语法] -->parsing[词法-->表达式] --> complie[表达式-->opcode] --> exec
  php-xache能实现,缓存opcode,进程间能相互使用opcode
二、存储与协议

  • 存储

    •   文件:syscall
    •   SQL存储:(Mysql分支、oracle、mssql) 驱动
        MYSQL分支:mysql, mariadb, percona-server, pgsql(enterpriseDB)
    •   NoSQL: mongodb, hbase, redis
    •   NewSQL: 分布式模式管理存储引擎

  • 协议:关系模型、RDMBS、SQL协议、数据存储协议

  • 关系模型:表(row: 2NF, column:1NF )
      实现: DBMS(Mysql, MariaDB)
      数据结构:层次、网状、关系模型
      关系模型的分类:
    基本-关系模型  

      
    实体-关系模型
      

      
    基于对象-关系模型
      

      
    半结构化-关系模型
      
         支持xml解析数据
  • RDBMS: 满足关系型数据库的设计范式
      实现:SQL存储(MYSQL分支、Oracle、MSSQL)
    MYSQL分支:mysql官方, mariadb开源, percona-server著名, pgsql皮(enterpriseDB)  
    Oracle: 传统公司:在智能手机普级的时候,在高级的收音机又有什么用呢?
      
    MS_SQL:微软
      设计范式:
    "1NF": 原子性 Atomicity,  
         例如:一个字段包含班级和专业,不被允许
      

      
    "2NF":行内有有限个字段惟一标识此行,
      

      
    "3NF":2个表有相同的字段时,1张表字段必须是主键
      
          例如:
      
              表1: 专业:非主键
      
              表2: 专业:主键
      满足范式:
      "拆表":将一个大的数据集拆分为小表,表必须满足范式  
      "联合":join, 基于index,算法
      
      "数据集":一个库、方案、集合内
      表:先定义column, 后row
      可以没有row, 必须有column  结构:
    SQL引擎:  
    执行[scan]、分析[parsing]、求解[解决方案]、优化[选择路径|修改路径结果不变]
      
    "事务:
      
    多个操作都完成或都不完成(Atomicity原子性, Consistency一致性, Isolating隔离性, Durability持久性)
      
    恢复:
      
    将事务日志中的数据同步至数据区
      
    锁:
      
    写(自己rw,其它人:-)读(自己:r,其它人:r)
      
    空间管理、缓冲、文件存取接口
    DSC0000.png

  • SQL协议:Structure Query Language结构化查询语言
      实现: SQL引擎或SQL解释器 SQL引擎(SQL协议): 命令运行、函数、变量
  • 数据存储协议:
      C/S架构,mysql协议, mariadb协议, oracle协议, mssql协议(sql server)
      实现:
    Client:  
         程序:CLI(mysql), GUI(phpMyadmin)
      
         API:  SQL接口, php-mysql, ODBC(底层库)
      
             **API:写程序面向的对象:硬件规格、汇编、syscall、libcall
      
    Server:
      
         监听socket,接收、处理、响应用户的请求
三、MySQL/MariaDB基本知识
开源RDBMS的实现
MariaDBMariaDB的来源
  作者研发SQL接口:成立AB(瑞典公司),MySQL
  MySQL-->Google,facebook改进-->SUN收购-->Oracle收购SUN-->
  MySQL读音:‘My' 'SQL'
  作者不乐意:另起一摊:MariaDB Maria:女儿的名字
Oracle收购SUN的原因
  Oracle不能提供硬件到软件到系统一体化的解决方案,而IBM(BIG BLUE)可以,为了比肩IBM,就收购了SUN
约束:插入的数据要遵守的限制
  约束类型:

  •   主键约束:插入数据,惟一标识本行。Not NULL,惟一
  •   惟一键: 插入数据,惟一标识本行。NULL,不惟一
  •   外键约束:此表插入内容,取决于另一个表的主键
  •   检查性约束:字段定义表达式,插入数据必须满足表达式
索引:抽取数据子集,排序
  稠密、稀疏:1对1 or 1对多
  简单、组合: 索引字段是1个或多个
  聚簇、非聚簇:索引字段与数据是否在一起
关系运算:抽取数据集
  选择、选择row,WHERE
  投影、选择column, SELECT
  连接、join
数据抽象:按视角
  视图层:view,只能看到数据库的部分内容:提升用户体验
  逻辑层:元数据, 依赖关系
  物理层:据存储格式:表和文件的对应关系
MySQL安装:
  源码 rpm
  程序官方/项目官方:源码和二进制程序
  OS Vendor系统安装光盘: rpm 稳定
感激

  •   瑞哥QQ,博客
  •   QQ: 2580259468
  •   博客
DSC0001.png

关于作者

  •   邮件:lccnx@foxmail.cn
  •   QQ: 2192383945



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-623769-1-1.html 上篇帖子: mysql- sql-mode 数据库大小查询 下篇帖子: loadrunner error 27796 Failed to connect to server-ShanaW
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表